@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
package/base/button.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { css } from 'lit';
2
2
 
3
- var css_248z = css`:host{--btn-font-weight:var(--sgds-font-weight-regular);--btn-bg:var(--sgds-primary-surface-default);--btn-hover-bg:var(--sgds-primary-surface-emphasis);--btn-border-radius:var(--sgds-border-radius-md)}:host([variant=primary]){--btn-bg:var(--sgds-primary-surface-default);--btn-color:var(--sgds-color-fixed-light)}:host([variant=outline]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default);--btn-border-width:var(--sgds-border-width-1);--btn-border-color:var(--sgds-primary-border-color-default)}:host([variant=ghost]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default)}:host([variant=danger]){--btn-bg:var(--sgds-danger-surface-default);--btn-hover-bg:var(--sgds-danger-surface-emphasis);--btn-color:var(--sgds-color-fixed-light)}:host([variant=ghost]) .btn,:host([variant=outline]) .btn,:host([variant=primary]) .btn{color:var(--btn-color)}:host([variant=outline]) .btn{border:var(--btn-border-width) solid var(--btn-border-color)}:host([size=lg]) .btn{font-size:var(--sgds-font-size-3);height:var(--sgds-dimension-56);min-width:var(--sgds-dimension-112);padding:0 var(--sgds-padding-xl)}:host([size=sm]) .btn{font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-40);min-width:var(--sgds-dimension-80);padding:0 var(--sgds-padding-md)}.btn{align-items:center;background-color:var(--btn-bg);border:1px solid var(--sgds-border-color-transparent);border-radius:var(--btn-border-radius);color:var(--sgds-color-fixed-light);cursor:pointer;display:inline-flex;font-size:var(--sgds-font-size-2);font-weight:var(--btn-font-weight);gap:var(--sgds-gap-2-xs);height:var(--sgds-dimension-48);justify-content:center;line-height:var(--sgds-line-height-body);min-width:var(--sgds-dimension-96);padding:0 var(--sgds-padding-lg);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn.active,.btn:hover{background-color:var(--btn-hover-bg)}.btn:focus,.btn:focus-visible{background-color:var(--btn-hover-bg);border-color:transparent;box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn.disabled,.btn:disabled{color:var(--btn-color);cursor:not-allowed;opacity:var(--sgds-opacity-50)}.btn slot::slotted(*){color:var(--btn-color)}`;
3
+ var css_248z = css`:host{--btn-font-weight:var(--sgds-font-weight-regular);--btn-bg:var(--sgds-primary-surface-default);--btn-hover-bg:var(--sgds-primary-surface-emphasis);--btn-border-radius:var(--sgds-border-radius-md)}:host([variant=primary]){--btn-bg:var(--sgds-primary-surface-default);--btn-color:var(--sgds-color-fixed-light)}:host([variant=outline]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default);--btn-border-width:var(--sgds-border-width-1);--btn-border-color:var(--sgds-primary-border-color-default)}:host([variant=ghost]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default)}:host([variant=danger]){--btn-bg:var(--sgds-danger-surface-default);--btn-hover-bg:var(--sgds-danger-surface-emphasis);--btn-color:var(--sgds-color-fixed-light)}:host([variant=ghost]) .btn,:host([variant=outline]) .btn,:host([variant=primary]) .btn{color:var(--btn-color)}:host([variant=outline]) .btn{border:var(--btn-border-width) solid var(--btn-border-color)}:host([size=lg]) .btn{font-size:var(--sgds-font-size-3);height:var(--sgds-dimension-56);min-width:var(--sgds-dimension-112);padding:0 var(--sgds-padding-xl)}:host([size=sm]) .btn{font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-40);line-height:var(--sgds-line-height-min);min-width:var(--sgds-dimension-80);padding:0 var(--sgds-padding-md)}.btn{align-items:center;background-color:var(--btn-bg);border:1px solid var(--sgds-border-color-transparent);border-radius:var(--btn-border-radius);color:var(--sgds-color-fixed-light);cursor:pointer;display:inline-flex;font-size:var(--sgds-font-size-2);font-weight:var(--btn-font-weight);gap:var(--sgds-gap-2-xs);height:var(--sgds-dimension-48);justify-content:center;line-height:var(--sgds-line-height-body);min-width:var(--sgds-dimension-96);padding:0 var(--sgds-padding-lg);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle;white-space:nowrap;width:inherit}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn.active,.btn:hover{background-color:var(--btn-hover-bg)}.btn:focus,.btn:focus-visible{background-color:var(--btn-hover-bg);border-color:transparent;box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn.disabled,.btn:disabled{color:var(--btn-color);cursor:not-allowed;opacity:var(--sgds-opacity-50)}.btn slot::slotted(*){color:var(--btn-color)}`;
4
4
 
