@govtechsg/sgds-web-component 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/Masthead/index.js +46 -15
  2. package/components/Badge/badge.js +1 -1
  3. package/components/Badge/index.umd.js +4532 -197
  4. package/components/Badge/index.umd.js.map +1 -1
  5. package/components/Badge/sgds-badge.js +70 -30
  6. package/components/Badge/sgds-badge.js.map +1 -1
  7. package/components/Breadcrumb/index.umd.js +3 -3
  8. package/components/Breadcrumb/index.umd.js.map +1 -1
  9. package/components/Card/index.umd.js +2 -2
  10. package/components/Card/index.umd.js.map +1 -1
  11. package/components/ComboBox/combo-box-item2.js +1 -1
  12. package/components/ComboBox/index.umd.js +1321 -174
  13. package/components/ComboBox/index.umd.js.map +1 -1
  14. package/components/Datepicker/index.umd.js +61 -17
  15. package/components/Datepicker/index.umd.js.map +1 -1
  16. package/components/Datepicker/sgds-datepicker.js +29 -11
  17. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  18. package/components/DescriptionList/index.umd.js.map +1 -1
  19. package/components/Dropdown/dropdown-item.js +1 -1
  20. package/components/Dropdown/index.umd.js +1 -1
  21. package/components/IconList/icon-list.js +1 -1
  22. package/components/IconList/index.umd.js +1 -1
  23. package/components/Input/index.umd.js +33 -6
  24. package/components/Input/index.umd.js.map +1 -1
  25. package/components/Input/input.js +1 -1
  26. package/components/Input/sgds-input.js +32 -5
  27. package/components/Input/sgds-input.js.map +1 -1
  28. package/components/Link/index.umd.js +2 -2
  29. package/components/Link/index.umd.js.map +1 -1
  30. package/components/Link/link.js +1 -1
  31. package/components/Link/sgds-link.js +1 -1
  32. package/components/Link/sgds-link.js.map +1 -1
  33. package/components/Mainnav/index.umd.js +4 -4
  34. package/components/Mainnav/index.umd.js.map +1 -1
  35. package/components/Mainnav/mainnav-item.js +1 -1
  36. package/components/Mainnav/mainnav.js +1 -1
  37. package/components/Mainnav/sgds-mainnav.js +1 -1
  38. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  39. package/components/Masthead/index.umd.js +46 -15
  40. package/components/Masthead/index.umd.js.map +1 -1
  41. package/components/Masthead/masthead.js +1 -1
  42. package/components/Masthead/sgds-masthead.js +45 -14
  43. package/components/Masthead/sgds-masthead.js.map +1 -1
  44. package/components/Modal/index.umd.js.map +1 -1
  45. package/components/QuantityToggle/index.umd.js +33 -6
  46. package/components/QuantityToggle/index.umd.js.map +1 -1
  47. package/components/Select/index.umd.js +1 -1
  48. package/components/Select/select-item2.js +1 -1
  49. package/components/Subnav/index.umd.js +1 -1
  50. package/components/Subnav/subnav.js +1 -1
  51. package/components/Switch/index.umd.js.map +1 -1
  52. package/components/Table/index.umd.js.map +1 -1
  53. package/components/Tooltip/index.umd.js +1 -1
  54. package/components/Tooltip/tooltip.js +1 -1
  55. package/components/index.umd.js +18901 -18771
  56. package/components/index.umd.js.map +1 -1
  57. package/css/reboot.css +0 -1
  58. package/index.umd.js +18885 -18755
  59. package/index.umd.js.map +1 -1
  60. package/package.json +1 -1
  61. package/react/components/Badge/badge.cjs.js +1 -1
  62. package/react/components/Badge/badge.js +1 -1
  63. package/react/components/Badge/sgds-badge.cjs.js +69 -29
  64. package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
  65. package/react/components/Badge/sgds-badge.js +70 -30
  66. package/react/components/Badge/sgds-badge.js.map +1 -1
  67. package/react/components/ComboBox/combo-box-item.cjs2.js +1 -1
  68. package/react/components/ComboBox/combo-box-item2.js +1 -1
  69. package/react/components/Datepicker/sgds-datepicker.cjs.js +29 -11
  70. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  71. package/react/components/Datepicker/sgds-datepicker.js +29 -11
  72. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  73. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  74. package/react/components/Dropdown/dropdown-item.js +1 -1
  75. package/react/components/IconList/icon-list.cjs.js +1 -1
  76. package/react/components/IconList/icon-list.js +1 -1
  77. package/react/components/Input/input.cjs.js +1 -1
  78. package/react/components/Input/input.js +1 -1
  79. package/react/components/Input/sgds-input.cjs.js +32 -5
  80. package/react/components/Input/sgds-input.cjs.js.map +1 -1
  81. package/react/components/Input/sgds-input.js +32 -5
  82. package/react/components/Input/sgds-input.js.map +1 -1
  83. package/react/components/Link/link.cjs.js +1 -1
  84. package/react/components/Link/link.js +1 -1
  85. package/react/components/Link/sgds-link.cjs.js +1 -1
  86. package/react/components/Link/sgds-link.cjs.js.map +1 -1
  87. package/react/components/Link/sgds-link.js +1 -1
  88. package/react/components/Link/sgds-link.js.map +1 -1
  89. package/react/components/Mainnav/mainnav-item.cjs.js +1 -1
  90. package/react/components/Mainnav/mainnav-item.js +1 -1
  91. package/react/components/Mainnav/mainnav.cjs.js +1 -1
  92. package/react/components/Mainnav/mainnav.js +1 -1
  93. package/react/components/Mainnav/sgds-mainnav.cjs.js +1 -1
  94. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  95. package/react/components/Mainnav/sgds-mainnav.js +1 -1
  96. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  97. package/react/components/Masthead/masthead.cjs.js +1 -1
  98. package/react/components/Masthead/masthead.js +1 -1
  99. package/react/components/Masthead/sgds-masthead.cjs.js +45 -14
  100. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -1
  101. package/react/components/Masthead/sgds-masthead.js +45 -14
  102. package/react/components/Masthead/sgds-masthead.js.map +1 -1
  103. package/react/components/Select/select-item.cjs2.js +1 -1
  104. package/react/components/Select/select-item2.js +1 -1
  105. package/react/components/Subnav/subnav.cjs.js +1 -1
  106. package/react/components/Subnav/subnav.js +1 -1
  107. package/react/components/Tooltip/tooltip.cjs.js +1 -1
  108. package/react/components/Tooltip/tooltip.js +1 -1
  109. package/react/index.cjs.js +8 -8
  110. package/react/index.js +1 -1
  111. package/react/utils/slot.cjs.js +18 -0
  112. package/react/utils/slot.cjs.js.map +1 -1
  113. package/react/utils/slot.js +18 -1
  114. package/react/utils/slot.js.map +1 -1
  115. package/scripts/figma/sync-figma-to-tokens/__tests__/write-tokens-to-css-var.test.d.ts +0 -0
  116. package/scripts/figma/sync-figma-to-tokens/color.d.ts +8 -0
  117. package/scripts/figma/sync-figma-to-tokens/figma_api.d.ts +8 -0
  118. package/scripts/figma/sync-figma-to-tokens/sync-figma-to-tokens.d.ts +1 -0
  119. package/scripts/figma/sync-figma-to-tokens/token_export.d.ts +5 -0
  120. package/scripts/figma/sync-figma-to-tokens/token_types.d.ts +52 -0
  121. package/scripts/figma/sync-figma-to-tokens/utils.d.ts +3 -0
  122. package/scripts/figma/sync-figma-to-tokens/write-tokens-to-css-var.d.ts +8 -0
  123. package/{components → src/components}/Badge/sgds-badge.d.ts +11 -0
  124. package/{components → src/components}/Datepicker/sgds-datepicker.d.ts +13 -3
  125. package/{components → src/components}/Input/sgds-input.d.ts +5 -1
  126. package/{components → src/components}/Link/sgds-link.d.ts +2 -2
  127. package/themes/day.css +1 -0
  128. package/themes/night.css +1 -0
  129. package/themes/root.css +2 -0
  130. package/utils/slot.js +18 -1
  131. package/utils/slot.js.map +1 -1
  132. package/{base → src/base}/button-element.d.ts +0 -0
  133. package/{base → src/base}/card-element.d.ts +0 -0
  134. package/{base → src/base}/dropdown-element.d.ts +0 -0
  135. package/{base → src/base}/dropdown-list-element.d.ts +0 -0
  136. package/{base → src/base}/form-control-element.d.ts +0 -0
  137. package/{base → src/base}/link-element.d.ts +0 -0
  138. package/{base → src/base}/select-element.d.ts +0 -0
  139. package/{base → src/base}/sgds-element.d.ts +0 -0
  140. package/{components → src/components}/Accordion/index.d.ts +0 -0
  141. package/{components → src/components}/Accordion/sgds-accordion-item.d.ts +0 -0
  142. package/{components → src/components}/Accordion/sgds-accordion.d.ts +0 -0
  143. package/{components → src/components}/Alert/index.d.ts +0 -0
  144. package/{components → src/components}/Alert/sgds-alert-link.d.ts +0 -0
  145. package/{components → src/components}/Alert/sgds-alert.d.ts +0 -0
  146. package/{components → src/components}/Badge/index.d.ts +0 -0
  147. package/{components → src/components}/Breadcrumb/index.d.ts +0 -0
  148. package/{components → src/components}/Breadcrumb/sgds-breadcrumb-item.d.ts +0 -0
  149. package/{components → src/components}/Breadcrumb/sgds-breadcrumb.d.ts +0 -0
  150. package/{components → src/components}/Button/index.d.ts +0 -0
  151. package/{components → src/components}/Button/sgds-button.d.ts +0 -0
  152. package/{components → src/components}/Card/index.d.ts +0 -0
  153. package/{components → src/components}/Card/sgds-card.d.ts +0 -0
  154. package/{components → src/components}/Checkbox/index.d.ts +0 -0
  155. package/{components → src/components}/Checkbox/sgds-checkbox-group.d.ts +0 -0
  156. package/{components → src/components}/Checkbox/sgds-checkbox.d.ts +0 -0
  157. package/{components → src/components}/ComboBox/combo-box-item.d.ts +0 -0
  158. package/{components → src/components}/ComboBox/index.d.ts +0 -0
  159. package/{components → src/components}/ComboBox/sgds-combo-box.d.ts +0 -0
  160. package/{components → src/components}/Datepicker/datepicker-calendar.d.ts +0 -0
  161. package/{components → src/components}/Datepicker/datepicker-header.d.ts +0 -0
  162. package/{components → src/components}/Datepicker/datepicker-input.d.ts +0 -0
  163. package/{components → src/components}/Datepicker/index.d.ts +0 -0
  164. package/{components → src/components}/Datepicker/types.d.ts +0 -0
  165. package/{components → src/components}/DescriptionList/index.d.ts +0 -0
  166. package/{components → src/components}/DescriptionList/sgds-description-list-group.d.ts +0 -0
  167. package/{components → src/components}/DescriptionList/sgds-description-list.d.ts +0 -0
  168. package/{components → src/components}/Divider/index.d.ts +0 -0
  169. package/{components → src/components}/Divider/sgds-divider.d.ts +0 -0
  170. package/{components → src/components}/Drawer/index.d.ts +0 -0
  171. package/{components → src/components}/Drawer/sgds-drawer.d.ts +0 -0
  172. package/{components → src/components}/Dropdown/index.d.ts +0 -0
  173. package/{components → src/components}/Dropdown/sgds-dropdown-item.d.ts +0 -0
  174. package/{components → src/components}/Dropdown/sgds-dropdown.d.ts +0 -0
  175. package/{components → src/components}/FileUpload/index.d.ts +0 -0
  176. package/{components → src/components}/FileUpload/sgds-file-upload.d.ts +0 -0
  177. package/{components → src/components}/Footer/index.d.ts +0 -0
  178. package/{components → src/components}/Footer/sgds-footer-item.d.ts +0 -0
  179. package/{components → src/components}/Footer/sgds-footer.d.ts +0 -0
  180. package/{components → src/components}/Icon/icon-registry.d.ts +0 -0
  181. package/{components → src/components}/Icon/icons/archive.d.ts +0 -0
  182. package/{components → src/components}/Icon/icons/arrow-bar-down.d.ts +0 -0
  183. package/{components → src/components}/Icon/icons/arrow-bar-left.d.ts +0 -0
  184. package/{components → src/components}/Icon/icons/arrow-bar-right.d.ts +0 -0
  185. package/{components → src/components}/Icon/icons/arrow-bar-up.d.ts +0 -0
  186. package/{components → src/components}/Icon/icons/arrow-circle-down.d.ts +0 -0
  187. package/{components → src/components}/Icon/icons/arrow-circle-left.d.ts +0 -0
  188. package/{components → src/components}/Icon/icons/arrow-circle-right.d.ts +0 -0
  189. package/{components → src/components}/Icon/icons/arrow-circle-up.d.ts +0 -0
  190. package/{components → src/components}/Icon/icons/arrow-clockwise.d.ts +0 -0
  191. package/{components → src/components}/Icon/icons/arrow-down.d.ts +0 -0
  192. package/{components → src/components}/Icon/icons/arrow-left.d.ts +0 -0
  193. package/{components → src/components}/Icon/icons/arrow-repeat.d.ts +0 -0
  194. package/{components → src/components}/Icon/icons/arrow-right.d.ts +0 -0
  195. package/{components → src/components}/Icon/icons/arrow-square-down.d.ts +0 -0
  196. package/{components → src/components}/Icon/icons/arrow-square-left.d.ts +0 -0
  197. package/{components → src/components}/Icon/icons/arrow-square-right.d.ts +0 -0
  198. package/{components → src/components}/Icon/icons/arrow-square-up.d.ts +0 -0
  199. package/{components → src/components}/Icon/icons/arrow-up.d.ts +0 -0
  200. package/{components → src/components}/Icon/icons/bank-fill.d.ts +0 -0
  201. package/{components → src/components}/Icon/icons/bell-slash.d.ts +0 -0
  202. package/{components → src/components}/Icon/icons/bell.d.ts +0 -0
  203. package/{components → src/components}/Icon/icons/bi-funnel.d.ts +0 -0
  204. package/{components → src/components}/Icon/icons/bookmark-fill.d.ts +0 -0
  205. package/{components → src/components}/Icon/icons/bookmark.d.ts +0 -0
  206. package/{components → src/components}/Icon/icons/box-arrow-up-right.d.ts +0 -0
  207. package/{components → src/components}/Icon/icons/box-seam.d.ts +0 -0
  208. package/{components → src/components}/Icon/icons/building.d.ts +0 -0
  209. package/{components → src/components}/Icon/icons/bus.d.ts +0 -0
  210. package/{components → src/components}/Icon/icons/calculator.d.ts +0 -0
  211. package/{components → src/components}/Icon/icons/calendar-check.d.ts +0 -0
  212. package/{components → src/components}/Icon/icons/calendar-x.d.ts +0 -0
  213. package/{components → src/components}/Icon/icons/calendar.d.ts +0 -0
  214. package/{components → src/components}/Icon/icons/camera.d.ts +0 -0
  215. package/{components → src/components}/Icon/icons/car.d.ts +0 -0
  216. package/{components → src/components}/Icon/icons/chat-dots.d.ts +0 -0
  217. package/{components → src/components}/Icon/icons/chat-left-text.d.ts +0 -0
  218. package/{components → src/components}/Icon/icons/chat.d.ts +0 -0
  219. package/{components → src/components}/Icon/icons/check-circle-fill.d.ts +0 -0
  220. package/{components → src/components}/Icon/icons/check-circle.d.ts +0 -0
  221. package/{components → src/components}/Icon/icons/check.d.ts +0 -0
  222. package/{components → src/components}/Icon/icons/chevron-down.d.ts +0 -0
  223. package/{components → src/components}/Icon/icons/chevron-left.d.ts +0 -0
  224. package/{components → src/components}/Icon/icons/chevron-right.d.ts +0 -0
  225. package/{components → src/components}/Icon/icons/chevron-selector-vertical.d.ts +0 -0
  226. package/{components → src/components}/Icon/icons/chevron-up.d.ts +0 -0
  227. package/{components → src/components}/Icon/icons/clock.d.ts +0 -0
  228. package/{components → src/components}/Icon/icons/cloud-check.d.ts +0 -0
  229. package/{components → src/components}/Icon/icons/cloud-download.d.ts +0 -0
  230. package/{components → src/components}/Icon/icons/cloud-upload.d.ts +0 -0
  231. package/{components → src/components}/Icon/icons/cloud.d.ts +0 -0
  232. package/{components → src/components}/Icon/icons/compass.d.ts +0 -0
  233. package/{components → src/components}/Icon/icons/cross.d.ts +0 -0
  234. package/{components → src/components}/Icon/icons/cursor-fill.d.ts +0 -0
  235. package/{components → src/components}/Icon/icons/cursor.d.ts +0 -0
  236. package/{components → src/components}/Icon/icons/dash-circle.d.ts +0 -0
  237. package/{components → src/components}/Icon/icons/dash-square.d.ts +0 -0
  238. package/{components → src/components}/Icon/icons/dash.d.ts +0 -0
  239. package/{components → src/components}/Icon/icons/download.d.ts +0 -0
  240. package/{components → src/components}/Icon/icons/edit.d.ts +0 -0
  241. package/{components → src/components}/Icon/icons/exclamation-circle-fill.d.ts +0 -0
  242. package/{components → src/components}/Icon/icons/exclamation-circle.d.ts +0 -0
  243. package/{components → src/components}/Icon/icons/exclamation-triangle-fill.d.ts +0 -0
  244. package/{components → src/components}/Icon/icons/exclamation-triangle.d.ts +0 -0
  245. package/{components → src/components}/Icon/icons/exclamation.d.ts +0 -0
  246. package/{components → src/components}/Icon/icons/eye-fill.d.ts +0 -0
  247. package/{components → src/components}/Icon/icons/eye-slash-fill.d.ts +0 -0
  248. package/{components → src/components}/Icon/icons/eye-slash.d.ts +0 -0
  249. package/{components → src/components}/Icon/icons/eye.d.ts +0 -0
  250. package/{components → src/components}/Icon/icons/facebook.d.ts +0 -0
  251. package/{components → src/components}/Icon/icons/file-earmark-text.d.ts +0 -0
  252. package/{components → src/components}/Icon/icons/file-pdf.d.ts +0 -0
  253. package/{components → src/components}/Icon/icons/file-plus.d.ts +0 -0
  254. package/{components → src/components}/Icon/icons/file-text.d.ts +0 -0
  255. package/{components → src/components}/Icon/icons/file.d.ts +0 -0
  256. package/{components → src/components}/Icon/icons/files.d.ts +0 -0
  257. package/{components → src/components}/Icon/icons/folder-check.d.ts +0 -0
  258. package/{components → src/components}/Icon/icons/folder-minus.d.ts +0 -0
  259. package/{components → src/components}/Icon/icons/folder-plus.d.ts +0 -0
  260. package/{components → src/components}/Icon/icons/folder.d.ts +0 -0
  261. package/{components → src/components}/Icon/icons/gear.d.ts +0 -0
  262. package/{components → src/components}/Icon/icons/geo-alt.d.ts +0 -0
  263. package/{components → src/components}/Icon/icons/geo-fill.d.ts +0 -0
  264. package/{components → src/components}/Icon/icons/geo.d.ts +0 -0
  265. package/{components → src/components}/Icon/icons/globe-alt.d.ts +0 -0
  266. package/{components → src/components}/Icon/icons/globe.d.ts +0 -0
  267. package/{components → src/components}/Icon/icons/google.d.ts +0 -0
  268. package/{components → src/components}/Icon/icons/grid-fill.d.ts +0 -0
  269. package/{components → src/components}/Icon/icons/hand-thumbs-down.d.ts +0 -0
  270. package/{components → src/components}/Icon/icons/hand-thumbs-up.d.ts +0 -0
  271. package/{components → src/components}/Icon/icons/hard-drive.d.ts +0 -0
  272. package/{components → src/components}/Icon/icons/heart.d.ts +0 -0
  273. package/{components → src/components}/Icon/icons/house-door.d.ts +0 -0
  274. package/{components → src/components}/Icon/icons/house.d.ts +0 -0
  275. package/{components → src/components}/Icon/icons/image.d.ts +0 -0
  276. package/{components → src/components}/Icon/icons/in-box.d.ts +0 -0
  277. package/{components → src/components}/Icon/icons/info-circle-fill.d.ts +0 -0
  278. package/{components → src/components}/Icon/icons/info-circle.d.ts +0 -0
  279. package/{components → src/components}/Icon/icons/instagram.d.ts +0 -0
  280. package/{components → src/components}/Icon/icons/laptop.d.ts +0 -0
  281. package/{components → src/components}/Icon/icons/layers.d.ts +0 -0
  282. package/{components → src/components}/Icon/icons/layout-text-window-reverse.d.ts +0 -0
  283. package/{components → src/components}/Icon/icons/layout-text-window.d.ts +0 -0
  284. package/{components → src/components}/Icon/icons/layout.d.ts +0 -0
  285. package/{components → src/components}/Icon/icons/lightbulb.d.ts +0 -0
  286. package/{components → src/components}/Icon/icons/link.d.ts +0 -0
  287. package/{components → src/components}/Icon/icons/linkedin.d.ts +0 -0
  288. package/{components → src/components}/Icon/icons/list.d.ts +0 -0
  289. package/{components → src/components}/Icon/icons/lock-fill.d.ts +0 -0
  290. package/{components → src/components}/Icon/icons/lock.d.ts +0 -0
  291. package/{components → src/components}/Icon/icons/login.d.ts +0 -0
  292. package/{components → src/components}/Icon/icons/logout.d.ts +0 -0
  293. package/{components → src/components}/Icon/icons/luggage.d.ts +0 -0
  294. package/{components → src/components}/Icon/icons/mail.d.ts +0 -0
  295. package/{components → src/components}/Icon/icons/map.d.ts +0 -0
  296. package/{components → src/components}/Icon/icons/menu.d.ts +0 -0
  297. package/{components → src/components}/Icon/icons/microphone.d.ts +0 -0
  298. package/{components → src/components}/Icon/icons/monitor.d.ts +0 -0
  299. package/{components → src/components}/Icon/icons/paperclip.d.ts +0 -0
  300. package/{components → src/components}/Icon/icons/passport.d.ts +0 -0
  301. package/{components → src/components}/Icon/icons/pencil.d.ts +0 -0
  302. package/{components → src/components}/Icon/icons/pending-circle.d.ts +0 -0
  303. package/{components → src/components}/Icon/icons/person-dash.d.ts +0 -0
  304. package/{components → src/components}/Icon/icons/person-plus.d.ts +0 -0
  305. package/{components → src/components}/Icon/icons/person-x.d.ts +0 -0
  306. package/{components → src/components}/Icon/icons/person.d.ts +0 -0
  307. package/{components → src/components}/Icon/icons/phone.d.ts +0 -0
  308. package/{components → src/components}/Icon/icons/pin-map-fill.d.ts +0 -0
  309. package/{components → src/components}/Icon/icons/pin.d.ts +0 -0
  310. package/{components → src/components}/Icon/icons/placeholder.d.ts +0 -0
  311. package/{components → src/components}/Icon/icons/plane.d.ts +0 -0
  312. package/{components → src/components}/Icon/icons/plus-circle.d.ts +0 -0
  313. package/{components → src/components}/Icon/icons/plus-square.d.ts +0 -0
  314. package/{components → src/components}/Icon/icons/plus.d.ts +0 -0
  315. package/{components → src/components}/Icon/icons/printer.d.ts +0 -0
  316. package/{components → src/components}/Icon/icons/question-circle.d.ts +0 -0
  317. package/{components → src/components}/Icon/icons/rocket.d.ts +0 -0
  318. package/{components → src/components}/Icon/icons/save.d.ts +0 -0
  319. package/{components → src/components}/Icon/icons/search.d.ts +0 -0
  320. package/{components → src/components}/Icon/icons/send.d.ts +0 -0
  321. package/{components → src/components}/Icon/icons/sg-crest.d.ts +0 -0
  322. package/{components → src/components}/Icon/icons/share.d.ts +0 -0
  323. package/{components → src/components}/Icon/icons/slash-circle.d.ts +0 -0
  324. package/{components → src/components}/Icon/icons/sliders.d.ts +0 -0
  325. package/{components → src/components}/Icon/icons/speedometer.d.ts +0 -0
  326. package/{components → src/components}/Icon/icons/star-fill.d.ts +0 -0
  327. package/{components → src/components}/Icon/icons/star.d.ts +0 -0
  328. package/{components → src/components}/Icon/icons/stoplights.d.ts +0 -0
  329. package/{components → src/components}/Icon/icons/switch-horizontal.d.ts +0 -0
  330. package/{components → src/components}/Icon/icons/switch-vertical.d.ts +0 -0
  331. package/{components → src/components}/Icon/icons/tablet.d.ts +0 -0
  332. package/{components → src/components}/Icon/icons/telephone.d.ts +0 -0
  333. package/{components → src/components}/Icon/icons/three-dots-vertical.d.ts +0 -0
  334. package/{components → src/components}/Icon/icons/three-dots.d.ts +0 -0
  335. package/{components → src/components}/Icon/icons/ticket.d.ts +0 -0
  336. package/{components → src/components}/Icon/icons/toggle-off.d.ts +0 -0
  337. package/{components → src/components}/Icon/icons/toggle-on.d.ts +0 -0
  338. package/{components → src/components}/Icon/icons/train.d.ts +0 -0
  339. package/{components → src/components}/Icon/icons/translate.d.ts +0 -0
  340. package/{components → src/components}/Icon/icons/trash.d.ts +0 -0
  341. package/{components → src/components}/Icon/icons/truck.d.ts +0 -0
  342. package/{components → src/components}/Icon/icons/twitter-x.d.ts +0 -0
  343. package/{components → src/components}/Icon/icons/unlock.d.ts +0 -0
  344. package/{components → src/components}/Icon/icons/upload.d.ts +0 -0
  345. package/{components → src/components}/Icon/icons/user-circle.d.ts +0 -0
  346. package/{components → src/components}/Icon/icons/user-square.d.ts +0 -0
  347. package/{components → src/components}/Icon/icons/users.d.ts +0 -0
  348. package/{components → src/components}/Icon/icons/video-recorder.d.ts +0 -0
  349. package/{components → src/components}/Icon/icons/volume-max.d.ts +0 -0
  350. package/{components → src/components}/Icon/icons/volume-x.d.ts +0 -0
  351. package/{components → src/components}/Icon/icons/window-dash.d.ts +0 -0
  352. package/{components → src/components}/Icon/icons/window-desktop.d.ts +0 -0
  353. package/{components → src/components}/Icon/icons/window-dock.d.ts +0 -0
  354. package/{components → src/components}/Icon/icons/window-fullscreen.d.ts +0 -0
  355. package/{components → src/components}/Icon/icons/window-plus.d.ts +0 -0
  356. package/{components → src/components}/Icon/icons/window-sidebar.d.ts +0 -0
  357. package/{components → src/components}/Icon/icons/window-split.d.ts +0 -0
  358. package/{components → src/components}/Icon/icons/window-stack.d.ts +0 -0
  359. package/{components → src/components}/Icon/icons/window-x.d.ts +0 -0
  360. package/{components → src/components}/Icon/icons/window.d.ts +0 -0
  361. package/{components → src/components}/Icon/icons/xcircle-fill.d.ts +0 -0
  362. package/{components → src/components}/Icon/icons/xcircle.d.ts +0 -0
  363. package/{components → src/components}/Icon/icons/youtube.d.ts +0 -0
  364. package/{components → src/components}/Icon/icons/zoom-in.d.ts +0 -0
  365. package/{components → src/components}/Icon/icons/zoom-out.d.ts +0 -0
  366. package/{components → src/components}/Icon/index.d.ts +0 -0
  367. package/{components → src/components}/Icon/sgds-icon.d.ts +0 -0
  368. package/{components → src/components}/IconButton/index.d.ts +0 -0
  369. package/{components → src/components}/IconButton/sgds-icon-button.d.ts +0 -0
  370. package/{components → src/components}/IconList/index.d.ts +0 -0
  371. package/{components → src/components}/IconList/sgds-icon-list.d.ts +0 -0
  372. package/{components → src/components}/Input/index.d.ts +0 -0
  373. package/{components → src/components}/Link/index.d.ts +0 -0
  374. package/{components → src/components}/Mainnav/index.d.ts +0 -0
  375. package/{components → src/components}/Mainnav/mainnav-context.d.ts +0 -0
  376. package/{components → src/components}/Mainnav/sgds-mainnav-dropdown.d.ts +0 -0
  377. package/{components → src/components}/Mainnav/sgds-mainnav-item.d.ts +0 -0
  378. package/{components → src/components}/Mainnav/sgds-mainnav.d.ts +0 -0
  379. package/{components → src/components}/Masthead/index.d.ts +0 -0
  380. package/{components → src/components}/Masthead/sgds-masthead.d.ts +0 -0
  381. package/{components → src/components}/Modal/index.d.ts +0 -0
  382. package/{components → src/components}/Modal/sgds-modal.d.ts +0 -0
  383. package/{components → src/components}/Pagination/index.d.ts +0 -0
  384. package/{components → src/components}/Pagination/sgds-pagination.d.ts +0 -0
  385. package/{components → src/components}/ProgressBar/index.d.ts +0 -0
  386. package/{components → src/components}/ProgressBar/sgds-progress-bar.d.ts +0 -0
  387. package/{components → src/components}/QuantityToggle/index.d.ts +0 -0
  388. package/{components → src/components}/QuantityToggle/sgds-quantity-toggle.d.ts +0 -0
  389. package/{components → src/components}/Radio/index.d.ts +0 -0
  390. package/{components → src/components}/Radio/sgds-radio-group.d.ts +0 -0
  391. package/{components → src/components}/Radio/sgds-radio.d.ts +0 -0
  392. package/{components → src/components}/Select/index.d.ts +0 -0
  393. package/{components → src/components}/Select/select-item.d.ts +0 -0
  394. package/{components → src/components}/Select/sgds-select.d.ts +0 -0
  395. package/{components → src/components}/Sidenav/index.d.ts +0 -0
  396. package/{components → src/components}/Sidenav/sgds-sidenav-item.d.ts +0 -0
  397. package/{components → src/components}/Sidenav/sgds-sidenav-link.d.ts +0 -0
  398. package/{components → src/components}/Sidenav/sgds-sidenav.d.ts +0 -0
  399. package/{components → src/components}/Skeleton/index.d.ts +0 -0
  400. package/{components → src/components}/Skeleton/sgds-skeleton.d.ts +0 -0
  401. package/{components → src/components}/Spinner/index.d.ts +0 -0
  402. package/{components → src/components}/Spinner/sgds-spinner.d.ts +0 -0
  403. package/{components → src/components}/Stepper/index.d.ts +0 -0
  404. package/{components → src/components}/Stepper/sgds-stepper.d.ts +0 -0
  405. package/{components → src/components}/Subnav/index.d.ts +0 -0
  406. package/{components → src/components}/Subnav/sgds-subnav-item.d.ts +0 -0
  407. package/{components → src/components}/Subnav/sgds-subnav.d.ts +0 -0
  408. package/{components → src/components}/Switch/index.d.ts +0 -0
  409. package/{components → src/components}/Switch/sgds-switch.d.ts +0 -0
  410. package/{components → src/components}/Tab/index.d.ts +0 -0
  411. package/{components → src/components}/Tab/sgds-tab-group.d.ts +0 -0
  412. package/{components → src/components}/Tab/sgds-tab-panel.d.ts +0 -0
  413. package/{components → src/components}/Tab/sgds-tab.d.ts +0 -0
  414. package/{components → src/components}/Table/index.d.ts +0 -0
  415. package/{components → src/components}/Table/sgds-table-cell.d.ts +0 -0
  416. package/{components → src/components}/Table/sgds-table-head.d.ts +0 -0
  417. package/{components → src/components}/Table/sgds-table-row.d.ts +0 -0
  418. package/{components → src/components}/Table/sgds-table.d.ts +0 -0
  419. package/{components → src/components}/TableOfContents/index.d.ts +0 -0
  420. package/{components → src/components}/TableOfContents/sgds-table-of-contents.d.ts +0 -0
  421. package/{components → src/components}/Textarea/index.d.ts +0 -0
  422. package/{components → src/components}/Textarea/sgds-textarea.d.ts +0 -0
  423. package/{components → src/components}/Toast/index.d.ts +0 -0
  424. package/{components → src/components}/Toast/sgds-toast-container.d.ts +0 -0
  425. package/{components → src/components}/Toast/sgds-toast.d.ts +0 -0
  426. package/{components → src/components}/Tooltip/index.d.ts +0 -0
  427. package/{components → src/components}/Tooltip/sgds-tooltip.d.ts +0 -0
  428. package/{components → src/components}/index.d.ts +0 -0
  429. package/{index.d.ts → src/index.d.ts} +0 -0
  430. package/{internals → src/internals}/CloseButton/index.d.ts +0 -0
  431. package/{internals → src/internals}/CloseButton/sgds-close-button.d.ts +0 -0
  432. package/{internals → src/internals}/OverflowMenu/index.d.ts +0 -0
  433. package/{internals → src/internals}/OverflowMenu/sgds-overflow-menu.d.ts +0 -0
  434. package/{react → src/react}/accordion/index.d.ts +0 -0
  435. package/{react → src/react}/accordion-item/index.d.ts +0 -0
  436. package/{react → src/react}/alert/index.d.ts +0 -0
  437. package/{react → src/react}/alert-link/index.d.ts +0 -0
  438. package/{react → src/react}/badge/index.d.ts +0 -0
  439. package/{react → src/react}/breadcrumb/index.d.ts +0 -0
  440. package/{react → src/react}/breadcrumb-item/index.d.ts +0 -0
  441. package/{react → src/react}/button/index.d.ts +0 -0
  442. package/{react → src/react}/card/index.d.ts +0 -0
  443. package/{react → src/react}/checkbox/index.d.ts +0 -0
  444. package/{react → src/react}/checkbox-group/index.d.ts +0 -0
  445. package/{react → src/react}/combo-box/index.d.ts +0 -0
  446. package/{react → src/react}/datepicker/index.d.ts +0 -0
  447. package/{react → src/react}/description-list/index.d.ts +0 -0
  448. package/{react → src/react}/description-list-group/index.d.ts +0 -0
  449. package/{react → src/react}/divider/index.d.ts +0 -0
  450. package/{react → src/react}/drawer/index.d.ts +0 -0
  451. package/{react → src/react}/dropdown/index.d.ts +0 -0
  452. package/{react → src/react}/dropdown-item/index.d.ts +0 -0
  453. package/{react → src/react}/file-upload/index.d.ts +0 -0
  454. package/{react → src/react}/footer/index.d.ts +0 -0
  455. package/{react → src/react}/footer-item/index.d.ts +0 -0
  456. package/{react → src/react}/icon/index.d.ts +0 -0
  457. package/{react → src/react}/icon-button/index.d.ts +0 -0
  458. package/{react → src/react}/icon-list/index.d.ts +0 -0
  459. package/{react → src/react}/index.d.ts +1 -1
  460. /package/{react → src/react}/input/index.d.ts +0 -0
  461. /package/{react → src/react}/link/index.d.ts +0 -0
  462. /package/{react → src/react}/mainnav/index.d.ts +0 -0
  463. /package/{react → src/react}/mainnav-dropdown/index.d.ts +0 -0
  464. /package/{react → src/react}/mainnav-item/index.d.ts +0 -0
  465. /package/{react → src/react}/masthead/index.d.ts +0 -0
  466. /package/{react → src/react}/modal/index.d.ts +0 -0
  467. /package/{react → src/react}/pagination/index.d.ts +0 -0
  468. /package/{react → src/react}/progress-bar/index.d.ts +0 -0
  469. /package/{react → src/react}/quantity-toggle/index.d.ts +0 -0
  470. /package/{react → src/react}/radio/index.d.ts +0 -0
  471. /package/{react → src/react}/radio-group/index.d.ts +0 -0
  472. /package/{react → src/react}/select/index.d.ts +0 -0
  473. /package/{react → src/react}/sidenav/index.d.ts +0 -0
  474. /package/{react → src/react}/sidenav-item/index.d.ts +0 -0
  475. /package/{react → src/react}/sidenav-link/index.d.ts +0 -0
  476. /package/{react → src/react}/skeleton/index.d.ts +0 -0
  477. /package/{react → src/react}/spinner/index.d.ts +0 -0
  478. /package/{react → src/react}/stepper/index.d.ts +0 -0
  479. /package/{react → src/react}/subnav/index.d.ts +0 -0
  480. /package/{react → src/react}/subnav-item/index.d.ts +0 -0
  481. /package/{react → src/react}/switch/index.d.ts +0 -0
  482. /package/{react → src/react}/tab/index.d.ts +0 -0
  483. /package/{react → src/react}/tab-group/index.d.ts +0 -0
  484. /package/{react → src/react}/tab-panel/index.d.ts +0 -0
  485. /package/{react → src/react}/table/index.d.ts +0 -0
  486. /package/{react → src/react}/table-cell/index.d.ts +0 -0
  487. /package/{react → src/react}/table-head/index.d.ts +0 -0
  488. /package/{react → src/react}/table-of-contents/index.d.ts +0 -0
  489. /package/{react → src/react}/table-row/index.d.ts +0 -0
  490. /package/{react → src/react}/textarea/index.d.ts +0 -0
  491. /package/{react → src/react}/toast/index.d.ts +0 -0
  492. /package/{react → src/react}/toast-container/index.d.ts +0 -0
  493. /package/{react → src/react}/tooltip/index.d.ts +0 -0
  494. /package/{utils → src/utils}/animate.d.ts +0 -0
  495. /package/{utils → src/utils}/animation-registry.d.ts +0 -0
  496. /package/{utils → src/utils}/breakpoints.d.ts +0 -0
  497. /package/{utils → src/utils}/ce-registry.d.ts +0 -0
  498. /package/{utils → src/utils}/defaultvalue.d.ts +0 -0
  499. /package/{utils → src/utils}/event.d.ts +0 -0
  500. /package/{utils → src/utils}/formSubmitController.d.ts +0 -0
  501. /package/{utils → src/utils}/generateCustomElementName.d.ts +0 -0
  502. /package/{utils → src/utils}/generateId.d.ts +0 -0
  503. /package/{utils → src/utils}/inputValidationController.d.ts +0 -0
  504. /package/{utils → src/utils}/mergeDeep.d.ts +0 -0
  505. /package/{utils → src/utils}/modal.d.ts +0 -0
  506. /package/{utils → src/utils}/object.d.ts +0 -0
  507. /package/{utils → src/utils}/offset.d.ts +0 -0
  508. /package/{utils → src/utils}/scroll.d.ts +0 -0
  509. /package/{utils → src/utils}/slot.d.ts +0 -0
  510. /package/{utils → src/utils}/tabbable.d.ts +0 -0
  511. /package/{utils → src/utils}/test.d.ts +0 -0
  512. /package/{utils → src/utils}/time.d.ts +0 -0
  513. /package/{utils → src/utils}/validatorMixin.d.ts +0 -0
  514. /package/{utils → src/utils}/watch.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { css } from 'lit';
