@eui/eds 22.0.0-alpha.30 → 22.0.0-alpha.31

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 (265) hide show
  1. package/docs/changelog.html +27 -0
  2. package/docs/components/EdsAccordion.html +1 -1
  3. package/docs/components/EdsAccordionItem.html +1 -1
  4. package/docs/components/EdsAlert.html +1 -1
  5. package/docs/components/EdsAlertTitle.html +1 -1
  6. package/docs/components/EdsAutocomplete.html +1 -1
  7. package/docs/components/EdsAutocompleteOption.html +1 -1
  8. package/docs/components/EdsAutocompleteOptionGroup.html +1 -1
  9. package/docs/components/EdsAutocompletePanel.html +1 -1
  10. package/docs/components/EdsAvatar.html +1 -1
  11. package/docs/components/EdsAvatarBadge.html +1 -1
  12. package/docs/components/EdsAvatarContent.html +1 -1
  13. package/docs/components/EdsAvatarContentLabel.html +1 -1
  14. package/docs/components/EdsAvatarContentSublabel.html +1 -1
  15. package/docs/components/EdsAvatarIcon.html +1 -1
  16. package/docs/components/EdsAvatarImage.html +1 -1
  17. package/docs/components/EdsAvatarList.html +1 -1
  18. package/docs/components/EdsAvatarText.html +1 -1
  19. package/docs/components/EdsBadge.html +1 -1
  20. package/docs/components/EdsBanner.html +1 -1
  21. package/docs/components/EdsBannerCta.html +1 -1
  22. package/docs/components/EdsBannerDescription.html +1 -1
  23. package/docs/components/EdsBannerPicture.html +1 -1
  24. package/docs/components/EdsBannerTitle.html +1 -1
  25. package/docs/components/EdsBlockContent.html +1 -1
  26. package/docs/components/EdsBlockDocument.html +1 -1
  27. package/docs/components/EdsBlockquote.html +1 -1
  28. package/docs/components/EdsBreadcrumb.html +1 -1
  29. package/docs/components/EdsBreadcrumbItem.html +1 -1
  30. package/docs/components/EdsButton.html +1 -1
  31. package/docs/components/EdsCalendar.html +1 -1
  32. package/docs/components/EdsCalendarDay.html +1 -1
  33. package/docs/components/EdsCalendarHeader.html +1 -1
  34. package/docs/components/EdsCalendarMonthly.html +1 -1
  35. package/docs/components/EdsCalendarWeekly.html +1 -1
  36. package/docs/components/EdsCalendarWeeklyDayContent.html +1 -1
  37. package/docs/components/EdsCalendarWeeklyDayHeader.html +1 -1
  38. package/docs/components/EdsCalendarWeeklyDayHeaderAction.html +1 -1
  39. package/docs/components/EdsCard.html +1 -1
  40. package/docs/components/EdsCardBody.html +1 -1
  41. package/docs/components/EdsCardFooter.html +1 -1
  42. package/docs/components/EdsCardHeader.html +1 -1
  43. package/docs/components/EdsCardHeaderEnd.html +1 -1
  44. package/docs/components/EdsCardLabel.html +1 -1
  45. package/docs/components/EdsCardMedia.html +1 -1
  46. package/docs/components/EdsCardMetadata.html +1 -1
  47. package/docs/components/EdsCardStart.html +1 -1
  48. package/docs/components/EdsCardSublabel.html +1 -1
  49. package/docs/components/EdsCarousel.html +1 -1
  50. package/docs/components/EdsCarouselItem.html +1 -1
  51. package/docs/components/EdsChart.html +1 -1
  52. package/docs/components/EdsChartLegend.html +1 -1
  53. package/docs/components/EdsChartLegendItem.html +1 -1
  54. package/docs/components/EdsChatBubble.html +1 -1
  55. package/docs/components/EdsChatBubbleContent.html +1 -1
  56. package/docs/components/EdsChatBubbleGroup.html +1 -1
  57. package/docs/components/EdsChatBubbleReactions.html +1 -1
  58. package/docs/components/EdsChip.html +1 -1
  59. package/docs/components/EdsChipList.html +1 -1
  60. package/docs/components/EdsChipListAdditionalContent.html +1 -1
  61. package/docs/components/EdsChipListAppendContent.html +1 -1
  62. package/docs/components/EdsDateBlock.html +1 -1
  63. package/docs/components/EdsDatepicker.html +32 -2
  64. package/docs/components/EdsDialog.html +1 -1
  65. package/docs/components/EdsDialogContainer.html +1 -1
  66. package/docs/components/EdsDimmer.html +1 -1
  67. package/docs/components/EdsDisableContent.html +1 -1
  68. package/docs/components/EdsDiscussionThread.html +1 -1
  69. package/docs/components/EdsDiscussionThreadItem.html +1 -1
  70. package/docs/components/EdsDropdown.html +1 -1
  71. package/docs/components/EdsDropdownItem.html +1 -1
  72. package/docs/components/EdsEmptyState.html +1 -1
  73. package/docs/components/EdsEmptyStateActions.html +1 -1
  74. package/docs/components/EdsEmptyStateDescription.html +1 -1
  75. package/docs/components/EdsEmptyStateIcon.html +1 -1
  76. package/docs/components/EdsEmptyStateTitle.html +1 -1
  77. package/docs/components/EdsFabButton.html +1 -1
  78. package/docs/components/EdsFabButtonItem.html +1 -1
  79. package/docs/components/EdsFeedbackMessage.html +2 -2
  80. package/docs/components/EdsFieldset.html +1 -1
  81. package/docs/components/EdsFieldsetAction.html +1 -1
  82. package/docs/components/EdsFieldsetDescription.html +1 -1
  83. package/docs/components/EdsFieldsetIcon.html +1 -1
  84. package/docs/components/EdsFieldsetTitle.html +1 -1
  85. package/docs/components/EdsFileUpload.html +1 -1
  86. package/docs/components/EdsFileUploadPreview.html +1 -1
  87. package/docs/components/EdsFlexLayout.html +1 -1
  88. package/docs/components/EdsGaugeChart.html +1 -1
  89. package/docs/components/EdsGeoChart.html +1 -1
  90. package/docs/components/EdsGridLayout.html +1 -1
  91. package/docs/components/EdsGridLayoutCell.html +1 -1
  92. package/docs/components/EdsGridLayoutRow.html +1 -1
  93. package/docs/components/EdsGrowl.html +1 -1
  94. package/docs/components/EdsIcon.html +1 -1
  95. package/docs/components/EdsIconButton.html +1 -1
  96. package/docs/components/EdsIconImage.html +1 -1
  97. package/docs/components/EdsIconState.html +1 -1
  98. package/docs/components/EdsIconToggle.html +1 -1
  99. package/docs/components/{EdsInputGroupAddon.html → EdsInputAddon.html} +95 -14
  100. package/docs/components/EdsInputButton.html +1 -1
  101. package/docs/components/EdsInputCheckbox.html +1 -1
  102. package/docs/components/EdsInputGroup.html +1 -1
  103. package/docs/components/EdsInputIcon.html +1 -1
  104. package/docs/components/EdsInputNumber.html +1 -1
  105. package/docs/components/EdsInputPassword.html +1 -1
  106. package/docs/components/EdsInputPrompt.html +1 -1
  107. package/docs/components/EdsInputRadio.html +1 -1
  108. package/docs/components/EdsInputText.html +1 -1
  109. package/docs/components/EdsLabel.html +63 -1
  110. package/docs/components/EdsLanguageSelector.html +1 -1
  111. package/docs/components/EdsLanguageSelectorDialog.html +1 -1
  112. package/docs/components/EdsLink.html +1 -1
  113. package/docs/components/EdsList.html +1 -1
  114. package/docs/components/EdsListItem.html +1 -1
  115. package/docs/components/EdsListItemContent.html +1 -1
  116. package/docs/components/EdsListItemEnd.html +1 -1
  117. package/docs/components/EdsListItemLabel.html +1 -1
  118. package/docs/components/EdsListItemStart.html +1 -1
  119. package/docs/components/EdsLoadingIndicator.html +1 -1
  120. package/docs/components/EdsMenu.html +1 -1
  121. package/docs/components/EdsMenuItemComponent.html +1 -1
  122. package/docs/components/EdsMessageBox.html +1 -1
  123. package/docs/components/EdsMultiselect.html +1 -1
  124. package/docs/components/EdsMultiselectOption.html +1 -1
  125. package/docs/components/EdsOverlay.html +1 -1
  126. package/docs/components/EdsOverlayContent.html +1 -1
  127. package/docs/components/EdsOverlayFooter.html +1 -1
  128. package/docs/components/EdsOverlayHeader.html +1 -1
  129. package/docs/components/EdsOverlayHeaderActionItems.html +1 -1
  130. package/docs/components/EdsOverlayHeaderLabel.html +1 -1
  131. package/docs/components/EdsOverlayHeaderSublabel.html +1 -1
  132. package/docs/components/EdsPage.html +1 -1
  133. package/docs/components/EdsPageBreadcrumb.html +1 -1
  134. package/docs/components/EdsPageColumn.html +1 -1
  135. package/docs/components/EdsPageColumnBody.html +1 -1
  136. package/docs/components/EdsPageColumnFooter.html +1 -1
  137. package/docs/components/EdsPageColumnHeader.html +1 -1
  138. package/docs/components/EdsPageColumnHeaderActionItems.html +1 -1
  139. package/docs/components/EdsPageColumnHeaderLabel.html +1 -1
  140. package/docs/components/EdsPageColumnHeaderSublabel.html +1 -1
  141. package/docs/components/EdsPageColumns.html +1 -1
  142. package/docs/components/EdsPageContent.html +1 -1
  143. package/docs/components/EdsPageFooter.html +1 -1
  144. package/docs/components/EdsPageHeader.html +1 -1
  145. package/docs/components/EdsPageHeaderActionItems.html +1 -1
  146. package/docs/components/EdsPageHeaderBody.html +1 -1
  147. package/docs/components/EdsPageHeaderLabel.html +1 -1
  148. package/docs/components/EdsPageHeaderSublabel.html +1 -1
  149. package/docs/components/EdsPaginator.html +1 -1
  150. package/docs/components/EdsPopover.html +1 -1
  151. package/docs/components/EdsPopoverContainer.html +1 -1
  152. package/docs/components/EdsProgressBar.html +1 -1
  153. package/docs/components/EdsProgressCircle.html +1 -1
  154. package/docs/components/EdsRating.html +1 -1
  155. package/docs/components/EdsSegmentedControl.html +1 -1
  156. package/docs/components/EdsSegmentedControlItem.html +1 -1
  157. package/docs/components/EdsSelect.html +1 -1
  158. package/docs/components/EdsShell.html +1 -1
  159. package/docs/components/EdsShellContent.html +1 -1
  160. package/docs/components/EdsShellFooter.html +1 -1
  161. package/docs/components/EdsShellHeader.html +1 -1
  162. package/docs/components/EdsShellHeaderApp.html +1 -1
  163. package/docs/components/EdsShellHeaderEnd.html +1 -1
  164. package/docs/components/EdsShellHeaderEnvironment.html +1 -1
  165. package/docs/components/EdsShellHeaderLogo.html +1 -1
  166. package/docs/components/EdsShellHeaderStart.html +1 -1
  167. package/docs/components/EdsShellMenuToggle.html +1 -1
  168. package/docs/components/EdsShellSidebar.html +1 -1
  169. package/docs/components/EdsShellSidebarBottomNav.html +1 -1
  170. package/docs/components/EdsShellSidebarFooter.html +1 -1
  171. package/docs/components/EdsShellSidebarHeader.html +1 -1
  172. package/docs/components/EdsShellSidebarNav.html +1 -1
  173. package/docs/components/EdsShellToolbar.html +1 -1
  174. package/docs/components/EdsShellToolbarApp.html +1 -1
  175. package/docs/components/EdsShellToolbarCenter.html +1 -1
  176. package/docs/components/EdsShellToolbarEnd.html +1 -1
  177. package/docs/components/EdsShellToolbarEnvironment.html +1 -1
  178. package/docs/components/EdsShellToolbarLogo.html +1 -1
  179. package/docs/components/EdsShellToolbarStart.html +1 -1
  180. package/docs/components/EdsShellTopMessage.html +95 -12
  181. package/docs/components/EdsSkeleton.html +1 -1
  182. package/docs/components/EdsSlider.html +1 -1
  183. package/docs/components/EdsSnc.html +1 -1
  184. package/docs/components/EdsSparkline.html +1 -1
  185. package/docs/components/EdsSplitButton.html +1 -1
  186. package/docs/components/EdsSwiper.html +1 -1
  187. package/docs/components/EdsSwiperItem.html +1 -1
  188. package/docs/components/EdsSwitch.html +1 -1
  189. package/docs/components/EdsTab.html +1 -1
  190. package/docs/components/EdsTabBody.html +1 -1
  191. package/docs/components/EdsTabHeader.html +1 -1
  192. package/docs/components/EdsTabHeaderLabel.html +1 -1
  193. package/docs/components/EdsTabHeaderLeftContent.html +1 -1
  194. package/docs/components/EdsTabHeaderRightContent.html +1 -1
  195. package/docs/components/EdsTabHeaderSublabel.html +1 -1
  196. package/docs/components/EdsTable.html +1 -1
  197. package/docs/components/EdsTableFilter.html +1 -1
  198. package/docs/components/EdsTableSelectableHeader.html +1 -1
  199. package/docs/components/EdsTableSelectableRow.html +1 -1
  200. package/docs/components/EdsTableSortableCol.html +1 -1
  201. package/docs/components/EdsTabs.html +1 -1
  202. package/docs/components/EdsTabsRightContent.html +1 -1
  203. package/docs/components/EdsTag.html +1 -1
  204. package/docs/components/EdsTagGroup.html +1 -1
  205. package/docs/components/EdsTextarea.html +1 -1
  206. package/docs/components/EdsTimeline.html +1 -1
  207. package/docs/components/EdsTimelineItem.html +1 -1
  208. package/docs/components/EdsTimepicker.html +1 -1
  209. package/docs/components/EdsTooltipContainer.html +1 -1
  210. package/docs/components/EdsTree.html +1 -1
  211. package/docs/components/EdsTreeList.html +1 -1
  212. package/docs/components/EdsTreeListItem.html +1 -1
  213. package/docs/components/EdsTreeListItemContent.html +1 -1
  214. package/docs/components/EdsTreeListToolbar.html +1 -1
  215. package/docs/components/EdsTrend.html +1 -1
  216. package/docs/components/EdsUserProfile.html +1 -1
  217. package/docs/components/EdsUserProfileMenu.html +1 -1
  218. package/docs/components/EdsUserProfileMenuItem.html +1 -1
  219. package/docs/components/EdsWizard.html +1 -1
  220. package/docs/components/EdsWizardStepComponent.html +1 -1
  221. package/docs/directives/EdsColorDirective.html +0 -3
  222. package/docs/js/menu-wc.js +3 -6
  223. package/docs/js/search/search_index.js +2 -2
  224. package/docs/json/EdsDatepicker.md +1 -0
  225. package/docs/json/EdsFeedbackMessage.md +1 -1
  226. package/docs/json/EdsInputAddon.md +54 -0
  227. package/docs/json/EdsLabel.md +2 -0
  228. package/docs/json/EdsShellTopMessage.md +3 -5
  229. package/docs/json/documentation.json +460 -231
  230. package/docs/llms.txt +28 -22
  231. package/docs/miscellaneous/typealiases.html +82 -1
  232. package/docs/miscellaneous/variables.html +40 -2
  233. package/docs/overview.html +1 -1
  234. package/docs/properties.html +1 -1
  235. package/eds-input-addon/package.json +4 -0
  236. package/fesm2022/eui-eds-eds-datepicker.mjs +5 -3
  237. package/fesm2022/eui-eds-eds-datepicker.mjs.map +1 -1
  238. package/fesm2022/eui-eds-eds-feedback-message.mjs +4 -4
  239. package/fesm2022/eui-eds-eds-feedback-message.mjs.map +1 -1
  240. package/fesm2022/eui-eds-eds-input-addon.mjs +87 -0
  241. package/fesm2022/eui-eds-eds-input-addon.mjs.map +1 -0
  242. package/fesm2022/eui-eds-eds-input-group.mjs +1 -35
  243. package/fesm2022/eui-eds-eds-input-group.mjs.map +1 -1
  244. package/fesm2022/eui-eds-eds-label.mjs +15 -3
  245. package/fesm2022/eui-eds-eds-label.mjs.map +1 -1
  246. package/fesm2022/eui-eds-eds-shell.mjs +18 -14
  247. package/fesm2022/eui-eds-eds-shell.mjs.map +1 -1
  248. package/fesm2022/eui-eds-eds-tree.mjs +1 -1
  249. package/fesm2022/eui-eds-eds-tree.mjs.map +1 -1
  250. package/package.json +5 -1
  251. package/types/eui-eds-eds-datepicker.d.ts +3 -1
  252. package/types/eui-eds-eds-datepicker.d.ts.map +1 -1
  253. package/types/eui-eds-eds-feedback-message.d.ts +3 -3
  254. package/types/eui-eds-eds-feedback-message.d.ts.map +1 -1
  255. package/types/eui-eds-eds-input-addon.d.ts +70 -0
  256. package/types/eui-eds-eds-input-addon.d.ts.map +1 -0
  257. package/types/eui-eds-eds-input-group.d.ts +7 -19
  258. package/types/eui-eds-eds-input-group.d.ts.map +1 -1
  259. package/types/eui-eds-eds-label.d.ts +11 -1
  260. package/types/eui-eds-eds-label.d.ts.map +1 -1
  261. package/types/eui-eds-eds-shell.d.ts +12 -3
  262. package/types/eui-eds-eds-shell.d.ts.map +1 -1
  263. package/docs/components/EdsInputGroupAddonItem.html +0 -385
  264. package/docs/json/EdsInputGroupAddon.md +0 -11
  265. package/docs/json/EdsInputGroupAddonItem.md +0 -11
