@eui/eds 22.0.0-alpha.37 → 22.0.0-alpha.38

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.
@@ -8,8 +8,8 @@ Horizontal progress indicator component that visualizes task completion or loadi
8
8
  Supports determinate progress with percentage values and indeterminate loading animations.
9
9
  Provides optional labeling and status icons for contextual feedback.
10
10
 
11
- Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`
12
- string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both
11
+ Semantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`
12
+ string input and size variants (`m`, `l`) via the `size` string input, both
13
13
  reflected onto the host as attributes and styled with `:host([color="…"])` / `:host([size="…"])`.
14
14
 
15
15
 
@@ -23,5 +23,5 @@ reflected onto the host as attributes and styled with `:host([color="…"])` / `
23
23
  - **isIndeterminate**: `boolean` - When true, shows an indeterminate progress animation instead of a specific progress value. false
24
24
  - **label**: `string` - Optional label displayed above the progress bar. Also used as the accessible name.
25
25
  - **progress**: `number` - Current progress value (0–100). Values outside the range are clamped automatically. 0
26
- - **size**: `EdsProgressBarSize` - Size variant, reflected as the `size` host attribute. 's'
26
+ - **size**: `EdsProgressBarSize` - Size variant, reflected as the `size` host attribute. 'm'
27
27
  - **valueText**: `string` - Human-readable text alternative for the current value. Use when the numeric percentage alone isn't meaningful (e.g. "Step 3 of 5", "Uploading file 2 of 10"). Maps to aria-valuetext.
@@ -61794,7 +61794,7 @@
61794
61794
  },
61795
61795
  {
61796
61796
  "name": "EdsProgressBar",
61797
- "id": "component-EdsProgressBar-b09b04cceff8645a35d293b4521faed3909aa3c5e92b583782dfe2877b960e15b1ba7500f15b404c2b552620a28c963e727b3957965cd6fe7730862336cfbc19",
61797
+ "id": "component-EdsProgressBar-4b9cceb01dd3d4bf2b98455cd3d6e9f7757004a9cc2550d0cff81f3867c0bd6c0b6ce194b8e18be994de485cefc8c0ef0d4fabd28295775d58951cc0cfe1a67f",
61798
61798
  "file": "packages/eds/eds-progress-bar/eds-progress-bar.ts",
61799
61799
  "changeDetection": "ChangeDetectionStrategy.OnPush",
61800
61800
  "encapsulation": [],
@@ -61825,7 +61825,7 @@
61825
61825
  "indexKey": "",
61826
61826
  "optional": false,
61827
61827
  "description": "<p>Explicit accessible name for the progress bar. Use when there is no visible <code>label</code>\n(e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n<code>label</code> when set, otherwise a generic <code>&#39;Progress&#39;</code> so the progressbar always has a name\n(WCAG 1.1.1). Provide a specific value for context.</p>\n",
61828
- "line": 66,
61828
+ "line": 67,
61829
61829
  "rawdescription": "\n\nExplicit accessible name for the progress bar. Use when there is no visible `label`\n(e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n`label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n(WCAG 1.1.1). Provide a specific value for context.\n",
61830
61830
  "required": false
61831
61831
  },
@@ -61839,7 +61839,7 @@
61839
61839
  "indexKey": "",
61840
61840
  "optional": false,
61841
61841
  "description": "<p>Semantic color variant, reflected as the <code>color</code> host attribute.\nWhen unset, the default primary fill is used.</p>\n",
61842
- "line": 87,
61842
+ "line": 88,
61843
61843
  "rawdescription": "\n\nSemantic color variant, reflected as the `color` host attribute.\nWhen unset, the default primary fill is used.\n",
61844
61844
  "required": false
61845
61845
  },
@@ -61853,20 +61853,20 @@
61853
61853
  "indexKey": "",
61854
61854
  "optional": false,
61855
61855
  "description": "<p>Data attribute value for end-to-end testing identification.\n&#39;eds-progress-bar&#39;</p>\n",
61856
- "line": 55,
61856
+ "line": 56,
61857
61857
  "rawdescription": "\n\nData attribute value for end-to-end testing identification.\n'eds-progress-bar'\n",
