@govtechsg/sgds-web-component 3.1.2 → 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 (298) 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/Breadcrumb/index.umd.js +2 -2
  7. package/components/Breadcrumb/index.umd.js.map +1 -1
  8. package/components/Breadcrumb/sgds-breadcrumb.d.ts +1 -1
  9. package/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  10. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  11. package/components/Button/index.umd.js +1 -1
  12. package/components/Card/card.js +1 -1
  13. package/components/Card/index.umd.js +121 -69
  14. package/components/Card/index.umd.js.map +1 -1
  15. package/components/Card/sgds-card.d.ts +4 -15
  16. package/components/Card/sgds-card.js +16 -54
  17. package/components/Card/sgds-card.js.map +1 -1
  18. package/components/Card/types.d.ts +3 -0
  19. package/components/ComboBox/combo-box-item2.js +1 -1
  20. package/components/ComboBox/index.umd.js +1 -1
  21. package/components/Datepicker/index.umd.js +30 -13
  22. package/components/Datepicker/index.umd.js.map +1 -1
  23. package/components/Datepicker/sgds-datepicker.d.ts +13 -3
  24. package/components/Datepicker/sgds-datepicker.js +29 -11
  25. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  26. package/components/Dropdown/dropdown-item.js +1 -1
  27. package/components/Dropdown/dropdown.js +1 -1
  28. package/components/Dropdown/index.umd.js +2 -2
  29. package/components/FileUpload/index.umd.js +1 -1
  30. package/components/IconButton/index.umd.js +1 -1
  31. package/components/IconCard/icon-card.js +6 -0
  32. package/components/IconCard/icon-card.js.map +1 -0
  33. package/components/IconCard/index.d.ts +6 -0
  34. package/components/IconCard/index.js +4 -0
  35. package/components/IconCard/index.js.map +1 -0
  36. package/components/IconCard/index.umd.js +4760 -0
  37. package/components/IconCard/index.umd.js.map +1 -0
  38. package/components/IconCard/sgds-icon-card.d.ts +24 -0
  39. package/components/IconCard/sgds-icon-card.js +83 -0
  40. package/components/IconCard/sgds-icon-card.js.map +1 -0
  41. package/components/IconList/icon-list.js +1 -1
  42. package/components/IconList/index.umd.js +1 -1
  43. package/components/ImageCard/image-card.js +6 -0
  44. package/components/ImageCard/image-card.js.map +1 -0
  45. package/components/ImageCard/index.d.ts +6 -0
  46. package/components/ImageCard/index.js +4 -0
  47. package/components/ImageCard/index.js.map +1 -0
  48. package/components/ImageCard/index.umd.js +4774 -0
  49. package/components/ImageCard/index.umd.js.map +1 -0
  50. package/components/ImageCard/sgds-image-card.d.ts +30 -0
  51. package/components/ImageCard/sgds-image-card.js +97 -0
  52. package/components/ImageCard/sgds-image-card.js.map +1 -0
  53. package/components/Input/index.umd.js +1 -1
  54. package/components/Input/input.js +1 -1
  55. package/components/Mainnav/index.umd.js +7 -7
  56. package/components/Mainnav/index.umd.js.map +1 -1
  57. package/components/Mainnav/sgds-mainnav-item.d.ts +1 -1
  58. package/components/Mainnav/sgds-mainnav-item.js +2 -2
  59. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  60. package/components/Modal/index.umd.js +1 -1
  61. package/components/Modal/index.umd.js.map +1 -1
  62. package/components/OverflowMenu/index.js +5 -0
  63. package/components/OverflowMenu/index.js.map +1 -0
  64. package/components/OverflowMenu/index.umd.js +11129 -0
  65. package/components/OverflowMenu/index.umd.js.map +1 -0
  66. package/{internals → components}/OverflowMenu/sgds-overflow-menu.d.ts +3 -3
  67. package/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  68. package/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  69. package/components/Pagination/index.umd.js +1 -1
  70. package/components/QuantityToggle/index.umd.js +2 -2
  71. package/components/Select/index.umd.js +1 -1
  72. package/components/Select/select-item2.js +1 -1
  73. package/components/Subnav/index.umd.js +69 -97
  74. package/components/Subnav/index.umd.js.map +1 -1
  75. package/components/Subnav/sgds-subnav-item.d.ts +1 -1
  76. package/components/Subnav/sgds-subnav-item.js +2 -2
  77. package/components/Subnav/sgds-subnav-item.js.map +1 -1
  78. package/components/Subnav/sgds-subnav.d.ts +4 -3
  79. package/components/Subnav/sgds-subnav.js +66 -95
  80. package/components/Subnav/sgds-subnav.js.map +1 -1
  81. package/components/Subnav/subnav-item.js +1 -1
  82. package/components/Subnav/subnav.js +1 -1
  83. package/components/Table/index.d.ts +7 -1
  84. package/components/Table/index.js +6 -0
  85. package/components/Table/index.js.map +1 -1
  86. package/components/Table/index.umd.js +182 -16
  87. package/components/Table/index.umd.js.map +1 -1
  88. package/components/Table/sgds-table-cell.d.ts +13 -0
  89. package/components/Table/sgds-table-cell.js +22 -0
  90. package/components/Table/sgds-table-cell.js.map +1 -0
  91. package/components/Table/sgds-table-head.d.ts +18 -0
  92. package/components/Table/sgds-table-head.js +43 -0
  93. package/components/Table/sgds-table-head.js.map +1 -0
  94. package/components/Table/sgds-table-row.d.ts +13 -0
  95. package/components/Table/sgds-table-row.js +22 -0
  96. package/components/Table/sgds-table-row.js.map +1 -0
  97. package/components/Table/sgds-table.d.ts +5 -2
  98. package/components/Table/sgds-table.js +18 -13
  99. package/components/Table/sgds-table.js.map +1 -1
  100. package/components/Table/table-cell.js +6 -0
  101. package/components/Table/table-cell.js.map +1 -0
  102. package/components/Table/table-head.js +6 -0
  103. package/components/Table/table-head.js.map +1 -0
  104. package/components/Table/table-row.js +6 -0
  105. package/components/Table/table-row.js.map +1 -0
  106. package/components/Table/table.js +1 -1
  107. package/components/ThumbnailCard/index.d.ts +6 -0
  108. package/components/ThumbnailCard/index.js +4 -0
  109. package/components/ThumbnailCard/index.js.map +1 -0
  110. package/components/ThumbnailCard/index.umd.js +4764 -0
  111. package/components/ThumbnailCard/index.umd.js.map +1 -0
  112. package/components/ThumbnailCard/sgds-thumbnail-card.d.ts +24 -0
  113. package/components/ThumbnailCard/sgds-thumbnail-card.js +87 -0
  114. package/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  115. package/components/ThumbnailCard/thumbnail-card.js +6 -0
  116. package/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  117. package/components/Toast/index.umd.js +1 -1
  118. package/components/Toast/toast.js +1 -1
  119. package/components/index.d.ts +4 -0
  120. package/components/index.js +4 -0
  121. package/components/index.js.map +1 -1
  122. package/components/index.umd.js +565 -314
  123. package/components/index.umd.js.map +1 -1
  124. package/index.d.ts +4 -0
  125. package/index.js +4 -0
  126. package/index.js.map +1 -1
  127. package/index.umd.js +653 -323
  128. package/index.umd.js.map +1 -1
  129. package/package.json +1 -1
  130. package/react/base/button.cjs.js +1 -1
  131. package/react/base/button.js +1 -1
  132. package/react/base/card-element.cjs.js +52 -1
  133. package/react/base/card-element.cjs.js.map +1 -1
  134. package/react/base/card-element.js +53 -2
  135. package/react/base/card-element.js.map +1 -1
  136. package/react/base/card.cjs.js +1 -1
  137. package/react/base/card.js +1 -1
  138. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js +1 -1
  139. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -1
  140. package/react/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  141. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  142. package/react/components/Card/card.cjs.js +1 -1
  143. package/react/components/Card/card.js +1 -1
  144. package/react/components/Card/sgds-card.cjs.js +15 -53
  145. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  146. package/react/components/Card/sgds-card.js +16 -54
  147. package/react/components/Card/sgds-card.js.map +1 -1
  148. package/react/components/ComboBox/combo-box-item.cjs2.js +1 -1
  149. package/react/components/ComboBox/combo-box-item2.js +1 -1
  150. package/react/components/Datepicker/sgds-datepicker.cjs.js +29 -11
  151. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  152. package/react/components/Datepicker/sgds-datepicker.js +29 -11
  153. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  154. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  155. package/react/components/Dropdown/dropdown-item.js +1 -1
  156. package/react/components/Dropdown/dropdown.cjs.js +1 -1
  157. package/react/components/Dropdown/dropdown.js +1 -1
  158. package/react/components/IconCard/icon-card.cjs.js +11 -0
  159. package/react/components/IconCard/icon-card.cjs.js.map +1 -0
  160. package/react/components/IconCard/icon-card.js +7 -0
  161. package/react/components/IconCard/icon-card.js.map +1 -0
  162. package/react/components/IconCard/sgds-icon-card.cjs.js +89 -0
  163. package/react/components/IconCard/sgds-icon-card.cjs.js.map +1 -0
  164. package/react/components/IconCard/sgds-icon-card.js +84 -0
  165. package/react/components/IconCard/sgds-icon-card.js.map +1 -0
  166. package/react/components/IconList/icon-list.cjs.js +1 -1
  167. package/react/components/IconList/icon-list.js +1 -1
  168. package/react/components/ImageCard/image-card.cjs.js +11 -0
  169. package/react/components/ImageCard/image-card.cjs.js.map +1 -0
  170. package/react/components/ImageCard/image-card.js +7 -0
  171. package/react/components/ImageCard/image-card.js.map +1 -0
  172. package/react/components/ImageCard/sgds-image-card.cjs.js +103 -0
  173. package/react/components/ImageCard/sgds-image-card.cjs.js.map +1 -0
  174. package/react/components/ImageCard/sgds-image-card.js +98 -0
  175. package/react/components/ImageCard/sgds-image-card.js.map +1 -0
  176. package/react/components/Input/input.cjs.js +1 -1
  177. package/react/components/Input/input.js +1 -1
  178. package/react/components/Mainnav/sgds-mainnav-item.cjs.js +2 -2
  179. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
  180. package/react/components/Mainnav/sgds-mainnav-item.js +2 -2
  181. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  182. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.cjs.js +3 -3
  183. package/react/components/OverflowMenu/sgds-overflow-menu.cjs.js.map +1 -0
  184. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  185. package/react/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  186. package/react/components/Select/select-item.cjs2.js +1 -1
  187. package/react/components/Select/select-item2.js +1 -1
  188. package/react/components/Subnav/sgds-subnav-item.cjs.js +2 -2
  189. package/react/components/Subnav/sgds-subnav-item.cjs.js.map +1 -1
  190. package/react/components/Subnav/sgds-subnav-item.js +2 -2
  191. package/react/components/Subnav/sgds-subnav-item.js.map +1 -1
  192. package/react/components/Subnav/sgds-subnav.cjs.js +64 -93
  193. package/react/components/Subnav/sgds-subnav.cjs.js.map +1 -1
  194. package/react/components/Subnav/sgds-subnav.js +66 -95
  195. package/react/components/Subnav/sgds-subnav.js.map +1 -1
  196. package/react/components/Subnav/subnav-item.cjs.js +1 -1
  197. package/react/components/Subnav/subnav-item.js +1 -1
  198. package/react/components/Subnav/subnav.cjs.js +1 -1
  199. package/react/components/Subnav/subnav.js +1 -1
  200. package/react/components/Table/sgds-table-cell.cjs.js +28 -0
  201. package/react/components/Table/sgds-table-cell.cjs.js.map +1 -0
  202. package/react/components/Table/sgds-table-cell.js +23 -0
  203. package/react/components/Table/sgds-table-cell.js.map +1 -0
  204. package/react/components/Table/sgds-table-head.cjs.js +49 -0
  205. package/react/components/Table/sgds-table-head.cjs.js.map +1 -0
  206. package/react/components/Table/sgds-table-head.js +44 -0
  207. package/react/components/Table/sgds-table-head.js.map +1 -0
  208. package/react/components/Table/sgds-table-row.cjs.js +28 -0
  209. package/react/components/Table/sgds-table-row.cjs.js.map +1 -0
  210. package/react/components/Table/sgds-table-row.js +23 -0
  211. package/react/components/Table/sgds-table-row.js.map +1 -0
  212. package/react/components/Table/sgds-table.cjs.js +17 -12
  213. package/react/components/Table/sgds-table.cjs.js.map +1 -1
  214. package/react/components/Table/sgds-table.js +18 -13
  215. package/react/components/Table/sgds-table.js.map +1 -1
  216. package/react/components/Table/table-cell.cjs.js +11 -0
  217. package/react/components/Table/table-cell.cjs.js.map +1 -0
  218. package/react/components/Table/table-cell.js +7 -0
  219. package/react/components/Table/table-cell.js.map +1 -0
  220. package/react/components/Table/table-head.cjs.js +11 -0
  221. package/react/components/Table/table-head.cjs.js.map +1 -0
  222. package/react/components/Table/table-head.js +7 -0
  223. package/react/components/Table/table-head.js.map +1 -0
  224. package/react/components/Table/table-row.cjs.js +11 -0
  225. package/react/components/Table/table-row.cjs.js.map +1 -0
  226. package/react/components/Table/table-row.js +7 -0
  227. package/react/components/Table/table-row.js.map +1 -0
  228. package/react/components/Table/table.cjs.js +1 -1
  229. package/react/components/Table/table.js +1 -1
  230. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js +93 -0
  231. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js.map +1 -0
  232. package/react/components/ThumbnailCard/sgds-thumbnail-card.js +88 -0
  233. package/react/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  234. package/react/components/ThumbnailCard/thumbnail-card.cjs.js +11 -0
  235. package/react/components/ThumbnailCard/thumbnail-card.cjs.js.map +1 -0
  236. package/react/components/ThumbnailCard/thumbnail-card.js +7 -0
  237. package/react/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  238. package/react/components/Toast/toast.cjs.js +1 -1
  239. package/react/components/Toast/toast.js +1 -1
  240. package/react/icon-card/index.cjs.js +40 -0
  241. package/react/icon-card/index.cjs.js.map +1 -0
  242. package/react/icon-card/index.d.ts +2 -0
  243. package/react/icon-card/index.js +16 -0
  244. package/react/icon-card/index.js.map +1 -0
  245. package/react/image-card/index.cjs.js +40 -0
  246. package/react/image-card/index.cjs.js.map +1 -0
  247. package/react/image-card/index.d.ts +2 -0
  248. package/react/image-card/index.js +16 -0
  249. package/react/image-card/index.js.map +1 -0
  250. package/react/index.cjs.js +78 -64
  251. package/react/index.cjs.js.map +1 -1
  252. package/react/index.d.ts +7 -0
  253. package/react/index.js +7 -0
  254. package/react/index.js.map +1 -1
  255. package/react/overflow-menu/index.cjs.js +40 -0
  256. package/react/overflow-menu/index.cjs.js.map +1 -0
  257. package/react/overflow-menu/index.d.ts +2 -0
  258. package/react/overflow-menu/index.js +16 -0
  259. package/react/overflow-menu/index.js.map +1 -0
  260. package/react/table-cell/index.cjs.js +40 -0
  261. package/react/table-cell/index.cjs.js.map +1 -0
  262. package/react/table-cell/index.d.ts +2 -0
  263. package/react/table-cell/index.js +16 -0
  264. package/react/table-cell/index.js.map +1 -0
  265. package/react/table-head/index.cjs.js +40 -0
  266. package/react/table-head/index.cjs.js.map +1 -0
  267. package/react/table-head/index.d.ts +2 -0
  268. package/react/table-head/index.js +16 -0
  269. package/react/table-head/index.js.map +1 -0
  270. package/react/table-row/index.cjs.js +40 -0
  271. package/react/table-row/index.cjs.js.map +1 -0
  272. package/react/table-row/index.d.ts +2 -0
  273. package/react/table-row/index.js +16 -0
  274. package/react/table-row/index.js.map +1 -0
  275. package/react/thumbnail-card/index.cjs.js +40 -0
  276. package/react/thumbnail-card/index.cjs.js.map +1 -0
  277. package/react/thumbnail-card/index.d.ts +2 -0
  278. package/react/thumbnail-card/index.js +16 -0
  279. package/react/thumbnail-card/index.js.map +1 -0
  280. package/react/utils/breakpoints.cjs.js +2 -2
  281. package/react/utils/breakpoints.cjs.js.map +1 -1
  282. package/react/utils/breakpoints.js +2 -2
  283. package/react/utils/breakpoints.js.map +1 -1
  284. package/themes/day.css +1 -0
  285. package/themes/night.css +1 -0
  286. package/utils/breakpoints.d.ts +3 -3
  287. package/utils/breakpoints.js +2 -2
  288. package/utils/breakpoints.js.map +1 -1
  289. package/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  290. package/react/internals/OverflowMenu/sgds-overflow-menu.cjs.js.map +0 -1
  291. package/react/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  292. /package/{internals → components}/OverflowMenu/index.d.ts +0 -0
  293. /package/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  294. /package/{internals → components}/OverflowMenu/overflow-menu.js.map +0 -0
  295. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js +0 -0
  296. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js.map +0 -0
  297. /package/react/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  298. /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":";;;;;;;AAUA;;;;;;;;AAQG;AACG,MAAO,QAAS,SAAQ,WAAW,CAAA;AAAzC,IAAA,WAAA,GAAA;;;QAiB8C,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;;QAGtB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAGlB,IAAW,CAAA,WAAA,GAAoB,UAAU,CAAC;;QAG1C,IAAa,CAAA,aAAA,GAAsB,QAAQ,CAAC;;QAG5C,IAAe,CAAA,eAAA,GAAwB,SAAS,CAAC;KAoF7F;IAlFW,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,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAmB,CAAC;AAC3E,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC7B;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,YAAA,MAAM,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5E,YAAA,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,YAAA,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACnC;KACF;AAED,IAAA,qBAAqB,CAAC,CAAQ,EAAA;AAC5B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAuB,CAAC;QAExG,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,YAAY,iBAAiB,EAAE;AACpE,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AACpE,YAAA,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO;KACR;AAED,IAAA,oBAAoB,CAAC,CAAQ,EAAA;AAC3B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAEpD,CAAC;AAE7B,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SAC5E;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,YAAY,iBAAiB,EAAE;AACpE,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAoB,CAAC;AACvF,YAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACjC;QACD,OAAO;KACR;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;;;AAGY,yCAAA,EAAA,IAAI,CAAC,mBAAmB,CAAA;;;;;;;;AAQC,kEAAA,EAAA,IAAI,CAAC,qBAAqB,CAAA;;;;;AAKpD,wCAAA,EAAA,IAAI,CAAC,oBAAoB,CAAA;;UAEzD,GAAG,CAAA;KACR,CAAC;KACH;;AA/GM,QAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAS,CAApC,CAAsC;AAGlC,UAAA,CAAA;IAAhB,KAAK,CAAC,QAAQ,CAAC;AAAyB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIzC,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;AAGxB,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;AAGoB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAuB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGtB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2C,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG1C,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;;;;"}
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
@@ -11897,7 +11897,7 @@
11897
11897
  watch("_isTouched", { waitUntilFirstUpdate: true })