@@ -11851,10 +11851,6 @@
11851
11851
  "type": "component",
11852
11852
  "description": "Circular progress indicator component that displays progress as an SVG ring with customizable colors, sizes, and labels. Supports automat..."
11853
11853
  },
11854
- {
11855
- "name": "EdsShellTopMessage",
11856
- "type": "component"
11857
- },
11858
11854
  {
11859
11855
  "name": "EdsSlider",
11860
11856
  "type": "component",
@@ -28598,7 +28594,7 @@
28598
28594
  },
28599
28595
  {
28600
28596
  "name": "EdsDatepicker",
28601
- "id": "component-EdsDatepicker-940e727f076eb85335162e5ecc2ea7a930e9583dc4d0e64e9ea764804ba795c0bb53e559e4cbb063910e2568b51aed5b08b02c5e5056106a42d350940bab6674",
28597
+ "id": "component-EdsDatepicker-a5e4ed7a2da79f9253e0d3f94d918d5713b3f463d401e7e505f987831dd3ca42f6813fa53a63fc926f605cae8fa65c2b32296d382aa57fe37ad53e6a12e5f0f2",
28602
28598
  "file": "packages/eds/eds-datepicker/eds-datepicker.ts",
28603
28599
  "changeDetection": "ChangeDetectionStrategy.OnPush",
28604
28600
  "encapsulation": [],
@@ -28633,6 +28629,20 @@
28633
28629
  "rawdescription": "\nAria label for the input.",
28634
28630
  "required": false
28635
28631
  },
28632
+ {
28633
+ "name": "clearable",
28634
+ "coverageIgnore": false,
28635
+ "defaultValue": "false",
28636
+ "deprecated": false,
28637
+ "deprecationMessage": "",
28638
+ "type": "boolean",
28639
+ "indexKey": "",
28640
+ "optional": false,
28641
+ "description": "<p>Whether to show a clear button that resets the selected date.</p>\n",
28642
+ "line": 62,
28643
+ "rawdescription": "\nWhether to show a clear button that resets the selected date.",
28644
+ "required": false
28645
+ },
28636
28646
  {
28637
28647
  "name": "dateFormat",
28638
28648
  "coverageIgnore": false,
@@ -28685,7 +28695,7 @@
28685
28695
  "indexKey": "",
28686
28696
  "optional": false,
28687
28697
  "description": "<p>Whether the timepicker shows seconds.</p>\n",
28688
- "line": 65,
28698
+ "line": 68,
28689
28699
  "rawdescription": "\nWhether the timepicker shows seconds.",
28690
28700
  "required": false
28691
28701
  },
@@ -28713,7 +28723,7 @@
28713
28723
  "indexKey": "",
28714
28724
  "optional": false,
28715
28725
  "description": "<p>Whether to show a timepicker alongside the calendar.</p>\n",
28716
- "line": 62,
28726
+ "line": 65,
28717
28727
  "rawdescription": "\nWhether to show a timepicker alongside the calendar.",
28718
28728
  "required": false
28719
28729
  },
@@ -28783,7 +28793,7 @@
28783
28793
  "indexKey": "",
28784
28794
  "optional": false,
28785
28795
  "description": "<p>The selected date value.</p>\n",
28786
- "line": 73,
28796
+ "line": 76,
28787
28797
  "rawdescription": "\nThe selected date value.",
28788
28798
  "required": false
28789
28799
  }
@@ -28798,7 +28808,7 @@
28798
28808
  "indexKey": "",
28799
28809
  "optional": false,
28800
28810
  "description": "<p>Emitted when a date is selected.</p>\n",
28801
- "line": 69,
28811
+ "line": 72,
28802
28812
  "rawdescription": "\nEmitted when a date is selected.",
28803
28813
  "required": false
28804
28814
  },
@@ -28812,7 +28822,7 @@
28812
28822
  "indexKey": "",
28813
28823
  "optional": false,
28814
28824
  "description": "<p>The selected date value.</p>\n",
28815
- "line": 73,
28825
+ "line": 76,
28816
28826
  "rawdescription": "\nThe selected date value.",
28817
28827
  "required": false
28818
28828
  }
@@ -28828,7 +28838,7 @@
28828
28838
  "indexKey": "",
28829
28839
  "optional": false,
28830
28840
  "description": "<p>The date adapter (native Date or Luxon).</p>\n",
28831
- "line": 92,
28841
+ "line": 95,
28832
28842
  "rawdescription": "\nThe date adapter (native Date or Luxon)."
28833
28843
  },
28834
28844
  {
@@ -28841,7 +28851,7 @@
28841
28851
  "indexKey": "",
28842
28852
  "optional": false,
28843
28853
  "description": "<p>Computed calendar day grid.</p>\n",
28844
- "line": 123,
28854
+ "line": 126,
28845
28855
  "rawdescription": "\nComputed calendar day grid."
28846
28856
  },
28847
28857
  {
@@ -28854,7 +28864,7 @@
28854
28864
  "indexKey": "",
28855
28865
  "optional": false,
28856
28866
  "description": "<p>Computed display value for the input.</p>\n",
28857
- "line": 95,
28867
+ "line": 98,
28858
28868
  "rawdescription": "\nComputed display value for the input."
28859
28869
  },
28860
28870
  {
@@ -28867,7 +28877,7 @@
28867
28877
  "indexKey": "",
28868
28878
  "optional": false,
28869
28879
  "description": "<p>Whether the dropdown should open above the input.</p>\n",
28870
- "line": 79,
28880
+ "line": 82,
28871
28881
  "rawdescription": "\nWhether the dropdown should open above the input."
28872
28882
  },
28873
28883
  {
@@ -28880,7 +28890,7 @@
28880
28890
  "indexKey": "",
28881
28891
  "optional": false,
28882
28892
  "description": "<p>Whether the calendar dropdown is open.</p>\n",
28883
- "line": 76,
28893
+ "line": 79,
28884
28894
  "rawdescription": "\nWhether the calendar dropdown is open."
28885
28895
  },
28886
28896
  {
@@ -28893,7 +28903,7 @@
28893
28903
  "indexKey": "",
28894
28904
  "optional": false,
28895
28905
  "description": "<p>Computed month/year label for the header.</p>\n",
28896
- "line": 115,
28906
+ "line": 118,
28897
28907
  "rawdescription": "\nComputed month/year label for the header."
28898
28908
  },
28899
28909
  {
@@ -28906,7 +28916,7 @@
28906
28916
  "indexKey": "",
28907
28917
  "optional": false,
28908
28918
  "description": "",
28909
- "line": 278,
28919
+ "line": 281,
28910
28920
  "rawdescription": "\n",
28911
28921
  "modifierKind": [
28912
28922
  124
@@ -28922,7 +28932,7 @@
28922
28932
  "indexKey": "",
28923
28933
  "optional": false,
28924
28934
  "description": "<p>Current time selection (for datetime mode).</p>\n",
28925
- "line": 89,
28935
+ "line": 92,
28926
28936
  "rawdescription": "\nCurrent time selection (for datetime mode)."
28927
28937
  },
28928
28938
  {
@@ -28935,7 +28945,7 @@
28935
28945
  "indexKey": "",
28936
28946
  "optional": false,
28937
28947
  "description": "<p>Current viewed month/year for the calendar.</p>\n",
28938
- "line": 83,
28948
+ "line": 86,
28939
28949
  "rawdescription": "\nCurrent viewed month/year for the calendar."
28940
28950
  },
28941
28951
  {
@@ -28948,7 +28958,7 @@
28948
28958
  "indexKey": "",
28949
28959
  "optional": false,
28950
28960
  "description": "<p>Weekday header labels.</p>\n",
28951
- "line": 86,
28961
+ "line": 89,
28952
28962
  "rawdescription": "\nWeekday header labels."
28953
28963
  }
28954
28964
  ],
@@ -28969,7 +28979,7 @@
28969
28979
  "optional": false,
28970
28980
  "returnType": "boolean",
28971
28981
  "typeParameters": [],
28972
- "line": 221,
28982
+ "line": 224,
28973
28983
  "deprecated": false,
28974
28984
  "deprecationMessage": "",
28975
28985
  "rawdescription": "\n",
@@ -29004,7 +29014,7 @@
29004
29014
  "optional": false,
29005
29015
  "returnType": "boolean",
29006
29016
  "typeParameters": [],
29007
- "line": 212,
29017
+ "line": 215,
29008
29018
  "deprecated": false,
29009
29019
  "deprecationMessage": "",
29010
29020
  "rawdescription": "\n",
@@ -29039,7 +29049,7 @@
29039
29049
  "optional": false,
29040
29050
  "returnType": "boolean",
29041
29051
  "typeParameters": [],
29042
- "line": 207,
29052
+ "line": 210,
29043
29053
  "deprecated": false,
29044
29054
  "deprecationMessage": "",
29045
29055
  "rawdescription": "\n",
@@ -29065,7 +29075,7 @@
29065
29075
  "optional": false,
29066
29076
  "returnType": "void",
29067
29077
  "typeParameters": [],
29068
- "line": 193,
29078
+ "line": 196,
29069
29079
  "deprecated": false,
29070
29080
  "deprecationMessage": "",
29071
29081
  "rawdescription": "\n",
@@ -29078,7 +29088,7 @@
29078
29088
  "optional": false,
29079
29089
  "returnType": "void",
29080
29090
  "typeParameters": [],
29081
- "line": 156,
29091
+ "line": 159,
29082
29092
  "deprecated": false,
29083
29093
  "deprecationMessage": "",
29084
29094
  "rawdescription": "\n",
@@ -29100,7 +29110,7 @@
29100
29110
  "optional": false,
29101
29111
  "returnType": "void",
29102
29112
  "typeParameters": [],
29103
- "line": 233,
29113
+ "line": 236,
29104
29114
  "deprecated": false,
29105
29115
  "deprecationMessage": "",
29106
29116
  "rawdescription": "\n",
@@ -29126,7 +29136,7 @@
29126
29136
  "optional": false,
29127
29137
  "returnType": "void",
29128
29138
  "typeParameters": [],
29129
- "line": 183,
29139
+ "line": 186,
29130
29140
  "deprecated": false,
29131
29141
  "deprecationMessage": "",
29132
29142
  "rawdescription": "\n",
@@ -29148,7 +29158,7 @@
29148
29158
  "optional": false,
29149
29159
  "returnType": "void",
29150
29160
  "typeParameters": [],
29151
- "line": 250,
29161
+ "line": 253,
29152
29162
  "deprecated": false,
29153
29163
  "deprecationMessage": "",
29154
29164
  "rawdescription": "\n",
@@ -29174,7 +29184,7 @@
29174
29184
  "optional": false,
29175
29185
  "returnType": "void",
29176
29186
  "typeParameters": [],
29177
- "line": 189,
29187
+ "line": 192,
29178
29188
  "deprecated": false,
29179
29189
  "deprecationMessage": "",
29180
29190
  "rawdescription": "\n",
@@ -29206,7 +29216,7 @@
29206
29216
  "optional": false,
29207
29217
  "returnType": "void",
29208
29218
  "typeParameters": [],
29209
- "line": 264,
29219
+ "line": 267,
29210
29220
  "deprecated": false,
29211
29221
  "deprecationMessage": "",
29212
29222
  "rawdescription": "\n",
@@ -29252,7 +29262,7 @@
29252
29262
  "optional": false,
29253
29263
  "returnType": "void",
29254
29264
  "typeParameters": [],
29255
- "line": 268,
29265
+ "line": 271,
29256
29266
  "deprecated": false,
29257
29267
  "deprecationMessage": "",
29258
29268
  "rawdescription": "\n",
@@ -29288,7 +29298,7 @@
29288
29298
  "optional": false,
29289
29299
  "returnType": "void",
29290
29300
  "typeParameters": [],
29291
- "line": 198,
29301
+ "line": 201,
29292
29302
  "deprecated": false,
29293
29303
  "deprecationMessage": "",
29294
29304
  "rawdescription": "\n",
@@ -29323,7 +29333,7 @@
29323
29333
  "optional": false,
29324
29334
  "returnType": "void",
29325
29335
  "typeParameters": [],
29326
- "line": 272,
29336
+ "line": 275,
29327
29337
  "deprecated": false,
29328
29338
  "deprecationMessage": "",
29329
29339
  "rawdescription": "\n",
@@ -29349,7 +29359,7 @@
29349
29359
  "optional": false,
29350
29360
  "returnType": "void",
29351
29361
  "typeParameters": [],