2
2
 
3
- var css_248z = css`:host{--input-border-radius:var(--sgds-form-border-radius-md)}.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius);display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;min-width:var(--sgds-dimension-256);padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-size:var(--sgds-font-size-2);line-height:var(--sgds-line-height-body);outline:none;padding:0}.form-control-group>.form-control:focus{z-index:3}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.form-control-group.readonly{border-color:var(--sgds-border-color-muted)}.form-control-group:not(.disabled):not(.is-invalid):hover{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis)}.form-control-group:not(.disabled):not(.is-invalid):focus,.form-control-group:not(.disabled):not(.is-invalid):focus-within{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);box-shadow:var(--sgds-form-box-shadow-focus);outline:0}.form-control-group.is-invalid{border:var(--sgds-form-border-width-thick) solid var(--sgds-form-danger-border-color-default)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}`;
3
+ var css_248z = css`:host{--input-border-radius:var(--sgds-form-border-radius-md)}.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius);display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;min-width:var(--sgds-dimension-256);padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-size:var(--sgds-font-size-2);line-height:var(--sgds-line-height-body);outline:none;padding:0}.form-control-group>.form-control:focus{z-index:3}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.form-control-group.readonly{background-color:var(--sgds-form-surface-raised)}.form-control-group:not(.disabled):not(.is-invalid):not(.readonly):hover{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis)}.form-control-group:not(.disabled):not(.is-invalid):focus,.form-control-group:not(.disabled):not(.is-invalid):focus-within{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);box-shadow:var(--sgds-form-box-shadow-focus);outline:0}.form-control-group.is-invalid{border:var(--sgds-form-border-width-thick) solid var(--sgds-form-danger-border-color-default)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}sgds-icon[role=button]{cursor:pointer}sgds-icon[role=button]:focus,sgds-icon[role=button]:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:none}.form-control-row{align-items:center;display:flex;gap:var(--sgds-gap-sm)}`;
4
4
 