5
5
  export { css_248z as default };
6
6
  //# sourceMappingURL=button.js.map
@@ -1,8 +1,22 @@
1
+ import { CardOrientation } from "../components/Card/types";
1
2
  import SgdsElement from "./sgds-element";
2
3
  export declare class CardElement extends SgdsElement {
3
4
  static styles: import("lit").CSSResult[];
5
+ /** @internal */
6
+ card: HTMLAnchorElement;
7
+ /** @internal */
8
+ _linkNode: Array<Node>;
9
+ /** Extends the link passed in slot[name="link"] to the entire card */
10
+ stretchedLink: boolean;
11
+ /** Disables the card */
12
+ disabled: boolean;
4
13
  /** When true, hides the default border of the card. */
5
14
  hideBorder: boolean;
6
15
  /** When true, applies a tinted background color to the card. */
7
16
  tinted: boolean;
17
+ /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */
18
+ orientation: CardOrientation;
19
+ protected firstUpdated(): void;
20
+ handleTitleSlotChange(e: Event): void;
21
+ handleLinkSlotChange(e: Event): void;
8
22
  }
@@ -1,29 +1,80 @@
1
1
  import { __decorate } from 'tslib';
2
- import { property } from 'lit/decorators.js';
2
+ import { query, queryAssignedNodes, property } from 'lit/decorators.js';
3
+ import { SgdsLink } from '../components/Link/sgds-link.js';
4
+ import SgdsElement from './sgds-element.js';
3
5
  import css_248z$5 from './card.js';
4
6
  import css_248z from '../styles/text-variants.js';
5
7
  import css_248z$1 from '../styles/bg-variants.js';
6
8
  import css_248z$2 from '../styles/border-variants.js';
7
9
  import css_248z$3 from '../styles/header-class.js';
8
10
  import css_248z$4 from '../styles/paragraph.js';
9
- import SgdsElement from './sgds-element.js';
10
11
 
11
12
  class CardElement extends SgdsElement {
12
13
  constructor() {
13
14
  super(...arguments);
15
+ /** Extends the link passed in slot[name="link"] to the entire card */
16
+ this.stretchedLink = false;
17
+ /** Disables the card */
18
+ this.disabled = false;
14
19
  /** When true, hides the default border of the card. */
15
20
  this.hideBorder = false;
16
21
  /** When true, applies a tinted background color to the card. */
17
22
  this.tinted = false;
23
+ /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */
24
+ this.orientation = "vertical";
25
+ }
26
+ firstUpdated() {
27
+ if (this.disabled && this._linkNode.length > 0) {
28
+ const hyperlink = this._linkNode[0].querySelector("a");
29
+ hyperlink.setAttribute("disabled", "true");
30
+ hyperlink.removeAttribute("href");
31
+ }
32
+ }
33
+ handleTitleSlotChange(e) {
34
+ const childNodes = e.target.assignedNodes({ flatten: true });
35
+ if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {
36
+ const hyperlink = childNodes[0].querySelector("a") || childNodes[0];
37
+ hyperlink.removeAttribute("href");
38
+ }
39
+ return;
40
+ }
41
+ handleLinkSlotChange(e) {
42
+ const childNodes = e.target.assignedNodes({ flatten: true });
43
+ if (childNodes.length > 1) {
44
+ return console.error("Multiple elements passed into SgdsCard's link slot");
45
+ }
46
+ if (!this.stretchedLink)
47
+ return;
48
+ if (childNodes[0] instanceof HTMLAnchorElement || childNodes[0] instanceof SgdsLink) {
49
+ const hyperlink = (childNodes[0].querySelector("a") || childNodes[0]);
50
+ this.card.setAttribute("href", hyperlink.href);
51
+ const linkSlot = this.shadowRoot.querySelector("slot[name='link']");
52
+ linkSlot.style.display = "none";
53
+ }
18
54
  }
19
55
  }
20
56
  CardElement.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2, css_248z$3, css_248z$4, css_248z$5];