11898
11898
  ], SgdsCheckbox.prototype, "_handleIsTouched", null);
11899
11899
 
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;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}`;
11901
11901
 
11902
11902
  class ComboBoxItem extends SgdsElement {
11903
11903
  constructor() {
@@ -14208,7 +14208,7 @@
14208
14208
  */
14209
14209
  const html = withStatic(html$1);
14210
14210
 
14211
- var css_248z$g = 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}@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)}`;
14211
+ var css_248z$g = 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)}`;
14212
14212
 
14213
14213
  class ButtonElement extends SgdsElement {
14214
14214
  constructor() {
@@ -21616,7 +21616,7 @@
21616
21616
  property({ reflect: true, type: String })
21617
21617
  ], SgdsSpinner.prototype, "label", void 0);
21618
21618
 
21619
- var css_248z$2 = css`:host{--input-border-radius:var(--sgds-form-border-radius-md)}.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius);display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;min-width:var(--sgds-dimension-256);padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-size:var(--sgds-font-size-2);line-height:var(--sgds-line-height-body);outline:none;padding:0}.form-control-group>.form-control:focus{z-index:3}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.form-control-group.readonly{border-color:var(--sgds-border-color-muted)}.form-control-group:not(.disabled):not(.is-invalid):hover{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis)}.form-control-group:not(.disabled):not(.is-invalid):focus,.form-control-group:not(.disabled):not(.is-invalid):focus-within{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);box-shadow:var(--sgds-form-box-shadow-focus);outline:0}.form-control-group.is-invalid{border:var(--sgds-form-border-width-thick) solid var(--sgds-form-danger-border-color-default)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}`;
21619
+ var css_248z$2 = css`:host{--input-border-radius:var(--sgds-form-border-radius-md)}.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius);display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;min-width:var(--sgds-dimension-256);padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-size:var(--sgds-font-size-2);line-height:var(--sgds-line-height-body);outline:none;padding:0}.form-control-group>.form-control:focus{z-index:3}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.form-control-group.readonly{background-color:var(--sgds-form-surface-raised)}.form-control-group:not(.disabled):not(.is-invalid):not(.readonly):hover{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis)}.form-control-group:not(.disabled):not(.is-invalid):focus,.form-control-group:not(.disabled):not(.is-invalid):focus-within{border:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);box-shadow:var(--sgds-form-box-shadow-focus);outline:0}.form-control-group.is-invalid{border:var(--sgds-form-border-width-thick) solid var(--sgds-form-danger-border-color-default)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}`;
21620
21620
 
21621
21621
  /**
21622
21622
  * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.
@@ -22049,7 +22049,17 @@
22049
22049
  this.required = false;
22050
22050
  /** When true, adds disabled attribute to input and button element */
22051
22051
  this.disabled = false;
22052
- /** The initial value of DatePicker on first load for single & range mode as array of string. eg.'["22/12/2023"]' for single & '["22/12/2023","25/12/2023"]' for range respectively */
22052
+ /** Sets the initial value of the datepicker. Replaces deprecated `initialValue`.
22053
+ * Pass in dates in this format `dd/mm/yyyy` for single mode and `dd/mm/yyyy - dd/mm/yyyy` for range mode
22054
+ * For example, `value="22/12/2023"` for single mode or `value="22/12/2023 - 25/12/2023"` for range mode
22055
+ */
22056
+ this.value = "";
22057
+ /**
22058
+ * @deprecated since v3.1.1 in favour of `value`.
22059
+ * The initial value of DatePicker on first load for single &
22060
+ * range mode as array of string. eg.'["22/12/2023"]' for single &
22061
+ * '["22/12/2023","25/12/2023"]' for range respectively
22062
+ * */
22053
22063
  this.initialValue = [];
22054
22064
  this.dateFormat = "DD/MM/YYYY";
22055
22065
  /** ISO date string to set the lowest allowable date value. e.g. "2016-05-19T12:00:00.000Z" */
@@ -22068,8 +22078,8 @@
22068
22078
  this.noFlip = false;
22069
22079
  /** The drop position of menu relative to the toggle button */
22070
22080
  this.drop = "down";
22071
- /**@internal */
22072
- this.value = "";
22081
+ /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
22082
+ this.defaultValue = "";
22073
22083
  /**@internal */
22074
22084
  this.invalid = false;
22075
22085
  this.view = "days";
@@ -22155,6 +22165,7 @@
22155
22165
  this.addEventListener("sgds-hide", this._handleCloseMenu);
22156
22166
  this.addEventListener("sgds-show", this._handleOpenMenu);
22157
22167
  this.addEventListener("blur", this._mixinCheckValidity);
22168
+ this.initialValue = this.value ? this.value.split(" - ").map(v => v.trim()) : this.initialValue;
22158
22169
  this.initialDisplayDate = this.displayDate || new Date();
22159
22170
  if (this.initialValue && this.initialValue.length > 0) {
22160
22171
  // Validate initialValue against the dateFormat regex
@@ -22281,19 +22292,22 @@
22281
22292
  this._manageInternalsBadInput();
22282
22293
  }
22283
22294
  async _handleEmptyInput() {
22284
- this._manageEmptyInput();
22295
+ if (this.required) {
22296
+ this._manageEmptyInput();
22297
+ }
22298
+ return;
22285
22299
  }
22286
- async _resetDatepicker() {
22300
+ async _resetDatepicker(resetValue = "") {
22287
22301
  this.displayDate = this.initialDisplayDate;
22288
22302
  this.selectedDateRange = [];
22289
- this.value = "";
22303
+ this.value = resetValue;
22290
22304
  this.view = "days";
22291
22305
  const input = await this.datepickerInputAsync;
22292
22306
  input.setInvalid(false);
22293
22307
  input.destroyInputMask();
22294
22308
  await input.applyInputMask();
22295
22309
  this._mixinResetValidity(input);
22296
- if (this.isValueEmpty() && this.required) {
22310
+ if (this.isValueEmpty()) {
22297
22311
  this._handleEmptyInput();
22298
22312
  }
22299
22313
  }
@@ -22327,7 +22341,7 @@
22327
22341
  * Handles the form "reset" event
22328
22342
  */
22329
22343
  async _mixinResetFormControl() {
22330
- this._resetDatepicker();
22344
+ this._resetDatepicker(this.defaultValue);
22331
22345
  }
22332
22346
  async _handleInputMaskChange(e) {
22333
22347
  this.value = e.detail;
@@ -22421,6 +22435,9 @@
22421
22435
  __decorate([
22422
22436
  property({ type: Boolean, reflect: true })
22423
22437
  ], SgdsDatepicker.prototype, "disabled", void 0);
22438
+ __decorate([
22439
+ property({ type: String, reflect: true })
22440
+ ], SgdsDatepicker.prototype, "value", void 0);
22424
22441
  __decorate([
22425
22442
  property({ type: Array, reflect: true })
22426
22443
  ], SgdsDatepicker.prototype, "initialValue", void 0);
@@ -22455,8 +22472,8 @@
22455
22472
  property({ attribute: false })
22456
22473
  ], SgdsDatepicker.prototype, "displayDate", void 0);
22457
22474
  __decorate([
22458
- state()
22459
- ], SgdsDatepicker.prototype, "value", void 0);
22475
+ defaultValue()
22476
+ ], SgdsDatepicker.prototype, "defaultValue", void 0);
22460
22477
  __decorate([
22461
22478
  state()
22462
22479
  ], SgdsDatepicker.prototype, "invalid", void 0);
@@ -22482,7 +22499,7 @@
22482
22499
  query("sgds-datepicker-input")
22483
22500
  ], SgdsDatepicker.prototype, "datepickerInput", void 0);
22484
22501
  __decorate([
22485
- watch("value")
22502
+ watch("value", { waitUntilFirstUpdate: true })
22486
22503
  ], SgdsDatepicker.prototype, "_handleValueChange", null);
22487
22504
 
22488
22505
  /**