@govtechsg/sgds-web-component 3.2.0-rc.0 → 3.2.0-rc.1

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 (333) hide show
  1. package/base/button.js +1 -1
  2. package/base/card-element.d.ts +14 -0
  3. package/base/card-element.js +53 -2
  4. package/base/card-element.js.map +1 -1
  5. package/base/card.js +1 -1
  6. package/components/Badge/index.umd.js +63 -44
  7. package/components/Badge/index.umd.js.map +1 -1
  8. package/components/Badge/sgds-badge.d.ts +3 -1
  9. package/components/Badge/sgds-badge.js +23 -4
  10. package/components/Badge/sgds-badge.js.map +1 -1
  11. package/components/Breadcrumb/index.umd.js +2 -2
  12. package/components/Breadcrumb/index.umd.js.map +1 -1
  13. package/components/Breadcrumb/sgds-breadcrumb.d.ts +1 -1
  14. package/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  15. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  16. package/components/Button/index.umd.js +1 -1
  17. package/components/Card/card.js +1 -1
  18. package/components/Card/index.umd.js +121 -69
  19. package/components/Card/index.umd.js.map +1 -1
  20. package/components/Card/sgds-card.d.ts +4 -15
  21. package/components/Card/sgds-card.js +16 -54
  22. package/components/Card/sgds-card.js.map +1 -1
  23. package/components/Card/types.d.ts +3 -0
  24. package/components/ComboBox/combo-box-item2.js +1 -1
  25. package/components/ComboBox/index.umd.js +30 -10
  26. package/components/ComboBox/index.umd.js.map +1 -1
  27. package/components/ComboBox/sgds-combo-box.js +3 -2
  28. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  29. package/components/Datepicker/index.umd.js +30 -13
  30. package/components/Datepicker/index.umd.js.map +1 -1
  31. package/components/Datepicker/sgds-datepicker.d.ts +13 -3
  32. package/components/Datepicker/sgds-datepicker.js +29 -11
  33. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  34. package/components/Drawer/index.umd.js +2 -2
  35. package/components/Drawer/index.umd.js.map +1 -1
  36. package/components/Dropdown/dropdown-item.js +1 -1
  37. package/components/Dropdown/dropdown.js +1 -1
  38. package/components/Dropdown/index.umd.js +2 -2
  39. package/components/FileUpload/index.umd.js +1 -1
  40. package/components/IconButton/index.umd.js +1 -1
  41. package/components/IconCard/icon-card.js +6 -0
  42. package/components/IconCard/icon-card.js.map +1 -0
  43. package/components/IconCard/index.d.ts +6 -0
  44. package/components/IconCard/index.js +4 -0
  45. package/components/IconCard/index.js.map +1 -0
  46. package/components/IconCard/index.umd.js +4760 -0
  47. package/components/IconCard/index.umd.js.map +1 -0
  48. package/components/IconCard/sgds-icon-card.d.ts +24 -0
  49. package/components/IconCard/sgds-icon-card.js +83 -0
  50. package/components/IconCard/sgds-icon-card.js.map +1 -0
  51. package/components/IconList/icon-list.js +1 -1
  52. package/components/IconList/index.umd.js +1 -1
  53. package/components/ImageCard/image-card.js +6 -0
  54. package/components/ImageCard/image-card.js.map +1 -0
  55. package/components/ImageCard/index.d.ts +6 -0
  56. package/components/ImageCard/index.js +4 -0
  57. package/components/ImageCard/index.js.map +1 -0
  58. package/components/ImageCard/index.umd.js +4774 -0
  59. package/components/ImageCard/index.umd.js.map +1 -0
  60. package/components/ImageCard/sgds-image-card.d.ts +30 -0
  61. package/components/ImageCard/sgds-image-card.js +97 -0
  62. package/components/ImageCard/sgds-image-card.js.map +1 -0
  63. package/components/Input/index.umd.js +1 -1
  64. package/components/Input/input.js +1 -1
  65. package/components/Mainnav/index.umd.js +5 -5
  66. package/components/Mainnav/index.umd.js.map +1 -1
  67. package/components/Mainnav/sgds-mainnav-item.d.ts +1 -1
  68. package/components/Mainnav/sgds-mainnav-item.js +2 -2
  69. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  70. package/components/Modal/index.umd.js +22 -17
  71. package/components/Modal/index.umd.js.map +1 -1
  72. package/components/Modal/modal.js +1 -1
  73. package/components/Modal/sgds-modal.js +17 -14
  74. package/components/Modal/sgds-modal.js.map +1 -1
  75. package/components/OverflowMenu/index.js +5 -0
  76. package/components/OverflowMenu/index.js.map +1 -0
  77. package/components/OverflowMenu/index.umd.js +11129 -0
  78. package/components/OverflowMenu/index.umd.js.map +1 -0
  79. package/{internals → components}/OverflowMenu/sgds-overflow-menu.d.ts +3 -3
  80. package/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  81. package/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  82. package/components/Pagination/index.umd.js +1 -1
  83. package/components/QuantityToggle/index.umd.js +2 -2
  84. package/components/Select/index.umd.js +1 -1
  85. package/components/Select/select-item2.js +1 -1
  86. package/components/Subnav/index.umd.js +79 -87
  87. package/components/Subnav/index.umd.js.map +1 -1
  88. package/components/Subnav/sgds-subnav-item.d.ts +1 -1
  89. package/components/Subnav/sgds-subnav-item.js +2 -2
  90. package/components/Subnav/sgds-subnav-item.js.map +1 -1
  91. package/components/Subnav/sgds-subnav.d.ts +5 -4
  92. package/components/Subnav/sgds-subnav.js +76 -85
  93. package/components/Subnav/sgds-subnav.js.map +1 -1
  94. package/components/Subnav/subnav-item.js +1 -1
  95. package/components/Subnav/subnav.js +1 -1
  96. package/components/Table/index.d.ts +7 -1
  97. package/components/Table/index.js +6 -0
  98. package/components/Table/index.js.map +1 -1
  99. package/components/Table/index.umd.js +182 -16
  100. package/components/Table/index.umd.js.map +1 -1
  101. package/components/Table/sgds-table-cell.d.ts +13 -0
  102. package/components/Table/sgds-table-cell.js +22 -0
  103. package/components/Table/sgds-table-cell.js.map +1 -0
  104. package/components/Table/sgds-table-head.d.ts +18 -0
  105. package/components/Table/sgds-table-head.js +43 -0
  106. package/components/Table/sgds-table-head.js.map +1 -0
  107. package/components/Table/sgds-table-row.d.ts +13 -0
  108. package/components/Table/sgds-table-row.js +22 -0
  109. package/components/Table/sgds-table-row.js.map +1 -0
  110. package/components/Table/sgds-table.d.ts +5 -2
  111. package/components/Table/sgds-table.js +18 -13
  112. package/components/Table/sgds-table.js.map +1 -1
  113. package/components/Table/table-cell.js +6 -0
  114. package/components/Table/table-cell.js.map +1 -0
  115. package/components/Table/table-head.js +6 -0
  116. package/components/Table/table-head.js.map +1 -0
  117. package/components/Table/table-row.js +6 -0
  118. package/components/Table/table-row.js.map +1 -0
  119. package/components/Table/table.js +1 -1
  120. package/components/ThumbnailCard/index.d.ts +6 -0
  121. package/components/ThumbnailCard/index.js +4 -0
  122. package/components/ThumbnailCard/index.js.map +1 -0
  123. package/components/ThumbnailCard/index.umd.js +4764 -0
  124. package/components/ThumbnailCard/index.umd.js.map +1 -0
  125. package/components/ThumbnailCard/sgds-thumbnail-card.d.ts +24 -0
  126. package/components/ThumbnailCard/sgds-thumbnail-card.js +87 -0
  127. package/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  128. package/components/ThumbnailCard/thumbnail-card.js +6 -0
  129. package/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  130. package/components/Toast/index.umd.js +1 -1
  131. package/components/Toast/toast.js +1 -1
  132. package/components/index.d.ts +4 -0
  133. package/components/index.js +4 -0
  134. package/components/index.js.map +1 -1
  135. package/components/index.umd.js +615 -322
  136. package/components/index.umd.js.map +1 -1
  137. package/index.d.ts +4 -0
  138. package/index.js +4 -0
  139. package/index.js.map +1 -1
  140. package/index.umd.js +703 -331
  141. package/index.umd.js.map +1 -1
  142. package/package.json +1 -1
  143. package/react/badge/index.cjs.js +3 -1
  144. package/react/badge/index.cjs.js.map +1 -1
  145. package/react/badge/index.js +3 -1
  146. package/react/badge/index.js.map +1 -1
  147. package/react/base/button.cjs.js +1 -1
  148. package/react/base/button.js +1 -1
  149. package/react/base/card-element.cjs.js +52 -1
  150. package/react/base/card-element.cjs.js.map +1 -1
  151. package/react/base/card-element.js +53 -2
  152. package/react/base/card-element.js.map +1 -1
  153. package/react/base/card.cjs.js +1 -1
  154. package/react/base/card.js +1 -1
  155. package/react/components/Badge/sgds-badge.cjs.js +23 -4
  156. package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
  157. package/react/components/Badge/sgds-badge.js +23 -4
  158. package/react/components/Badge/sgds-badge.js.map +1 -1
  159. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js +1 -1
  160. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -1
  161. package/react/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  162. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  163. package/react/components/Card/card.cjs.js +1 -1
  164. package/react/components/Card/card.js +1 -1
  165. package/react/components/Card/sgds-card.cjs.js +15 -53
  166. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  167. package/react/components/Card/sgds-card.js +16 -54
  168. package/react/components/Card/sgds-card.js.map +1 -1
  169. package/react/components/ComboBox/combo-box-item.cjs2.js +1 -1
  170. package/react/components/ComboBox/combo-box-item2.js +1 -1
  171. package/react/components/ComboBox/sgds-combo-box.cjs.js +3 -2
  172. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  173. package/react/components/ComboBox/sgds-combo-box.js +3 -2
  174. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  175. package/react/components/Datepicker/sgds-datepicker.cjs.js +29 -11
  176. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  177. package/react/components/Datepicker/sgds-datepicker.js +29 -11
  178. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  179. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  180. package/react/components/Dropdown/dropdown-item.js +1 -1
  181. package/react/components/Dropdown/dropdown.cjs.js +1 -1
  182. package/react/components/Dropdown/dropdown.js +1 -1
  183. package/react/components/IconCard/icon-card.cjs.js +11 -0
  184. package/react/components/IconCard/icon-card.cjs.js.map +1 -0
  185. package/react/components/IconCard/icon-card.js +7 -0
  186. package/react/components/IconCard/icon-card.js.map +1 -0
  187. package/react/components/IconCard/sgds-icon-card.cjs.js +89 -0
  188. package/react/components/IconCard/sgds-icon-card.cjs.js.map +1 -0
  189. package/react/components/IconCard/sgds-icon-card.js +84 -0
  190. package/react/components/IconCard/sgds-icon-card.js.map +1 -0
  191. package/react/components/IconList/icon-list.cjs.js +1 -1
  192. package/react/components/IconList/icon-list.js +1 -1
  193. package/react/components/ImageCard/image-card.cjs.js +11 -0
  194. package/react/components/ImageCard/image-card.cjs.js.map +1 -0
  195. package/react/components/ImageCard/image-card.js +7 -0
  196. package/react/components/ImageCard/image-card.js.map +1 -0
  197. package/react/components/ImageCard/sgds-image-card.cjs.js +103 -0
  198. package/react/components/ImageCard/sgds-image-card.cjs.js.map +1 -0
  199. package/react/components/ImageCard/sgds-image-card.js +98 -0
  200. package/react/components/ImageCard/sgds-image-card.js.map +1 -0
  201. package/react/components/Input/input.cjs.js +1 -1
  202. package/react/components/Input/input.js +1 -1
  203. package/react/components/Mainnav/sgds-mainnav-item.cjs.js +2 -2
  204. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
  205. package/react/components/Mainnav/sgds-mainnav-item.js +2 -2
  206. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  207. package/react/components/Modal/modal.cjs.js +1 -1
  208. package/react/components/Modal/modal.js +1 -1
  209. package/react/components/Modal/sgds-modal.cjs.js +17 -14
  210. package/react/components/Modal/sgds-modal.cjs.js.map +1 -1
  211. package/react/components/Modal/sgds-modal.js +17 -14
  212. package/react/components/Modal/sgds-modal.js.map +1 -1
  213. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.cjs.js +3 -3
  214. package/react/components/OverflowMenu/sgds-overflow-menu.cjs.js.map +1 -0
  215. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  216. package/react/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  217. package/react/components/Select/select-item.cjs2.js +1 -1
  218. package/react/components/Select/select-item2.js +1 -1
  219. package/react/components/Subnav/sgds-subnav-item.cjs.js +2 -2
  220. package/react/components/Subnav/sgds-subnav-item.cjs.js.map +1 -1
  221. package/react/components/Subnav/sgds-subnav-item.js +2 -2
  222. package/react/components/Subnav/sgds-subnav-item.js.map +1 -1
  223. package/react/components/Subnav/sgds-subnav.cjs.js +74 -83
  224. package/react/components/Subnav/sgds-subnav.cjs.js.map +1 -1
  225. package/react/components/Subnav/sgds-subnav.js +76 -85
  226. package/react/components/Subnav/sgds-subnav.js.map +1 -1
  227. package/react/components/Subnav/subnav-item.cjs.js +1 -1
  228. package/react/components/Subnav/subnav-item.js +1 -1
  229. package/react/components/Subnav/subnav.cjs.js +1 -1
  230. package/react/components/Subnav/subnav.js +1 -1
  231. package/react/components/Table/sgds-table-cell.cjs.js +28 -0
  232. package/react/components/Table/sgds-table-cell.cjs.js.map +1 -0
  233. package/react/components/Table/sgds-table-cell.js +23 -0
  234. package/react/components/Table/sgds-table-cell.js.map +1 -0
  235. package/react/components/Table/sgds-table-head.cjs.js +49 -0
  236. package/react/components/Table/sgds-table-head.cjs.js.map +1 -0
  237. package/react/components/Table/sgds-table-head.js +44 -0
  238. package/react/components/Table/sgds-table-head.js.map +1 -0
  239. package/react/components/Table/sgds-table-row.cjs.js +28 -0
  240. package/react/components/Table/sgds-table-row.cjs.js.map +1 -0
  241. package/react/components/Table/sgds-table-row.js +23 -0
  242. package/react/components/Table/sgds-table-row.js.map +1 -0
  243. package/react/components/Table/sgds-table.cjs.js +17 -12
  244. package/react/components/Table/sgds-table.cjs.js.map +1 -1
  245. package/react/components/Table/sgds-table.js +18 -13
  246. package/react/components/Table/sgds-table.js.map +1 -1
  247. package/react/components/Table/table-cell.cjs.js +11 -0
  248. package/react/components/Table/table-cell.cjs.js.map +1 -0
  249. package/react/components/Table/table-cell.js +7 -0
  250. package/react/components/Table/table-cell.js.map +1 -0
  251. package/react/components/Table/table-head.cjs.js +11 -0
  252. package/react/components/Table/table-head.cjs.js.map +1 -0
  253. package/react/components/Table/table-head.js +7 -0
  254. package/react/components/Table/table-head.js.map +1 -0
  255. package/react/components/Table/table-row.cjs.js +11 -0
  256. package/react/components/Table/table-row.cjs.js.map +1 -0
  257. package/react/components/Table/table-row.js +7 -0
  258. package/react/components/Table/table-row.js.map +1 -0
  259. package/react/components/Table/table.cjs.js +1 -1
  260. package/react/components/Table/table.js +1 -1
  261. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js +93 -0
  262. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js.map +1 -0
  263. package/react/components/ThumbnailCard/sgds-thumbnail-card.js +88 -0
  264. package/react/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  265. package/react/components/ThumbnailCard/thumbnail-card.cjs.js +11 -0
  266. package/react/components/ThumbnailCard/thumbnail-card.cjs.js.map +1 -0
  267. package/react/components/ThumbnailCard/thumbnail-card.js +7 -0
  268. package/react/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  269. package/react/components/Toast/toast.cjs.js +1 -1
  270. package/react/components/Toast/toast.js +1 -1
  271. package/react/icon-card/index.cjs.js +40 -0
  272. package/react/icon-card/index.cjs.js.map +1 -0
  273. package/react/icon-card/index.d.ts +2 -0
  274. package/react/icon-card/index.js +16 -0
  275. package/react/icon-card/index.js.map +1 -0
  276. package/react/image-card/index.cjs.js +40 -0
  277. package/react/image-card/index.cjs.js.map +1 -0
  278. package/react/image-card/index.d.ts +2 -0
  279. package/react/image-card/index.js +16 -0
  280. package/react/image-card/index.js.map +1 -0
  281. package/react/index.cjs.js +78 -64
  282. package/react/index.cjs.js.map +1 -1
  283. package/react/index.d.ts +7 -0
  284. package/react/index.js +7 -0
  285. package/react/index.js.map +1 -1
  286. package/react/overflow-menu/index.cjs.js +40 -0
  287. package/react/overflow-menu/index.cjs.js.map +1 -0
  288. package/react/overflow-menu/index.d.ts +2 -0
  289. package/react/overflow-menu/index.js +16 -0
  290. package/react/overflow-menu/index.js.map +1 -0
  291. package/react/table-cell/index.cjs.js +40 -0
  292. package/react/table-cell/index.cjs.js.map +1 -0
  293. package/react/table-cell/index.d.ts +2 -0
  294. package/react/table-cell/index.js +16 -0
  295. package/react/table-cell/index.js.map +1 -0
  296. package/react/table-head/index.cjs.js +40 -0
  297. package/react/table-head/index.cjs.js.map +1 -0
  298. package/react/table-head/index.d.ts +2 -0
  299. package/react/table-head/index.js +16 -0
  300. package/react/table-head/index.js.map +1 -0
  301. package/react/table-row/index.cjs.js +40 -0
  302. package/react/table-row/index.cjs.js.map +1 -0
  303. package/react/table-row/index.d.ts +2 -0
  304. package/react/table-row/index.js +16 -0
  305. package/react/table-row/index.js.map +1 -0
  306. package/react/thumbnail-card/index.cjs.js +40 -0
  307. package/react/thumbnail-card/index.cjs.js.map +1 -0
  308. package/react/thumbnail-card/index.d.ts +2 -0
  309. package/react/thumbnail-card/index.js +16 -0
  310. package/react/thumbnail-card/index.js.map +1 -0
  311. package/react/utils/breakpoints.cjs.js.map +1 -1
  312. package/react/utils/breakpoints.js.map +1 -1
  313. package/react/utils/scroll.cjs.js +2 -2
  314. package/react/utils/scroll.cjs.js.map +1 -1
  315. package/react/utils/scroll.js +2 -2
  316. package/react/utils/scroll.js.map +1 -1
  317. package/themes/day.css +1 -0
  318. package/themes/night.css +1 -0
  319. package/themes/root.css +6 -0
  320. package/utils/breakpoints.d.ts +1 -0
  321. package/utils/breakpoints.js.map +1 -1
  322. package/utils/scroll.js +2 -2
  323. package/utils/scroll.js.map +1 -1
  324. package/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  325. package/react/internals/OverflowMenu/sgds-overflow-menu.cjs.js.map +0 -1
  326. package/react/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  327. /package/{internals → components}/OverflowMenu/index.d.ts +0 -0
  328. /package/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  329. /package/{internals → components}/OverflowMenu/overflow-menu.js.map +0 -0
  330. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js +0 -0
  331. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js.map +0 -0
  332. /package/react/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  333. /package/react/{internals → components}/OverflowMenu/overflow-menu.js.map +0 -0