61858
61858
  "jsdoctags": [
61859
61859
  {
61860
- "pos": 2162,
61861
- "end": 2195,
61860
+ "pos": 2210,
61861
+ "end": 2243,
61862
61862
  "kind": 328,
61863
61863
  "id": 0,
61864
61864
  "flags": 16842752,
61865
61865
  "modifierFlagsCache": 0,
61866
61866
  "transformFlags": 0,
61867
61867
  "tagName": {
61868
- "pos": 2163,
61869
- "end": 2170,
61868
+ "pos": 2211,
61869
+ "end": 2218,
61870
61870
  "kind": 80,
61871
61871
  "id": 0,
61872
61872
  "flags": 16842752,
@@ -61888,20 +61888,20 @@
61888
61888
  "indexKey": "",
61889
61889
  "optional": false,
61890
61890
  "description": "<p>When true, displays a status icon based on the current color variant\n(success, warning, critical, info).\nfalse</p>\n",
61891
- "line": 107,
61891
+ "line": 108,
61892
61892
  "rawdescription": "\n\nWhen true, displays a status icon based on the current color variant\n(success, warning, critical, info).\nfalse\n",
61893
61893
  "jsdoctags": [
61894
61894
  {
61895
- "pos": 3877,
61896
- "end": 3897,
61895
+ "pos": 3925,
61896
+ "end": 3945,
61897
61897
  "kind": 328,
61898
61898
  "id": 0,
61899
61899
  "flags": 16842752,
61900
61900
  "modifierFlagsCache": 0,
61901
61901
  "transformFlags": 0,
61902
61902
  "tagName": {
61903
- "pos": 3878,
61904
- "end": 3885,
61903
+ "pos": 3926,
61904
+ "end": 3933,
61905
61905
  "kind": 80,
61906
61906
  "id": 0,
61907
61907
  "flags": 16842752,
@@ -61923,20 +61923,20 @@
61923
61923
  "indexKey": "",
61924
61924
  "optional": false,
61925
61925
  "description": "<p>When true, shows an indeterminate progress animation\ninstead of a specific progress value.\nfalse</p>\n",
61926
- "line": 100,
61926
+ "line": 101,
61927
61927
  "rawdescription": "\n\nWhen true, shows an indeterminate progress animation\ninstead of a specific progress value.\nfalse\n",
61928
61928
  "jsdoctags": [
61929
61929
  {
61930
- "pos": 3650,
61931
- "end": 3670,
61930
+ "pos": 3698,
61931
+ "end": 3718,
61932
61932
  "kind": 328,
61933
61933
  "id": 0,
61934
61934
  "flags": 16842752,
61935
61935
  "modifierFlagsCache": 0,
61936
61936
  "transformFlags": 0,
61937
61937
  "tagName": {
61938
- "pos": 3651,
61939
- "end": 3658,
61938
+ "pos": 3699,
61939
+ "end": 3706,
61940
61940
  "kind": 80,
61941
61941
  "id": 0,
61942
61942
  "flags": 16842752,
@@ -61958,7 +61958,7 @@
61958
61958
  "indexKey": "",
61959
61959
  "optional": false,
61960
61960
  "description": "<p>Optional label displayed above the progress bar. Also used as the accessible name.</p>\n",
61961
- "line": 58,
61961
+ "line": 59,
61962
61962
  "rawdescription": "\nOptional label displayed above the progress bar. Also used as the accessible name.",
61963
61963
  "required": false
61964
61964
  },
@@ -61972,20 +61972,20 @@
61972
61972
  "indexKey": "",
61973
61973
  "optional": false,
61974
61974
  "description": "<p>Current progress value (0–100).\nValues outside the range are clamped automatically.\n0</p>\n",
61975
- "line": 81,
61975
+ "line": 82,
61976
61976
  "rawdescription": "\n\nCurrent progress value (0–100).\nValues outside the range are clamped automatically.\n0\n",
61977
61977
  "jsdoctags": [
61978
61978
  {
61979
- "pos": 3115,
61980
- "end": 3131,
61979
+ "pos": 3163,
61980
+ "end": 3179,
61981
61981
  "kind": 328,
61982
61982
  "id": 0,
61983
61983
  "flags": 16842752,
61984
61984
  "modifierFlagsCache": 0,
61985
61985
  "transformFlags": 0,
61986
61986
  "tagName": {
61987
- "pos": 3116,
61988
- "end": 3123,
61987
+ "pos": 3164,
61988
+ "end": 3171,
61989
61989
  "kind": 80,
61990
61990
  "id": 0,
61991
61991
  "flags": 16842752,
@@ -62000,34 +62000,34 @@
62000
62000
  {
62001
62001
  "name": "size",
62002
62002
  "coverageIgnore": false,
62003
- "defaultValue": "'s'",
62003
+ "defaultValue": "'m'",
62004
62004
  "deprecated": false,
62005
62005
  "deprecationMessage": "",
62006
62006
  "type": "EdsProgressBarSize",
62007
62007
  "indexKey": "",
62008
62008
  "optional": false,
62009
- "description": "<p>Size variant, reflected as the <code>size</code> host attribute.\n&#39;s&#39;</p>\n",
62010
- "line": 93,
62011
- "rawdescription": "\n\nSize variant, reflected as the `size` host attribute.\n's'\n",
62009
+ "description": "<p>Size variant, reflected as the <code>size</code> host attribute.\n&#39;m&#39;</p>\n",
62010
+ "line": 94,
62011
+ "rawdescription": "\n\nSize variant, reflected as the `size` host attribute.\n'm'\n",
62012
62012
  "jsdoctags": [
62013
62013
  {
62014
- "pos": 3465,
62015
- "end": 3483,
62014
+ "pos": 3513,
62015
+ "end": 3531,
62016
62016
  "kind": 328,
62017
62017
  "id": 0,
62018
62018
  "flags": 16842752,
62019
62019
  "modifierFlagsCache": 0,
62020
62020
  "transformFlags": 0,
62021
62021
  "tagName": {
62022
- "pos": 3466,
62023
- "end": 3473,
62022
+ "pos": 3514,
62023
+ "end": 3521,
62024
62024
  "kind": 80,
62025
62025
  "id": 0,
62026
62026
  "flags": 16842752,
62027
62027
  "transformFlags": 0,
62028
62028
  "escapedText": "default"
62029
62029
  },
62030
- "comment": "<p>&#39;s&#39;</p>\n"
62030
+ "comment": "<p>&#39;m&#39;</p>\n"
62031
62031
  }
62032
62032
  ],
62033
62033
  "required": false
@@ -62042,7 +62042,7 @@
62042
62042
  "indexKey": "",
62043
62043
  "optional": false,
62044
62044
  "description": "<p>Human-readable text alternative for the current value.\nUse when the numeric percentage alone isn&#39;t meaningful\n(e.g. &quot;Step 3 of 5&quot;, &quot;Uploading file 2 of 10&quot;).\nMaps to aria-valuetext.</p>\n",
62045
- "line": 74,
62045
+ "line": 75,
62046
62046
  "rawdescription": "\n\nHuman-readable text alternative for the current value.\nUse when the numeric percentage alone isn't meaningful\n(e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\nMaps to aria-valuetext.\n",
62047
62047
  "required": false
62048
62048
  }
@@ -62059,12 +62059,29 @@
62059
62059
  "indexKey": "",
62060
62060
  "optional": false,
62061
62061
  "description": "<p>Resolved accessible name for the host: an explicit <code>ariaLabel</code>, otherwise the visible\n<code>label</code>, otherwise a generic <code>&#39;Progress&#39;</code> fallback so the progressbar always has a name.</p>\n",
62062
- "line": 113,
62062
+ "line": 114,
62063
62063
  "rawdescription": "\n\nResolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n`label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n",
62064
62064
  "modifierKind": [
62065
62065
  124,
62066
62066
  148
62067
62067
  ]
62068
+ },
62069
+ {
62070
+ "name": "statusIconColor",
62071
+ "coverageIgnore": false,
62072
+ "defaultValue": "computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color && color !== 'primary' ? color : 'info';\n })",
62073
+ "deprecated": false,
62074
+ "deprecationMessage": "",
62075
+ "type": "unknown",
62076
+ "indexKey": "",
62077
+ "optional": false,
62078
+ "description": "<p>Status-icon color. The icon-state contract has no <code>primary</code> variant, so <code>primary</code> (and the\nunset/default primary state) map to the neutral <code>info</code> status icon; the semantic colors pass\nthrough unchanged.</p>\n",
62079
+ "line": 121,
62080
+ "rawdescription": "\n\nStatus-icon color. The icon-state contract has no `primary` variant, so `primary` (and the\nunset/default primary state) map to the neutral `info` status icon; the semantic colors pass\nthrough unchanged.\n",
62081
+ "modifierKind": [
62082
+ 124,
62083
+ 148
62084
+ ]
62068
62085
  }
62069
62086
  ],
62070
62087
  "methodsClass": [],
@@ -62079,29 +62096,29 @@
62079
62096
  "name": "EDS_ICON_STATE"
62080
62097
  }
62081
62098
  ],
62082
- "description": "<p>Horizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.</p>\n<p>Semantic color variants (<code>info</code>, <code>success</code>, <code>warning</code>, <code>critical</code>) are set via the <code>color</code>\nstring input and size variants (<code>xs</code>, <code>s</code>, <code>m</code>, <code>l</code>) via the <code>size</code> string input, both\nreflected onto the host as attributes and styled with <code>:host([color=&quot;…&quot;])</code> / <code>:host([size=&quot;…&quot;])</code>.</p>\n",
62083
- "rawdescription": "\n\nHorizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\n\nSemantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\nstring input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\nreflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n",
62099
+ "description": "<p>Horizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.</p>\n<p>Semantic color variants (<code>primary</code>, <code>success</code>, <code>warning</code>, <code>critical</code>) are set via the <code>color</code>\nstring input and size variants (<code>m</code>, <code>l</code>) via the <code>size</code> string input, both\nreflected onto the host as attributes and styled with <code>:host([color=&quot;…&quot;])</code> / <code>:host([size=&quot;…&quot;])</code>.</p>\n",
62100
+ "rawdescription": "\n\nHorizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\n\nSemantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`\nstring input and size variants (`m`, `l`) via the `size` string input, both\nreflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n",
62084
62101
  "type": "component",
62085
- "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'info' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'xs' | 's' | 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 's'\n */\n size = input<EdsProgressBarSize>('s');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n}\n",
62102
+ "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\nimport type { EdsIconStateColor } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'primary' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 'm'\n */\n size = input<EdsProgressBarSize>('m');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n\n /**\n * Status-icon color. The icon-state contract has no `primary` variant, so `primary` (and the\n * unset/default primary state) map to the neutral `info` status icon; the semantic colors pass\n * through unchanged.\n */\n protected readonly statusIconColor = computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color && color !== 'primary' ? color : 'info';\n });\n}\n",
62086
62103
  "styleUrl": "./eds-progress-bar.scss",
62087
62104
  "assetsDirs": [],
62088
62105
  "styleUrlsData": [
62089
62106
  {
62090
- "data": "@use '../base' as base;\n\n:host {\n --_eds-progress-bar-track-height: var(--eds-sp-2xs);\n --_eds-progress-bar-fill: var(--eds-c-surface-primary);\n\n display: flex;\n flex-direction: column;\n align-items: stretch;\n position: relative;\n width: 100%;\n\n .eds-progress-bar__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--eds-sp-xs);\n\n &-label {\n font: var(--eds-f-label-s);\n color: var(--eds-c-foreground);\n }\n\n &-status {\n display: flex;\n align-items: center;\n }\n }\n\n .eds-progress-bar__track {\n background-color: var(--eds-c-surface-elevation-sunken);\n border-radius: var(--eds-br-xs);\n height: var(--_eds-progress-bar-track-height);\n position: relative;\n overflow: hidden;\n width: 100%;\n }\n\n .eds-progress-bar__indicator {\n background-color: var(--_eds-progress-bar-fill);\n border-radius: var(--eds-br-xs);\n height: 100%;\n transition: width 0.25s ease;\n }\n}\n\n// SIZE VARIANTS\n:host([size=\"xs\"]) { --_eds-progress-bar-track-height: var(--eds-sp-3xs); }\n:host([size=\"s\"]) { --_eds-progress-bar-track-height: var(--eds-sp-2xs); }\n:host([size=\"m\"]) { --_eds-progress-bar-track-height: var(--eds-sp-xs); }\n:host([size=\"l\"]) { --_eds-progress-bar-track-height: var(--eds-sp-s); }\n\n// COLOR VARIANTS\n:host([color=\"info\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-info); }\n:host([color=\"success\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-success); }\n:host([color=\"warning\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-warning); }\n:host([color=\"critical\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-critical); }\n\n// INDETERMINATE ANIMATION\n:host([indeterminate]) {\n .eds-progress-bar__indicator {\n width: 100% !important;\n background-color: transparent;\n background-image: linear-gradient(\n to right,\n transparent 0%,\n var(--_eds-progress-bar-fill) 30%,\n var(--_eds-progress-bar-fill) 60%,\n transparent 100%\n );\n background-size: 40% 100%;\n background-repeat: no-repeat;\n animation: eds-progress-indeterminate 1.5s infinite ease-in-out;\n }\n}\n\n@keyframes eds-progress-indeterminate {\n 0% { background-position: -40% 0; }\n 100% { background-position: 140% 0; }\n}\n",
62107
+ "data": "@use '../base' as base;\n\n:host {\n --_eds-progress-bar-track-height: var(--eds-sp-3xs);\n --_eds-progress-bar-fill: var(--eds-c-surface-primary);\n\n display: flex;\n flex-direction: column;\n align-items: stretch;\n position: relative;\n width: 100%;\n\n .eds-progress-bar__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--eds-sp-xs);\n\n &-label {\n font: var(--eds-f-label-s);\n color: var(--eds-c-foreground);\n }\n\n &-status {\n display: flex;\n align-items: center;\n }\n }\n\n .eds-progress-bar__track {\n background-color: var(--eds-c-surface-elevation-sunken);\n border-radius: var(--eds-br-xs);\n height: var(--_eds-progress-bar-track-height);\n position: relative;\n overflow: hidden;\n width: 100%;\n }\n\n .eds-progress-bar__indicator {\n background-color: var(--_eds-progress-bar-fill);\n border-radius: var(--eds-br-xs);\n height: 100%;\n transition: width 0.25s ease;\n }\n}\n\n// SIZE VARIANTS\n:host([size=\"m\"]) { --_eds-progress-bar-track-height: var(--eds-sp-2xs); }\n:host([size=\"l\"]) { --_eds-progress-bar-track-height: var(--eds-sp-xs); }\n\n// COLOR VARIANTS\n:host([color=\"primary\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-primary); }\n:host([color=\"success\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-success); }\n:host([color=\"warning\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-warning); }\n:host([color=\"critical\"]) { --_eds-progress-bar-fill: var(--eds-c-surface-critical); }\n\n// INDETERMINATE ANIMATION\n:host([indeterminate]) {\n .eds-progress-bar__indicator {\n width: 100% !important;\n background-color: transparent;\n background-image: linear-gradient(\n to right,\n transparent 0%,\n var(--_eds-progress-bar-fill) 30%,\n var(--_eds-progress-bar-fill) 60%,\n transparent 100%\n );\n background-size: 40% 100%;\n background-repeat: no-repeat;\n animation: eds-progress-indeterminate 1.5s infinite ease-in-out;\n }\n}\n\n@keyframes eds-progress-indeterminate {\n 0% { background-position: -40% 0; }\n 100% { background-position: 140% 0; }\n}\n",
62091
62108
  "styleUrl": "./eds-progress-bar.scss"
62092
62109
  }
62093
62110
  ],
62094
62111
  "stylesData": "",
62095
62112
  "jsdoctags": [
62096
62113
  {
62097
- "pos": 689,
62098
- "end": 1244,
62114
+ "pos": 745,
62115
+ "end": 1292,
62099
62116
  "kind": 321,
62100
62117
  "id": 0,
62101
62118
  "flags": 16777216,
62102
62119
  "modifierFlagsCache": 0,
62103
62120
  "transformFlags": 0,
62104
- "comment": "Horizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\n\nSemantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\nstring input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\nreflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`."
62121
+ "comment": "Horizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\n\nSemantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`\nstring input and size variants (`m`, `l`) via the `size` string input, both\nreflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`."
62105
62122
  }
62106
62123
  ],
62107
62124
  "extends": [],
@@ -62114,7 +62131,7 @@
62114
62131
  }
62115
62132
  ]
62116
62133
  },
62117
- "templateData": "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n"
62134
+ "templateData": "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"statusIconColor()\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n"
62118
62135
  },
62119
62136
  {
62120
62137
  "name": "EdsProgressCircle",
@@ -70435,7 +70452,7 @@
70435
70452
  "assetsDirs": [],
70436
70453
  "styleUrlsData": [
70437
70454
  {
70438
- "data": "@use '../base' as base;\n\n:host {\n --_eds-switch-width: 2.75rem;\n --_eds-switch-height: 1.5rem;\n --_eds-switch-handle-size: 1.25rem;\n --_eds-switch-handle-offset: 0.125rem;\n --_eds-switch-track-color: var(--eds-c-surface-neutral-subtle);\n --_eds-switch-track-color-checked: var(--eds-c-surface-primary);\n --_eds-switch-handle-color: var(--eds-c-surface-elevation);\n --_eds-switch-handle-border-color: var(--eds-c-border-neutral);\n --_eds-switch-icon-color: var(--eds-c-foreground-subtler);\n\n display: inline-flex;\n align-items: center;\n position: relative;\n cursor: pointer;\n\n .eds-switch__track {\n display: flex;\n align-items: center;\n width: var(--_eds-switch-width);\n height: var(--_eds-switch-height);\n background-color: var(--_eds-switch-track-color);\n border-radius: var(--eds-br-full);\n padding: var(--_eds-switch-handle-offset);\n transition: background-color 150ms ease-in-out;\n }\n\n .eds-switch__handle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--_eds-switch-handle-size);\n height: var(--_eds-switch-handle-size);\n background-color: var(--_eds-switch-handle-color);\n border: 1px solid var(--_eds-switch-handle-border-color);\n border-radius: var(--eds-br-full);\n box-shadow: var(--eds-sh-1);\n transition: transform 150ms ease-in-out;\n color: var(--_eds-switch-icon-color);\n }\n}\n\n:host(:focus-visible) {\n @include base.eds-focus-visible-ring-rounded();\n}\n\n// CHECKED STATE\n:host([checked]) {\n .eds-switch__track {\n background-color: var(--_eds-switch-track-color-checked);\n }\n\n .eds-switch__handle {\n transform: translateX(calc(var(--_eds-switch-width) - var(--_eds-switch-handle-size) - var(--_eds-switch-handle-offset) * 2));\n border-color: var(--_eds-switch-track-color-checked);\n }\n}\n\n// DISABLED STATE\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.4;\n pointer-events: none;\n}\n\n// SIZE VARIANTS\n:host([size=\"s\"]) {\n --_eds-switch-width: 2.25rem;\n --_eds-switch-height: 1.25rem;\n --_eds-switch-handle-size: 1rem;\n --_eds-switch-handle-offset: 0.125rem;\n}\n\n:host([size=\"l\"]) {\n --_eds-switch-width: 3.25rem;\n --_eds-switch-height: 1.75rem;\n --_eds-switch-handle-size: 1.5rem;\n --_eds-switch-handle-offset: 0.125rem;\n}\n",
70455
+ "data": "@use '../base' as base;\n\n:host {\n --_eds-switch-width: 2.75rem;\n --_eds-switch-height: 1.5rem;\n --_eds-switch-handle-size: 1.25rem;\n --_eds-switch-handle-offset: 0.125rem;\n --_eds-switch-track-color: var(--eds-c-surface-neutral);\n --_eds-switch-track-color-checked: var(--eds-c-surface-primary);\n --_eds-switch-handle-color: var(--eds-c-surface-elevation);\n --_eds-switch-handle-border-color: var(--eds-c-border-neutral);\n --_eds-switch-icon-color: var(--eds-c-foreground-subtler);\n\n display: inline-flex;\n align-items: center;\n position: relative;\n cursor: pointer;\n\n .eds-switch__track {\n display: flex;\n align-items: center;\n width: var(--_eds-switch-width);\n height: var(--_eds-switch-height);\n background-color: var(--_eds-switch-track-color);\n border-radius: var(--eds-br-full);\n padding: var(--_eds-switch-handle-offset);\n transition: background-color 150ms ease-in-out;\n }\n\n .eds-switch__handle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--_eds-switch-handle-size);\n height: var(--_eds-switch-handle-size);\n background-color: var(--_eds-switch-handle-color);\n border: 1px solid var(--_eds-switch-handle-border-color);\n border-radius: var(--eds-br-full);\n box-shadow: var(--eds-sh-1);\n transition: transform 150ms ease-in-out;\n color: var(--_eds-switch-icon-color);\n }\n}\n\n:host(:focus-visible) {\n @include base.eds-focus-visible-ring-rounded();\n}\n\n// CHECKED STATE\n:host([checked]) {\n .eds-switch__track {\n background-color: var(--_eds-switch-track-color-checked);\n }\n\n .eds-switch__handle {\n transform: translateX(calc(var(--_eds-switch-width) - var(--_eds-switch-handle-size) - var(--_eds-switch-handle-offset) * 2));\n border-color: var(--_eds-switch-track-color-checked);\n }\n}\n\n// DISABLED STATE\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.4;\n pointer-events: none;\n}\n\n// SIZE VARIANTS\n:host([size=\"s\"]) {\n --_eds-switch-width: 2.25rem;\n --_eds-switch-height: 1.25rem;\n --_eds-switch-handle-size: 1rem;\n --_eds-switch-handle-offset: 0.125rem;\n}\n\n:host([size=\"l\"]) {\n --_eds-switch-width: 3.25rem;\n --_eds-switch-height: 1.75rem;\n --_eds-switch-handle-size: 1.5rem;\n --_eds-switch-handle-offset: 0.125rem;\n}\n",
70439
70456
  "styleUrl": "./eds-switch.scss"
70440
70457
  }
70441
70458
  ],
@@ -70482,7 +70499,7 @@
70482
70499
  }
70483
70500
  ]
70484
70501
  },
70485
- "templateData": "<span class=\"eds-switch__track\">\n <span class=\"eds-switch__handle\">\n @if (iconOn() && iconOff()) {\n @if (checked()) {\n <eds-icon [icon]=\"iconOn()!\" size=\"s\"/>\n } @else {\n <eds-icon [icon]=\"iconOff()!\" size=\"s\"/>\n }\n }\n </span>\n</span>\n"
70502
+ "templateData": "<span class=\"eds-switch__track\">\n <span class=\"eds-switch__handle\">\n @if (iconOn() && iconOff()) {\n @if (checked()) {\n <eds-icon [icon]=\"iconOn()!\" size=\"2xs\"/>\n } @else {\n <eds-icon [icon]=\"iconOff()!\" size=\"2xs\"/>\n }\n }\n </span>\n</span>\n"
70486
70503
  },