29352
- "line": 162,
29362
+ "line": 165,
29353
29363
  "deprecated": false,
29354
29364
  "deprecationMessage": "",
29355
29365
  "rawdescription": "\n",
@@ -29371,7 +29381,7 @@
29371
29381
  "optional": false,
29372
29382
  "returnType": "void",
29373
29383
  "typeParameters": [],
29374
- "line": 259,
29384
+ "line": 262,
29375
29385
  "deprecated": false,
29376
29386
  "deprecationMessage": "",
29377
29387
  "rawdescription": "\n",
@@ -29417,7 +29427,7 @@
29417
29427
  "description": "",
29418
29428
  "rawdescription": "\n",
29419
29429
  "type": "component",
29420
- "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n model,\n signal,\n computed,\n booleanAttribute,\n inject,\n ElementRef,\n HostListener,\n OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_INPUT_BUTTON } from '@eui/eds/eds-input-button';\nimport { EDS_BUTTON } from '@eui/eds/eds-button';\nimport { EDS_TIMEPICKER } from '@eui/eds/eds-timepicker';\nimport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter } from './eds-date-adapter';\n\n@Component({\n selector: 'eds-datepicker',\n templateUrl: './eds-datepicker.html',\n styleUrl: './eds-datepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON, ...EDS_INPUT_TEXT, ...EDS_INPUT_BUTTON, ...EDS_BUTTON, ...EDS_TIMEPICKER],\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsDatepicker implements ControlValueAccessor, OnDestroy {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-datepicker');\n\n /** Input element id. */\n inputId = input('eds-datepicker-input');\n\n /** Placeholder text. */\n placeholder = input('dd/mm/yyyy');\n\n /** Aria label for the input. */\n ariaLabel = input('Date input');\n\n /** Date format for display (default: dd/mm/yyyy). */\n dateFormat = input('dd/mm/yyyy');\n\n /** Minimum selectable date. */\n minDate = input<Date | null>(null);\n\n /** Maximum selectable date. */\n maxDate = input<Date | null>(null);\n\n /** Whether the datepicker is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the datepicker is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Whether to show a timepicker alongside the calendar. */\n isDatetimepicker = input(false, { transform: booleanAttribute });\n\n /** Whether the timepicker shows seconds. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Emitted when a date is selected. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dateChange = output<any>();\n\n /** The selected date value. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = model<any>(null);\n\n /** Whether the calendar dropdown is open. */\n isOpen = signal(false);\n\n /** Whether the dropdown should open above the input. */\n dropUp = signal(false);\n\n /** Current viewed month/year for the calendar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n viewDate = signal<any>(null);\n\n /** Weekday header labels. */\n weekDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n /** Current time selection (for datetime mode). */\n selectedTime = signal<{ hours: number; minutes: number; seconds?: number }>({ hours: 0, minutes: 0, seconds: 0 });\n\n /** The date adapter (native Date or Luxon). */\n adapter: EdsDateAdapter = inject(EDS_DATE_ADAPTER, { optional: true }) || new EdsNativeDateAdapter();\n\n /** Computed display value for the input. */\n displayValue = computed(() => {\n const date = this.value();\n if (!date || !this.adapter.isValid(date)) {\n return '';\n }\n const dateStr = this.adapter.format(date);\n if (this.isDatetimepicker()) {\n const time = this.selectedTime();\n const h = String(time.hours).padStart(2, '0');\n const m = String(time.minutes).padStart(2, '0');\n if (this.hasSeconds() && time.seconds !== undefined) {\n const s = String(time.seconds).padStart(2, '0');\n return `${dateStr} ${h}:${m}:${s}`;\n }\n return `${dateStr} ${h}:${m}`;\n }\n return dateStr;\n });\n\n /** Computed month/year label for the header. */\n monthLabel = computed(() => {\n const d = this.viewDate() || this.adapter.today();\n const months = ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'];\n return `${months[this.adapter.getMonth(d)]} ${this.adapter.getYear(d)}`;\n });\n\n /** Computed calendar day grid. */\n calendarDays = computed(() => {\n const vd = this.viewDate() || this.adapter.today();\n const year = this.adapter.getYear(vd);\n const month = this.adapter.getMonth(vd);\n const firstDay = this.adapter.create(year, month, 1);\n // Monday-based: 1=Mon, 7=Sun\n const startDay = this.adapter.getDayOfWeek(firstDay) - 1;\n const daysInMonth = this.adapter.getDaysInMonth(firstDay);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const days: (any | null)[] = [];\n\n // Empty slots before first day\n for (let i = 0; i < startDay; i++) {\n days.push(null);\n }\n // Actual days\n for (let i = 1; i <= daysInMonth; i++) {\n days.push(this.adapter.create(year, month, i));\n }\n return days;\n });\n\n private _elementRef = inject(ElementRef);\n private _ngControl = inject(NgControl, { optional: true, self: true });\n private _documentClickListener: ((e: Event) => void) | null = null;\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n this.viewDate.set(this.adapter.today());\n }\n\n ngOnDestroy(): void {\n this._removeDocumentListener();\n }\n\n // --- Public API ---\n\n toggle(): void {\n if (this.disabled() || this.readonly()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n if (this.isOpen()) {\n // Set view to selected date or today\n this.viewDate.set(this.adapter.isValid(this.value()) ? this.value() : this.adapter.today());\n\n // Check if there's enough space below — if not, open above\n const rect = this._elementRef.nativeElement.getBoundingClientRect();\n const dropdownHeight = this.isDatetimepicker() ? 420 : 320;\n const spaceBelow = window.innerHeight - rect.bottom;\n this.dropUp.set(spaceBelow < dropdownHeight && rect.top > dropdownHeight);\n\n this._addDocumentListener();\n } else {\n this._removeDocumentListener();\n }\n }\n\n onInputClick(): void {\n if (!this.isOpen()) {\n this.toggle();\n }\n }\n\n prevMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), -1));\n }\n\n nextMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), 1));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectDay(date: any): void {\n this.value.set(date);\n this._onChange(date);\n this.dateChange.emit(date);\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isToday(date: any): boolean {\n return this.adapter.isSameDay(date, this.adapter.today());\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isSelected(date: any): boolean {\n const sel = this.value();\n if (!sel || !this.adapter.isValid(sel)) {\n return false;\n }\n return this.adapter.isSameDay(date, sel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isOutsideRange(date: any): boolean {\n const min = this.minDate();\n const max = this.maxDate();\n if (min && this.adapter.isBefore(date, min)) {\n return true;\n }\n if (max && this.adapter.isAfter(date, max)) {\n return true;\n }\n return false;\n }\n\n onInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n if (val === '') {\n this.value.set(null);\n this._onChange(null);\n this.dateChange.emit(null);\n return;\n }\n const parsed = this.adapter.parse(val);\n if (parsed) {\n this.value.set(parsed);\n this._onChange(parsed);\n this.dateChange.emit(parsed);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTimeChange(time: any): void {\n this.selectedTime.set(time);\n // If a date is already selected, re-emit with the time applied\n // (consumer is responsible for combining date + time as needed)\n }\n\n // --- ControlValueAccessor ---\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n // Handled via input signal\n }\n\n // ControlValueAccessor\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected onTouched: () => void = () => { /* noop */ };\n\n // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any\n private _onChange: (value: any) => void = () => { /* noop */ };\n\n private _addDocumentListener(): void {\n if (!this._documentClickListener) {\n this._documentClickListener = (e: Event): void => {\n if (!this._elementRef.nativeElement.contains(e.target)) {\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n };\n document.addEventListener('click', this._documentClickListener);\n }\n }\n\n private _removeDocumentListener(): void {\n if (this._documentClickListener) {\n document.removeEventListener('click', this._documentClickListener);\n this._documentClickListener = null;\n }\n }\n}\n",
29430
+ "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n model,\n signal,\n computed,\n booleanAttribute,\n inject,\n ElementRef,\n HostListener,\n OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_INPUT_BUTTON } from '@eui/eds/eds-input-button';\nimport { EDS_BUTTON } from '@eui/eds/eds-button';\nimport { EDS_TIMEPICKER } from '@eui/eds/eds-timepicker';\nimport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter } from './eds-date-adapter';\n\n@Component({\n selector: 'eds-datepicker',\n templateUrl: './eds-datepicker.html',\n styleUrl: './eds-datepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON, ...EDS_INPUT_TEXT, ...EDS_INPUT_BUTTON, ...EDS_BUTTON, ...EDS_TIMEPICKER],\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsDatepicker implements ControlValueAccessor, OnDestroy {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-datepicker');\n\n /** Input element id. */\n inputId = input('eds-datepicker-input');\n\n /** Placeholder text. */\n placeholder = input('dd/mm/yyyy');\n\n /** Aria label for the input. */\n ariaLabel = input('Date input');\n\n /** Date format for display (default: dd/mm/yyyy). */\n dateFormat = input('dd/mm/yyyy');\n\n /** Minimum selectable date. */\n minDate = input<Date | null>(null);\n\n /** Maximum selectable date. */\n maxDate = input<Date | null>(null);\n\n /** Whether the datepicker is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the datepicker is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Whether to show a clear button that resets the selected date. */\n clearable = input(false, { transform: booleanAttribute });\n\n /** Whether to show a timepicker alongside the calendar. */\n isDatetimepicker = input(false, { transform: booleanAttribute });\n\n /** Whether the timepicker shows seconds. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Emitted when a date is selected. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dateChange = output<any>();\n\n /** The selected date value. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = model<any>(null);\n\n /** Whether the calendar dropdown is open. */\n isOpen = signal(false);\n\n /** Whether the dropdown should open above the input. */\n dropUp = signal(false);\n\n /** Current viewed month/year for the calendar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n viewDate = signal<any>(null);\n\n /** Weekday header labels. */\n weekDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n /** Current time selection (for datetime mode). */\n selectedTime = signal<{ hours: number; minutes: number; seconds?: number }>({ hours: 0, minutes: 0, seconds: 0 });\n\n /** The date adapter (native Date or Luxon). */\n adapter: EdsDateAdapter = inject(EDS_DATE_ADAPTER, { optional: true }) || new EdsNativeDateAdapter();\n\n /** Computed display value for the input. */\n displayValue = computed(() => {\n const date = this.value();\n if (!date || !this.adapter.isValid(date)) {\n return '';\n }\n const dateStr = this.adapter.format(date);\n if (this.isDatetimepicker()) {\n const time = this.selectedTime();\n const h = String(time.hours).padStart(2, '0');\n const m = String(time.minutes).padStart(2, '0');\n if (this.hasSeconds() && time.seconds !== undefined) {\n const s = String(time.seconds).padStart(2, '0');\n return `${dateStr} ${h}:${m}:${s}`;\n }\n return `${dateStr} ${h}:${m}`;\n }\n return dateStr;\n });\n\n /** Computed month/year label for the header. */\n monthLabel = computed(() => {\n const d = this.viewDate() || this.adapter.today();\n const months = ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'];\n return `${months[this.adapter.getMonth(d)]} ${this.adapter.getYear(d)}`;\n });\n\n /** Computed calendar day grid. */\n calendarDays = computed(() => {\n const vd = this.viewDate() || this.adapter.today();\n const year = this.adapter.getYear(vd);\n const month = this.adapter.getMonth(vd);\n const firstDay = this.adapter.create(year, month, 1);\n // Monday-based: 1=Mon, 7=Sun\n const startDay = this.adapter.getDayOfWeek(firstDay) - 1;\n const daysInMonth = this.adapter.getDaysInMonth(firstDay);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const days: (any | null)[] = [];\n\n // Empty slots before first day\n for (let i = 0; i < startDay; i++) {\n days.push(null);\n }\n // Actual days\n for (let i = 1; i <= daysInMonth; i++) {\n days.push(this.adapter.create(year, month, i));\n }\n return days;\n });\n\n private _elementRef = inject(ElementRef);\n private _ngControl = inject(NgControl, { optional: true, self: true });\n private _documentClickListener: ((e: Event) => void) | null = null;\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n this.viewDate.set(this.adapter.today());\n }\n\n ngOnDestroy(): void {\n this._removeDocumentListener();\n }\n\n // --- Public API ---\n\n toggle(): void {\n if (this.disabled() || this.readonly()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n if (this.isOpen()) {\n // Set view to selected date or today\n this.viewDate.set(this.adapter.isValid(this.value()) ? this.value() : this.adapter.today());\n\n // Check if there's enough space below — if not, open above\n const rect = this._elementRef.nativeElement.getBoundingClientRect();\n const dropdownHeight = this.isDatetimepicker() ? 420 : 320;\n const spaceBelow = window.innerHeight - rect.bottom;\n this.dropUp.set(spaceBelow < dropdownHeight && rect.top > dropdownHeight);\n\n this._addDocumentListener();\n } else {\n this._removeDocumentListener();\n }\n }\n\n onInputClick(): void {\n if (!this.isOpen()) {\n this.toggle();\n }\n }\n\n prevMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), -1));\n }\n\n nextMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), 1));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectDay(date: any): void {\n this.value.set(date);\n this._onChange(date);\n this.dateChange.emit(date);\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isToday(date: any): boolean {\n return this.adapter.isSameDay(date, this.adapter.today());\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isSelected(date: any): boolean {\n const sel = this.value();\n if (!sel || !this.adapter.isValid(sel)) {\n return false;\n }\n return this.adapter.isSameDay(date, sel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isOutsideRange(date: any): boolean {\n const min = this.minDate();\n const max = this.maxDate();\n if (min && this.adapter.isBefore(date, min)) {\n return true;\n }\n if (max && this.adapter.isAfter(date, max)) {\n return true;\n }\n return false;\n }\n\n onInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n if (val === '') {\n this.value.set(null);\n this._onChange(null);\n this.dateChange.emit(null);\n return;\n }\n const parsed = this.adapter.parse(val);\n if (parsed) {\n this.value.set(parsed);\n this._onChange(parsed);\n this.dateChange.emit(parsed);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTimeChange(time: any): void {\n this.selectedTime.set(time);\n // If a date is already selected, re-emit with the time applied\n // (consumer is responsible for combining date + time as needed)\n }\n\n // --- ControlValueAccessor ---\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n // Handled via input signal\n }\n\n // ControlValueAccessor\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected onTouched: () => void = () => { /* noop */ };\n\n // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any\n private _onChange: (value: any) => void = () => { /* noop */ };\n\n private _addDocumentListener(): void {\n if (!this._documentClickListener) {\n this._documentClickListener = (e: Event): void => {\n if (!this._elementRef.nativeElement.contains(e.target)) {\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n };\n document.addEventListener('click', this._documentClickListener);\n }\n }\n\n private _removeDocumentListener(): void {\n if (this._documentClickListener) {\n document.removeEventListener('click', this._documentClickListener);\n this._documentClickListener = null;\n }\n }\n}\n",
29421
29431
  "styleUrl": "./eds-datepicker.scss",
29422
29432
  "assetsDirs": [],
29423
29433
  "styleUrlsData": [
@@ -29433,7 +29443,7 @@
29433
29443
  "deprecated": false,
29434
29444
  "deprecationMessage": "",
29435
29445
  "args": [],
29436
- "line": 147,
29446
+ "line": 150,
29437
29447
  "rawdescription": "\n"
29438
29448
  },