@@ -1,39 +1,28 @@
1
1
  import { CardElement } from "../../base/card-element";
2
- export type CardImageAdjustment = "default" | "padding around" | "aspect ratio";
3
- export type CardImagePosition = "before" | "after";
4
- export type CardOrientation = "vertical" | "horizontal";
2
+ import { CardImageAdjustment, CardImagePosition } from "./types";
5
3
  /**
6
4
  * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.
5
+ * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.
6
+ * @slot menu - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the card. Typically used for action menus or dropdowns.
7
7
  * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.
8
8
  * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.
9
9
  * @slot subtitle - The subtitle of the card
10
10
  * @slot title - The title of the card
11
11
  * @slot description - The paragrapher text of the card
12
+ * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
12
13
  * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.
13
14
  */
14
15
  export declare class SgdsCard extends CardElement {
15
16
  static styles: import("lit").CSSResult[];
16
17
  /** @internal */
17
- card: HTMLAnchorElement;
18
- /** @internal */
19
18
  _imageNode: Array<Node>;
20
19
  /** @internal */
21
20
  _iconNode: Array<Node>;
22
- /** @internal */
23
- _linkNode: Array<Node>;
24
- /** Extends the link passed in slot[name="link"] to the entire card */
25
- stretchedLink: boolean;
26
- /** Disables the card */
27
- disabled: boolean;
28
- /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */
29
- orientation: CardOrientation;
30
21
  /** Sets the image position of the card. Available options: `before`, `after` */
31
22
  imagePosition: CardImagePosition;
32
23
  /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */
33
24
  imageAdjustment: CardImageAdjustment;
34
25
  protected firstUpdated(): void;
35
- handleTitleSlotChange(e: Event): void;
36
- handleLinkSlotChange(e: Event): void;
37
26
  handleImgSlotChange(e: Event): void;
38
27
  render(): import("lit-html").TemplateResult;
39
28
  }