5
5
  export { css_248z as default };
6
6
  //# sourceMappingURL=input.js.map
@@ -18,7 +18,8 @@ import { SgdsIcon } from '../Icon/sgds-icon.js';
18
18
  * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.
19
19
  *
20
20
  * @slot icon - The slot for leading icon of text input
21
- *
21
+ * @slot trailing-icon - The slot for trailing icon of text input. When present, it overrides valid icon and loading spinner rendered when valid prop or loading prop are true
22
+ * @slot action - The slot for call to action of the text input. It is recommended to use sgds-icon-button within this slot
22
23
  * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.
23
24
  * @event sgds-input - Emitted when the control receives input and its value changes.
24
25
  * @event sgds-focus - Emitted when input is in focus.
@@ -48,6 +49,7 @@ class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) {
48
49
  /**The input's value attribute. */
49
50
  this.value = "";
50
51
  this._isTouched = false;
52
+ this._showPassword = false;
51
53
  }
52
54
  /** Sets focus on the input. */
53
55
  focus(options) {
@@ -140,7 +142,7 @@ class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) {
140
142
  ${this.prefix ? html `<span class="form-control-prefix">${this.prefix}</span>` : nothing}
141
143
  <input
142
144
  class="form-control"
143
- type=${this.type}
145
+ type=${this._inputType()}
144
146
  id=${this._controlId}
145
147
  name=${ifDefined(this.name)}
146
148
  placeholder=${ifDefined(this.placeholder)}
@@ -166,12 +168,29 @@ class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) {
166
168
  ? `${this._controlId}-invalid`
167
169
  : ""}"