57
+ __decorate([
58
+ query("a.card")
59
+ ], CardElement.prototype, "card", void 0);
60
+ __decorate([
61
+ queryAssignedNodes({ slot: "link", flatten: true })
62
+ ], CardElement.prototype, "_linkNode", void 0);
63
+ __decorate([
64
+ property({ type: Boolean, reflect: true })
65
+ ], CardElement.prototype, "stretchedLink", void 0);
66
+ __decorate([
67
+ property({ type: Boolean, reflect: true })
68
+ ], CardElement.prototype, "disabled", void 0);
21
69
  __decorate([
22
70
  property({ type: Boolean, reflect: true })
23
71
  ], CardElement.prototype, "hideBorder", void 0);
24
72
  __decorate([
25
73
  property({ type: Boolean, reflect: true })
26
74
  ], CardElement.prototype, "tinted", void 0);
75
+ __decorate([
76
+ property({ type: String, reflect: true })
77
+ ], CardElement.prototype, "orientation", void 0);
27
78
 
28
79
  export { CardElement };
29
80
  //# sourceMappingURL=card-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-element.js","sources":["../../src/base/card-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport cardStyle from \"./card.css\";\nimport textStyles from \"../styles/text-variants.css\";\nimport bgStyles from \"../styles/bg-variants.css\";\nimport borderStyles from \"../styles/border-variants.css\";\nimport headerStyles from \"../styles/header-class.css\";\nimport paragraphStyles from \"../styles/paragraph.css\";\n\nimport SgdsElement from \"./sgds-element\";\n\nexport class CardElement extends SgdsElement {\n static styles = [...SgdsElement.styles, textStyles, bgStyles, borderStyles, headerStyles, paragraphStyles, cardStyle];\n\n /** When true, hides the default border of the card. */\n @property({ type: Boolean, reflect: true }) hideBorder = false;\n\n /** When true, applies a tinted background color to the card. */\n @property({ type: Boolean, reflect: true }) tinted = false;\n}\n"],"names":["textStyles","bgStyles","borderStyles","headerStyles","paragraphStyles","cardStyle"],"mappings":";;;;;;;;;;AAUM,MAAO,WAAY,SAAQ,WAAW,CAAA;AAA5C,IAAA,WAAA,GAAA;;;QAI8C,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;QAGnB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;KAC5D;;AAPQ,WAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAU,EAAEC,UAAQ,EAAEC,UAAY,EAAEC,UAAY,EAAEC,UAAe,EAAEC,UAAS,CAAC,CAAC;AAG1E,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAgB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"card-element.js","sources":["../../src/base/card-element.ts"],"sourcesContent":["import { property, query, queryAssignedNodes } from \"lit/decorators.js\";\nimport { SgdsLink } from \"../components/Link/sgds-link\";\nimport { CardOrientation } from \"../components/Card/types\";\nimport SgdsElement from \"./sgds-element\";\nimport cardStyle from \"./card.css\";\nimport textStyles from \"../styles/text-variants.css\";\nimport bgStyles from \"../styles/bg-variants.css\";\nimport borderStyles from \"../styles/border-variants.css\";\nimport headerStyles from \"../styles/header-class.css\";\nimport paragraphStyles from \"../styles/paragraph.css\";\n\nexport class CardElement extends SgdsElement {\n static styles = [...SgdsElement.styles, textStyles, bgStyles, borderStyles, headerStyles, paragraphStyles, cardStyle];\n\n /** @internal */\n @query(\"a.card\") card: HTMLAnchorElement;\n\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 /** When true, hides the default border of the card. */\n @property({ type: Boolean, reflect: true }) hideBorder = false;\n\n /** When true, applies a tinted background color to the card. */\n @property({ type: Boolean, reflect: true }) tinted = false;\n\n /** Sets the orientation of the card. Available options: `vertical`, `horizontal` */\n @property({ type: String, reflect: true }) orientation: CardOrientation = \"vertical\";\n\n protected firstUpdated() {\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 | Array<SgdsLink>;\n\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's link slot\");\n }\n\n if (!this.stretchedLink) return;\n\n if (childNodes[0] instanceof HTMLAnchorElement || childNodes[0] instanceof SgdsLink) {\n const hyperlink = (childNodes[0].querySelector(\"a\") || childNodes[0]) as HTMLAnchorElement;\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 }\n}\n"],"names":["textStyles","bgStyles","borderStyles","headerStyles","paragraphStyles","cardStyle"],"mappings":"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"}
package/base/card.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { css } from 'lit';
2
2
 