@@ -1,28 +1,25 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { literal, html } from 'lit/static-html.js';
3
- import { query, queryAssignedNodes, property } from 'lit/decorators.js';
3
+ import { queryAssignedNodes, property } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { CardElement } from '../../base/card-element.js';
6
6
  import css_248z from './card.js';
7
7
 
8
8
  /**
9
9
  * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.
10
+ * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.
11
+ * @slot menu - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the card. Typically used for action menus or dropdowns.
10
12
  * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.
11
13
  * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.
12
14
  * @slot subtitle - The subtitle of the card
13
15
  * @slot title - The title of the card
14
16
  * @slot description - The paragrapher text of the card
17
+ * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
15
18
  * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.
16
19
  */
17
20
  class SgdsCard extends CardElement {
18
21
  constructor() {
19
22
  super(...arguments);
20
- /** Extends the link passed in slot[name="link"] to the entire card */
21
- this.stretchedLink = false;
22
- /** Disables the card */
23
- this.disabled = false;
24
- /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */
25
- this.orientation = "vertical";
26
23
  /** Sets the image position of the card. Available options: `before`, `after` */
27
24
  this.imagePosition = "before";
28
25
  /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */
@@ -34,35 +31,9 @@ class SgdsCard extends CardElement {
34
31
  icon.style.display = "none";
35
32
  }
36
33
  if (this._iconNode.length === 0) {
37
- const icon = this.shadowRoot.querySelector(".card-icon");
38
- icon.style.display = "none";
39
- }
40
- if (this.disabled && this._linkNode.length > 0) {
41
- const hyperlink = this._linkNode[0].querySelector("a");
42
- hyperlink.setAttribute("disabled", "true");
43
- hyperlink.removeAttribute("href");
44
- }
45
- }
46
- handleTitleSlotChange(e) {
47
- const childNodes = e.target.assignedNodes({ flatten: true });
48
- if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {
49
- const hyperlink = childNodes[0].querySelector("a") || childNodes[0];
50
- hyperlink.removeAttribute("href");
51
- }
52
- return;
53
- }
54
- handleLinkSlotChange(e) {
55
- const childNodes = e.target.assignedNodes({ flatten: true });
56
- if (childNodes.length > 1) {
57
- return console.error("Multiple elements passed into SgdsCard's link slot");
58
- }
59
- if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {
60
- const hyperlink = childNodes[0].querySelector("a") || childNodes[0];
61
- this.card.setAttribute("href", hyperlink.href);
62
- const linkSlot = this.shadowRoot.querySelector("slot[name='link']");
63
- linkSlot.style.display = "none";
34
+ const media = this.shadowRoot.querySelector(".card-media");
35
+ media.style.display = "none";
64
36
  }
65
- return;
66
37
  }
67
38
  handleImgSlotChange(e) {
68
39
  const childNodes = e.target.assignedNodes({ flatten: true });
@@ -80,20 +51,26 @@ class SgdsCard extends CardElement {
80
51
  })}"