70487
70504
  {
70488
70505
  "name": "EdsTab",
@@ -86546,7 +86563,7 @@
86546
86563
  "ctype": "miscellaneous",
86547
86564
  "subtype": "typealias",
86548
86565
  "coverageIgnore": false,
86549
- "rawtype": "\"info\" | \"success\" | \"warning\" | \"critical\"",
86566
+ "rawtype": "\"primary\" | \"success\" | \"warning\" | \"critical\"",
86550
86567
  "file": "packages/eds/eds-progress-bar/eds-progress-bar.ts",
86551
86568
  "deprecated": false,
86552
86569
  "deprecationMessage": "",
@@ -86559,7 +86576,7 @@
86559
86576
  "ctype": "miscellaneous",
86560
86577
  "subtype": "typealias",
86561
86578
  "coverageIgnore": false,
86562
- "rawtype": "\"xs\" | \"s\" | \"m\" | \"l\"",
86579
+ "rawtype": "\"m\" | \"l\"",
86563
86580
  "file": "packages/eds/eds-progress-bar/eds-progress-bar.ts",
86564
86581
  "deprecated": false,
86565
86582
  "deprecationMessage": "",
@@ -92199,7 +92216,7 @@
92199
92216
  "ctype": "miscellaneous",
92200
92217
  "subtype": "typealias",
92201
92218
  "coverageIgnore": false,
92202
- "rawtype": "\"info\" | \"success\" | \"warning\" | \"critical\"",
92219
+ "rawtype": "\"primary\" | \"success\" | \"warning\" | \"critical\"",
92203
92220
  "file": "packages/eds/eds-progress-bar/eds-progress-bar.ts",
92204
92221
  "deprecated": false,
92205
92222
  "deprecationMessage": "",
@@ -92212,7 +92229,7 @@
92212
92229
  "ctype": "miscellaneous",
92213
92230
  "subtype": "typealias",
92214
92231
  "coverageIgnore": false,
92215
- "rawtype": "\"xs\" | \"s\" | \"m\" | \"l\"",
92232
+ "rawtype": "\"m\" | \"l\"",
92216
92233
  "file": "packages/eds/eds-progress-bar/eds-progress-bar.ts",
92217
92234
  "deprecated": false,
92218
92235
  "deprecationMessage": "",
package/docs/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # eui documentation
2
2
 
3
- > Generated by compodoc 2.0.0 at 2026-10-01T14:13:12.611Z, llm-md export.
3
+ > Generated by compodoc 2.0.0 at 2026-10-01T18:43:30.099Z, llm-md export.
4
4
 
5
5
  ## Components
6
6
 
@@ -2675,7 +2675,7 @@ File: `packages/eds/eds-progress-bar/eds-progress-bar.ts`
2675
2675
  Selector: `eds-progress-bar`
2676
2676
  Change detection: `ChangeDetectionStrategy.OnPush`
2677
2677
 
2678
- Description: Horizontal progress indicator component that visualizes task completion or loading states. Supports determinate progress with percentage values and indeterminate loading animations. Provides optional labeling and status icons for contextual feedback. Semantic color variants ( info , success , warning , critical ) are set via the color string input and size variants ( xs , s , m , l ) via the size string input, both reflected onto the host as attributes and styled with :host(\[color="…"\]) / :host(\[size="…"\]) .
2678
+ Description: Horizontal progress indicator component that visualizes task completion or loading states. Supports determinate progress with percentage values and indeterminate loading animations. Provides optional labeling and status icons for contextual feedback. Semantic color variants ( primary , success , warning , critical ) are set via the color string input and size variants ( m , l ) via the size string input, both reflected onto the host as attributes and styled with :host(\[color="…"\]) / :host(\[size="…"\]) .
2679
2679
 
2680
2680
  Inputs:
2681
2681
  - `ariaLabel: string = ''` — Explicit accessible name for the progress bar. Use when there is no visible label (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible label when set, otherwise a generic 'Progress' so the progressbar always has a name (WCAG 1.1.1). Provide a specific value for context.
@@ -2685,7 +2685,7 @@ Inputs:
2685
2685
  - `isIndeterminate: boolean = false` — When true, shows an indeterminate progress animation instead of a specific progress value. false
2686
2686
  - `label: string = ''` — Optional label displayed above the progress bar. Also used as the accessible name.
2687
2687
  - `progress: number = 0` — Current progress value (0–100). Values outside the range are clamped automatically. 0
2688
- - `size: EdsProgressBarSize = 's'` — Size variant, reflected as the size host attribute. 's'
2688
+ - `size: EdsProgressBarSize = 'm'` — Size variant, reflected as the size host attribute. 'm'
2689
2689
  - `valueText: string = ''` — Human-readable text alternative for the current value. Use when the numeric percentage alone isn't meaningful (e.g. "Step 3 of 5", "Uploading file 2 of 10"). Maps to aria-valuetext.
2690
2690
 
2691
2691
  ### EdsProgressCircle
@@ -5731,8 +5731,8 @@ Properties:
5731
5731
  - `type EdsOverlayPosition = "right" | "left" | "top" | "bottom"`
5732
5732
  - `type EdsPopoverPosition = "top" | "right" | "bottom" | "left"` — Represents the four possible positions for a popover element.
5733
5733
  - `type EdsPopoverSize = "s" | "m" | "l" | "xl" | "2xl" | "auto"` — Local narrowed size union — the popover's size contract (String-Props model).
5734
- - `type EdsProgressBarColor = "info" | "success" | "warning" | "critical"` — Local narrowed color union — the progress-bar variant contract (String-Props model).
5735
- - `type EdsProgressBarSize = "xs" | "s" | "m" | "l"` — Local narrowed size union — the progress-bar variant contract (String-Props model).
5734
+ - `type EdsProgressBarColor = "primary" | "success" | "warning" | "critical"` — Local narrowed color union — the progress-bar variant contract (String-Props model).
5735
+ - `type EdsProgressBarSize = "m" | "l"` — Local narrowed size union — the progress-bar variant contract (String-Props model).
5736
5736
  - `type EdsProgressCircleColorType = "info" | "success" | "warning" | "critical"` — Supported color types for automatic color step transitions.
5737
5737
  - `type EdsResizablePosition = "left" | "right"` — Handle placement side.
5738
5738
  - `type EdsSegmentedControlSize = "s" | "m" | "l"` — Sizes the segmented control styles (SCSS :host(\[size="…"\]) branches).
@@ -1993,7 +1993,7 @@ Each value maps to a specific status icon.</p>
1993
1993
  </tr>
1994
1994
  <tr>
1995
1995
  <td class="col-md-4">
1996
- <code> <code>&quot;info&quot; | &quot;success&quot; | &quot;warning&quot; | &quot;critical&quot;</code>
1996
+ <code> <code>&quot;primary&quot; | &quot;success&quot; | &quot;warning&quot; | &quot;critical&quot;</code>
1997
1997
  </code>
1998
1998
  </td>
1999
1999
  </tr>
@@ -2015,7 +2015,7 @@ Each value maps to a specific status icon.</p>
2015
2015
  </tr>
2016
2016
  <tr>
2017
2017
  <td class="col-md-4">
2018
- <code> <code>&quot;xs&quot; | &quot;s&quot; | &quot;m&quot; | &quot;l&quot;</code>
2018
+ <code> <code>&quot;m&quot; | &quot;l&quot;</code>
2019
2019
  </code>
2020
2020
  </td>
2021
2021
  </tr>
@@ -128,7 +128,7 @@
128
128
  </ol>
129
129
  <ul class="properties-list">
130
130
  <li>
131
- <b>Version</b> : 22.0.0-alpha.37</li>
131
+ <b>Version</b> : 22.0.0-alpha.38</li>
132
132
  </ul>
133
133
 
134
134
 
@@ -10,8 +10,8 @@ const progressTransform = (value) => Math.max(0, Math.min(numberAttribute(value,
10
10
  * Supports determinate progress with percentage values and indeterminate loading animations.
11
11
  * Provides optional labeling and status icons for contextual feedback.
12
12
  *
13
- * Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`
14
- * string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both
13
+ * Semantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`
14
+ * string input and size variants (`m`, `l`) via the `size` string input, both
15
15
  * reflected onto the host as attributes and styled with `:host([color="…"])` / `:host([size="…"])`.
16
16
  */
17
17
  class EdsProgressBar {
@@ -55,9 +55,9 @@ class EdsProgressBar {
55
55
  ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
56
56
  /**
57
57
  * Size variant, reflected as the `size` host attribute.
58
- * @default 's'
58
+ * @default 'm'
59
59
  */
60
- this.size = input('s', /* @ts-ignore */
60
+ this.size = input('m', /* @ts-ignore */
61
61
  ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
62
62
  /**
63
63
  * When true, shows an indeterminate progress animation
@@ -77,9 +77,19 @@ class EdsProgressBar {
77
77
  */
78
78
  this.resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress', /* @ts-ignore */
79
79
  ...(ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []));
80
+ /**
81
+ * Status-icon color. The icon-state contract has no `primary` variant, so `primary` (and the
82
+ * unset/default primary state) map to the neutral `info` status icon; the semantic colors pass
83
+ * through unchanged.
84
+ */
85
+ this.statusIconColor = computed(() => {
86
+ const color = this.color();
87
+ return color && color !== 'primary' ? color : 'info';
88
+ }, /* @ts-ignore */
89
+ ...(ngDevMode ? [{ debugName: "statusIconColor" }] : /* istanbul ignore next */ []));
80
90
  }
81
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, valueText: { classPropertyName: "valueText", publicName: "valueText", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, hasStatusIcon: { classPropertyName: "hasStatusIcon", publicName: "hasStatusIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.color": "color() || null", "attr.size": "size()", "attr.indeterminate": "isIndeterminate() || null", "attr.has-status-icon": "hasStatusIcon() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-valuenow": "!isIndeterminate() ? progress() : null", "attr.aria-valuemin": "\"0\"", "attr.aria-valuemax": "\"100\"", "attr.aria-label": "resolvedAriaLabel()", "attr.aria-valuetext": "valueText() || null" }, classAttribute: "eds-progress-bar" }, ngImport: i0, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"], dependencies: [{ kind: "component", type: i1.EdsIconState, selector: "eds-icon-state", inputs: ["color", "size", "ariaLabel", "e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, valueText: { classPropertyName: "valueText", publicName: "valueText", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, hasStatusIcon: { classPropertyName: "hasStatusIcon", publicName: "hasStatusIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.color": "color() || null", "attr.size": "size()", "attr.indeterminate": "isIndeterminate() || null", "attr.has-status-icon": "hasStatusIcon() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-valuenow": "!isIndeterminate() ? progress() : null", "attr.aria-valuemin": "\"0\"", "attr.aria-valuemax": "\"100\"", "attr.aria-label": "resolvedAriaLabel()", "attr.aria-valuetext": "valueText() || null" }, classAttribute: "eds-progress-bar" }, ngImport: i0, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"statusIconColor()\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-3xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([color=primary]){--_eds-progress-bar-fill: var(--eds-c-surface-primary)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"], dependencies: [{ kind: "component", type: i1.EdsIconState, selector: "eds-icon-state", inputs: ["color", "size", "ariaLabel", "e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
93
  }
84
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, decorators: [{
85
95
  type: Component,
@@ -96,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
96
106
  '[attr.aria-valuemax]': '"100"',
97
107
  '[attr.aria-label]': 'resolvedAriaLabel()',
98
108
  '[attr.aria-valuetext]': 'valueText() || null',
99
- }, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"] }]
109
+ }, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"statusIconColor()\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-3xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([color=primary]){--_eds-progress-bar-fill: var(--eds-c-surface-primary)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"] }]
100
110
  }], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], valueText: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueText", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], isIndeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "isIndeterminate", required: false }] }], hasStatusIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasStatusIcon", required: false }] }] } });