168
170
  />
169
- ${this.loading ? html `<sgds-spinner size="sm"></sgds-spinner>` : nothing}
170
- ${this.valid ? html `<sgds-icon name="check-circle-fill" class="valid-icon"></sgds-icon>` : nothing}
171
+ ${this.type === "password" ? this._renderPasswordToggle() : nothing}
171
172
  ${this.suffix ? html `<span class="form-control-suffix">${this.suffix}</span>` : nothing}
173
+ <slot name="trailing-icon">
174
+ ${this.loading ? html `<sgds-spinner size="sm"></sgds-spinner>` : nothing}
175
+ ${this.valid ? html `<sgds-icon name="check-circle-fill" class="valid-icon"></sgds-icon>` : nothing}
176
+ </slot>
172
177
  </div>
173
178
  `;
174
179
  }
180
+ _renderPasswordToggle() {
181
+ return html `<sgds-icon
182
+ tabIndex="0"
183
+ role="button"
184
+ name=${this._showPassword ? "eye-slash-fill" : "eye-fill"}
185
+ @click=${() => (this._showPassword = !this._showPassword)}
186
+ ></sgds-icon>`;
187
+ }
188
+ _inputType() {
189
+ if (this.type === "password" && this._showPassword) {
190
+ return "text";
191
+ }
192
+ return this.type;
193
+ }
175
194
  _renderFeedback() {
176
195
  const wantFeedbackText = this.hasFeedback === "both" || this.hasFeedback === "text";
177
196
  return this.invalid && wantFeedbackText
@@ -208,7 +227,12 @@ class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) {
208
227
  disabled: this.disabled
209
228
  })}"
210
229
  >
211
- ${this._renderLabel()} ${this._renderInput()} ${this._renderFeedback()}
230
+ ${this._renderLabel()}
231
+ <div class="form-control-row">
232
+ ${this._renderInput()}
233
+ <slot name="action"></slot>
234
+ </div>
235
+ ${this._renderFeedback()}
212
236
  </div>
213
237
  `;