81
52
  tabindex=${cardTabIndex}
82
53
  >
54
+ <div class="card-tinted-bg"></div>
55
+ <slot name="menu"></slot>
83
56
  <div class="card-image">
84
57
  <slot name="image" @slotchange=${this.handleImgSlotChange}></slot>
85
58
  </div>
86
- <div class="card-icon">
59
+ <div class="card-media">
87
60
  <slot name="icon"></slot>
88
61
  </div>
89
62
  <div class="card-body">
90
- <div class="card-header">
91
- <slot name="subtitle"></slot>
92
- <h3 class="card-title"><slot name="title" @slotchange=${this.handleTitleSlotChange}></slot></h3>
63
+ <div class="card-header-container">
64
+ <div class="card-header">
65
+ <slot name="subtitle"></slot>
66
+ <h3 class="card-title"><slot name="title" @slotchange=${this.handleTitleSlotChange}></slot></h3>
67
+ </div>
68
+ <slot></slot>
93
69
  </div>
94
70
  <p class="card-text">
95
71
  <slot name="description"></slot>
96
72
  </p>
73
+ <slot name="lower"></slot>
97
74
  <slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
98
75
  </div>
99
76
  </${tag}>
@@ -101,27 +78,12 @@ class SgdsCard extends CardElement {
101
78
  }