3
- var css_248z = css`:host([orientation=horizontal]) .card{flex-direction:row}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([tinted]) .card{background-color:var(--sgds-bg-translucent-subtle);border:none}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{padding:var(--sgds-padding-xl) var(--sgds-padding-xl) 0}:host([orientation=vertical][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:auto;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-50)}.card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-image{flex:1}.card-body{display:flex;flex:1;flex-direction:column;gap:var(--sgds-gap-lg);padding:var(--sgds-padding-xl)}.card-body,.card-title{color:var(--sgds-body-color-default)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold)}.card-subtitle,.card-text,.card-title{margin-bottom:var(--sgds-margin-none)}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}slot[name=link]::slotted(*){font-weight:700;margin-top:var(--sgds-padding-sm)}slot[name=link]::slotted(a){color:var(--sgds-link-color-default);display:inline-flex;gap:var(--sgds-gap-2-xs);text-decoration:none!important}slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
3
+ var css_248z = css`:host([orientation=horizontal]) .card{flex-direction:row}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([orientation=horizontal]) .card-body{flex:1}:host([orientation=horizontal]) .card-media{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-xl)}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-padding-none)}:host([orientation=vertical][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-none)}:host([orientation][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:100%;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-50)}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-tinted-bg{border-radius:var(--sgds-border-radius-md);bottom:0;left:0;opacity:var(--sgds-opacity-0);position:absolute;right:0;top:0}.card-image{flex:1;position:relative}.card-media{align-items:flex-start;display:flex;justify-content:space-between;line-height:0;padding:var(--sgds-padding-xl) var(--sgds-padding-xl) var(--sgds-padding-none)}.card-thumbnail{align-items:center;border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-full);display:flex;height:var(--sgds-dimension-80);justify-content:center;width:var(--sgds-dimension-80)}.card-body{color:var(--sgds-body-color-default);display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-xl);padding:var(--sgds-padding-xl);z-index:1}.card-header-container{display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.card-header{display:flex;flex-direction:column;gap:var(--sgds-gap-xs)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);color:var(--sgds-body-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold)}.card-subtitle,.card-text,.card-title{margin-bottom:var(--sgds-margin-none)}slot[name=subtitle]::slotted(*){--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-margin-xs:var(--sgds-margin-none);--sgds-font-size-4:var(--sgds-font-size-1);--sgds-font-size-5:var(--sgds-font-size-1);--sgds-font-size-6:var(--sgds-font-size-1);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);--sgds-line-height-heading:var(--sgds-line-height-min);--sgds-letter-spacing-tight:var(--sgds-letter-spacing-wide);color:var(--sgds-color-default);font-size:var(--sgds-font-size-1);font-weight:var(--sgds-font-weight-semibold);letter-spacing:var(--sgds-letter-spacing-wide);line-height:var(--sgds-line-height-min);margin:var(--sgds-margin-none);text-transform:uppercase}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}slot[name=link]::slotted(*){font-weight:700;margin-top:auto;padding-top:var(--sgds-padding-sm)}slot[name=link]::slotted(a){color:var(--sgds-link-color-default);display:inline-flex;gap:var(--sgds-gap-2-xs);height:auto!important;text-decoration:none!important}slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
4
4
 
5
5
  export { css_248z as default };
6
6
  //# sourceMappingURL=card.js.map
@@ -4268,45 +4268,6 @@
4268
4268
  /** @internal */
4269
4269
  SgdsElement.dependencies = {};
4270
4270
 
4271
- var css_248z$1 = 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}`;
4272
-
4273
- // @watch decorator
4274
- //
4275
- // Runs when an observed property changes, e.g. @property or @state, but before the component updates.
4276
- //
4277
- // To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
4278
- // watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
4279
- //
4280
- // Usage:
4281
- //
4282
- // @watch('propName')
4283
- // handlePropChange(oldValue, newValue) {
4284
- // ...
4285
- // }
4286
- function watch(propName, options) {
4287
- const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
4288
- return (proto, decoratedFnName) => {
4289
- // @ts-expect-error -- update is a protected property
4290
- const { update } = proto;
4291
- if (propName in proto) {
4292
- const propNameKey = propName;
4293
- // @ts-expect-error -- update is a protected property
4294
- proto.update = function (changedProps) {
4295
- if (changedProps.has(propNameKey)) {
4296
- const oldValue = changedProps.get(propNameKey);
4297
- const newValue = this[propNameKey];
4298
- if (oldValue !== newValue) {
4299
- if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
4300
- this[decoratedFnName](oldValue, newValue);
4301
- }
4302
- }
4303
- }
4304
- update.call(this, changedProps);
4305
- };
4306
- }
4307
- };
4308
- }
4309
-
4310
4271
  /**
4311
4272
  * @license
4312
4273
  * Copyright 2018 Google LLC
@@ -4320,7 +4281,7 @@
4320
4281
  */
4321
4282
  const ifDefined = (value) => value ?? nothing;
4322
4283
 
4323
- var css_248z = 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)}`;
4284
+ var css_248z$1 = 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)}`;
4324
4285
 
4325
4286
  /**
4326
4287
  *
@@ -4387,7 +4348,7 @@
4387
4348
  `;