29439
29449
  "extends": [],
@@ -29474,7 +29484,7 @@
29474
29484
  }
29475
29485
  ]
29476
29486
  },
29477
- "templateData": "<eds-input-button class=\"eds-datepicker__group\">\n <input edsInputText\n [edsClearable]=\"false\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onTouched()\"\n (click)=\"onInputClick()\"/>\n @if (!readonly() && !disabled()) {\n <button edsButton variant=\"secondary\" color=\"neutral\" size=\"s\" type=\"button\" [attr.aria-label]=\"'Open calendar'\" (click)=\"toggle()\">\n <eds-icon icon=\"calendar-blank:core\"/>\n </button>\n }\n</eds-input-button>\n\n@if (isOpen()) {\n <div class=\"eds-datepicker__dropdown\" [class.eds-datepicker__dropdown--up]=\"dropUp()\" (click)=\"$event.stopPropagation()\">\n <div class=\"eds-datepicker__header\">\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"prevMonth()\" aria-label=\"Previous month\">‹</button>\n <span class=\"eds-datepicker__month-label\">{{ monthLabel() }}</span>\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"nextMonth()\" aria-label=\"Next month\">›</button>\n </div>\n <div class=\"eds-datepicker__weekdays\">\n @for (day of weekDays; track day) {\n <span class=\"eds-datepicker__weekday\">{{ day }}</span>\n }\n </div>\n <div class=\"eds-datepicker__days\">\n @for (day of calendarDays(); track $index) {\n @if (day === null) {\n <span class=\"eds-datepicker__day eds-datepicker__day--empty\"></span>\n } @else {\n <button class=\"eds-datepicker__day\"\n type=\"button\"\n [class.eds-datepicker__day--today]=\"isToday(day)\"\n [class.eds-datepicker__day--selected]=\"isSelected(day)\"\n [class.eds-datepicker__day--outside]=\"isOutsideRange(day)\"\n [disabled]=\"isOutsideRange(day)\"\n (click)=\"selectDay(day)\">\n {{ adapter.getDate(day) }}\n </button>\n }\n }\n </div>\n\n @if (isDatetimepicker()) {\n <div class=\"eds-datepicker__time\">\n <eds-timepicker [hasSeconds]=\"hasSeconds()\" [disabled]=\"disabled()\" (timeChange)=\"onTimeChange($event)\"/>\n </div>\n }\n </div>\n}\n"
29487
+ "templateData": "<eds-input-button class=\"eds-datepicker__group\">\n <input edsInputText\n [edsClearable]=\"clearable()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onTouched()\"\n (click)=\"onInputClick()\"/>\n @if (!readonly() && !disabled()) {\n <button edsButton variant=\"secondary\" color=\"neutral\" size=\"s\" type=\"button\" [attr.aria-label]=\"'Open calendar'\" (click)=\"toggle()\">\n <eds-icon icon=\"calendar-blank:core\"/>\n </button>\n }\n</eds-input-button>\n\n@if (isOpen()) {\n <div class=\"eds-datepicker__dropdown\" [class.eds-datepicker__dropdown--up]=\"dropUp()\" (click)=\"$event.stopPropagation()\">\n <div class=\"eds-datepicker__header\">\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"prevMonth()\" aria-label=\"Previous month\">‹</button>\n <span class=\"eds-datepicker__month-label\">{{ monthLabel() }}</span>\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"nextMonth()\" aria-label=\"Next month\">›</button>\n </div>\n <div class=\"eds-datepicker__weekdays\">\n @for (day of weekDays; track day) {\n <span class=\"eds-datepicker__weekday\">{{ day }}</span>\n }\n </div>\n <div class=\"eds-datepicker__days\">\n @for (day of calendarDays(); track $index) {\n @if (day === null) {\n <span class=\"eds-datepicker__day eds-datepicker__day--empty\"></span>\n } @else {\n <button class=\"eds-datepicker__day\"\n type=\"button\"\n [class.eds-datepicker__day--today]=\"isToday(day)\"\n [class.eds-datepicker__day--selected]=\"isSelected(day)\"\n [class.eds-datepicker__day--outside]=\"isOutsideRange(day)\"\n [disabled]=\"isOutsideRange(day)\"\n (click)=\"selectDay(day)\">\n {{ adapter.getDate(day) }}\n </button>\n }\n }\n </div>\n\n @if (isDatetimepicker()) {\n <div class=\"eds-datepicker__time\">\n <eds-timepicker [hasSeconds]=\"hasSeconds()\" [disabled]=\"disabled()\" (timeChange)=\"onTimeChange($event)\"/>\n </div>\n }\n </div>\n}\n"
29478
29488
  },
29479
29489
  {
29480
29490
  "name": "EdsDialog",
@@ -35081,7 +35091,7 @@
35081
35091
  },
35082
35092
  {
35083
35093
  "name": "EdsFeedbackMessage",
35084
- "id": "component-EdsFeedbackMessage-1945d594f88825acc8f9479b3487cc346c8c625da5b103a40b8d1c82186e1c544c6be6bea98353a6e1bb4248fa1e8f9ecbd1e3d96574de91f0078f1daf505d58",
35094
+ "id": "component-EdsFeedbackMessage-e76222a93d6963094ac67b4bdae44f466faa1566b381d7dc23dce20e557b33d96fa0ffffd234b5e9ce26dc17dda316015c60438b59789481924d55f5eb961088",
35085
35095
  "file": "packages/eds/eds-feedback-message/eds-feedback-message.ts",
35086
35096
  "changeDetection": "ChangeDetectionStrategy.OnPush",
35087
35097
  "encapsulation": [],
@@ -35119,16 +35129,16 @@
35119
35129
  ],