102
79
  }
103
80
  SgdsCard.styles = [...CardElement.styles, css_248z];
104
- __decorate([
105
- query("a.card")
106
- ], SgdsCard.prototype, "card", void 0);
107
81
  __decorate([
108
82
  queryAssignedNodes({ slot: "image", flatten: true })
109
83
  ], SgdsCard.prototype, "_imageNode", void 0);
110
84
  __decorate([
111
85
  queryAssignedNodes({ slot: "icon", flatten: true })
112
86
  ], SgdsCard.prototype, "_iconNode", void 0);
113
- __decorate([
114
- queryAssignedNodes({ slot: "link", flatten: true })
115
- ], SgdsCard.prototype, "_linkNode", void 0);
116
- __decorate([
117
- property({ type: Boolean, reflect: true })
118
- ], SgdsCard.prototype, "stretchedLink", void 0);
119
- __decorate([
120
- property({ type: Boolean, reflect: true })
121
- ], SgdsCard.prototype, "disabled", void 0);
122
- __decorate([
123
- property({ type: String, reflect: true })
124
- ], SgdsCard.prototype, "orientation", void 0);
125
87
  __decorate([
126
88
  property({ type: String, reflect: true })
127
89
  ], SgdsCard.prototype, "imagePosition", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-card.js","sources":["../../../src/components/Card/sgds-card.ts"],"sourcesContent":["import { html, literal } from \"lit/static-html.js\";\nimport { property, query, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport cardStyle from \"./card.css\";\n\nexport type CardImageAdjustment = \"default\" | \"padding around\" | \"aspect ratio\";\nexport type CardImagePosition = \"before\" | \"after\";\nexport type CardOrientation = \"vertical\" | \"horizontal\";\n\n/**\n * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.\n */\nexport class SgdsCard extends CardElement {\n static styles = [...CardElement.styles, cardStyle];\n\n /** @internal */\n @query(\"a.card\") card: HTMLAnchorElement;\n\n /** @internal */\n @queryAssignedNodes({ slot: \"image\", flatten: true })\n _imageNode!: Array<Node>;\n /** @internal */\n @queryAssignedNodes({ slot: \"icon\", flatten: true })\n _iconNode!: Array<Node>;\n /** @internal */\n @queryAssignedNodes({ slot: \"link\", flatten: true })\n _linkNode!: Array<Node>;\n\n /** Extends the link passed in slot[name=\"link\"] to the entire card */\n @property({ type: Boolean, reflect: true }) stretchedLink = false;\n\n /** Disables the card */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */\n @property({ type: String, reflect: true }) orientation: CardOrientation = \"vertical\";\n\n /** Sets the image position of the card. Available options: `before`, `after` */\n @property({ type: String, reflect: true }) imagePosition: CardImagePosition = \"before\";\n\n /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */\n @property({ type: String, reflect: true }) imageAdjustment: CardImageAdjustment = \"default\";\n\n protected firstUpdated() {\n if (this._imageNode.length === 0) {\n const icon = this.shadowRoot.querySelector(\".card-image\") as HTMLDivElement;\n icon.style.display = \"none\";\n }\n if (this._iconNode.length === 0) {\n const icon = this.shadowRoot.querySelector(\".card-icon\") as HTMLDivElement;\n icon.style.display = \"none\";\n }\n if (this.disabled && this._linkNode.length > 0) {\n const hyperlink = (this._linkNode[0] as HTMLLinkElement).querySelector(\"a\");\n hyperlink.setAttribute(\"disabled\", \"true\");\n hyperlink.removeAttribute(\"href\");\n }\n }\n\n handleTitleSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLElement>;\n\n if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {\n const hyperlink = childNodes[0].querySelector(\"a\") || childNodes[0];\n hyperlink.removeAttribute(\"href\");\n }\n return;\n }\n\n handleLinkSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as\n | Array<HTMLLinkElement>\n | Array<HTMLAnchorElement>;\n\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's link slot\");\n }\n\n if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {\n const hyperlink = childNodes[0].querySelector(\"a\") || childNodes[0];\n this.card.setAttribute(\"href\", hyperlink.href);\n const linkSlot = this.shadowRoot.querySelector(\"slot[name='link']\") as HTMLSlotElement;\n linkSlot.style.display = \"none\";\n }\n return;\n }\n\n handleImgSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLOrSVGImageElement>;\n\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's image slot\");\n }\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n >\n <div class=\"card-image\">\n <slot name=\"image\" @slotchange=${this.handleImgSlotChange}></slot>\n </div>\n <div class=\"card-icon\">\n <slot name=\"icon\"></slot>\n </div>\n <div class=\"card-body\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <p class=\"card-text\">\n <slot name=\"description\"></slot>\n </p>\n <slot name=\"link\" @slotchange=${this.handleLinkSlotChange}></slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsCard;\n"],"names":["cardStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-card.js","sources":["../../../src/components/Card/sgds-card.ts"],"sourcesContent":["import { html, literal } from \"lit/static-html.js\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport { CardImageAdjustment, CardImagePosition } from \"./types\";\nimport cardStyle from \"./card.css\";\n\n/**\n * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot menu - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the card. Typically used for action menus or dropdowns.\n * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.\n */\nexport class SgdsCard extends CardElement {\n static styles = [...CardElement.styles, cardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"image\", flatten: true })\n _imageNode!: Array<Node>;\n /** @internal */\n @queryAssignedNodes({ slot: \"icon\", flatten: true })\n _iconNode!: Array<Node>;\n\n /** Sets the image position of the card. Available options: `before`, `after` */\n @property({ type: String, reflect: true }) imagePosition: CardImagePosition = \"before\";\n\n /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */\n @property({ type: String, reflect: true }) imageAdjustment: CardImageAdjustment = \"default\";\n\n protected firstUpdated() {\n if (this._imageNode.length === 0) {\n const icon = this.shadowRoot.querySelector(\".card-image\") as HTMLDivElement;\n icon.style.display = \"none\";\n }\n if (this._iconNode.length === 0) {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n }\n }\n\n handleImgSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLOrSVGImageElement>;\n\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's image slot\");\n }\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n >\n <div class=\"card-tinted-bg\"></div>\n <slot name=\"menu\"></slot>\n <div class=\"card-image\">\n <slot name=\"image\" @slotchange=${this.handleImgSlotChange}></slot>\n </div>\n <div class=\"card-media\">\n <slot name=\"icon\"></slot>\n </div>\n <div class=\"card-body\">\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <p class=\"card-text\">\n <slot name=\"description\"></slot>\n </p>\n <slot name=\"lower\"></slot>\n <slot name=\"link\" @slotchange=${this.handleLinkSlotChange}></slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsCard;\n"],"names":["cardStyle"],"mappings":";;;;;;;AAOA;;;;;;;;;;;AAWG;AACG,MAAO,QAAS,SAAQ,WAAW,CAAA;AAAzC,IAAA,WAAA,GAAA;;;QAW6C,IAAa,CAAA,aAAA,GAAsB,QAAQ,CAAC;;QAG5C,IAAe,CAAA,eAAA,GAAwB,SAAS,CAAC;KAyD7F;IAvDW,YAAY,GAAA;QACpB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAmB,CAAC;AAC5E,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAmB,CAAC;AAC7E,YAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9B;KACF;AAED,IAAA,mBAAmB,CAAC,CAAQ,EAAA;AAC1B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAiC,CAAC;AAElH,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;SAC7E;KACF;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA,GAAG,GAAG,OAAO,CAAA,KAAK,CAAC;AAC3D,QAAA,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEnE,QAAA,OAAO,IAAI,CAAA,CAAA;SACN,GAAG,CAAA;AACU,oBAAA,EAAA,QAAQ,CAAC;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;mBACS,YAAY,CAAA;;;;;AAKY,yCAAA,EAAA,IAAI,CAAC,mBAAmB,CAAA;;;;;;;;;AASG,oEAAA,EAAA,IAAI,CAAC,qBAAqB,CAAA;;;;;;;;AAQtD,wCAAA,EAAA,IAAI,CAAC,oBAAoB,CAAA;;UAEzD,GAAG,CAAA;KACR,CAAC;KACH;;AArEM,QAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAS,CAApC,CAAsC;AAInD,UAAA,CAAA;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGzB,UAAA,CAAA;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGmB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6C,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5C,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkD,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,3 @@
1
+ export type CardImageAdjustment = "default" | "padding around" | "aspect ratio";
2
+ export type CardImagePosition = "before" | "after";
3
+ export type CardOrientation = "vertical" | "horizontal";
@@ -1,6 +1,6 @@
1
1
  import { css } from 'lit';
2
2
 
3
- var css_248z = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit;white-space:nowrap}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
3
+ var css_248z = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
4
4
 