214
238
  }
@@ -279,6 +303,9 @@ __decorate([
279
303
  __decorate([
280
304
  state()
281
305
  ], SgdsInput.prototype, "_isTouched", void 0);
306
+ __decorate([
307
+ state()
308
+ ], SgdsInput.prototype, "_showPassword", void 0);
282
309
  __decorate([
283
310
  watch("_isTouched", { waitUntilFirstUpdate: true })
284
311
  ], SgdsInput.prototype, "_handleIsTouched", null);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-input.js","sources":["../../../src/components/Input/sgds-input.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport FormControlElement from \"../../base/form-control-element\";\nimport formPlaceholderStyles from \"../../styles/form-placeholder.css\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport type { SgdsFormControl } from \"../../utils/formSubmitController\";\nimport { SgdsFormValidatorMixin } from \"../../utils/validatorMixin\";\nimport { watch } from \"../../utils/watch\";\nimport { SgdsSpinner } from \"../Spinner/sgds-spinner\";\nimport inputStyle from \"./input.css\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\n/**\n * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.\n *\n * @slot icon - The slot for leading icon of text input\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when input is in focus.\n * @event sgds-blur - Emitted when input is not in focus.\n * @event sgds-invalid - Emitted when input is invalid\n * @event sgds-valid - Emitted when input is valid\n *\n */\nexport class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) implements SgdsFormControl {\n static styles = [...FormControlElement.styles, formPlaceholderStyles, inputStyle];\n /** @internal */\n static dependencies = {\n \"sgds-spinner\": SgdsSpinner,\n \"sgds-icon\": SgdsIcon\n };\n\n @property({ reflect: true }) type: \"email\" | \"number\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"time\" | \"url\" =\n \"text\";\n\n /** The prefix of the input */\n @property({ type: String }) prefix: string;\n\n /** The suffix of the input */\n @property({ type: String }) suffix: string;\n\n /** Sets the minimum length of the input */\n @property({ type: Number, reflect: true }) minlength: number;\n\n /** Sets the maximum length of the input */\n @property({ type: Number, reflect: true }) maxlength: number;\n\n /** The input's minimum value. Only applies number input types. */\n @property() min: number;\n\n /** The input's maximum value. Only applies number input types. */\n @property() max: number;\n\n /** The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n\n /** A pattern to validate input against. */\n @property({ type: String }) pattern: string;\n\n /** Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**\n * Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\n * implied, allowing any numeric value. Only applies to number input types.\n */\n @property() step: number | \"any\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: String, reflect: true }) hasFeedback: \"style\" | \"text\" | \"both\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback: string;\n\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n /** Marks the component as valid. */\n @property({ type: Boolean, reflect: true }) valid = false;\n\n /** Marks the component as loading. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n\n @state() protected _isTouched = false;\n\n /** Sets focus on the input. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n /** Sets blur on the input. */\n public blur() {\n this.input.blur();\n }\n\n /**\n * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state\n * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput\n */\n public reportValidity(): boolean {\n return this._mixinReportValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public checkValidity(): boolean {\n return this._mixinCheckValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public setValidity(flags?: ValidityStateFlags, message?: string, anchor?: HTMLElement): void {\n return this._mixinSetValidity(flags, message, anchor);\n }\n\n /**\n * Returns the ValidityState object\n */\n public get validity(): ValidityState {\n return this._mixinGetValidity();\n }\n /**\n * Returns the validation message based on the ValidityState\n */\n public get validationMessage() {\n return this._mixinGetValidationMessage();\n }\n\n protected _handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n protected _handleBlur() {\n const sgdsBlur = this.emit(\"sgds-blur\", { cancelable: true });\n this.setInvalid(!this._mixinCheckValidity());\n if (sgdsBlur.defaultPrevented) return;\n\n this._isTouched = true;\n }\n private _handleClick() {\n this.focus();\n }\n\n protected _handleChange(e: Event) {\n this.value = this.input.value;\n const sgdsChange = this.emit(\"sgds-change\", { cancelable: true });\n if (sgdsChange.defaultPrevented) return;\n\n super._mixinHandleChange(e);\n }\n protected _handleInputChange(e: Event) {\n this.value = this.input.value;\n const sgdsInput = this.emit(\"sgds-input\", { cancelable: true });\n\n if (sgdsInput.defaultPrevented) return;\n super._mixinHandleInputChange(e);\n }\n /** @internal */\n @watch(\"_isTouched\", { waitUntilFirstUpdate: true })\n _handleIsTouched() {\n if (this._isTouched) {\n this.setInvalid(!this._mixinCheckValidity());\n }\n }\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.setInvalid(false);\n }\n\n protected _renderInput() {\n const wantFeedbackStyle = this.hasFeedback === \"both\" || this.hasFeedback === \"style\";\n return html`\n <div\n class=\"form-control-group ${classMap({\n disabled: this.disabled,\n readonly: this.readonly,\n \"is-invalid\": this.invalid && wantFeedbackStyle\n })}\"\n @click=${this._handleClick}\n >\n <slot name=\"icon\"></slot>\n ${this.prefix ? html`<span class=\"form-control-prefix\">${this.prefix}</span>` : nothing}\n <input\n class=\"form-control\"\n type=${this.type}\n id=${this._controlId}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n pattern=${ifDefined(this.pattern)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .value=${live(this.value)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step as number)}\n @input=${(e: Event) => this._handleInputChange(e)}\n @change=${(e: Event) => this._handleChange(e)}\n @invalid=${() => this.setInvalid(true)}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n aria-describedby=${ifDefined(this.invalid && this.hasFeedback ? `${this._controlId}-invalid` : undefined)}\n aria-labelledby=\"${this._labelId} ${this._controlId}Help ${this.invalid && this.hasFeedback\n ? `${this._controlId}-invalid`\n : \"\"}\"\n />\n ${this.loading ? html`<sgds-spinner size=\"sm\"></sgds-spinner>` : nothing}\n ${this.valid ? html`<sgds-icon name=\"check-circle-fill\" class=\"valid-icon\"></sgds-icon>` : nothing}\n ${this.suffix ? html`<span class=\"form-control-suffix\">${this.suffix}</span>` : nothing}\n </div>\n `;\n }\n protected _renderFeedback() {\n const wantFeedbackText = this.hasFeedback === \"both\" || this.hasFeedback === \"text\";\n return this.invalid && wantFeedbackText\n ? html` <div class=\"invalid-feedback-container\">\n <sgds-icon name=\"exclamation-circle-fill\" size=\"md\"></sgds-icon>\n <div id=\"${this._controlId}-invalid\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.input.validationMessage}\n </div>\n </div>`\n : html`${this._renderHintText()}`;\n }\n protected _renderLabel() {\n const labelTemplate = html`\n <label\n for=${this._controlId}\n id=${this._labelId}\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >${this.label}</label\n >\n `;\n return this.label && labelTemplate;\n }\n protected _renderHintText() {\n const hintTextTemplate = html` <div id=\"${this._controlId}Help\" class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n render() {\n return html`\n <div\n class=\"form-control-container ${classMap({\n disabled: this.disabled\n })}\"\n >\n ${this._renderLabel()} ${this._renderInput()} ${this._renderFeedback()}\n </div>\n `;\n }\n}\n\nexport default SgdsInput;\n"],"names":["formPlaceholderStyles","inputStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-input.js","sources":["../../../src/components/Input/sgds-input.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport FormControlElement from \"../../base/form-control-element\";\nimport formPlaceholderStyles from \"../../styles/form-placeholder.css\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport type { SgdsFormControl } from \"../../utils/formSubmitController\";\nimport { SgdsFormValidatorMixin } from \"../../utils/validatorMixin\";\nimport { watch } from \"../../utils/watch\";\nimport { SgdsSpinner } from \"../Spinner/sgds-spinner\";\nimport inputStyle from \"./input.css\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\n/**\n * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.\n *\n * @slot icon - The slot for leading icon of text input\n * @slot trailing-icon - The slot for trailing icon of text input. When present, it overrides valid icon and loading spinner rendered when valid prop or loading prop are true\n * @slot action - The slot for call to action of the text input. It is recommended to use sgds-icon-button within this slot\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when input is in focus.\n * @event sgds-blur - Emitted when input is not in focus.\n * @event sgds-invalid - Emitted when input is invalid\n * @event sgds-valid - Emitted when input is valid\n *\n */\nexport class SgdsInput extends SgdsFormValidatorMixin(FormControlElement) implements SgdsFormControl {\n static styles = [...FormControlElement.styles, formPlaceholderStyles, inputStyle];\n /** @internal */\n static dependencies = {\n \"sgds-spinner\": SgdsSpinner,\n \"sgds-icon\": SgdsIcon\n };\n\n @property({ reflect: true }) type: \"email\" | \"number\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"time\" | \"url\" =\n \"text\";\n\n /** The prefix of the input */\n @property({ type: String }) prefix: string;\n\n /** The suffix of the input */\n @property({ type: String }) suffix: string;\n\n /** Sets the minimum length of the input */\n @property({ type: Number, reflect: true }) minlength: number;\n\n /** Sets the maximum length of the input */\n @property({ type: Number, reflect: true }) maxlength: number;\n\n /** The input's minimum value. Only applies number input types. */\n @property() min: number;\n\n /** The input's maximum value. Only applies number input types. */\n @property() max: number;\n\n /** The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n\n /** A pattern to validate input against. */\n @property({ type: String }) pattern: string;\n\n /** Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**\n * Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\n * implied, allowing any numeric value. Only applies to number input types.\n */\n @property() step: number | \"any\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: String, reflect: true }) hasFeedback: \"style\" | \"text\" | \"both\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback: string;\n\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n /** Marks the component as valid. */\n @property({ type: Boolean, reflect: true }) valid = false;\n\n /** Marks the component as loading. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n\n @state() protected _isTouched = false;\n\n @state() private _showPassword = false;\n\n /** Sets focus on the input. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n /** Sets blur on the input. */\n public blur() {\n this.input.blur();\n }\n\n /**\n * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state\n * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput\n */\n public reportValidity(): boolean {\n return this._mixinReportValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public checkValidity(): boolean {\n return this._mixinCheckValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public setValidity(flags?: ValidityStateFlags, message?: string, anchor?: HTMLElement): void {\n return this._mixinSetValidity(flags, message, anchor);\n }\n\n /**\n * Returns the ValidityState object\n */\n public get validity(): ValidityState {\n return this._mixinGetValidity();\n }\n /**\n * Returns the validation message based on the ValidityState\n */\n public get validationMessage() {\n return this._mixinGetValidationMessage();\n }\n\n protected _handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n protected _handleBlur() {\n const sgdsBlur = this.emit(\"sgds-blur\", { cancelable: true });\n this.setInvalid(!this._mixinCheckValidity());\n if (sgdsBlur.defaultPrevented) return;\n\n this._isTouched = true;\n }\n private _handleClick() {\n this.focus();\n }\n\n protected _handleChange(e: Event) {\n this.value = this.input.value;\n const sgdsChange = this.emit(\"sgds-change\", { cancelable: true });\n if (sgdsChange.defaultPrevented) return;\n\n super._mixinHandleChange(e);\n }\n protected _handleInputChange(e: Event) {\n this.value = this.input.value;\n const sgdsInput = this.emit(\"sgds-input\", { cancelable: true });\n\n if (sgdsInput.defaultPrevented) return;\n super._mixinHandleInputChange(e);\n }\n /** @internal */\n @watch(\"_isTouched\", { waitUntilFirstUpdate: true })\n _handleIsTouched() {\n if (this._isTouched) {\n this.setInvalid(!this._mixinCheckValidity());\n }\n }\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.setInvalid(false);\n }\n\n protected _renderInput() {\n const wantFeedbackStyle = this.hasFeedback === \"both\" || this.hasFeedback === \"style\";\n return html`\n <div\n class=\"form-control-group ${classMap({\n disabled: this.disabled,\n readonly: this.readonly,\n \"is-invalid\": this.invalid && wantFeedbackStyle\n })}\"\n @click=${this._handleClick}\n >\n <slot name=\"icon\"></slot>\n ${this.prefix ? html`<span class=\"form-control-prefix\">${this.prefix}</span>` : nothing}\n <input\n class=\"form-control\"\n type=${this._inputType()}\n id=${this._controlId}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n pattern=${ifDefined(this.pattern)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .value=${live(this.value)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step as number)}\n @input=${(e: Event) => this._handleInputChange(e)}\n @change=${(e: Event) => this._handleChange(e)}\n @invalid=${() => this.setInvalid(true)}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n aria-describedby=${ifDefined(this.invalid && this.hasFeedback ? `${this._controlId}-invalid` : undefined)}\n aria-labelledby=\"${this._labelId} ${this._controlId}Help ${this.invalid && this.hasFeedback\n ? `${this._controlId}-invalid`\n : \"\"}\"\n />\n ${this.type === \"password\" ? this._renderPasswordToggle() : nothing}\n ${this.suffix ? html`<span class=\"form-control-suffix\">${this.suffix}</span>` : nothing}\n <slot name=\"trailing-icon\">\n ${this.loading ? html`<sgds-spinner size=\"sm\"></sgds-spinner>` : nothing}\n ${this.valid ? html`<sgds-icon name=\"check-circle-fill\" class=\"valid-icon\"></sgds-icon>` : nothing}\n </slot>\n </div>\n `;\n }\n protected _renderPasswordToggle() {\n return html`<sgds-icon\n tabIndex=\"0\"\n role=\"button\"\n name=${this._showPassword ? \"eye-slash-fill\" : \"eye-fill\"}\n @click=${() => (this._showPassword = !this._showPassword)}\n ></sgds-icon>`;\n }\n protected _inputType() {\n if (this.type === \"password\" && this._showPassword) {\n return \"text\";\n }\n return this.type;\n }\n protected _renderFeedback() {\n const wantFeedbackText = this.hasFeedback === \"both\" || this.hasFeedback === \"text\";\n return this.invalid && wantFeedbackText\n ? html` <div class=\"invalid-feedback-container\">\n <sgds-icon name=\"exclamation-circle-fill\" size=\"md\"></sgds-icon>\n <div id=\"${this._controlId}-invalid\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.input.validationMessage}\n </div>\n </div>`\n : html`${this._renderHintText()}`;\n }\n protected _renderLabel() {\n const labelTemplate = html`\n <label\n for=${this._controlId}\n id=${this._labelId}\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >${this.label}</label\n >\n `;\n return this.label && labelTemplate;\n }\n protected _renderHintText() {\n const hintTextTemplate = html` <div id=\"${this._controlId}Help\" class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n render() {\n return html`\n <div\n class=\"form-control-container ${classMap({\n disabled: this.disabled\n })}\"\n >\n ${this._renderLabel()}\n <div class=\"form-control-row\">\n ${this._renderInput()}\n <slot name=\"action\"></slot>\n </div>\n ${this._renderFeedback()}\n </div>\n `;\n }\n}\n\nexport default SgdsInput;\n"],"names":["formPlaceholderStyles","inputStyle"],"mappings":"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"}
@@ -4136,7 +4136,7 @@
4136
4136
  /** @internal */
4137
4137
  SgdsElement.dependencies = {};
4138
4138
 
4139
- var css_248z = css`.nav-link::slotted(a){align-items:center;color:var(--sgds-link-color-default);cursor:pointer;display:inline-flex;flex-shrink:0;gap:var(--sgds-gap-2-xs);height:var(--sgds-dimension-24);justify-content:center;text-decoration:none!important}.nav-link::slotted(a:focus),.nav-link::slotted(a:focus-visible),.nav-link::slotted(a:hover),.nav-link::slotted(a[active]){color:var( --sgds-link-color-emphasis)}.nav-link::slotted(a:focus),.nav-link::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus);outline:0}.nav-link::slotted(a[disabled]){cursor:not-allowed;opacity:var(--sgds-opacity-50)}:host([variant=danger]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-danger-color-default);color:var(--sgds-link-color-default,--sgds-danger-color-default)}:host([variant=danger]) .nav-link::slotted(a:focus),:host([variant=danger]) .nav-link::slotted(a:focus-visible),:host([variant=danger]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-danger-color-emphasis);color:var(--sgds-link-color-emphasis,--sgds-danger-color-emphasis)}:host([variant=light]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-color-fixed-light);color:var(--sgds-link-color-default,--sgds-color-fixed-light)}:host([variant=light]) .nav-link::slotted(a:focus),:host([variant=light]) .nav-link::slotted(a:focus-visible),:host([variant=light]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-color-fixed-light);color:var(--sgds-link-color-emphasis,--sgds-color-fixed-light)}:host([variant=dark]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-color-fixed-dark);color:var(--sgds-link-color-default,--sgds-color-fixed-dark)}:host([variant=dark]) .nav-link::slotted(a:focus),:host([variant=dark]) .nav-link::slotted(a:focus-visible),:host([variant=dark]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-color-fixed-dark);color:var(--sgds-link-color-emphasis,--sgds-color-fixed-dark)}:host([size=lg]) .nav-link::slotted(a){font-size:var(--sgds-font-size-3)!important;height:var(--sgds-dimension-32)}:host([size=sm]) .nav-link::slotted(a){font-size:var(--sgds-font-size-1)!important;height:var(--sgds-dimension-20)}`;
4139
+ var css_248z = css`.nav-link::slotted(a){align-items:center;color:var(--sgds-link-color-default);cursor:pointer;display:inline-flex;flex-shrink:0;gap:var(--sgds-gap-2-xs);justify-content:center;line-height:var(--sgds-line-height-body);text-decoration:none!important}.nav-link::slotted(a:focus),.nav-link::slotted(a:focus-visible),.nav-link::slotted(a:hover),.nav-link::slotted(a[active]){color:var( --sgds-link-color-emphasis)}.nav-link::slotted(a:focus),.nav-link::slotted(a:focus-visible){outline:0}.nav-link::slotted(a:focus-visible:not([disabled])),.nav-link::slotted(a:focus:not([disabled])){box-shadow:var(--sgds-box-shadow-focus)}.nav-link::slotted(a[disabled]){cursor:not-allowed;opacity:var(--sgds-opacity-50)}:host([variant=danger]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-danger-color-default);color:var(--sgds-link-color-default,--sgds-danger-color-default)}:host([variant=danger]) .nav-link::slotted(a:focus),:host([variant=danger]) .nav-link::slotted(a:focus-visible),:host([variant=danger]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-danger-color-emphasis);color:var(--sgds-link-color-emphasis,--sgds-danger-color-emphasis)}:host([variant=neutral]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-color-default);color:var(--sgds-link-color-default,--sgds-color-default)}:host([variant=neutral]) .nav-link::slotted(a:focus),:host([variant=neutral]) .nav-link::slotted(a:focus-visible),:host([variant=neutral]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-color-default);color:var(--sgds-link-color-emphasis,--sgds-color-default)}:host([variant=light]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-color-fixed-light);color:var(--sgds-link-color-default,--sgds-color-fixed-light)}:host([variant=light]) .nav-link::slotted(a:focus),:host([variant=light]) .nav-link::slotted(a:focus-visible),:host([variant=light]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-color-fixed-light);color:var(--sgds-link-color-emphasis,--sgds-color-fixed-light)}:host([variant=dark]) .nav-link::slotted(a){--sgds-link-color-default:var(--sgds-color-fixed-dark);color:var(--sgds-link-color-default,--sgds-color-fixed-dark)}:host([variant=dark]) .nav-link::slotted(a:focus),:host([variant=dark]) .nav-link::slotted(a:focus-visible),:host([variant=dark]) .nav-link::slotted(a:hover){--sgds-link-color-emphasis:var(--sgds-color-fixed-dark);color:var(--sgds-link-color-emphasis,--sgds-color-fixed-dark)}:host([size=lg]) .nav-link::slotted(a){font-size:var(--sgds-font-size-3)!important}:host([size=sm]) .nav-link::slotted(a){font-size:var(--sgds-font-size-1)!important;line-height:var(--sgds-line-height-min)}:host([size=xs]) .nav-link::slotted(a){font-size:var(--sgds-font-size-0)!important;line-height:var(--sgds-line-height-16)}`;
4140
4140
 
4141
4141
  /**
4142
4142
  * @summary Link allows users to click and navigate their way from page to page
@@ -4151,7 +4151,7 @@
4151
4151
  /** when true, sets the active stylings of the link */
4152
4152
  this.variant = "primary";
4153
4153
  }
4154
- _handleSlotChange(e) {
4154
+ _handleSlotChange() {
4155
4155
  const anchor = this.querySelector("a");
4156
4156
  if (anchor) {
4157
4157
  if (anchor.hasAttribute("disabled")) {