4388
4349
  }
4389
4350
  }
4390
- SgdsCloseButton.styles = [...SgdsElement.styles, css_248z];
4351
+ SgdsCloseButton.styles = [...SgdsElement.styles, css_248z$1];
4391
4352
  __decorate([
4392
4353
  property({ type: String })
4393
4354
  ], SgdsCloseButton.prototype, "ariaLabel", void 0);
@@ -4398,6 +4359,45 @@
4398
4359
  property({ type: String, reflect: true })
4399
4360
  ], SgdsCloseButton.prototype, "variant", void 0);
4400
4361
 
4362
+ // @watch decorator
4363
+ //
4364
+ // Runs when an observed property changes, e.g. @property or @state, but before the component updates.
4365
+ //
4366
+ // To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
4367
+ // watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
4368
+ //
4369
+ // Usage:
4370
+ //
4371
+ // @watch('propName')
4372
+ // handlePropChange(oldValue, newValue) {
4373
+ // ...
4374
+ // }
4375
+ function watch(propName, options) {
4376
+ const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
4377
+ return (proto, decoratedFnName) => {
4378
+ // @ts-expect-error -- update is a protected property
4379
+ const { update } = proto;
4380
+ if (propName in proto) {
4381
+ const propNameKey = propName;
4382
+ // @ts-expect-error -- update is a protected property
4383
+ proto.update = function (changedProps) {
4384
+ if (changedProps.has(propNameKey)) {
4385
+ const oldValue = changedProps.get(propNameKey);
4386
+ const newValue = this[propNameKey];
4387
+ if (oldValue !== newValue) {
4388
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
4389
+ this[decoratedFnName](oldValue, newValue);
4390
+ }
4391
+ }
4392
+ }
4393
+ update.call(this, changedProps);
4394
+ };
4395
+ }
4396
+ };
4397
+ }
4398
+
4399
+ var css_248z = 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}`;
4400
+
4401
4401
  /**
4402
4402
  * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.
4403
4403
  *
@@ -4405,7 +4405,9 @@
4405
4405
  * @slot icon - The slot for icon to the left of the badge text
4406
4406
  *
4407
4407
  * @event sgds-show - Emitted when the badge appears.
4408
- * @event sgds-hide - Emitted after the badge closes.
4408
+ * @event sgds-hide - Emitted when the badge is starting to close but has not closed.
4409
+ * @event sgds-after-show - Emitted after the badge has appeared
4410
+ * @event sgds-after-hide - Emitted after the badge has closed
4409
4411
  */
4410
4412
  class SgdsBadge extends SgdsElement {
4411
4413
  constructor() {
@@ -4425,7 +4427,24 @@
4425
4427
  }
4426
4428
  /**@internal */
4427
4429
  _handleShowChange() {
4428
- this.show ? this.emit("sgds-show") : this.emit("sgds-hide");
4430
+ if (this.show) {
4431
+ const sgdsShow = this.emit("sgds-show", { cancelable: true });
4432
+ if (sgdsShow.defaultPrevented) {
4433
+ this.show = false;
4434
+ return;
4435
+ }
4436
+ // animations if any go here
4437
+ this.emit("sgds-after-show");
4438
+ }
4439
+ else {
4440
+ const sgdsHide = this.emit("sgds-hide", { cancelable: true });
4441
+ if (sgdsHide.defaultPrevented) {
4442
+ this.show = true;
4443
+ return;
4444
+ }
4445
+ // animations if any go here
4446
+ this.emit("sgds-after-hide");
4447
+ }
4429
4448
  }
4430
4449
  render() {
4431
4450
  return (this.dismissible && this.show) || !this.dismissible
@@ -4458,7 +4477,7 @@
4458
4477
  : nothing;
4459
4478
  }
4460
4479
  }
4461
- SgdsBadge.styles = [...SgdsElement.styles, css_248z$1];
4480
+ SgdsBadge.styles = [...SgdsElement.styles, css_248z];
4462
4481
  /**@internal */
4463
4482
  SgdsBadge.dependencies = {
4464
4483
  "sgds-close-button": SgdsCloseButton