5
5
  export { css_248z as default };
6
6
  //# sourceMappingURL=combo-box-item2.js.map
@@ -8993,9 +8993,7 @@
8993
8993
  };
8994
8994
  }
8995
8995
 
8996
- var css_248z$7 = css`:host{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
8997
-
8998
- var css_248z$6 = css`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close-light{color:var(--sgds-color-fixed-light)}.btn-close-dark{color:var(--sgds-color-fixed-dark)}.btn-close:hover{background-color:var(--sgds-bg-translucent)}.btn-close:focus,.btn-close:focus-visible{background-color:var(--sgds-bg-translucent);box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn-close-sm{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}.btn-close.btn-close-sm{height:var(--sgds-icon-size-sm);width:var(--sgds-icon-size-sm)}`;
8996
+ var css_248z$7 = css`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close-light{color:var(--sgds-color-fixed-light)}.btn-close-dark{color:var(--sgds-color-fixed-dark)}.btn-close:hover{background-color:var(--sgds-bg-translucent)}.btn-close:focus,.btn-close:focus-visible{background-color:var(--sgds-bg-translucent);box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn-close-sm{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}.btn-close.btn-close-sm{height:var(--sgds-icon-size-sm);width:var(--sgds-icon-size-sm)}`;
8999
8997
 
9000
8998
  /**
9001
8999
  *
@@ -9062,7 +9060,7 @@
9062
9060
  `;
9063
9061
  }
9064
9062
  }