35120
35130
  "jsdoctags": [
35121
35131
  {
35122
- "pos": 1450,
35123
- "end": 1471,
35132
+ "pos": 1473,
35133
+ "end": 1494,
35124
35134
  "kind": 328,
35125
35135
  "id": 0,
35126
35136
  "flags": 16842752,
35127
35137
  "modifierFlagsCache": 0,
35128
35138
  "transformFlags": 0,
35129
35139
  "tagName": {
35130
- "pos": 1451,
35131
- "end": 1458,
35140
+ "pos": 1474,
35141
+ "end": 1481,
35132
35142
  "kind": 80,
35133
35143
  "id": 0,
35134
35144
  "flags": 16842752,
@@ -35174,16 +35184,16 @@
35174
35184
  ],
35175
35185
  "jsdoctags": [
35176
35186
  {
35177
- "pos": 1718,
35178
- "end": 1738,
35187
+ "pos": 1741,
35188
+ "end": 1761,
35179
35189
  "kind": 328,
35180
35190
  "id": 0,
35181
35191
  "flags": 16842752,
35182
35192
  "modifierFlagsCache": 0,
35183
35193
  "transformFlags": 0,
35184
35194
  "tagName": {
35185
- "pos": 1719,
35186
- "end": 1726,
35195
+ "pos": 1742,
35196
+ "end": 1749,
35187
35197
  "kind": 80,
35188
35198
  "id": 0,
35189
35199
  "flags": 16842752,
@@ -35207,9 +35217,9 @@
35207
35217
  "type": "unknown",
35208
35218
  "indexKey": "",
35209
35219
  "optional": false,
35210
- "description": "<p>Resolved color variant passed to eds-icon-state. The icon set only supports\ninfo / success / warning / critical, so primary and neutral fall back to info.</p>\n",
35220
+ "description": "<p>Resolved color variant passed to eds-icon-state. The icon set only supports\ninfo / success / warning / critical, so primary, neutral, and disabled fall back to info.</p>\n",
35211
35221
  "line": 63,
35212
- "rawdescription": "\n\nResolved color variant passed to eds-icon-state. The icon set only supports\ninfo / success / warning / critical, so primary and neutral fall back to info.\n",
35222
+ "rawdescription": "\n\nResolved color variant passed to eds-icon-state. The icon set only supports\ninfo / success / warning / critical, so primary, neutral, and disabled fall back to info.\n",
35213
35223
  "modifierKind": [
35214
35224
  124,
35215
35225
  148
@@ -35228,31 +35238,31 @@
35228
35238
  "name": "EDS_ICON_STATE"
35229
35239
  }
35230
35240
  ],
35231
- "description": "<p>A feedback message component that displays contextual feedback to users.\nSupports different color variants (primary, neutral, info, success, warning, critical) and a muted mode.</p>\n<h3>Basic feedback message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-feedback-message color=&quot;success&quot;&gt;\n Operation completed successfully\n&lt;/eds-feedback-message&gt;</code></pre></div><h3>Muted variant (no icon)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-feedback-message color=&quot;warning&quot; isMuted&gt;\n This is a subtle warning message\n&lt;/eds-feedback-message&gt;</code></pre></div>",
35232
- "rawdescription": "\n\nA feedback message component that displays contextual feedback to users.\nSupports different color variants (primary, neutral, info, success, warning, critical) and a muted mode.\n\n### Basic feedback message\n```html\n<eds-feedback-message color=\"success\">\n Operation completed successfully\n</eds-feedback-message>\n```\n\n### Muted variant (no icon)\n```html\n<eds-feedback-message color=\"warning\" isMuted>\n This is a subtle warning message\n</eds-feedback-message>\n```\n",
35241
+ "description": "<p>A feedback message component that displays contextual feedback to users.\nSupports different color variants (primary, neutral, info, success, warning, critical, disabled) and a muted mode.</p>\n<h3>Basic feedback message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-feedback-message color=&quot;success&quot;&gt;\n Operation completed successfully\n&lt;/eds-feedback-message&gt;</code></pre></div><h3>Muted variant (no icon)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-feedback-message color=&quot;warning&quot; isMuted&gt;\n This is a subtle warning message\n&lt;/eds-feedback-message&gt;</code></pre></div>",
35242
+ "rawdescription": "\n\nA feedback message component that displays contextual feedback to users.\nSupports different color variants (primary, neutral, info, success, warning, critical, disabled) and a muted mode.\n\n### Basic feedback message\n```html\n<eds-feedback-message color=\"success\">\n Operation completed successfully\n</eds-feedback-message>\n```\n\n### Muted variant (no icon)\n```html\n<eds-feedback-message color=\"warning\" isMuted>\n This is a subtle warning message\n</eds-feedback-message>\n```\n",
35233
35243
  "type": "component",
35234
- "sourceCode": "import { ChangeDetectionStrategy, Component, booleanAttribute, computed, input } from '@angular/core';\nimport { EDS_ICON_STATE, EdsIconStateColor } from '@eui/eds/eds-icon-state';\n\n/**\n * Local narrowed color union — the feedback message's variant contract. No shared-token import.\n */\nexport type EdsFeedbackMessageColor = 'primary' | 'neutral' | 'info' | 'success' | 'warning' | 'critical';\n\n/**\n * A feedback message component that displays contextual feedback to users.\n * Supports different color variants (primary, neutral, info, success, warning, critical) and a muted mode.\n *\n * @usageNotes\n * ### Basic feedback message\n * ```html\n * <eds-feedback-message color=\"success\">\n * Operation completed successfully\n * </eds-feedback-message>\n * ```\n *\n * ### Muted variant (no icon)\n * ```html\n * <eds-feedback-message color=\"warning\" isMuted>\n * This is a subtle warning message\n * </eds-feedback-message>\n * ```\n */\n@Component({\n selector: 'eds-feedback-message',\n templateUrl: './eds-feedback-message.html',\n styleUrl: './eds-feedback-message.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n '[attr.color]': 'color()',\n '[attr.muted]': 'isMuted() || null',\n role: 'status',\n 'aria-live': 'polite',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsFeedbackMessage {\n /**\n * Semantic color of the feedback message.\n * @default 'info'\n */\n readonly color = input<EdsFeedbackMessageColor>('info');\n\n /**\n * Controls whether the feedback message is displayed in a muted state.\n * When true, the status icon is hidden and the message has reduced visual prominence.\n * @default false\n */\n readonly isMuted = input(false, { transform: booleanAttribute });\n\n /** Data attribute value for end-to-end testing identification. */\n readonly e2eAttr = input('eds-feedback-message');\n\n /**\n * Resolved color variant passed to eds-icon-state. The icon set only supports\n * info / success / warning / critical, so primary and neutral fall back to info.\n */\n protected readonly iconVariant = computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color === 'success' || color === 'warning' || color === 'critical' ? color : 'info';\n });\n}\n",
35244
+ "sourceCode": "import { ChangeDetectionStrategy, Component, booleanAttribute, computed, input } from '@angular/core';\nimport { EDS_ICON_STATE, EdsIconStateColor } from '@eui/eds/eds-icon-state';\n\n/**\n * Local narrowed color union — the feedback message's variant contract. No shared-token import.\n */\nexport type EdsFeedbackMessageColor = 'primary' | 'neutral' | 'info' | 'success' | 'warning' | 'critical' | 'disabled';\n\n/**\n * A feedback message component that displays contextual feedback to users.\n * Supports different color variants (primary, neutral, info, success, warning, critical, disabled) and a muted mode.\n *\n * @usageNotes\n * ### Basic feedback message\n * ```html\n * <eds-feedback-message color=\"success\">\n * Operation completed successfully\n * </eds-feedback-message>\n * ```\n *\n * ### Muted variant (no icon)\n * ```html\n * <eds-feedback-message color=\"warning\" isMuted>\n * This is a subtle warning message\n * </eds-feedback-message>\n * ```\n */\n@Component({\n selector: 'eds-feedback-message',\n templateUrl: './eds-feedback-message.html',\n styleUrl: './eds-feedback-message.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n '[attr.color]': 'color()',\n '[attr.muted]': 'isMuted() || null',\n role: 'status',\n 'aria-live': 'polite',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsFeedbackMessage {\n /**\n * Semantic color of the feedback message.\n * @default 'info'\n */\n readonly color = input<EdsFeedbackMessageColor>('info');\n\n /**\n * Controls whether the feedback message is displayed in a muted state.\n * When true, the status icon is hidden and the message has reduced visual prominence.\n * @default false\n */\n readonly isMuted = input(false, { transform: booleanAttribute });\n\n /** Data attribute value for end-to-end testing identification. */\n readonly e2eAttr = input('eds-feedback-message');\n\n /**\n * Resolved color variant passed to eds-icon-state. The icon set only supports\n * info / success / warning / critical, so primary, neutral, and disabled fall back to info.\n */\n protected readonly iconVariant = computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color === 'success' || color === 'warning' || color === 'critical' ? color : 'info';\n });\n}\n",
35235
35245
  "styleUrl": "./eds-feedback-message.scss",
35236
35246
  "assetsDirs": [],
35237
35247
  "styleUrlsData": [
35238
35248
  {
35239
- "data": "@use '../base' as base;\n\n:host {\n --_eds-feedback-message-color: var(--eds-c-foreground-info);\n\n align-items: center;\n display: flex;\n gap: var(--eds-sp-3xs);\n position: relative;\n\n .content {\n color: var(--_eds-feedback-message-color);\n display: block;\n position: relative;\n font: var(--eds-f-paragraph-s);\n }\n}\n\n:host([color=\"primary\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-primary);\n}\n\n:host([color=\"neutral\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground);\n}\n\n:host([color=\"info\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-info);\n}\n\n:host([color=\"success\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-success);\n}\n\n:host([color=\"warning\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-warning);\n}\n\n:host([color=\"critical\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-critical);\n}\n",
35249
+ "data": "@use '../base' as base;\n\n:host {\n --_eds-feedback-message-color: var(--eds-c-foreground-info);\n\n align-items: center;\n display: flex;\n gap: var(--eds-sp-3xs);\n position: relative;\n\n .content {\n color: var(--_eds-feedback-message-color);\n display: block;\n position: relative;\n font: var(--eds-f-paragraph-s);\n }\n}\n\n:host([color=\"primary\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-primary);\n}\n\n:host([color=\"neutral\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground);\n}\n\n:host([color=\"info\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-info);\n}\n\n:host([color=\"success\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-success);\n}\n\n:host([color=\"warning\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-warning);\n}\n\n:host([color=\"critical\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-critical);\n}\n\n:host([color=\"disabled\"]) {\n --_eds-feedback-message-color: var(--eds-c-foreground-disabled);\n}\n",
35240
35250
  "styleUrl": "./eds-feedback-message.scss"
35241
35251
  }
35242
35252
  ],
35243
35253
  "stylesData": "",
35244
35254
  "jsdoctags": [
35245
35255
  {
35246
- "pos": 588,
35247
- "end": 923,
35256
+ "pos": 611,
35257
+ "end": 946,
35248
35258
  "kind": 328,
35249
35259
  "id": 0,
35250
35260
  "flags": 16777216,
35251
35261
  "modifierFlagsCache": 0,
35252
35262
  "transformFlags": 0,
35253
35263
  "tagName": {
35254
- "pos": 589,
35255
- "end": 599,
35264
+ "pos": 612,
35265
+ "end": 622,
35256
35266
  "kind": 80,
35257
35267
  "id": 0,
35258
35268
  "flags": 16777216,
@@ -41727,6 +41737,151 @@
41727
41737
  },
41728
41738
  "templateData": "<eds-icon [icon]=\"currentIcon()\" [color]=\"$any(currentColor())\" />\n"
41729
41739
  },
41740
+ {
41741
+ "name": "EdsInputAddon",
41742
+ "id": "component-EdsInputAddon-dde267b96d184b9beac12b0a668df7499bf0dac3437c415dc6c96a1b2f44c2bcb75e427f26b3b39dfa2ec51804b4c65041488e603a9b8dffb785244e57d26d1b",
41743
+ "file": "packages/eds/eds-input-addon/eds-input-addon.ts",
41744
+ "changeDetection": "ChangeDetectionStrategy.OnPush",
41745
+ "encapsulation": [],
41746
+ "entryComponents": [],
41747
+ "host": {},
41748
+ "inputs": [],
41749
+ "outputs": [],
41750
+ "providers": [],
41751
+ "selector": "eds-input-addon",
41752
+ "styleUrls": [
41753
+ "./eds-input-addon.scss"
41754
+ ],
41755
+ "styles": [],
41756
+ "templateUrl": [
41757
+ "./eds-input-addon.html"
41758
+ ],
41759
+ "templateVariables": [],
41760
+ "viewProviders": [],
41761
+ "hostDirectives": [],
41762
+ "inputsClass": [
41763
+ {
41764
+ "name": "e2eAttr",
41765
+ "coverageIgnore": false,
41766
+ "defaultValue": "'eds-input-addon'",
41767
+ "deprecated": false,
41768
+ "deprecationMessage": "",
41769
+ "type": "string",
41770
+ "indexKey": "",
41771
+ "optional": false,
41772
+ "description": "<p>Data attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.\n&#39;eds-input-addon&#39;</p>\n",
41773
+ "line": 67,
41774
+ "rawdescription": "\n\nData attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.\n'eds-input-addon'\n",
41775
+ "jsdoctags": [
41776
+ {
41777
+ "pos": 2411,
41778
+ "end": 2443,
41779
+ "kind": 328,
41780
+ "id": 0,
41781
+ "flags": 16842752,
41782
+ "modifierFlagsCache": 0,
41783
+ "transformFlags": 0,
41784
+ "tagName": {
41785
+ "pos": 2412,
41786
+ "end": 2419,
41787
+ "kind": 80,
41788
+ "id": 0,
41789
+ "flags": 16842752,
41790
+ "transformFlags": 0,
41791
+ "escapedText": "default"
41792
+ },
41793
+ "comment": "<p>&#39;eds-input-addon&#39;</p>\n"
41794
+ }
41795
+ ],
41796
+ "required": false
41797
+ },
41798
+ {
41799
+ "name": "position",
41800
+ "coverageIgnore": false,
41801
+ "defaultValue": "'start'",
41802
+ "deprecated": false,
41803
+ "deprecationMessage": "",
41804
+ "type": "EdsInputAddonPosition",
41805
+ "indexKey": "",
41806
+ "optional": false,
41807
+ "description": "<p>Which side of the input the addon sits on, reflected as the <code>position</code> host attribute.\n<code>start</code> = left in LTR (right in RTL); <code>end</code> = the opposite side.\n&#39;start&#39;</p>\n",
41808
+ "line": 74,
41809
+ "rawdescription": "\n\nWhich side of the input the addon sits on, reflected as the `position` host attribute.\n`start` = left in LTR (right in RTL); `end` = the opposite side.\n'start'\n",
41810
+ "jsdoctags": [
41811
+ {
41812
+ "pos": 2668,
41813
+ "end": 2690,
41814
+ "kind": 328,
41815
+ "id": 0,
41816
+ "flags": 16842752,
41817
+ "modifierFlagsCache": 0,
41818
+ "transformFlags": 0,
41819
+ "tagName": {
41820
+ "pos": 2669,
41821
+ "end": 2676,
41822
+ "kind": 80,
41823
+ "id": 0,
41824
+ "flags": 16842752,
41825
+ "transformFlags": 0,
41826
+ "escapedText": "default"
41827
+ },
41828
+ "comment": "<p>&#39;start&#39;</p>\n"
41829
+ }
41830
+ ],
41831
+ "required": false
41832
+ }
41833
+ ],
41834
+ "outputsClass": [],
41835
+ "propertiesClass": [],
41836
+ "methodsClass": [],
41837
+ "coverageIgnore": false,
41838
+ "deprecated": false,
41839
+ "deprecationMessage": "",
41840
+ "hostBindings": [],
41841
+ "hostListeners": [],
41842
+ "standalone": false,
41843
+ "imports": [],
41844
+ "description": "<p>A layout component that positions a <strong>non-actionable</strong> static addon (fixed text and/or an icon)\nflush against an input field — e.g. a currency symbol, a <code>https://</code> prefix, a unit suffix.</p>\n<p>Visually it mirrors {@link EdsInputButton}&#39;s footprint but reads as a <strong>recessed extension of the\nfield</strong>, not a control: sunken surface, muted (subtler) foreground, <code>cursor: default</code>, no hover /\nfocus states, and it is not in the tab order. Use <code>eds-input-button</code> when the trailing/leading\nelement must be clickable; use <code>eds-input-addon</code> when it is purely contextual text/icon.</p>\n<h3>Addon at start of input (default)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon&gt;\n &lt;span&gt;https://&lt;/span&gt;\n &lt;input edsInputText placeholder=&quot;example.com&quot; /&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>Addon at end of input</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon position=&quot;end&quot;&gt;\n &lt;input edsInputText placeholder=&quot;0.00&quot; /&gt;\n &lt;span&gt;EUR&lt;/span&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>With an icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon&gt;\n &lt;eds-icon icon=&quot;magnifying-glass&quot; ariaHidden /&gt;\n &lt;input edsInputText placeholder=&quot;Search...&quot; /&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>The addon is presentational context, not a control — it has no role and is not focusable.</li>\n<li>When the addon gives the input meaning (currency, prefix, unit), give the projected text an\n<code>id</code> and reference it from the input via <code>aria-describedby</code> so assistive tech announces it.</li>\n<li>When it is purely decorative (repeats the label), mark it <code>aria-hidden=&quot;true&quot;</code>.</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default position is <code>start</code> (left in LTR, right in RTL); set <code>position=&quot;end&quot;</code> for the other side.</li>\n<li>Projects plain text, an <code>&lt;eds-icon&gt;</code>, or both.</li>\n</ul>\n",
41845
+ "rawdescription": "\n\nA layout component that positions a **non-actionable** static addon (fixed text and/or an icon)\nflush against an input field — e.g. a currency symbol, a `https://` prefix, a unit suffix.\n\nVisually it mirrors {@link EdsInputButton}'s footprint but reads as a **recessed extension of the\nfield**, not a control: sunken surface, muted (subtler) foreground, `cursor: default`, no hover /\nfocus states, and it is not in the tab order. Use `eds-input-button` when the trailing/leading\nelement must be clickable; use `eds-input-addon` when it is purely contextual text/icon.\n\n### Addon at start of input (default)\n```html\n<eds-input-addon>\n <span>https://</span>\n <input edsInputText placeholder=\"example.com\" />\n</eds-input-addon>\n```\n\n### Addon at end of input\n```html\n<eds-input-addon position=\"end\">\n <input edsInputText placeholder=\"0.00\" />\n <span>EUR</span>\n</eds-input-addon>\n```\n\n### With an icon\n```html\n<eds-input-addon>\n <eds-icon icon=\"magnifying-glass\" ariaHidden />\n <input edsInputText placeholder=\"Search...\" />\n</eds-input-addon>\n```\n\n### Accessibility\n- The addon is presentational context, not a control — it has no role and is not focusable.\n- When the addon gives the input meaning (currency, prefix, unit), give the projected text an\n `id` and reference it from the input via `aria-describedby` so assistive tech announces it.\n- When it is purely decorative (repeats the label), mark it `aria-hidden=\"true\"`.\n\n### Notes\n- Default position is `start` (left in LTR, right in RTL); set `position=\"end\"` for the other side.\n- Projects plain text, an `<eds-icon>`, or both.\n",
41846
+ "type": "component",
41847
+ "sourceCode": "import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n/** Local narrowed union — the addon's position contract. */\nexport type EdsInputAddonPosition = 'start' | 'end';\n\n/**\n * A layout component that positions a **non-actionable** static addon (fixed text and/or an icon)\n * flush against an input field — e.g. a currency symbol, a `https://` prefix, a unit suffix.\n *\n * Visually it mirrors {@link EdsInputButton}'s footprint but reads as a **recessed extension of the\n * field**, not a control: sunken surface, muted (subtler) foreground, `cursor: default`, no hover /\n * focus states, and it is not in the tab order. Use `eds-input-button` when the trailing/leading\n * element must be clickable; use `eds-input-addon` when it is purely contextual text/icon.\n *\n * @usageNotes\n * ### Addon at start of input (default)\n * ```html\n * <eds-input-addon>\n * <span>https://</span>\n * <input edsInputText placeholder=\"example.com\" />\n * </eds-input-addon>\n * ```\n *\n * ### Addon at end of input\n * ```html\n * <eds-input-addon position=\"end\">\n * <input edsInputText placeholder=\"0.00\" />\n * <span>EUR</span>\n * </eds-input-addon>\n * ```\n *\n * ### With an icon\n * ```html\n * <eds-input-addon>\n * <eds-icon icon=\"magnifying-glass\" ariaHidden />\n * <input edsInputText placeholder=\"Search...\" />\n * </eds-input-addon>\n * ```\n *\n * ### Accessibility\n * - The addon is presentational context, not a control — it has no role and is not focusable.\n * - When the addon gives the input meaning (currency, prefix, unit), give the projected text an\n * `id` and reference it from the input via `aria-describedby` so assistive tech announces it.\n * - When it is purely decorative (repeats the label), mark it `aria-hidden=\"true\"`.\n *\n * ### Notes\n * - Default position is `start` (left in LTR, right in RTL); set `position=\"end\"` for the other side.\n * - Projects plain text, an `<eds-icon>`, or both.\n */\n@Component({\n selector: 'eds-input-addon',\n templateUrl: './eds-input-addon.html',\n styleUrl: './eds-input-addon.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-input-addon',\n '[attr.position]': 'position()',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsInputAddon {\n /**\n * Data attribute value for end-to-end testing identification.\n * Applied as data-e2e attribute on the host element.\n * @default 'eds-input-addon'\n */\n e2eAttr = input('eds-input-addon');\n\n /**\n * Which side of the input the addon sits on, reflected as the `position` host attribute.\n * `start` = left in LTR (right in RTL); `end` = the opposite side.\n * @default 'start'\n */\n position = input<EdsInputAddonPosition>('start');\n}\n",
41848
+ "styleUrl": "./eds-input-addon.scss",
41849
+ "assetsDirs": [],
41850
+ "styleUrlsData": [
41851
+ {
41852
+ "data": "@use '../base' as base;\n\n.eui-21 {\n :host {\n display: flex;\n width: 100%;\n border-radius: var(--eds-br-s);\n\n // The static addon label — a recessed, non-actionable extension of the field:\n // sunken surface + subtler foreground + no interaction affordance.\n .eds-input-addon__label {\n display: inline-flex;\n align-items: center;\n gap: var(--eds-sp-2xs);\n padding: 0 var(--eds-sp-s);\n white-space: nowrap;\n background-color: var(--eds-c-surface-elevation-inset);\n color: var(--eds-c-foreground-subtler);\n font: var(--eds-f-paragraph-m);\n border: var(--eds-bw-xs) solid var(--eds-c-border-neutral);\n cursor: default;\n user-select: none;\n position: relative;\n\n // Projected icons inherit the muted foreground so text + icon read alike.\n ::ng-deep .eds-icon {\n color: var(--eds-c-foreground-subtler);\n }\n }\n\n // The projected input grows to fill the row so the group spans the full width; the addon\n // label stays at its intrinsic (content) width.\n ::ng-deep .eds-input-text {\n flex: 1;\n min-width: 0;\n }\n }\n\n // Position variants — reflected as the `position` host attribute (String-Props model).\n // Template DOM order is input first, then label. `start` reverses the row so the label sits\n // before (left of) the input; `end` keeps the natural order so the label sits after.\n\n // Start: label appears on the left, joined to the input's left edge.\n :host([position=\"start\"]) {\n flex-direction: row-reverse;\n\n .eds-input-addon__label {\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--eds-br-s);\n border-bottom-left-radius: var(--eds-br-s);\n\n // Vertical divider sitting just inside the addon's inner (right) edge, so it reads as\n // part of the addon rather than straddling the seam with the input.\n &::after {\n background-color: var(--eds-c-border-divider);\n content: \"\";\n display: block;\n height: 1.75rem;\n right: 0;\n position: absolute;\n top: var(--eds-sp-2xs);\n width: 1px;\n }\n }\n\n ::ng-deep .eds-input-text {\n border-left: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n\n // End: label appears on the right, joined to the input's right edge (natural DOM order).\n :host([position=\"end\"]) {\n .eds-input-addon__label {\n border-left: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: var(--eds-br-s);\n border-bottom-right-radius: var(--eds-br-s);\n\n // Vertical divider sitting just inside the addon's inner (left) edge, so it reads as\n // part of the addon rather than straddling the seam with the input.\n &::before {\n background-color: var(--eds-c-border-divider);\n content: \"\";\n display: block;\n height: 1.75rem;\n left: 0;\n position: absolute;\n top: var(--eds-sp-2xs);\n width: 1px;\n }\n }\n\n ::ng-deep .eds-input-text {\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n}\n",
41853
+ "styleUrl": "./eds-input-addon.scss"
41854
+ }
41855
+ ],
41856
+ "stylesData": "",
41857
+ "jsdoctags": [
41858
+ {
41859
+ "pos": 789,
41860
+ "end": 1920,
41861
+ "kind": 328,
41862
+ "id": 0,
41863
+ "flags": 16777216,
41864
+ "modifierFlagsCache": 0,
41865
+ "transformFlags": 0,
41866
+ "tagName": {
41867
+ "pos": 790,
41868
+ "end": 800,
41869
+ "kind": 80,
41870
+ "id": 0,
41871
+ "flags": 16777216,
41872
+ "transformFlags": 0,
41873
+ "escapedText": "usageNotes"
41874
+ },
41875
+ "comment": "<h3>Addon at start of input (default)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon&gt;\n &lt;span&gt;https://&lt;/span&gt;\n &lt;input edsInputText placeholder=&quot;example.com&quot; /&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>Addon at end of input</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon position=&quot;end&quot;&gt;\n &lt;input edsInputText placeholder=&quot;0.00&quot; /&gt;\n &lt;span&gt;EUR&lt;/span&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>With an icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eds-input-addon&gt;\n &lt;eds-icon icon=&quot;magnifying-glass&quot; ariaHidden /&gt;\n &lt;input edsInputText placeholder=&quot;Search...&quot; /&gt;\n&lt;/eds-input-addon&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>The addon is presentational context, not a control — it has no role and is not focusable.</li>\n<li>When the addon gives the input meaning (currency, prefix, unit), give the projected text an\n<code>id</code> and reference it from the input via <code>aria-describedby</code> so assistive tech announces it.</li>\n<li>When it is purely decorative (repeats the label), mark it <code>aria-hidden=&quot;true&quot;</code>.</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default position is <code>start</code> (left in LTR, right in RTL); set <code>position=&quot;end&quot;</code> for the other side.</li>\n<li>Projects plain text, an <code>&lt;eds-icon&gt;</code>, or both.</li>\n</ul>\n"
41876
+ }
41877
+ ],
41878
+ "extends": [],
41879
+ "relationships": {
41880
+ "incoming": [],
41881
+ "outgoing": []
41882
+ },
41883
+ "templateData": "<ng-content />\n<span class=\"eds-input-addon__label\">\n <ng-content select=\"[edsInputAddonContent], span, eds-icon, span[edsIcon]\" />\n</span>\n"
41884
+ },
41730
41885
  {
41731
41886
  "name": "EdsInputButton",
41732
41887
  "id": "component-EdsInputButton-457d7bd718ef9cb38b568f7b567a8f015d3cb04aad6ce86a12e00a5a3a589b7523492a4c6c9b1fe90b09ba6ac0b8541ff982cbe42c5eecfe009a5a25ea95847e",
@@ -42636,138 +42791,6 @@
42636
42791
  "outgoing": []
42637
42792
  }
42638
42793
  },
42639
- {
42640
- "name": "EdsInputGroupAddon",
42641
- "id": "component-EdsInputGroupAddon-4feb34cd01f07e3d43c8b5f2b526f293f76ee2abb6ed42d5aaae60d000d32082052a37b38e078edc9cf58d928f70985c9c29a3e7baa45ac0f922b91afad68b04",
42642
- "file": "packages/eds/eds-input-group/eds-input-group-addon.ts",
42643
- "changeDetection": "ChangeDetectionStrategy.OnPush",
42644
- "encapsulation": [],
42645
- "entryComponents": [],
42646
- "host": {},
42647
- "inputs": [],
42648
- "outputs": [],
42649
- "providers": [],
42650
- "selector": "div[edsInputGroupAddon], eds-input-group-addon",
42651
- "styleUrls": [
42652
- "./eds-input-group-addon.scss"
42653
- ],
42654
- "styles": [],
42655
- "template": "<ng-content/>",
42656
- "templateUrl": [],
42657
- "templateVariables": [],
42658
- "viewProviders": [],
42659
- "hostDirectives": [],
42660
- "inputsClass": [
42661
- {
42662
- "name": "e2eAttr",
42663
- "coverageIgnore": false,
42664
- "defaultValue": "'eds-input-group-addon'",
42665
- "deprecated": false,
42666
- "deprecationMessage": "",
42667
- "type": "string",
42668
- "indexKey": "",
42669
- "optional": false,
42670
- "description": "",
42671
- "line": 19,
42672
- "rawdescription": "\n",
42673
- "required": false
42674
- }
42675
- ],
42676
- "outputsClass": [],
42677
- "propertiesClass": [],
42678
- "methodsClass": [],
42679
- "coverageIgnore": false,
42680
- "deprecated": false,
42681
- "deprecationMessage": "",
42682
- "hostBindings": [],
42683
- "hostListeners": [],
42684
- "standalone": false,
42685
- "imports": [],
42686
- "description": "",
42687
- "rawdescription": "\n",
42688
- "type": "component",
42689
- "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n} from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[edsInputGroupAddon], eds-input-group-addon',\n template: '<ng-content/>',\n styleUrl: './eds-input-group-addon.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-input-group-addon',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsInputGroupAddon {\n e2eAttr = input('eds-input-group-addon');\n}\n",
42690
- "styleUrl": "./eds-input-group-addon.scss",
42691
- "assetsDirs": [],
42692
- "styleUrlsData": [
42693
- {
42694
- "data": "@use '../base' as base;\n\n.eui-21 {\n :host.eds-input-group-addon {\n align-items: stretch;\n display: flex;\n position: relative;\n width: 100%;\n\n // Border merging: collapse double borders between adjacent children\n > ::ng-deep :not(:first-child) {\n margin-left: calc(-1 * var(--eds-bw-xs));\n }\n\n // --- Addon items ---\n > ::ng-deep .eds-input-group-addon-item:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--eds-br-s);\n border-bottom-left-radius: var(--eds-br-s);\n }\n\n > ::ng-deep .eds-input-group-addon-item:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: var(--eds-br-s);\n border-bottom-right-radius: var(--eds-br-s);\n }\n\n > ::ng-deep .eds-input-group-addon-item:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n // --- Inputs/selects (direct or nested in clearable wrapper) ---\n // First child\n > ::ng-deep :first-child:not(.eds-input-group-addon-item):not(.eds-button) input,\n > ::ng-deep :first-child:not(.eds-input-group-addon-item):not(.eds-button) select,\n > ::ng-deep :first-child.eds-input-text {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n border-top-left-radius: var(--eds-br-s) !important;\n border-bottom-left-radius: var(--eds-br-s) !important;\n }\n\n // Last child\n > ::ng-deep :last-child:not(.eds-input-group-addon-item):not(.eds-button) input,\n > ::ng-deep :last-child:not(.eds-input-group-addon-item):not(.eds-button) select,\n > ::ng-deep :last-child.eds-input-text {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n border-top-right-radius: var(--eds-br-s) !important;\n border-bottom-right-radius: var(--eds-br-s) !important;\n }\n\n // Middle child\n > ::ng-deep :not(:first-child):not(:last-child):not(.eds-input-group-addon-item):not(.eds-button) input,\n > ::ng-deep :not(:first-child):not(:last-child):not(.eds-input-group-addon-item):not(.eds-button) select,\n > ::ng-deep :not(:first-child):not(:last-child).eds-input-text {\n border-radius: 0 !important;\n }\n\n // --- Buttons (direct children, e.g. datepicker calendar button) ---\n > ::ng-deep .eds-button:first-child {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n border-top-left-radius: var(--eds-br-s) !important;\n border-bottom-left-radius: var(--eds-br-s) !important;\n }\n\n > ::ng-deep .eds-button:last-child {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n border-top-right-radius: var(--eds-br-s) !important;\n border-bottom-right-radius: var(--eds-br-s) !important;\n }\n\n > ::ng-deep .eds-button:not(:first-child):not(:last-child) {\n border-radius: 0 !important;\n }\n\n // Ensure focused element appears above adjacent items\n > ::ng-deep :focus-within,\n > ::ng-deep :focus {\n z-index: 1;\n }\n }\n}\n",
42695
- "styleUrl": "./eds-input-group-addon.scss"
42696
- }
42697
- ],
42698
- "stylesData": "",
42699
- "extends": [],
42700
- "relationships": {
42701
- "incoming": [],
42702
- "outgoing": []
42703
- }
42704
- },
42705
- {
42706
- "name": "EdsInputGroupAddonItem",
42707
- "id": "component-EdsInputGroupAddonItem-cc4571a697cbace81da13955b0be2a222475306b9835a69c3c41b847ec3dafb439537b9231cdf6092c6e407a75b29934df0e635d04ac768ac6f89dd9386c2598",
42708
- "file": "packages/eds/eds-input-group/eds-input-group-addon-item.ts",
42709
- "changeDetection": "ChangeDetectionStrategy.OnPush",
42710
- "encapsulation": [],
42711
- "entryComponents": [],
42712
- "host": {},
42713
- "inputs": [],
42714
- "outputs": [],
42715
- "providers": [],
42716
- "selector": "div[edsInputGroupAddonItem], eds-input-group-addon-item",
42717
- "styleUrls": [
42718
- "./eds-input-group-addon-item.scss"
42719
- ],
42720
- "styles": [],
42721
- "template": "<ng-content/>",
42722
- "templateUrl": [],
42723
- "templateVariables": [],
42724
- "viewProviders": [],
42725
- "hostDirectives": [],
42726
- "inputsClass": [
42727
- {
42728
- "name": "e2eAttr",
42729
- "coverageIgnore": false,
42730
- "defaultValue": "'eds-input-group-addon-item'",
42731
- "deprecated": false,
42732
- "deprecationMessage": "",
42733
- "type": "string",
42734
- "indexKey": "",
42735
- "optional": false,
42736
- "description": "",
42737
- "line": 19,
42738
- "rawdescription": "\n",
42739
- "required": false
42740
- }
42741
- ],
42742
- "outputsClass": [],
42743
- "propertiesClass": [],
42744
- "methodsClass": [],
42745
- "coverageIgnore": false,
42746
- "deprecated": false,
42747
- "deprecationMessage": "",
42748
- "hostBindings": [],
42749
- "hostListeners": [],
42750
- "standalone": false,
42751
- "imports": [],
42752
- "description": "",
42753
- "rawdescription": "\n",
42754
- "type": "component",
42755
- "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n} from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[edsInputGroupAddonItem], eds-input-group-addon-item',\n template: '<ng-content/>',\n styleUrl: './eds-input-group-addon-item.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-input-group-addon-item',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsInputGroupAddonItem {\n e2eAttr = input('eds-input-group-addon-item');\n}\n",
42756
- "styleUrl": "./eds-input-group-addon-item.scss",
42757
- "assetsDirs": [],
42758
- "styleUrlsData": [
42759
- {
42760
- "data": "@use '../base' as base;\n\n.eui-21 {\n :host.eds-input-group-addon-item {\n align-items: center;\n align-self: stretch;\n background-color: var(--eds-c-surface-neutral-subtler);\n border: var(--eds-bw-xs) solid var(--eds-c-border-neutral);\n box-shadow: none;\n color: var(--eds-c-foreground-default);\n display: flex;\n flex-shrink: 0;\n font: var(--eds-f-paragraph-m);\n height: auto;\n justify-content: center;\n min-height: var(--eds-si-3xl);\n min-width: var(--eds-si-3xl);\n padding: 0 var(--eds-sp-xs);\n position: relative;\n }\n}\n",
42761
- "styleUrl": "./eds-input-group-addon-item.scss"
42762
- }
42763
- ],
42764
- "stylesData": "",
42765
- "extends": [],
42766
- "relationships": {
42767
- "incoming": [],
42768
- "outgoing": []
42769
- }
42770
- },
42771
42794
  {
42772
42795
  "name": "EdsInputIcon",
42773
42796
  "id": "component-EdsInputIcon-b42a75cc61bc9a0668e2572f84311012b91e1f7f9f1d67128e782c9d3569d5263d9165cddf306d5739705eed519be167811697af86a9215f2dae8b293ec82507",
@@ -46582,7 +46605,7 @@
46582
46605
  },
46583
46606
  {
46584
46607
  "name": "EdsLabel",
46585
- "id": "component-EdsLabel-6a7892f50e0f744d2ac74c39cc66fcd29647088f763f2fc971778ecfee99441b09bba46f0d098031acd473b9f8d7c6ca501b7c3817903e6f657a38d12e15542a",
46608
+ "id": "component-EdsLabel-a6c17460de9b611fe0d8092d4a0ccd286c59d7d02d0bcd539f8e68be432e99c8191e127e662e893e6db9f64f6c39d8e18041d774fef7348c5fa7d66d1d6c74b7",
46586
46609
  "file": "packages/eds/eds-label/eds-label.ts",
46587
46610
  "changeDetection": "ChangeDetectionStrategy.OnPush",
46588
46611
  "encapsulation": [],
@@ -46612,20 +46635,20 @@
46612
46635
  "indexKey": "",
46613
46636
  "optional": false,
46614
46637
  "description": "<p>Semantic color of the label.\n&#39;neutral&#39;</p>\n",
46615
- "line": 43,
46638
+ "line": 45,
46616
46639
  "rawdescription": "\n\nSemantic color of the label.\n'neutral'\n",
46617
46640
  "jsdoctags": [
46618
46641
  {
46619
- "pos": 1208,
46620
- "end": 1232,
46642
+ "pos": 1342,
46643
+ "end": 1366,
46621
46644
  "kind": 328,
46622
46645
  "id": 0,
46623
46646
  "flags": 16842752,
46624
46647
  "modifierFlagsCache": 0,
46625
46648
  "transformFlags": 0,
46626
46649
  "tagName": {
46627
- "pos": 1209,
46628
- "end": 1216,
46650
+ "pos": 1343,
46651
+ "end": 1350,
46629
46652
  "kind": 80,
46630
46653
  "id": 0,
46631
46654
  "flags": 16842752,
@@ -46647,20 +46670,90 @@
46647
46670
  "indexKey": "",
46648
46671
  "optional": false,
46649
46672
  "description": "<p>Marks the label as required (appends a red asterisk).\nfalse</p>\n",
46650
- "line": 49,
46673
+ "line": 51,
46651
46674
  "rawdescription": "\n\nMarks the label as required (appends a red asterisk).\nfalse\n",
46652
46675
  "jsdoctags": [
46653
46676
  {
46654
- "pos": 1357,
46655
- "end": 1377,
46677
+ "pos": 1491,
46678
+ "end": 1511,
46656
46679
  "kind": 328,
46657
46680
  "id": 0,
46658
46681
  "flags": 16842752,
46659
46682
  "modifierFlagsCache": 0,
46660
46683
  "transformFlags": 0,
46661
46684
  "tagName": {
46662
- "pos": 1358,
46663
- "end": 1365,
46685
+ "pos": 1492,
46686
+ "end": 1499,
46687
+ "kind": 80,
46688
+ "id": 0,
46689
+ "flags": 16842752,
46690
+ "transformFlags": 0,
46691
+ "escapedText": "default"
46692
+ },
46693
+ "comment": "<p>false</p>\n"
46694
+ }
46695
+ ],
46696
+ "required": false
46697
+ },
46698
+ {
46699
+ "name": "hasOptionalLabel",
46700
+ "coverageIgnore": false,
46701
+ "defaultValue": "false",
46702
+ "deprecated": false,
46703
+ "deprecationMessage": "",
46704
+ "type": "boolean",
46705
+ "indexKey": "",
46706
+ "optional": false,
46707
+ "description": "<p>Appends an <code>(optional)</code> text label to the label.\nfalse</p>\n",
46708
+ "line": 63,
46709
+ "rawdescription": "\n\nAppends an `(optional)` text label to the label.\nfalse\n",
46710
+ "jsdoctags": [
46711
+ {
46712
+ "pos": 1853,
46713
+ "end": 1873,
46714
+ "kind": 328,
46715
+ "id": 0,
46716
+ "flags": 16842752,
46717
+ "modifierFlagsCache": 0,
46718
+ "transformFlags": 0,
46719
+ "tagName": {
46720
+ "pos": 1854,
46721
+ "end": 1861,
46722
+ "kind": 80,
46723
+ "id": 0,
46724
+ "flags": 16842752,
46725
+ "transformFlags": 0,
46726
+ "escapedText": "default"
46727
+ },
46728
+ "comment": "<p>false</p>\n"
46729
+ }
46730
+ ],
46731
+ "required": false
46732
+ },
46733
+ {
46734
+ "name": "hasRequiredLabel",
46735
+ "coverageIgnore": false,
46736
+ "defaultValue": "false",
46737
+ "deprecated": false,
46738
+ "deprecationMessage": "",
46739
+ "type": "boolean",
46740
+ "indexKey": "",
46741
+ "optional": false,
46742
+ "description": "<p>When <code>edsRequired</code> is set, appends a <code>(required)</code> text label instead of the asterisk.\nfalse</p>\n",
46743
+ "line": 57,
46744
+ "rawdescription": "\n\nWhen `edsRequired` is set, appends a `(required)` text label instead of the asterisk.\nfalse\n",
46745
+ "jsdoctags": [
46746
+ {
46747
+ "pos": 1688,
46748
+ "end": 1708,
46749
+ "kind": 328,
46750
+ "id": 0,
46751
+ "flags": 16842752,
46752
+ "modifierFlagsCache": 0,
46753
+ "transformFlags": 0,
46754
+ "tagName": {
46755
+ "pos": 1689,
46756
+ "end": 1696,
46664
46757
  "kind": 80,
46665
46758
  "id": 0,
46666
46759
  "flags": 16842752,
@@ -46686,12 +46779,12 @@
46686
46779
  "description": "<p>A form label applied to <code>label</code>, <code>span</code>, or <code>div</code> elements via the <code>edsLabel</code> attribute.\nSupports a semantic color (<code>neutral</code> default, <code>critical</code> for errors) reflected as a host\nattribute, plus a required marker.</p>\n<p>Usage:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;label edsLabel for=&quot;name&quot;&gt;Name&lt;/label&gt;\n&lt;label edsLabel edsRequired for=&quot;email&quot;&gt;Email&lt;/label&gt;\n&lt;span edsLabel color=&quot;critical&quot;&gt;This field is required&lt;/span&gt;</code></pre></div>",
46687
46780
  "rawdescription": "\n\nA form label applied to `label`, `span`, or `div` elements via the `edsLabel` attribute.\nSupports a semantic color (`neutral` default, `critical` for errors) reflected as a host\nattribute, plus a required marker.\n\nUsage:\n```html\n<label edsLabel for=\"name\">Name</label>\n<label edsLabel edsRequired for=\"email\">Email</label>\n<span edsLabel color=\"critical\">This field is required</span>\n```\n",
46688
46781
  "type": "component",
46689
- "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n} from '@angular/core';\n\n/**\n * Local narrowed color union — the label's color contract.\n * `neutral` is the default; `critical` colors the label for error context.\n */\nexport type EdsLabelColor = 'neutral' | 'critical';\n\n/**\n * A form label applied to `label`, `span`, or `div` elements via the `edsLabel` attribute.\n * Supports a semantic color (`neutral` default, `critical` for errors) reflected as a host\n * attribute, plus a required marker.\n *\n * Usage:\n * ```html\n * <label edsLabel for=\"name\">Name</label>\n * <label edsLabel edsRequired for=\"email\">Email</label>\n * <span edsLabel color=\"critical\">This field is required</span>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[edsLabel], span[edsLabel], div[edsLabel]',\n template: '<ng-content/>',\n styleUrl: './eds-label.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-label',\n '[attr.color]': 'color()',\n '[attr.required]': 'edsRequired() || null',\n },\n})\nexport class EdsLabel {\n /**\n * Semantic color of the label.\n * @default 'neutral'\n */\n color = input<EdsLabelColor>('neutral');\n\n /**\n * Marks the label as required (appends a red asterisk).\n * @default false\n */\n edsRequired = input(false, { transform: booleanAttribute });\n}\n",
46782
+ "sourceCode": "import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n} from '@angular/core';\n\n/**\n * Local narrowed color union — the label's color contract.\n * `neutral` is the default; `critical` colors the label for error context.\n */\nexport type EdsLabelColor = 'neutral' | 'critical';\n\n/**\n * A form label applied to `label`, `span`, or `div` elements via the `edsLabel` attribute.\n * Supports a semantic color (`neutral` default, `critical` for errors) reflected as a host\n * attribute, plus a required marker.\n *\n * Usage:\n * ```html\n * <label edsLabel for=\"name\">Name</label>\n * <label edsLabel edsRequired for=\"email\">Email</label>\n * <span edsLabel color=\"critical\">This field is required</span>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[edsLabel], span[edsLabel], div[edsLabel]',\n template: '<ng-content/>',\n styleUrl: './eds-label.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-label',\n '[attr.color]': 'color()',\n '[attr.required]': 'edsRequired() || null',\n '[attr.has-required-label]': 'hasRequiredLabel() || null',\n '[attr.has-optional-label]': 'hasOptionalLabel() || null',\n },\n})\nexport class EdsLabel {\n /**\n * Semantic color of the label.\n * @default 'neutral'\n */\n color = input<EdsLabelColor>('neutral');\n\n /**\n * Marks the label as required (appends a red asterisk).\n * @default false\n */\n edsRequired = input(false, { transform: booleanAttribute });\n\n /**\n * When `edsRequired` is set, appends a `(required)` text label instead of the asterisk.\n * @default false\n */\n hasRequiredLabel = input(false, { transform: booleanAttribute });\n\n /**\n * Appends an `(optional)` text label to the label.\n * @default false\n */\n hasOptionalLabel = input(false, { transform: booleanAttribute });\n}\n",
46690
46783
  "styleUrl": "./eds-label.scss",
46691
46784
  "assetsDirs": [],
46692
46785
  "styleUrlsData": [
46693
46786
  {
46694
- "data": "@use '../base' as base;\n\n:host {\n display: inline-block;\n font: var(--eds-f-label-m-semibold);\n color: var(--eds-c-foreground);\n}\n\n// COLOR VARIANTS\n// --------------\n\n:host([color=\"neutral\"]) { color: var(--eds-c-foreground); }\n:host([color=\"critical\"]) { color: var(--eds-c-foreground-critical); }\n\n// REQUIRED MARKER\n// ---------------\n\n:host([required])::after {\n color: var(--eds-c-foreground-critical);\n content: ' *';\n font: var(--eds-f-label-m-semibold);\n}\n",
46787
+ "data": "@use '../base' as base;\n\n:host {\n display: inline-block;\n font: var(--eds-f-label-m-semibold);\n color: var(--eds-c-foreground);\n}\n\n// COLOR VARIANTS\n// --------------\n\n:host([color=\"neutral\"]) { color: var(--eds-c-foreground); }\n:host([color=\"critical\"]) { color: var(--eds-c-foreground-critical); }\n\n// REQUIRED MARKER\n// ---------------\n\n:host([required])::after {\n color: var(--eds-c-foreground-critical);\n content: ' *';\n font: var(--eds-f-label-m-semibold);\n}\n\n:host([required][has-required-label])::after {\n content: ' (required)';\n font: var(--eds-f-label-s);\n}\n\n// OPTIONAL MARKER\n// ---------------\n\n:host([has-optional-label])::after {\n color: var(--eds-c-foreground-subtle);\n content: ' (optional)';\n font: var(--eds-f-label-s);\n}\n",
46695
46788
  "styleUrl": "./eds-label.scss"
46696
46789
  }
46697
46790
  ],
@@ -60502,8 +60595,9 @@
60502
60595
  },
60503
60596
  {
60504
60597
  "name": "EdsShellTopMessage",
60505
- "id": "component-EdsShellTopMessage-9de1977b4b5433658bba6e76a5e89f713d5d9454ba745bda315888653999ed4c2c3d0015afff3c4f33210619901f84e92d6d57c1c9e63ad923c18da5468f47e6",
60598
+ "id": "component-EdsShellTopMessage-2197e5564ff2fcb12bb66eedf64eeec66130134fafaf59e5736f1ed47cf1749feef53e9bf1406bf991ffbeca244cb24fa47dafa56fedf7f474be0b3b128fbd20",
60506
60599
  "file": "packages/eds/eds-shell/eds-shell-top-message.ts",
60600
+ "changeDetection": "ChangeDetectionStrategy.OnPush",
60507
60601
  "encapsulation": [],
60508
60602
  "entryComponents": [],
60509
60603
  "host": {},
@@ -60520,20 +60614,36 @@
60520
60614
  ],
60521
60615
  "templateVariables": [],
60522
60616
  "viewProviders": [],
60523
- "hostDirectives": [
60524
- {
60525
- "name": "EdsColorDirective",
60526
- "inputs": [
60527
- "edsWarning",
60528
- "edsCritical",
60529
- "edsInfo",
60530
- "edsSuccess",
60531
- "edsColorVariant"
60532
- ],
60533
- "outputs": []
60534
- }
60535
- ],
60617
+ "hostDirectives": [],
60536
60618
  "inputsClass": [
60619
+ {
60620
+ "name": "color",
60621
+ "coverageIgnore": false,
60622
+ "defaultValue": "'info'",
60623
+ "deprecated": false,
60624
+ "deprecationMessage": "",
60625
+ "type": "EdsShellTopMessageColor",
60626
+ "indexKey": "",
60627
+ "optional": false,
60628
+ "description": "<p>Semantic color variant of the message.</p>\n",
60629
+ "line": 25,
60630
+ "rawdescription": "\nSemantic color variant of the message.",
60631
+ "required": false
60632
+ },
60633
+ {
60634
+ "name": "e2eAttr",
60635
+ "coverageIgnore": false,
60636
+ "defaultValue": "'eds-shell-top-message'",
60637
+ "deprecated": false,
60638
+ "deprecationMessage": "",
60639
+ "type": "string",
60640
+ "indexKey": "",
60641
+ "optional": false,
60642
+ "description": "<p>Test hook.</p>\n",
60643
+ "line": 34,
60644
+ "rawdescription": "\nTest hook.",
60645
+ "required": false
60646
+ },
60537
60647
  {
60538
60648
  "name": "isDismissible",
60539
60649
  "coverageIgnore": false,
@@ -60544,9 +60654,23 @@
60544
60654
  "indexKey": "",
60545
60655
  "optional": false,
60546
60656
  "description": "<p>Whether the close button is shown.</p>\n",
60547
- "line": 23,
60657
+ "line": 31,
60548
60658
  "rawdescription": "\nWhether the close button is shown.",
60549
60659
  "required": false
60660
+ },
60661
+ {
60662
+ "name": "variant",
60663
+ "coverageIgnore": false,
60664
+ "defaultValue": "'default'",
60665
+ "deprecated": false,
60666
+ "deprecationMessage": "",
60667
+ "type": "EdsShellTopMessageVariant",
60668
+ "indexKey": "",
60669
+ "optional": false,
60670
+ "description": "<p>Surface treatment. <code>default</code> = subtler surface, <code>filled</code> = full color surface.</p>\n",
60671
+ "line": 28,
60672
+ "rawdescription": "\nSurface treatment. `default` = subtler surface, `filled` = full color surface.",
60673
+ "required": false
60550
60674
  }
60551
60675
  ],
60552
60676
  "outputsClass": [
@@ -60559,7 +60683,7 @@
60559
60683
  "indexKey": "",
60560
60684
  "optional": false,
60561
60685
  "description": "<p>Emits when the message is dismissed.</p>\n",
60562
- "line": 26,
60686
+ "line": 37,
60563
60687
  "rawdescription": "\nEmits when the message is dismissed.",
60564
60688
  "required": false
60565
60689
  }
@@ -60575,7 +60699,7 @@
60575
60699
  "indexKey": "",
60576
60700
  "optional": false,
60577
60701
  "description": "<p>Internal visibility state.</p>\n",
60578
- "line": 29,
60702
+ "line": 40,
60579
60703
  "rawdescription": "\nInternal visibility state."
60580
60704
  }
60581
60705
  ],
@@ -60587,7 +60711,7 @@
60587
60711
  "optional": false,
60588
60712
  "returnType": "void",
60589
60713
  "typeParameters": [],
60590
- "line": 31,
60714
+ "line": 42,
60591
60715
  "deprecated": false,
60592
60716
  "deprecationMessage": "",
60593
60717
  "rawdescription": "\n",
@@ -60608,12 +60732,12 @@
60608
60732
  "description": "",
60609
60733
  "rawdescription": "\n",
60610
60734
  "type": "component",
60611
- "sourceCode": "import { Component, input, output, signal, booleanAttribute } from '@angular/core';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\nimport { EdsColorDirective } from '@eui/eds/shared';\n\n@Component({\n selector: 'eds-shell-top-message',\n imports: [...EDS_ICON_BUTTON],\n templateUrl: './eds-shell-top-message.html',\n styleUrl: './eds-shell-top-message.scss',\n hostDirectives: [\n {\n directive: EdsColorDirective,\n inputs: ['edsWarning', 'edsCritical', 'edsInfo', 'edsSuccess', 'edsColorVariant'],\n },\n ],\n host: {\n '[class.eds-top-message]': 'true',\n '[class.eds-top-message--hidden]': '!isVisible()',\n },\n})\nexport class EdsShellTopMessage {\n /** Whether the close button is shown. */\n isDismissible = input(true, { transform: booleanAttribute });\n\n /** Emits when the message is dismissed. */\n dismissed = output<void>();\n\n /** Internal visibility state. */\n isVisible = signal(true);\n\n dismiss(): void {\n this.isVisible.set(false);\n setTimeout(() => this.dismissed.emit(), 300);\n }\n}\n",
60735
+ "sourceCode": "import { Component, ChangeDetectionStrategy, input, output, signal, booleanAttribute } from '@angular/core';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\n/** Local narrowed color union — the top message's color contract. */\nexport type EdsShellTopMessageColor = 'info' | 'success' | 'warning' | 'critical';\n\n/** Surface treatment: `default` uses the subtler surface, `filled` the full color surface. */\nexport type EdsShellTopMessageVariant = 'default' | 'filled';\n\n@Component({\n selector: 'eds-shell-top-message',\n imports: [...EDS_ICON_BUTTON],\n templateUrl: './eds-shell-top-message.html',\n styleUrl: './eds-shell-top-message.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.color]': 'color()',\n '[attr.variant]': 'variant()',\n '[attr.hidden]': '!isVisible() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsShellTopMessage {\n /** Semantic color variant of the message. */\n color = input<EdsShellTopMessageColor>('info');\n\n /** Surface treatment. `default` = subtler surface, `filled` = full color surface. */\n variant = input<EdsShellTopMessageVariant>('default');\n\n /** Whether the close button is shown. */\n isDismissible = input(true, { transform: booleanAttribute });\n\n /** Test hook. */\n e2eAttr = input('eds-shell-top-message');\n\n /** Emits when the message is dismissed. */\n dismissed = output<void>();\n\n /** Internal visibility state. */\n isVisible = signal(true);\n\n dismiss(): void {\n this.isVisible.set(false);\n setTimeout(() => this.dismissed.emit(), 300);\n }\n}\n",
60612
60736
  "styleUrl": "./eds-shell-top-message.scss",
60613
60737
  "assetsDirs": [],
60614
60738
  "styleUrlsData": [
60615
60739
  {
60616
- "data": "@use '../base' as base;\n\n.eui-21 {\n :host {\n display: flex;\n align-items: center;\n gap: var(--eds-sp-m);\n padding: var(--eds-sp-xs) var(--eds-sp-xl);\n font: var(--eds-f-paragraph-s);\n flex-shrink: 0;\n overflow: hidden;\n transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;\n max-height: 80px;\n opacity: 1;\n\n // Default: info\n background: var(--eds-c-surface-info-subtler);\n color: var(--eds-c-on-surface-info-subtler);\n\n .top-message-content {\n flex: 1;\n }\n }\n\n // Color variants applied via host directive classes\n :host(.eds-color-variant--warning) {\n background: var(--eds-c-surface-warning-subtler);\n color: var(--eds-c-on-surface-warning-subtler);\n }\n\n :host(.eds-color-variant--critical) {\n background: var(--eds-c-surface-critical-subtler);\n color: var(--eds-c-on-surface-critical-subtler);\n }\n\n :host(.eds-color-variant--success) {\n background: var(--eds-c-surface-success-subtler);\n color: var(--eds-c-on-surface-success-subtler);\n }\n\n :host(.eds-color-variant--info) {\n background: var(--eds-c-surface-info-subtler);\n color: var(--eds-c-on-surface-info-subtler);\n }\n\n :host(.eds-top-message--hidden) {\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n opacity: 0;\n }\n}\n",
60740
+ "data": "@use '../base' as base;\n\n:host {\n // default color = info\n --_eds-shell-top-message-surface: var(--eds-c-surface-info-subtler);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-info-subtler);\n\n // `[hidden]` (native) would set display:none and kill the collapse transition — force flex\n // and animate via max-height/opacity instead.\n display: flex !important;\n align-items: center;\n gap: var(--eds-sp-m);\n padding: var(--eds-sp-xs) var(--eds-sp-xl);\n font: var(--eds-f-paragraph-s);\n flex-shrink: 0;\n overflow: hidden;\n transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;\n max-height: 80px;\n opacity: 1;\n background: var(--_eds-shell-top-message-surface);\n color: var(--_eds-shell-top-message-on-surface);\n\n .top-message-content {\n flex: 1;\n }\n}\n\n// COLOR VARIANTS — default (subtler surface)\n// ------------------------------------------\n\n:host([color=\"info\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-info-subtler);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-info-subtler);\n}\n\n:host([color=\"success\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-success-subtler);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-success-subtler);\n}\n\n:host([color=\"warning\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-warning-subtler);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-warning-subtler);\n}\n\n:host([color=\"critical\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-critical-subtler);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-critical-subtler);\n}\n\n// FILLED VARIANT — full color surface\n// -----------------------------------\n\n:host([variant=\"filled\"][color=\"info\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-info);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-info);\n}\n\n:host([variant=\"filled\"][color=\"success\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-success);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-success);\n}\n\n:host([variant=\"filled\"][color=\"warning\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-warning);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-warning);\n}\n\n:host([variant=\"filled\"][color=\"critical\"]) {\n --_eds-shell-top-message-surface: var(--eds-c-surface-critical);\n --_eds-shell-top-message-on-surface: var(--eds-c-on-surface-critical);\n}\n\n// HIDDEN / DISMISSED STATE\n// ------------------------\n\n:host([hidden]) {\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n opacity: 0;\n}\n",
60617
60741
  "styleUrl": "./eds-shell-top-message.scss"
60618
60742
  }
60619
60743
  ],
@@ -60625,11 +60749,6 @@
60625
60749
  {
60626
60750
  "name": "EDS_ICON_BUTTON",
60627
60751
  "type": "module"
60628
- },
60629
- {
60630
- "name": "EdsColorDirective",
60631
- "type": "directive",
60632
- "description": "Signal-based color variant directive. Provides both a string-based `edsColorVariant` input and boolean shorthand inputs (`edsNeutral`, `e..."
60633
60752
  }
60634
60753
  ]
60635
60754
  },
@@ -75930,6 +76049,19 @@
75930
76049
  "rawdescription": "Convenience array for importing all eds-icon-toggle components.",
75931
76050
  "description": "<p>Convenience array for importing all eds-icon-toggle components.</p>\n"
75932
76051
  },
76052
+ {
76053
+ "name": "EDS_INPUT_ADDON",
76054
+ "ctype": "miscellaneous",
76055
+ "subtype": "variable",
76056
+ "file": "packages/eds/eds-input-addon/index.ts",
76057
+ "coverageIgnore": false,
76058
+ "deprecated": false,
76059
+ "deprecationMessage": "",
76060
+ "type": "unknown",
76061
+ "defaultValue": "[\n EdsInputAddon,\n] as const",
76062
+ "rawdescription": "Convenience array for importing all eds-input-addon components.",
76063
+ "description": "<p>Convenience array for importing all eds-input-addon components.</p>\n"
76064
+ },
75933
76065
  {
75934
76066
  "name": "EDS_INPUT_BUTTON",
75935
76067
  "ctype": "miscellaneous",
@@ -75965,7 +76097,7 @@
75965
76097
  "deprecated": false,
75966
76098
  "deprecationMessage": "",
75967
76099
  "type": "unknown",
75968
- "defaultValue": "[\n EdsInputGroup,\n EdsInputGroupAddon,\n EdsInputGroupAddonItem,\n] as const",
76100
+ "defaultValue": "[\n EdsInputGroup,\n] as const",
75969
76101
  "rawdescription": "Convenience array for importing all eds-input-group components.",
75970
76102
  "description": "<p>Convenience array for importing all eds-input-group components.</p>\n"
75971
76103
  },
@@ -77624,7 +77756,7 @@
77624
77756
  "ctype": "miscellaneous",
77625
77757
  "subtype": "typealias",
77626
77758
  "coverageIgnore": false,
77627
- "rawtype": "\"primary\" | \"neutral\" | \"info\" | \"success\" | \"warning\" | \"critical\"",
77759
+ "rawtype": "\"primary\" | \"neutral\" | \"info\" | \"success\" | \"warning\" | \"critical\" | \"disabled\"",
77628
77760
  "file": "packages/eds/eds-feedback-message/eds-feedback-message.ts",
77629
77761
  "deprecated": false,
77630
77762
  "deprecationMessage": "",
@@ -77866,6 +77998,19 @@
77866
77998
  "description": "<p>Local narrowed size union — the icon-state&#39;s size contract.</p>\n",
77867
77999
  "kind": 193
77868
78000
  },
78001
+ {
78002
+ "name": "EdsInputAddonPosition",
78003
+ "ctype": "miscellaneous",
78004
+ "subtype": "typealias",
78005
+ "coverageIgnore": false,
78006
+ "rawtype": "\"start\" | \"end\"",
78007
+ "file": "packages/eds/eds-input-addon/eds-input-addon.ts",
78008
+ "deprecated": false,
78009
+ "deprecationMessage": "",
78010
+ "rawdescription": "Local narrowed union — the addon's position contract.",
78011
+ "description": "<p>Local narrowed union — the addon&#39;s position contract.</p>\n",
78012
+ "kind": 193
78013
+ },
77869
78014
  {
77870
78015
  "name": "EdsInputPromptSendPosition",
77871
78016
  "ctype": "miscellaneous",
@@ -78035,6 +78180,32 @@
78035
78180
  "description": "<p>Sizes the segmented control styles (SCSS <code>:host([size=&quot;…&quot;])</code> branches).</p>\n",
78036
78181
  "kind": 193
78037
78182
  },
78183
+ {
78184
+ "name": "EdsShellTopMessageColor",
78185
+ "ctype": "miscellaneous",
78186
+ "subtype": "typealias",
78187
+ "coverageIgnore": false,
78188
+ "rawtype": "\"info\" | \"success\" | \"warning\" | \"critical\"",
78189
+ "file": "packages/eds/eds-shell/eds-shell-top-message.ts",
78190
+ "deprecated": false,
78191
+ "deprecationMessage": "",
78192
+ "rawdescription": "Local narrowed color union — the top message's color contract.",
78193
+ "description": "<p>Local narrowed color union — the top message&#39;s color contract.</p>\n",
78194
+ "kind": 193
78195
+ },
78196
+ {
78197
+ "name": "EdsShellTopMessageVariant",
78198
+ "ctype": "miscellaneous",
78199
+ "subtype": "typealias",
78200
+ "coverageIgnore": false,
78201
+ "rawtype": "\"default\" | \"filled\"",
78202
+ "file": "packages/eds/eds-shell/eds-shell-top-message.ts",
78203
+ "deprecated": false,
78204
+ "deprecationMessage": "",
78205
+ "rawdescription": "Surface treatment: `default` uses the subtler surface, `filled` the full color surface.",
78206
+ "description": "<p>Surface treatment: <code>default</code> uses the subtler surface, <code>filled</code> the full color surface.</p>\n",
78207
+ "kind": 193
78208
+ },
78038
78209
  {
78039
78210
  "name": "EdsSidebarCollapseMode",
78040
78211
  "ctype": "miscellaneous",
@@ -79332,6 +79503,21 @@
79332
79503
  "description": "<p>Convenience array for importing all eds-icon-toggle components.</p>\n"
79333
79504
  }
79334
79505
  ],
79506
+ "packages/eds/eds-input-addon/index.ts": [
79507
+ {
79508
+ "name": "EDS_INPUT_ADDON",
79509
+ "ctype": "miscellaneous",
79510
+ "subtype": "variable",
79511
+ "file": "packages/eds/eds-input-addon/index.ts",
79512
+ "coverageIgnore": false,
79513
+ "deprecated": false,
79514
+ "deprecationMessage": "",
79515
+ "type": "unknown",
79516
+ "defaultValue": "[\n EdsInputAddon,\n] as const",
79517
+ "rawdescription": "Convenience array for importing all eds-input-addon components.",
79518
+ "description": "<p>Convenience array for importing all eds-input-addon components.</p>\n"
79519
+ }
79520
+ ],
79335
79521
  "packages/eds/eds-input-button/index.ts": [
79336
79522
  {
79337
79523
  "name": "EDS_INPUT_BUTTON",
@@ -79372,7 +79558,7 @@
79372
79558
  "deprecated": false,
79373
79559
  "deprecationMessage": "",
79374
79560
  "type": "unknown",
79375
- "defaultValue": "[\n EdsInputGroup,\n EdsInputGroupAddon,\n EdsInputGroupAddonItem,\n] as const",
79561
+ "defaultValue": "[\n EdsInputGroup,\n] as const",
79376
79562
  "rawdescription": "Convenience array for importing all eds-input-group components.",
79377
79563
  "description": "<p>Convenience array for importing all eds-input-group components.</p>\n"
79378
79564
  }
@@ -81313,7 +81499,7 @@
81313
81499
  "ctype": "miscellaneous",
81314
81500
  "subtype": "typealias",
81315
81501
  "coverageIgnore": false,
81316
- "rawtype": "\"primary\" | \"neutral\" | \"info\" | \"success\" | \"warning\" | \"critical\"",
81502
+ "rawtype": "\"primary\" | \"neutral\" | \"info\" | \"success\" | \"warning\" | \"critical\" | \"disabled\"",
81317
81503
  "file": "packages/eds/eds-feedback-message/eds-feedback-message.ts",
81318
81504
  "deprecated": false,
81319
81505
  "deprecationMessage": "",
@@ -81574,6 +81760,21 @@
81574
81760
  "kind": 193
81575
81761
  }
81576
81762
  ],
81763
+ "packages/eds/eds-input-addon/eds-input-addon.ts": [
81764
+ {
81765
+ "name": "EdsInputAddonPosition",
81766
+ "ctype": "miscellaneous",
81767
+ "subtype": "typealias",
81768
+ "coverageIgnore": false,
81769
+ "rawtype": "\"start\" | \"end\"",
81770
+ "file": "packages/eds/eds-input-addon/eds-input-addon.ts",
81771
+ "deprecated": false,
81772
+ "deprecationMessage": "",
81773
+ "rawdescription": "Local narrowed union — the addon's position contract.",
81774
+ "description": "<p>Local narrowed union — the addon&#39;s position contract.</p>\n",
81775
+ "kind": 193
81776
+ }
81777
+ ],
81577
81778
  "packages/eds/eds-input-prompt/eds-input-prompt.ts": [
81578
81779
  {
81579
81780
  "name": "EdsInputPromptSendPosition",
@@ -81765,6 +81966,34 @@
81765
81966
  "kind": 193
81766
81967
  }
81767
81968
  ],
81969
+ "packages/eds/eds-shell/eds-shell-top-message.ts": [
81970
+ {
81971
+ "name": "EdsShellTopMessageColor",
81972
+ "ctype": "miscellaneous",
81973
+ "subtype": "typealias",
81974
+ "coverageIgnore": false,
81975
+ "rawtype": "\"info\" | \"success\" | \"warning\" | \"critical\"",
81976
+ "file": "packages/eds/eds-shell/eds-shell-top-message.ts",
81977
+ "deprecated": false,
81978
+ "deprecationMessage": "",
81979
+ "rawdescription": "Local narrowed color union — the top message's color contract.",
81980
+ "description": "<p>Local narrowed color union — the top message&#39;s color contract.</p>\n",
81981
+ "kind": 193
81982
+ },
81983
+ {
81984
+ "name": "EdsShellTopMessageVariant",
81985
+ "ctype": "miscellaneous",
81986
+ "subtype": "typealias",
81987
+ "coverageIgnore": false,
81988
+ "rawtype": "\"default\" | \"filled\"",
81989
+ "file": "packages/eds/eds-shell/eds-shell-top-message.ts",
81990
+ "deprecated": false,
81991
+ "deprecationMessage": "",
81992
+ "rawdescription": "Surface treatment: `default` uses the subtler surface, `filled` the full color surface.",
81993
+ "description": "<p>Surface treatment: <code>default</code> uses the subtler surface, <code>filled</code> the full color surface.</p>\n",
81994
+ "kind": 193
81995
+ }
81996
+ ],
81768
81997
  "packages/eds/eds-shell/eds-shell.ts": [
81769
81998
  {
81770
81999
  "name": "EdsSidebarCollapseMode",