101
111
 
102
112
  /** Convenience array for importing all eds-progress-bar components. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-progress-bar.mjs","sources":["../../eds-progress-bar/eds-progress-bar.ts","../../eds-progress-bar/eds-progress-bar.html","../../eds-progress-bar/index.ts","../../eds-progress-bar/eui-eds-eds-progress-bar.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'info' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'xs' | 's' | 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 's'\n */\n size = input<EdsProgressBarSize>('s');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n}\n","@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n","import { EdsProgressBar } from './eds-progress-bar';\n\nexport { EdsProgressBar };\n\n/** Convenience array for importing all eds-progress-bar components. */\nexport const EDS_PROGRESS_BAR = [\n EdsProgressBar,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-eds-eds-progress-bar.mjs","sources":["../../eds-progress-bar/eds-progress-bar.ts","../../eds-progress-bar/eds-progress-bar.html","../../eds-progress-bar/index.ts","../../eds-progress-bar/eui-eds-eds-progress-bar.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\nimport type { EdsIconStateColor } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'primary' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`primary`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 'm'\n */\n size = input<EdsProgressBarSize>('m');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n\n /**\n * Status-icon color. The icon-state contract has no `primary` variant, so `primary` (and the\n * unset/default primary state) map to the neutral `info` status icon; the semantic colors pass\n * through unchanged.\n */\n protected readonly statusIconColor = computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color && color !== 'primary' ? color : 'info';\n });\n}\n","@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"statusIconColor()\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n","import { EdsProgressBar } from './eds-progress-bar';\n\nexport { EdsProgressBar };\nexport type { EdsProgressBarColor, EdsProgressBarSize } from './eds-progress-bar';\n\n/** Convenience array for importing all eds-progress-bar components. */\nexport const EDS_PROGRESS_BAR = [\n EdsProgressBar,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}