9065
- SgdsCloseButton.styles = [...SgdsElement.styles, css_248z$6];
9063
+ SgdsCloseButton.styles = [...SgdsElement.styles, css_248z$7];
9066
9064
  __decorate([
9067
9065
  property({ type: String })
9068
9066
  ], SgdsCloseButton.prototype, "ariaLabel", void 0);
@@ -9073,6 +9071,8 @@
9073
9071
  property({ type: String, reflect: true })
9074
9072
  ], SgdsCloseButton.prototype, "variant", void 0);
9075
9073
 
9074
+ var css_248z$6 = css`:host{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
9075
+
9076
9076
  /**
9077
9077
  * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.
9078
9078
  *
@@ -9080,7 +9080,9 @@
9080
9080
  * @slot icon - The slot for icon to the left of the badge text
9081
9081
  *
9082
9082
  * @event sgds-show - Emitted when the badge appears.
9083
- * @event sgds-hide - Emitted after the badge closes.
9083
+ * @event sgds-hide - Emitted when the badge is starting to close but has not closed.
9084
+ * @event sgds-after-show - Emitted after the badge has appeared
9085
+ * @event sgds-after-hide - Emitted after the badge has closed
9084
9086
  */
9085
9087
  class SgdsBadge extends SgdsElement {
9086
9088
  constructor() {
@@ -9100,7 +9102,24 @@
9100
9102
  }
9101
9103
  /**@internal */
9102
9104
  _handleShowChange() {
9103
- this.show ? this.emit("sgds-show") : this.emit("sgds-hide");
9105
+ if (this.show) {
9106
+ const sgdsShow = this.emit("sgds-show", { cancelable: true });
9107
+ if (sgdsShow.defaultPrevented) {
9108
+ this.show = false;
9109
+ return;
9110
+ }
9111
+ // animations if any go here
9112
+ this.emit("sgds-after-show");
9113
+ }
9114
+ else {
9115
+ const sgdsHide = this.emit("sgds-hide", { cancelable: true });
9116
+ if (sgdsHide.defaultPrevented) {
9117
+ this.show = true;
9118
+ return;
9119
+ }
9120
+ // animations if any go here
9121
+ this.emit("sgds-after-hide");
9122
+ }
9104
9123
  }
9105
9124
  render() {
9106
9125
  return (this.dismissible && this.show) || !this.dismissible
@@ -9133,7 +9152,7 @@
9133
9152
  : nothing;
9134
9153
  }
9135
9154
  }
9136
- SgdsBadge.styles = [...SgdsElement.styles, css_248z$7];
9155
+ SgdsBadge.styles = [...SgdsElement.styles, css_248z$6];
9137
9156
  /**@internal */
9138
9157
  SgdsBadge.dependencies = {
9139
9158
  "sgds-close-button": SgdsCloseButton
@@ -11878,7 +11897,7 @@
11878
11897
  watch("_isTouched", { waitUntilFirstUpdate: true })
11879
11898
  ], SgdsCheckbox.prototype, "_handleIsTouched", null);
11880
11899
 
11881
- var css_248z$1 = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit;white-space:nowrap}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
11900
+ var css_248z$1 = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
11882
11901
 
11883
11902
  class ComboBoxItem extends SgdsElement {
11884
11903
  constructor() {
@@ -12081,7 +12100,8 @@
12081
12100
  this.selectedItems = this.selectedItems.filter(i => i.value !== foundItem.value);
12082
12101
  this.value = this.selectedItems.map(i => i.value).join(";");
12083
12102
  }
12084
- async _handleBadgeDismissed(item) {
12103
+ async _handleBadgeDismissed(e, item) {
12104
+ e.preventDefault();
12085
12105
  this.selectedItems = this.selectedItems.filter(i => i.value !== item.value);
12086
12106
  this.value = this.selectedItems.map(i => i.value).join(";");
12087
12107
  }
@@ -12180,7 +12200,7 @@
12180
12200
  variant="neutral"
12181
12201
  show
12182
12202
  dismissible
12183
- @sgds-hide=${() => this._handleBadgeDismissed(item)}
12203
+ @sgds-hide=${e => this._handleBadgeDismissed(e, item)}
12184
12204
  >${item.label}</sgds-badge
12185
12205
  >`)}
12186
12206
  `