@govtechsg/sgds-web-component 3.3.0 → 3.3.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 (588) hide show
  1. package/base/card-element.d.ts +19 -0
  2. package/base/card-element.js +43 -2
  3. package/base/card-element.js.map +1 -1
  4. package/base/card.js +1 -1
  5. package/{src/base → base}/dropdown-element.d.ts +3 -1
  6. package/base/dropdown-element.js +2 -1
  7. package/base/dropdown-element.js.map +1 -1
  8. package/base/select-element.js +3 -1
  9. package/base/select-element.js.map +1 -1
  10. package/components/Breadcrumb/index.umd.js +3 -2
  11. package/components/Breadcrumb/index.umd.js.map +1 -1
  12. package/{src/components → components}/Breadcrumb/sgds-breadcrumb.d.ts +1 -1
  13. package/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  14. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  15. package/components/Card/card.js +1 -1
  16. package/components/Card/index.umd.js +83 -82
  17. package/components/Card/index.umd.js.map +1 -1
  18. package/{src/components → components}/Card/sgds-card.d.ts +4 -15
  19. package/components/Card/sgds-card.js +16 -56
  20. package/components/Card/sgds-card.js.map +1 -1
  21. package/components/Card/types.d.ts +3 -0
  22. package/components/ComboBox/combo-box.js +1 -1
  23. package/components/ComboBox/index.umd.js +18 -3
  24. package/components/ComboBox/index.umd.js.map +1 -1
  25. package/components/Datepicker/index.umd.js +17 -12
  26. package/components/Datepicker/index.umd.js.map +1 -1
  27. package/{src/components → components}/Datepicker/sgds-datepicker.d.ts +3 -2
  28. package/components/Datepicker/sgds-datepicker.js +15 -11
  29. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  30. package/components/Dropdown/dropdown.js +1 -1
  31. package/components/Dropdown/index.umd.js +3 -2
  32. package/components/Dropdown/index.umd.js.map +1 -1
  33. package/components/IconCard/icon-card.js +6 -0
  34. package/components/IconCard/icon-card.js.map +1 -0
  35. package/components/IconCard/index.d.ts +6 -0
  36. package/components/IconCard/index.js +4 -0
  37. package/components/IconCard/index.js.map +1 -0
  38. package/components/IconCard/index.umd.js +4750 -0
  39. package/components/IconCard/index.umd.js.map +1 -0
  40. package/components/IconCard/sgds-icon-card.d.ts +24 -0
  41. package/components/IconCard/sgds-icon-card.js +83 -0
  42. package/components/IconCard/sgds-icon-card.js.map +1 -0
  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 +4764 -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/Mainnav/index.umd.js +5 -4
  54. package/components/Mainnav/index.umd.js.map +1 -1
  55. package/components/Mainnav/mainnav.js +1 -1
  56. package/components/Mainnav/sgds-mainnav-dropdown.js +1 -1
  57. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  58. package/components/Modal/index.umd.js +1 -1
  59. package/components/Modal/modal.js +1 -1
  60. package/components/OverflowMenu/index.js +5 -0
  61. package/components/OverflowMenu/index.js.map +1 -0
  62. package/components/OverflowMenu/index.umd.js +11130 -0
  63. package/components/OverflowMenu/index.umd.js.map +1 -0
  64. package/{src/internals → components}/OverflowMenu/sgds-overflow-menu.d.ts +3 -3
  65. package/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  66. package/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  67. package/components/Select/index.umd.js +18 -3
  68. package/components/Select/index.umd.js.map +1 -1
  69. package/components/Select/select.js +1 -1
  70. package/components/ThumbnailCard/index.d.ts +6 -0
  71. package/components/ThumbnailCard/index.js +4 -0
  72. package/components/ThumbnailCard/index.js.map +1 -0
  73. package/components/ThumbnailCard/index.umd.js +4754 -0
  74. package/components/ThumbnailCard/index.umd.js.map +1 -0
  75. package/components/ThumbnailCard/sgds-thumbnail-card.d.ts +24 -0
  76. package/components/ThumbnailCard/sgds-thumbnail-card.js +87 -0
  77. package/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  78. package/components/ThumbnailCard/thumbnail-card.js +6 -0
  79. package/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  80. package/{src/components → components}/index.d.ts +4 -0
  81. package/components/index.js +4 -0
  82. package/components/index.js.map +1 -1
  83. package/components/index.umd.js +475 -208
  84. package/components/index.umd.js.map +1 -1
  85. package/{src/index.d.ts → index.d.ts} +4 -0
  86. package/index.js +4 -0
  87. package/index.js.map +1 -1
  88. package/index.umd.js +493 -222
  89. package/index.umd.js.map +1 -1
  90. package/package.json +1 -1
  91. package/react/base/card-element.cjs.js +42 -1
  92. package/react/base/card-element.cjs.js.map +1 -1
  93. package/react/base/card-element.js +43 -2
  94. package/react/base/card-element.js.map +1 -1
  95. package/react/base/card.cjs.js +1 -1
  96. package/react/base/card.js +1 -1
  97. package/react/base/dropdown-element.cjs.js +2 -1
  98. package/react/base/dropdown-element.cjs.js.map +1 -1
  99. package/react/base/dropdown-element.js +2 -1
  100. package/react/base/dropdown-element.js.map +1 -1
  101. package/react/base/select-element.cjs.js +3 -1
  102. package/react/base/select-element.cjs.js.map +1 -1
  103. package/react/base/select-element.js +3 -1
  104. package/react/base/select-element.js.map +1 -1
  105. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js +1 -1
  106. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -1
  107. package/react/components/Breadcrumb/sgds-breadcrumb.js +1 -1
  108. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  109. package/react/components/Card/card.cjs.js +1 -1
  110. package/react/components/Card/card.js +1 -1
  111. package/react/components/Card/sgds-card.cjs.js +15 -55
  112. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  113. package/react/components/Card/sgds-card.js +16 -56
  114. package/react/components/Card/sgds-card.js.map +1 -1
  115. package/react/components/ComboBox/combo-box.cjs.js +1 -1
  116. package/react/components/ComboBox/combo-box.js +1 -1
  117. package/react/components/Datepicker/sgds-datepicker.cjs.js +15 -11
  118. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  119. package/react/components/Datepicker/sgds-datepicker.js +15 -11
  120. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  121. package/react/components/Dropdown/dropdown.cjs.js +1 -1
  122. package/react/components/Dropdown/dropdown.js +1 -1
  123. package/react/components/IconCard/icon-card.cjs.js +11 -0
  124. package/react/components/IconCard/icon-card.cjs.js.map +1 -0
  125. package/react/components/IconCard/icon-card.js +7 -0
  126. package/react/components/IconCard/icon-card.js.map +1 -0
  127. package/react/components/IconCard/sgds-icon-card.cjs.js +89 -0
  128. package/react/components/IconCard/sgds-icon-card.cjs.js.map +1 -0
  129. package/react/components/IconCard/sgds-icon-card.js +84 -0
  130. package/react/components/IconCard/sgds-icon-card.js.map +1 -0
  131. package/react/components/ImageCard/image-card.cjs.js +11 -0
  132. package/react/components/ImageCard/image-card.cjs.js.map +1 -0
  133. package/react/components/ImageCard/image-card.js +7 -0
  134. package/react/components/ImageCard/image-card.js.map +1 -0
  135. package/react/components/ImageCard/sgds-image-card.cjs.js +103 -0
  136. package/react/components/ImageCard/sgds-image-card.cjs.js.map +1 -0
  137. package/react/components/ImageCard/sgds-image-card.js +98 -0
  138. package/react/components/ImageCard/sgds-image-card.js.map +1 -0
  139. package/react/components/Mainnav/mainnav.cjs.js +1 -1
  140. package/react/components/Mainnav/mainnav.js +1 -1
  141. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js +1 -1
  142. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -1
  143. package/react/components/Mainnav/sgds-mainnav-dropdown.js +1 -1
  144. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  145. package/react/components/Modal/modal.cjs.js +1 -1
  146. package/react/components/Modal/modal.js +1 -1
  147. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.cjs.js +3 -3
  148. package/react/components/OverflowMenu/sgds-overflow-menu.cjs.js.map +1 -0
  149. package/react/{internals → components}/OverflowMenu/sgds-overflow-menu.js +3 -3
  150. package/react/components/OverflowMenu/sgds-overflow-menu.js.map +1 -0
  151. package/react/components/Select/select.cjs.js +1 -1
  152. package/react/components/Select/select.js +1 -1
  153. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js +93 -0
  154. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js.map +1 -0
  155. package/react/components/ThumbnailCard/sgds-thumbnail-card.js +88 -0
  156. package/react/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -0
  157. package/react/components/ThumbnailCard/thumbnail-card.cjs.js +11 -0
  158. package/react/components/ThumbnailCard/thumbnail-card.cjs.js.map +1 -0
  159. package/react/components/ThumbnailCard/thumbnail-card.js +7 -0
  160. package/react/components/ThumbnailCard/thumbnail-card.js.map +1 -0
  161. package/react/icon-card/index.cjs.js +40 -0
  162. package/react/icon-card/index.cjs.js.map +1 -0
  163. package/react/icon-card/index.js +16 -0
  164. package/react/icon-card/index.js.map +1 -0
  165. package/react/image-card/index.cjs.js +40 -0
  166. package/react/image-card/index.cjs.js.map +1 -0
  167. package/react/image-card/index.js +16 -0
  168. package/react/image-card/index.js.map +1 -0
  169. package/react/index.cjs.js +78 -70
  170. package/react/index.cjs.js.map +1 -1
  171. package/{src/react → react}/index.d.ts +4 -0
  172. package/react/index.js +4 -0
  173. package/react/index.js.map +1 -1
  174. package/react/overflow-menu/index.cjs.js +40 -0
  175. package/react/overflow-menu/index.cjs.js.map +1 -0
  176. package/react/overflow-menu/index.js +16 -0
  177. package/react/overflow-menu/index.js.map +1 -0
  178. package/react/thumbnail-card/index.cjs.js +40 -0
  179. package/react/thumbnail-card/index.cjs.js.map +1 -0
  180. package/react/thumbnail-card/index.d.ts +2 -0
  181. package/react/thumbnail-card/index.js +16 -0
  182. package/react/thumbnail-card/index.js.map +1 -0
  183. package/react/toast/index.d.ts +2 -0
  184. package/react/toast-container/index.d.ts +2 -0
  185. package/react/tooltip/index.d.ts +2 -0
  186. package/react/utils/popper.cjs.js +20 -0
  187. package/react/utils/popper.cjs.js.map +1 -0
  188. package/react/utils/popper.js +16 -0
  189. package/react/utils/popper.js.map +1 -0
  190. package/utils/popper.d.ts +5 -0
  191. package/utils/popper.js +15 -0
  192. package/utils/popper.js.map +1 -0
  193. package/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  194. package/react/internals/OverflowMenu/sgds-overflow-menu.cjs.js.map +0 -1
  195. package/react/internals/OverflowMenu/sgds-overflow-menu.js.map +0 -1
  196. package/scripts/figma/sync-figma-to-tokens/__tests__/write-tokens-to-css-var.test.d.ts +0 -0
  197. package/scripts/figma/sync-figma-to-tokens/color.d.ts +0 -8
  198. package/scripts/figma/sync-figma-to-tokens/figma_api.d.ts +0 -8
  199. package/scripts/figma/sync-figma-to-tokens/sync-figma-to-tokens.d.ts +0 -1
  200. package/scripts/figma/sync-figma-to-tokens/token_export.d.ts +0 -5
  201. package/scripts/figma/sync-figma-to-tokens/token_types.d.ts +0 -52
  202. package/scripts/figma/sync-figma-to-tokens/utils.d.ts +0 -3
  203. package/scripts/figma/sync-figma-to-tokens/write-tokens-to-css-var.d.ts +0 -8
  204. package/src/base/card-element.d.ts +0 -8
  205. /package/{src/base → base}/button-element.d.ts +0 -0
  206. /package/{src/base → base}/dropdown-list-element.d.ts +0 -0
  207. /package/{src/base → base}/form-control-element.d.ts +0 -0
  208. /package/{src/base → base}/link-element.d.ts +0 -0
  209. /package/{src/base → base}/select-element.d.ts +0 -0
  210. /package/{src/base → base}/sgds-element.d.ts +0 -0
  211. /package/{src/components → components}/Accordion/index.d.ts +0 -0
  212. /package/{src/components → components}/Accordion/sgds-accordion-item.d.ts +0 -0
  213. /package/{src/components → components}/Accordion/sgds-accordion.d.ts +0 -0
  214. /package/{src/components → components}/Alert/index.d.ts +0 -0
  215. /package/{src/components → components}/Alert/sgds-alert-link.d.ts +0 -0
  216. /package/{src/components → components}/Alert/sgds-alert.d.ts +0 -0
  217. /package/{src/components → components}/Badge/index.d.ts +0 -0
  218. /package/{src/components → components}/Badge/sgds-badge.d.ts +0 -0
  219. /package/{src/components → components}/Breadcrumb/index.d.ts +0 -0
  220. /package/{src/components → components}/Breadcrumb/sgds-breadcrumb-item.d.ts +0 -0
  221. /package/{src/components → components}/Button/index.d.ts +0 -0
  222. /package/{src/components → components}/Button/sgds-button.d.ts +0 -0
  223. /package/{src/components → components}/Card/index.d.ts +0 -0
  224. /package/{src/components → components}/Checkbox/index.d.ts +0 -0
  225. /package/{src/components → components}/Checkbox/sgds-checkbox-group.d.ts +0 -0
  226. /package/{src/components → components}/Checkbox/sgds-checkbox.d.ts +0 -0
  227. /package/{src/components → components}/ComboBox/combo-box-item.d.ts +0 -0
  228. /package/{src/components → components}/ComboBox/index.d.ts +0 -0
  229. /package/{src/components → components}/ComboBox/sgds-combo-box.d.ts +0 -0
  230. /package/{src/components → components}/Datepicker/datepicker-calendar.d.ts +0 -0
  231. /package/{src/components → components}/Datepicker/datepicker-header.d.ts +0 -0
  232. /package/{src/components → components}/Datepicker/datepicker-input.d.ts +0 -0
  233. /package/{src/components → components}/Datepicker/index.d.ts +0 -0
  234. /package/{src/components → components}/Datepicker/types.d.ts +0 -0
  235. /package/{src/components → components}/DescriptionList/index.d.ts +0 -0
  236. /package/{src/components → components}/DescriptionList/sgds-description-list-group.d.ts +0 -0
  237. /package/{src/components → components}/DescriptionList/sgds-description-list.d.ts +0 -0
  238. /package/{src/components → components}/Divider/index.d.ts +0 -0
  239. /package/{src/components → components}/Divider/sgds-divider.d.ts +0 -0
  240. /package/{src/components → components}/Drawer/index.d.ts +0 -0
  241. /package/{src/components → components}/Drawer/sgds-drawer.d.ts +0 -0
  242. /package/{src/components → components}/Dropdown/index.d.ts +0 -0
  243. /package/{src/components → components}/Dropdown/sgds-dropdown-item.d.ts +0 -0
  244. /package/{src/components → components}/Dropdown/sgds-dropdown.d.ts +0 -0
  245. /package/{src/components → components}/FileUpload/index.d.ts +0 -0
  246. /package/{src/components → components}/FileUpload/sgds-file-upload.d.ts +0 -0
  247. /package/{src/components → components}/Footer/index.d.ts +0 -0
  248. /package/{src/components → components}/Footer/sgds-footer-item.d.ts +0 -0
  249. /package/{src/components → components}/Footer/sgds-footer.d.ts +0 -0
  250. /package/{src/components → components}/Icon/icon-registry.d.ts +0 -0
  251. /package/{src/components → components}/Icon/icons/archive.d.ts +0 -0
  252. /package/{src/components → components}/Icon/icons/arrow-bar-down.d.ts +0 -0
  253. /package/{src/components → components}/Icon/icons/arrow-bar-left.d.ts +0 -0
  254. /package/{src/components → components}/Icon/icons/arrow-bar-right.d.ts +0 -0
  255. /package/{src/components → components}/Icon/icons/arrow-bar-up.d.ts +0 -0
  256. /package/{src/components → components}/Icon/icons/arrow-circle-down.d.ts +0 -0
  257. /package/{src/components → components}/Icon/icons/arrow-circle-left.d.ts +0 -0
  258. /package/{src/components → components}/Icon/icons/arrow-circle-right.d.ts +0 -0
  259. /package/{src/components → components}/Icon/icons/arrow-circle-up.d.ts +0 -0
  260. /package/{src/components → components}/Icon/icons/arrow-clockwise.d.ts +0 -0
  261. /package/{src/components → components}/Icon/icons/arrow-down.d.ts +0 -0
  262. /package/{src/components → components}/Icon/icons/arrow-left.d.ts +0 -0
  263. /package/{src/components → components}/Icon/icons/arrow-repeat.d.ts +0 -0
  264. /package/{src/components → components}/Icon/icons/arrow-right.d.ts +0 -0
  265. /package/{src/components → components}/Icon/icons/arrow-square-down.d.ts +0 -0
  266. /package/{src/components → components}/Icon/icons/arrow-square-left.d.ts +0 -0
  267. /package/{src/components → components}/Icon/icons/arrow-square-right.d.ts +0 -0
  268. /package/{src/components → components}/Icon/icons/arrow-square-up.d.ts +0 -0
  269. /package/{src/components → components}/Icon/icons/arrow-up.d.ts +0 -0
  270. /package/{src/components → components}/Icon/icons/bank-fill.d.ts +0 -0
  271. /package/{src/components → components}/Icon/icons/bell-slash.d.ts +0 -0
  272. /package/{src/components → components}/Icon/icons/bell.d.ts +0 -0
  273. /package/{src/components → components}/Icon/icons/bi-funnel.d.ts +0 -0
  274. /package/{src/components → components}/Icon/icons/bookmark-fill.d.ts +0 -0
  275. /package/{src/components → components}/Icon/icons/bookmark.d.ts +0 -0
  276. /package/{src/components → components}/Icon/icons/box-arrow-up-right.d.ts +0 -0
  277. /package/{src/components → components}/Icon/icons/box-seam.d.ts +0 -0
  278. /package/{src/components → components}/Icon/icons/building.d.ts +0 -0
  279. /package/{src/components → components}/Icon/icons/bus.d.ts +0 -0
  280. /package/{src/components → components}/Icon/icons/calculator.d.ts +0 -0
  281. /package/{src/components → components}/Icon/icons/calendar-check.d.ts +0 -0
  282. /package/{src/components → components}/Icon/icons/calendar-x.d.ts +0 -0
  283. /package/{src/components → components}/Icon/icons/calendar.d.ts +0 -0
  284. /package/{src/components → components}/Icon/icons/camera.d.ts +0 -0
  285. /package/{src/components → components}/Icon/icons/car.d.ts +0 -0
  286. /package/{src/components → components}/Icon/icons/chat-dots.d.ts +0 -0
  287. /package/{src/components → components}/Icon/icons/chat-left-text.d.ts +0 -0
  288. /package/{src/components → components}/Icon/icons/chat.d.ts +0 -0
  289. /package/{src/components → components}/Icon/icons/check-circle-fill.d.ts +0 -0
  290. /package/{src/components → components}/Icon/icons/check-circle.d.ts +0 -0
  291. /package/{src/components → components}/Icon/icons/check.d.ts +0 -0
  292. /package/{src/components → components}/Icon/icons/chevron-down.d.ts +0 -0
  293. /package/{src/components → components}/Icon/icons/chevron-left.d.ts +0 -0
  294. /package/{src/components → components}/Icon/icons/chevron-right.d.ts +0 -0
  295. /package/{src/components → components}/Icon/icons/chevron-selector-vertical.d.ts +0 -0
  296. /package/{src/components → components}/Icon/icons/chevron-up.d.ts +0 -0
  297. /package/{src/components → components}/Icon/icons/clock.d.ts +0 -0
  298. /package/{src/components → components}/Icon/icons/cloud-check.d.ts +0 -0
  299. /package/{src/components → components}/Icon/icons/cloud-download.d.ts +0 -0
  300. /package/{src/components → components}/Icon/icons/cloud-upload.d.ts +0 -0
  301. /package/{src/components → components}/Icon/icons/cloud.d.ts +0 -0
  302. /package/{src/components → components}/Icon/icons/compass.d.ts +0 -0
  303. /package/{src/components → components}/Icon/icons/cross.d.ts +0 -0
  304. /package/{src/components → components}/Icon/icons/cursor-fill.d.ts +0 -0
  305. /package/{src/components → components}/Icon/icons/cursor.d.ts +0 -0
  306. /package/{src/components → components}/Icon/icons/dash-circle.d.ts +0 -0
  307. /package/{src/components → components}/Icon/icons/dash-square.d.ts +0 -0
  308. /package/{src/components → components}/Icon/icons/dash.d.ts +0 -0
  309. /package/{src/components → components}/Icon/icons/download.d.ts +0 -0
  310. /package/{src/components → components}/Icon/icons/edit.d.ts +0 -0
  311. /package/{src/components → components}/Icon/icons/exclamation-circle-fill.d.ts +0 -0
  312. /package/{src/components → components}/Icon/icons/exclamation-circle.d.ts +0 -0
  313. /package/{src/components → components}/Icon/icons/exclamation-triangle-fill.d.ts +0 -0
  314. /package/{src/components → components}/Icon/icons/exclamation-triangle.d.ts +0 -0
  315. /package/{src/components → components}/Icon/icons/exclamation.d.ts +0 -0
  316. /package/{src/components → components}/Icon/icons/eye-fill.d.ts +0 -0
  317. /package/{src/components → components}/Icon/icons/eye-slash-fill.d.ts +0 -0
  318. /package/{src/components → components}/Icon/icons/eye-slash.d.ts +0 -0
  319. /package/{src/components → components}/Icon/icons/eye.d.ts +0 -0
  320. /package/{src/components → components}/Icon/icons/facebook.d.ts +0 -0
  321. /package/{src/components → components}/Icon/icons/file-earmark-text.d.ts +0 -0
  322. /package/{src/components → components}/Icon/icons/file-pdf.d.ts +0 -0
  323. /package/{src/components → components}/Icon/icons/file-plus.d.ts +0 -0
  324. /package/{src/components → components}/Icon/icons/file-text.d.ts +0 -0
  325. /package/{src/components → components}/Icon/icons/file.d.ts +0 -0
  326. /package/{src/components → components}/Icon/icons/files.d.ts +0 -0
  327. /package/{src/components → components}/Icon/icons/folder-check.d.ts +0 -0
  328. /package/{src/components → components}/Icon/icons/folder-minus.d.ts +0 -0
  329. /package/{src/components → components}/Icon/icons/folder-plus.d.ts +0 -0
  330. /package/{src/components → components}/Icon/icons/folder.d.ts +0 -0
  331. /package/{src/components → components}/Icon/icons/gear.d.ts +0 -0
  332. /package/{src/components → components}/Icon/icons/geo-alt.d.ts +0 -0
  333. /package/{src/components → components}/Icon/icons/geo-fill.d.ts +0 -0
  334. /package/{src/components → components}/Icon/icons/geo.d.ts +0 -0
  335. /package/{src/components → components}/Icon/icons/globe-alt.d.ts +0 -0
  336. /package/{src/components → components}/Icon/icons/globe.d.ts +0 -0
  337. /package/{src/components → components}/Icon/icons/google.d.ts +0 -0
  338. /package/{src/components → components}/Icon/icons/grid-fill.d.ts +0 -0
  339. /package/{src/components → components}/Icon/icons/hand-thumbs-down.d.ts +0 -0
  340. /package/{src/components → components}/Icon/icons/hand-thumbs-up.d.ts +0 -0
  341. /package/{src/components → components}/Icon/icons/hard-drive.d.ts +0 -0
  342. /package/{src/components → components}/Icon/icons/heart.d.ts +0 -0
  343. /package/{src/components → components}/Icon/icons/house-door.d.ts +0 -0
  344. /package/{src/components → components}/Icon/icons/house.d.ts +0 -0
  345. /package/{src/components → components}/Icon/icons/image.d.ts +0 -0
  346. /package/{src/components → components}/Icon/icons/in-box.d.ts +0 -0
  347. /package/{src/components → components}/Icon/icons/info-circle-fill.d.ts +0 -0
  348. /package/{src/components → components}/Icon/icons/info-circle.d.ts +0 -0
  349. /package/{src/components → components}/Icon/icons/instagram.d.ts +0 -0
  350. /package/{src/components → components}/Icon/icons/laptop.d.ts +0 -0
  351. /package/{src/components → components}/Icon/icons/layers.d.ts +0 -0
  352. /package/{src/components → components}/Icon/icons/layout-text-window-reverse.d.ts +0 -0
  353. /package/{src/components → components}/Icon/icons/layout-text-window.d.ts +0 -0
  354. /package/{src/components → components}/Icon/icons/layout.d.ts +0 -0
  355. /package/{src/components → components}/Icon/icons/lightbulb.d.ts +0 -0
  356. /package/{src/components → components}/Icon/icons/link.d.ts +0 -0
  357. /package/{src/components → components}/Icon/icons/linkedin.d.ts +0 -0
  358. /package/{src/components → components}/Icon/icons/list.d.ts +0 -0
  359. /package/{src/components → components}/Icon/icons/lock-fill.d.ts +0 -0
  360. /package/{src/components → components}/Icon/icons/lock.d.ts +0 -0
  361. /package/{src/components → components}/Icon/icons/login.d.ts +0 -0
  362. /package/{src/components → components}/Icon/icons/logout.d.ts +0 -0
  363. /package/{src/components → components}/Icon/icons/luggage.d.ts +0 -0
  364. /package/{src/components → components}/Icon/icons/mail.d.ts +0 -0
  365. /package/{src/components → components}/Icon/icons/map.d.ts +0 -0
  366. /package/{src/components → components}/Icon/icons/menu.d.ts +0 -0
  367. /package/{src/components → components}/Icon/icons/microphone.d.ts +0 -0
  368. /package/{src/components → components}/Icon/icons/monitor.d.ts +0 -0
  369. /package/{src/components → components}/Icon/icons/paperclip.d.ts +0 -0
  370. /package/{src/components → components}/Icon/icons/passport.d.ts +0 -0
  371. /package/{src/components → components}/Icon/icons/pencil.d.ts +0 -0
  372. /package/{src/components → components}/Icon/icons/pending-circle.d.ts +0 -0
  373. /package/{src/components → components}/Icon/icons/person-dash.d.ts +0 -0
  374. /package/{src/components → components}/Icon/icons/person-plus.d.ts +0 -0
  375. /package/{src/components → components}/Icon/icons/person-x.d.ts +0 -0
  376. /package/{src/components → components}/Icon/icons/person.d.ts +0 -0
  377. /package/{src/components → components}/Icon/icons/phone.d.ts +0 -0
  378. /package/{src/components → components}/Icon/icons/pin-map-fill.d.ts +0 -0
  379. /package/{src/components → components}/Icon/icons/pin.d.ts +0 -0
  380. /package/{src/components → components}/Icon/icons/placeholder.d.ts +0 -0
  381. /package/{src/components → components}/Icon/icons/plane.d.ts +0 -0
  382. /package/{src/components → components}/Icon/icons/plus-circle.d.ts +0 -0
  383. /package/{src/components → components}/Icon/icons/plus-square.d.ts +0 -0
  384. /package/{src/components → components}/Icon/icons/plus.d.ts +0 -0
  385. /package/{src/components → components}/Icon/icons/printer.d.ts +0 -0
  386. /package/{src/components → components}/Icon/icons/question-circle.d.ts +0 -0
  387. /package/{src/components → components}/Icon/icons/rocket.d.ts +0 -0
  388. /package/{src/components → components}/Icon/icons/save.d.ts +0 -0
  389. /package/{src/components → components}/Icon/icons/search.d.ts +0 -0
  390. /package/{src/components → components}/Icon/icons/send.d.ts +0 -0
  391. /package/{src/components → components}/Icon/icons/sg-crest.d.ts +0 -0
  392. /package/{src/components → components}/Icon/icons/share.d.ts +0 -0
  393. /package/{src/components → components}/Icon/icons/slash-circle.d.ts +0 -0
  394. /package/{src/components → components}/Icon/icons/sliders.d.ts +0 -0
  395. /package/{src/components → components}/Icon/icons/speedometer.d.ts +0 -0
  396. /package/{src/components → components}/Icon/icons/star-fill.d.ts +0 -0
  397. /package/{src/components → components}/Icon/icons/star.d.ts +0 -0
  398. /package/{src/components → components}/Icon/icons/stoplights.d.ts +0 -0
  399. /package/{src/components → components}/Icon/icons/switch-horizontal.d.ts +0 -0
  400. /package/{src/components → components}/Icon/icons/switch-vertical.d.ts +0 -0
  401. /package/{src/components → components}/Icon/icons/tablet.d.ts +0 -0
  402. /package/{src/components → components}/Icon/icons/telephone.d.ts +0 -0
  403. /package/{src/components → components}/Icon/icons/three-dots-vertical.d.ts +0 -0
  404. /package/{src/components → components}/Icon/icons/three-dots.d.ts +0 -0
  405. /package/{src/components → components}/Icon/icons/ticket.d.ts +0 -0
  406. /package/{src/components → components}/Icon/icons/toggle-off.d.ts +0 -0
  407. /package/{src/components → components}/Icon/icons/toggle-on.d.ts +0 -0
  408. /package/{src/components → components}/Icon/icons/train.d.ts +0 -0
  409. /package/{src/components → components}/Icon/icons/translate.d.ts +0 -0
  410. /package/{src/components → components}/Icon/icons/trash.d.ts +0 -0
  411. /package/{src/components → components}/Icon/icons/truck.d.ts +0 -0
  412. /package/{src/components → components}/Icon/icons/twitter-x.d.ts +0 -0
  413. /package/{src/components → components}/Icon/icons/unlock.d.ts +0 -0
  414. /package/{src/components → components}/Icon/icons/upload.d.ts +0 -0
  415. /package/{src/components → components}/Icon/icons/user-circle.d.ts +0 -0
  416. /package/{src/components → components}/Icon/icons/user-square.d.ts +0 -0
  417. /package/{src/components → components}/Icon/icons/users.d.ts +0 -0
  418. /package/{src/components → components}/Icon/icons/video-recorder.d.ts +0 -0
  419. /package/{src/components → components}/Icon/icons/volume-max.d.ts +0 -0
  420. /package/{src/components → components}/Icon/icons/volume-x.d.ts +0 -0
  421. /package/{src/components → components}/Icon/icons/window-dash.d.ts +0 -0
  422. /package/{src/components → components}/Icon/icons/window-desktop.d.ts +0 -0
  423. /package/{src/components → components}/Icon/icons/window-dock.d.ts +0 -0
  424. /package/{src/components → components}/Icon/icons/window-fullscreen.d.ts +0 -0
  425. /package/{src/components → components}/Icon/icons/window-plus.d.ts +0 -0
  426. /package/{src/components → components}/Icon/icons/window-sidebar.d.ts +0 -0
  427. /package/{src/components → components}/Icon/icons/window-split.d.ts +0 -0
  428. /package/{src/components → components}/Icon/icons/window-stack.d.ts +0 -0
  429. /package/{src/components → components}/Icon/icons/window-x.d.ts +0 -0
  430. /package/{src/components → components}/Icon/icons/window.d.ts +0 -0
  431. /package/{src/components → components}/Icon/icons/xcircle-fill.d.ts +0 -0
  432. /package/{src/components → components}/Icon/icons/xcircle.d.ts +0 -0
  433. /package/{src/components → components}/Icon/icons/youtube.d.ts +0 -0
  434. /package/{src/components → components}/Icon/icons/zoom-in.d.ts +0 -0
  435. /package/{src/components → components}/Icon/icons/zoom-out.d.ts +0 -0
  436. /package/{src/components → components}/Icon/index.d.ts +0 -0
  437. /package/{src/components → components}/Icon/sgds-icon.d.ts +0 -0
  438. /package/{src/components → components}/IconButton/index.d.ts +0 -0
  439. /package/{src/components → components}/IconButton/sgds-icon-button.d.ts +0 -0
  440. /package/{src/components → components}/IconList/index.d.ts +0 -0
  441. /package/{src/components → components}/IconList/sgds-icon-list.d.ts +0 -0
  442. /package/{src/components → components}/Input/index.d.ts +0 -0
  443. /package/{src/components → components}/Input/sgds-input.d.ts +0 -0
  444. /package/{src/components → components}/Link/index.d.ts +0 -0
  445. /package/{src/components → components}/Link/sgds-link.d.ts +0 -0
  446. /package/{src/components → components}/Mainnav/index.d.ts +0 -0
  447. /package/{src/components → components}/Mainnav/mainnav-context.d.ts +0 -0
  448. /package/{src/components → components}/Mainnav/sgds-mainnav-dropdown.d.ts +0 -0
  449. /package/{src/components → components}/Mainnav/sgds-mainnav-item.d.ts +0 -0
  450. /package/{src/components → components}/Mainnav/sgds-mainnav.d.ts +0 -0
  451. /package/{src/components → components}/Masthead/index.d.ts +0 -0
  452. /package/{src/components → components}/Masthead/sgds-masthead.d.ts +0 -0
  453. /package/{src/components → components}/Modal/index.d.ts +0 -0
  454. /package/{src/components → components}/Modal/sgds-modal.d.ts +0 -0
  455. /package/{src/internals → components}/OverflowMenu/index.d.ts +0 -0
  456. /package/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  457. /package/{internals → components}/OverflowMenu/overflow-menu.js.map +0 -0
  458. /package/{src/components → components}/Pagination/index.d.ts +0 -0
  459. /package/{src/components → components}/Pagination/sgds-pagination.d.ts +0 -0
  460. /package/{src/components → components}/ProgressBar/index.d.ts +0 -0
  461. /package/{src/components → components}/ProgressBar/sgds-progress-bar.d.ts +0 -0
  462. /package/{src/components → components}/QuantityToggle/index.d.ts +0 -0
  463. /package/{src/components → components}/QuantityToggle/sgds-quantity-toggle.d.ts +0 -0
  464. /package/{src/components → components}/Radio/index.d.ts +0 -0
  465. /package/{src/components → components}/Radio/sgds-radio-group.d.ts +0 -0
  466. /package/{src/components → components}/Radio/sgds-radio.d.ts +0 -0
  467. /package/{src/components → components}/Select/index.d.ts +0 -0
  468. /package/{src/components → components}/Select/select-item.d.ts +0 -0
  469. /package/{src/components → components}/Select/sgds-select.d.ts +0 -0
  470. /package/{src/components → components}/Sidenav/index.d.ts +0 -0
  471. /package/{src/components → components}/Sidenav/sgds-sidenav-item.d.ts +0 -0
  472. /package/{src/components → components}/Sidenav/sgds-sidenav-link.d.ts +0 -0
  473. /package/{src/components → components}/Sidenav/sgds-sidenav.d.ts +0 -0
  474. /package/{src/components → components}/Skeleton/index.d.ts +0 -0
  475. /package/{src/components → components}/Skeleton/sgds-skeleton.d.ts +0 -0
  476. /package/{src/components → components}/Spinner/index.d.ts +0 -0
  477. /package/{src/components → components}/Spinner/sgds-spinner.d.ts +0 -0
  478. /package/{src/components → components}/Stepper/index.d.ts +0 -0
  479. /package/{src/components → components}/Stepper/sgds-stepper.d.ts +0 -0
  480. /package/{src/components → components}/Subnav/index.d.ts +0 -0
  481. /package/{src/components → components}/Subnav/sgds-subnav-item.d.ts +0 -0
  482. /package/{src/components → components}/Subnav/sgds-subnav.d.ts +0 -0
  483. /package/{src/components → components}/Switch/index.d.ts +0 -0
  484. /package/{src/components → components}/Switch/sgds-switch.d.ts +0 -0
  485. /package/{src/components → components}/Tab/index.d.ts +0 -0
  486. /package/{src/components → components}/Tab/sgds-tab-group.d.ts +0 -0
  487. /package/{src/components → components}/Tab/sgds-tab-panel.d.ts +0 -0
  488. /package/{src/components → components}/Tab/sgds-tab.d.ts +0 -0
  489. /package/{src/components → components}/Table/index.d.ts +0 -0
  490. /package/{src/components → components}/Table/sgds-table-cell.d.ts +0 -0
  491. /package/{src/components → components}/Table/sgds-table-head.d.ts +0 -0
  492. /package/{src/components → components}/Table/sgds-table-row.d.ts +0 -0
  493. /package/{src/components → components}/Table/sgds-table.d.ts +0 -0
  494. /package/{src/components → components}/TableOfContents/index.d.ts +0 -0
  495. /package/{src/components → components}/TableOfContents/sgds-table-of-contents.d.ts +0 -0
  496. /package/{src/components → components}/Textarea/index.d.ts +0 -0
  497. /package/{src/components → components}/Textarea/sgds-textarea.d.ts +0 -0
  498. /package/{src/components → components}/Toast/index.d.ts +0 -0
  499. /package/{src/components → components}/Toast/sgds-toast-container.d.ts +0 -0
  500. /package/{src/components → components}/Toast/sgds-toast.d.ts +0 -0
  501. /package/{src/components → components}/Tooltip/index.d.ts +0 -0
  502. /package/{src/components → components}/Tooltip/sgds-tooltip.d.ts +0 -0
  503. /package/{src/internals → internals}/CloseButton/index.d.ts +0 -0
  504. /package/{src/internals → internals}/CloseButton/sgds-close-button.d.ts +0 -0
  505. /package/{src/react → react}/accordion/index.d.ts +0 -0
  506. /package/{src/react → react}/accordion-item/index.d.ts +0 -0
  507. /package/{src/react → react}/alert/index.d.ts +0 -0
  508. /package/{src/react → react}/alert-link/index.d.ts +0 -0
  509. /package/{src/react → react}/badge/index.d.ts +0 -0
  510. /package/{src/react → react}/breadcrumb/index.d.ts +0 -0
  511. /package/{src/react → react}/breadcrumb-item/index.d.ts +0 -0
  512. /package/{src/react → react}/button/index.d.ts +0 -0
  513. /package/{src/react → react}/card/index.d.ts +0 -0
  514. /package/{src/react → react}/checkbox/index.d.ts +0 -0
  515. /package/{src/react → react}/checkbox-group/index.d.ts +0 -0
  516. /package/{src/react → react}/combo-box/index.d.ts +0 -0
  517. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js +0 -0
  518. /package/react/{internals → components}/OverflowMenu/overflow-menu.cjs.js.map +0 -0
  519. /package/react/{internals → components}/OverflowMenu/overflow-menu.js +0 -0
  520. /package/react/{internals → components}/OverflowMenu/overflow-menu.js.map +0 -0
  521. /package/{src/react → react}/datepicker/index.d.ts +0 -0
  522. /package/{src/react → react}/description-list/index.d.ts +0 -0
  523. /package/{src/react → react}/description-list-group/index.d.ts +0 -0
  524. /package/{src/react → react}/divider/index.d.ts +0 -0
  525. /package/{src/react → react}/drawer/index.d.ts +0 -0
  526. /package/{src/react → react}/dropdown/index.d.ts +0 -0
  527. /package/{src/react → react}/dropdown-item/index.d.ts +0 -0
  528. /package/{src/react → react}/file-upload/index.d.ts +0 -0
  529. /package/{src/react → react}/footer/index.d.ts +0 -0
  530. /package/{src/react → react}/footer-item/index.d.ts +0 -0
  531. /package/{src/react/input → react/icon}/index.d.ts +0 -0
  532. /package/{src/react → react}/icon-button/index.d.ts +0 -0
  533. /package/{src/react/icon-list → react/icon-card}/index.d.ts +0 -0
  534. /package/{src/react/icon → react/icon-list}/index.d.ts +0 -0
  535. /package/{src/react/link → react/image-card}/index.d.ts +0 -0
  536. /package/{src/react/mainnav-dropdown → react/input}/index.d.ts +0 -0
  537. /package/{src/react/mainnav-item → react/link}/index.d.ts +0 -0
  538. /package/{src/react/modal → react/mainnav}/index.d.ts +0 -0
  539. /package/{src/react/mainnav → react/mainnav-dropdown}/index.d.ts +0 -0
  540. /package/{src/react/masthead → react/mainnav-item}/index.d.ts +0 -0
  541. /package/{src/react/pagination → react/masthead}/index.d.ts +0 -0
  542. /package/{src/react/progress-bar → react/modal}/index.d.ts +0 -0
  543. /package/{src/react/quantity-toggle → react/overflow-menu}/index.d.ts +0 -0
  544. /package/{src/react/radio-group → react/pagination}/index.d.ts +0 -0
  545. /package/{src/react/radio → react/progress-bar}/index.d.ts +0 -0
  546. /package/{src/react/select → react/quantity-toggle}/index.d.ts +0 -0
  547. /package/{src/react/sidenav-link → react/radio}/index.d.ts +0 -0
  548. /package/{src/react/sidenav-item → react/radio-group}/index.d.ts +0 -0
  549. /package/{src/react/sidenav → react/select}/index.d.ts +0 -0
  550. /package/{src/react/stepper → react/sidenav}/index.d.ts +0 -0
  551. /package/{src/react/skeleton → react/sidenav-item}/index.d.ts +0 -0
  552. /package/{src/react/spinner → react/sidenav-link}/index.d.ts +0 -0
  553. /package/{src/react/subnav-item → react/skeleton}/index.d.ts +0 -0
  554. /package/{src/react/subnav → react/spinner}/index.d.ts +0 -0
  555. /package/{src/react/switch → react/stepper}/index.d.ts +0 -0
  556. /package/{src/react/tab-panel → react/subnav}/index.d.ts +0 -0
  557. /package/{src/react/tab-group → react/subnav-item}/index.d.ts +0 -0
  558. /package/{src/react/tab → react/switch}/index.d.ts +0 -0
  559. /package/{src/react/table-of-contents → react/tab}/index.d.ts +0 -0
  560. /package/{src/react/table-cell → react/tab-group}/index.d.ts +0 -0
  561. /package/{src/react/table-head → react/tab-panel}/index.d.ts +0 -0
  562. /package/{src/react/toast → react/table}/index.d.ts +0 -0
  563. /package/{src/react/table-row → react/table-cell}/index.d.ts +0 -0
  564. /package/{src/react/table → react/table-head}/index.d.ts +0 -0
  565. /package/{src/react/textarea → react/table-of-contents}/index.d.ts +0 -0
  566. /package/{src/react/toast-container → react/table-row}/index.d.ts +0 -0
  567. /package/{src/react/tooltip → react/textarea}/index.d.ts +0 -0
  568. /package/{src/utils → utils}/animate.d.ts +0 -0
  569. /package/{src/utils → utils}/animation-registry.d.ts +0 -0
  570. /package/{src/utils → utils}/breakpoints.d.ts +0 -0
  571. /package/{src/utils → utils}/ce-registry.d.ts +0 -0
  572. /package/{src/utils → utils}/defaultvalue.d.ts +0 -0
  573. /package/{src/utils → utils}/event.d.ts +0 -0
  574. /package/{src/utils → utils}/formSubmitController.d.ts +0 -0
  575. /package/{src/utils → utils}/generateCustomElementName.d.ts +0 -0
  576. /package/{src/utils → utils}/generateId.d.ts +0 -0
  577. /package/{src/utils → utils}/inputValidationController.d.ts +0 -0
  578. /package/{src/utils → utils}/mergeDeep.d.ts +0 -0
  579. /package/{src/utils → utils}/modal.d.ts +0 -0
  580. /package/{src/utils → utils}/object.d.ts +0 -0
  581. /package/{src/utils → utils}/offset.d.ts +0 -0
  582. /package/{src/utils → utils}/scroll.d.ts +0 -0
  583. /package/{src/utils → utils}/slot.d.ts +0 -0
  584. /package/{src/utils → utils}/tabbable.d.ts +0 -0
  585. /package/{src/utils → utils}/test.d.ts +0 -0
  586. /package/{src/utils → utils}/time.d.ts +0 -0
  587. /package/{src/utils → utils}/validatorMixin.d.ts +0 -0
  588. /package/{src/utils → utils}/watch.d.ts +0 -0
@@ -0,0 +1,84 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { nothing } from 'lit';
4
+ import { literal, html } from 'lit/static-html.js';
5
+ import { queryAssignedNodes, property } from 'lit/decorators.js';
6
+ import { classMap } from 'lit/directives/class-map.js';
7
+ import { CardElement } from '../../base/card-element.js';
8
+ import css_248z from './icon-card.js';
9
+
10
+ /**
11
+ * @summary Icon cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.
12
+ * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.
13
+ * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.
14
+ * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.
15
+ * @slot subtitle - The subtitle of the card
16
+ * @slot title - The title of the card
17
+ * @slot description - The paragrapher text of the card
18
+ * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
19
+ * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.
20
+ */
21
+ class SgdsIconCard extends CardElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ /** Removes the card's internal padding when set to true. */
25
+ this.noPadding = false;
26
+ }
27
+ firstUpdated() {
28
+ if (this._iconNode.length === 0) {
29
+ if ((this.orientation === "vertical" && this._upperNode.length === 0) || this.orientation === "horizontal") {
30
+ const media = this.shadowRoot.querySelector(".card-media");
31
+ media.style.display = "none";
32
+ const body = this.shadowRoot.querySelector(".card-body");
33
+ if (this.noPadding)
34
+ body.style.padding = "0px";
35
+ }
36
+ }
37
+ }
38
+ render() {
39
+ const tag = this.stretchedLink ? literal `a` : literal `div`;
40
+ const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;
41
+ return html `
42
+ <${tag}
43
+ class="card ${classMap({
44
+ disabled: this.disabled
45
+ })}"
46
+ tabindex=${cardTabIndex}
47
+ >
48
+ ${this.tinted && !this.noPadding ? html `<div class="card-tinted-bg"></div>` : nothing}
49
+ <div class="card-media">
50
+ <slot name="icon"></slot>
51
+ ${this.orientation === "vertical" ? html `<slot name="upper"></slot>` : nothing}
52
+ </div>
53
+ <div class="card-body">
54
+ ${this.orientation === "horizontal" ? html `<slot name="upper"></slot>` : nothing}
55
+ <div class="card-header-container">
56
+ <div class="card-header">
57
+ <slot name="subtitle"></slot>
58
+ <h3 class="card-title"><slot name="title" @slotchange=${this.handleTitleSlotChange}></slot></h3>
59
+ </div>
60
+ <slot></slot>
61
+ </div>
62
+ <p class="card-text">
63
+ <slot name="description"></slot>
64
+ </p>
65
+ <slot name="lower"></slot>
66
+ <slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
67
+ </div>
68
+ </${tag}>
69
+ `;
70
+ }
71
+ }
72
+ SgdsIconCard.styles = [...CardElement.styles, css_248z];
73
+ __decorate([
74
+ queryAssignedNodes({ slot: "icon", flatten: true })
75
+ ], SgdsIconCard.prototype, "_iconNode", void 0);
76
+ __decorate([
77
+ queryAssignedNodes({ slot: "upper", flatten: true })
78
+ ], SgdsIconCard.prototype, "_upperNode", void 0);
79
+ __decorate([
80
+ property({ type: Boolean, reflect: true })
81
+ ], SgdsIconCard.prototype, "noPadding", void 0);
82
+
83
+ export { SgdsIconCard, SgdsIconCard as default };
84
+ //# sourceMappingURL=sgds-icon-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-icon-card.js","sources":["../../../../src/components/IconCard/sgds-icon-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { 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 IconCardStyle from \"./icon-card.css\";\n\n/**\n * @summary Icon 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 icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\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 SgdsIconCard extends CardElement {\n static styles = [...CardElement.styles, IconCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"icon\", flatten: true })\n _iconNode!: Array<Node>;\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n protected firstUpdated() {\n if (this._iconNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\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 ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"icon\"></slot>\n ${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n ${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\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 SgdsIconCard;\n"],"names":["IconCardStyle"],"mappings":";;;;;;;;;AAOA;;;;;;;;;;AAUG;AACG,MAAO,YAAa,SAAQ,WAAW,CAAA;AAA7C,IAAA,WAAA,GAAA;;;QAW8C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KAgD/D;IA9CW,YAAY,GAAA;QACpB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;gBAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAmB,CAAC;AAC7E,gBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAmB,CAAC;gBAC3E,IAAI,IAAI,CAAC,SAAS;AAAE,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aAChD;SACF;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;;AAErB,QAAA,EAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,CAAA,kCAAA,CAAoC,GAAG,OAAO,CAAA;;;AAGjF,UAAA,EAAA,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,IAAI,CAAA,CAAA,0BAAA,CAA4B,GAAG,OAAO,CAAA;;;AAG5E,UAAA,EAAA,IAAI,CAAC,WAAW,KAAK,YAAY,GAAG,IAAI,CAAA,CAAA,0BAAA,CAA4B,GAAG,OAAO,CAAA;;;;AAIpB,oEAAA,EAAA,IAAI,CAAC,qBAAqB,CAAA;;;;;;;;AAQtD,wCAAA,EAAA,IAAI,CAAC,oBAAoB,CAAA;;UAEzD,GAAG,CAAA;KACR,CAAC;KACH;;AAzDM,YAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAa,CAAxC,CAA0C;AAIvD,UAAA,CAAA;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGxB,UAAA,CAAA;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGmB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var lit = require('lit');
7
+
8
+ var css_248z = lit.css`:host([noPadding]) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host(:not([noPadding])) .card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=image-badge]::slotted(*){left:20px;position:absolute;top:20px}slot[name=image-action]::slotted(*){position:absolute;right:20px;top:20px}`;
9
+
10
+ exports["default"] = css_248z;
11
+ //# sourceMappingURL=image-card.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-card.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host([noPadding]) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host(:not([noPadding])) .card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=image-badge]::slotted(*){left:20px;position:absolute;top:20px}slot[name=image-action]::slotted(*){position:absolute;right:20px;top:20px}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=image-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-card.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,103 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var tslib = require('tslib');
7
+ var lit = require('lit');
8
+ var staticHtml_js = require('lit/static-html.js');
9
+ var decorators_js = require('lit/decorators.js');
10
+ var classMap_js = require('lit/directives/class-map.js');
11
+ var cardElement = require('../../base/card-element.cjs.js');
12
+ var imageCard = require('./image-card.cjs.js');
13
+
14
+ /**
15
+ * @summary Image cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.
16
+ * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.
17
+ * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.
18
+ * @slot image-badge - Accepts an element for a badge, positioned at the top-left corner of the image.
19
+ * @slot image-action - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the image. Typically used for action menu.
20
+ * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.
21
+ * @slot subtitle - The subtitle of the card
22
+ * @slot title - The title of the card
23
+ * @slot description - The paragrapher text of the card
24
+ * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
25
+ * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.
26
+ */
27
+ class SgdsImageCard extends cardElement.CardElement {
28
+ constructor() {
29
+ super(...arguments);
30
+ /** Removes the card's internal padding when set to true. */
31
+ this.noPadding = false;
32
+ /** Sets the image position of the card. Available options: `before`, `after` */
33
+ this.imagePosition = "before";
34
+ /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */
35
+ this.imageAdjustment = "default";
36
+ }
37
+ firstUpdated() {
38
+ if (this._imageNode.length === 0) {
39
+ const image = this.shadowRoot.querySelector(".card-image");
40
+ const body = this.shadowRoot.querySelector(".card-body");
41
+ image.style.display = "none";
42
+ if (this.noPadding)
43
+ body.style.padding = "0px";
44
+ }
45
+ }
46
+ handleImgSlotChange(e) {
47
+ const childNodes = e.target.assignedNodes({ flatten: true });
48
+ if (childNodes.length > 1) {
49
+ return console.error("Multiple elements passed into SgdsCard's image slot");
50
+ }
51
+ }
52
+ render() {
53
+ const tag = this.stretchedLink ? staticHtml_js.literal `a` : staticHtml_js.literal `div`;
54
+ const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;
55
+ return staticHtml_js.html `
56
+ <${tag}
57
+ class="card ${classMap_js.classMap({
58
+ disabled: this.disabled
59
+ })}"
60
+ tabindex=${cardTabIndex}
61
+ >
62
+ ${this.tinted && !this.noPadding ? staticHtml_js.html `<div class="card-tinted-bg"></div>` : lit.nothing}
63
+ <div class="card-image">
64
+ <slot name="image" @slotchange=${this.handleImgSlotChange}></slot>
65
+ <slot name="image-badge"></slot>
66
+ <slot name="image-action"></slot>
67
+ </div>
68
+ <div class="card-body">
69
+ <slot name="upper"></slot>
70
+ <div class="card-header-container">
71
+ <div class="card-header">
72
+ <slot name="subtitle"></slot>
73
+ <h3 class="card-title"><slot name="title" @slotchange=${this.handleTitleSlotChange}></slot></h3>
74
+ </div>
75
+ <slot></slot>
76
+ </div>
77
+ <p class="card-text">
78
+ <slot name="description"></slot>
79
+ </p>
80
+ <slot name="lower"></slot>
81
+ <slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
82
+ </div>
83
+ </${tag}>
84
+ `;
85
+ }
86
+ }
87
+ SgdsImageCard.styles = [...cardElement.CardElement.styles, imageCard["default"]];
88
+ tslib.__decorate([
89
+ decorators_js.queryAssignedNodes({ slot: "image", flatten: true })
90
+ ], SgdsImageCard.prototype, "_imageNode", void 0);
91
+ tslib.__decorate([
92
+ decorators_js.property({ type: Boolean, reflect: true })
93
+ ], SgdsImageCard.prototype, "noPadding", void 0);
94
+ tslib.__decorate([
95
+ decorators_js.property({ type: String, reflect: true })
96
+ ], SgdsImageCard.prototype, "imagePosition", void 0);
97
+ tslib.__decorate([
98
+ decorators_js.property({ type: String, reflect: true })
99
+ ], SgdsImageCard.prototype, "imageAdjustment", void 0);
100
+
101
+ exports.SgdsImageCard = SgdsImageCard;
102
+ exports["default"] = SgdsImageCard;
103
+ //# sourceMappingURL=sgds-image-card.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-image-card.cjs.js","sources":["../../../../src/components/ImageCard/sgds-image-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { 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 \"../Card/types\";\nimport imageCardStyle from \"./image-card.css\";\n\n/**\n * @summary Image 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 image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot image-badge - Accepts an element for a badge, positioned at the top-left corner of the image.\n * @slot image-action - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the image. Typically used for action menu.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\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 SgdsImageCard extends CardElement {\n static styles = [...CardElement.styles, imageCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"image\", flatten: true })\n _imageNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\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 image = this.shadowRoot.querySelector(\".card-image\") as HTMLDivElement;\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n image.style.display = \"none\";\n if (this.noPadding) body.style.padding = \"0px\";\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 ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-image\">\n\t\t\t\t\t<slot name=\"image\" @slotchange=${this.handleImgSlotChange}></slot>\n\t\t\t\t\t<slot name=\"image-badge\"></slot>\n\t\t\t\t\t<slot name=\"image-action\"></slot>\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t<slot name=\"upper\"></slot>\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 SgdsImageCard;\n"],"names":["CardElement","literal","html","classMap","nothing","imageCardStyle","__decorate","queryAssignedNodes","property"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { nothing } from 'lit';
4
+ import { literal, html } from 'lit/static-html.js';
5
+ import { queryAssignedNodes, property } from 'lit/decorators.js';
6
+ import { classMap } from 'lit/directives/class-map.js';
7
+ import { CardElement } from '../../base/card-element.js';
8
+ import css_248z from './image-card.js';
9
+
10
+ /**
11
+ * @summary Image cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.
12
+ * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.
13
+ * @slot image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.
14
+ * @slot image-badge - Accepts an element for a badge, positioned at the top-left corner of the image.
15
+ * @slot image-action - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the image. Typically used for action menu.
16
+ * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.
17
+ * @slot subtitle - The subtitle of the card
18
+ * @slot title - The title of the card
19
+ * @slot description - The paragrapher text of the card
20
+ * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
21
+ * @slot link - Accepts an anchor element. Only a single element is allowed to be passed in.
22
+ */
23
+ class SgdsImageCard extends CardElement {
24
+ constructor() {
25
+ super(...arguments);
26
+ /** Removes the card's internal padding when set to true. */
27
+ this.noPadding = false;
28
+ /** Sets the image position of the card. Available options: `before`, `after` */
29
+ this.imagePosition = "before";
30
+ /** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */
31
+ this.imageAdjustment = "default";
32
+ }
33
+ firstUpdated() {
34
+ if (this._imageNode.length === 0) {
35
+ const image = this.shadowRoot.querySelector(".card-image");
36
+ const body = this.shadowRoot.querySelector(".card-body");
37
+ image.style.display = "none";
38
+ if (this.noPadding)
39
+ body.style.padding = "0px";
40
+ }
41
+ }
42
+ handleImgSlotChange(e) {
43
+ const childNodes = e.target.assignedNodes({ flatten: true });
44
+ if (childNodes.length > 1) {
45
+ return console.error("Multiple elements passed into SgdsCard's image slot");
46
+ }
47
+ }
48
+ render() {
49
+ const tag = this.stretchedLink ? literal `a` : literal `div`;
50
+ const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;
51
+ return html `
52
+ <${tag}
53
+ class="card ${classMap({
54
+ disabled: this.disabled
55
+ })}"
56
+ tabindex=${cardTabIndex}
57
+ >
58
+ ${this.tinted && !this.noPadding ? html `<div class="card-tinted-bg"></div>` : nothing}
59
+ <div class="card-image">
60
+ <slot name="image" @slotchange=${this.handleImgSlotChange}></slot>
61
+ <slot name="image-badge"></slot>
62
+ <slot name="image-action"></slot>
63
+ </div>
64
+ <div class="card-body">
65
+ <slot name="upper"></slot>
66
+ <div class="card-header-container">
67
+ <div class="card-header">
68
+ <slot name="subtitle"></slot>
69
+ <h3 class="card-title"><slot name="title" @slotchange=${this.handleTitleSlotChange}></slot></h3>
70
+ </div>
71
+ <slot></slot>
72
+ </div>
73
+ <p class="card-text">
74
+ <slot name="description"></slot>
75
+ </p>
76
+ <slot name="lower"></slot>
77
+ <slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
78
+ </div>
79
+ </${tag}>
80
+ `;
81
+ }
82
+ }
83
+ SgdsImageCard.styles = [...CardElement.styles, css_248z];
84
+ __decorate([
85
+ queryAssignedNodes({ slot: "image", flatten: true })
86
+ ], SgdsImageCard.prototype, "_imageNode", void 0);
87
+ __decorate([
88
+ property({ type: Boolean, reflect: true })
89
+ ], SgdsImageCard.prototype, "noPadding", void 0);
90
+ __decorate([
91
+ property({ type: String, reflect: true })
92
+ ], SgdsImageCard.prototype, "imagePosition", void 0);
93
+ __decorate([
94
+ property({ type: String, reflect: true })
95
+ ], SgdsImageCard.prototype, "imageAdjustment", void 0);
96
+
97
+ export { SgdsImageCard, SgdsImageCard as default };
98
+ //# sourceMappingURL=sgds-image-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-image-card.js","sources":["../../../../src/components/ImageCard/sgds-image-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { 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 \"../Card/types\";\nimport imageCardStyle from \"./image-card.css\";\n\n/**\n * @summary Image 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 image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot image-badge - Accepts an element for a badge, positioned at the top-left corner of the image.\n * @slot image-action - Accepts an element for an overflow or contextual menu, positioned at the top-right corner of the image. Typically used for action menu.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\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 SgdsImageCard extends CardElement {\n static styles = [...CardElement.styles, imageCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"image\", flatten: true })\n _imageNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\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 image = this.shadowRoot.querySelector(\".card-image\") as HTMLDivElement;\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n image.style.display = \"none\";\n if (this.noPadding) body.style.padding = \"0px\";\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 ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-image\">\n\t\t\t\t\t<slot name=\"image\" @slotchange=${this.handleImgSlotChange}></slot>\n\t\t\t\t\t<slot name=\"image-badge\"></slot>\n\t\t\t\t\t<slot name=\"image-action\"></slot>\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t<slot name=\"upper\"></slot>\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 SgdsImageCard;\n"],"names":["imageCardStyle"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`:host{position:relative;z-index:1200}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs);justify-content:space-between;margin:auto;max-width:var(--sgds-mainnav-max-width);min-height:80px;padding:0 var(--sgds-mainnav-padding-x);position:relative;width:100%}@media screen and (max-width:768px){.navbar{padding:0 var(--sgds-mainnav-mobile-padding-x)}}.navbar-brand{align-items:center;display:flex;text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:0}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);bottom:0;box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:2000}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}@media screen and (max-width:768px){nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4);margin-left:auto}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;
8
+ var css_248z = lit.css`:host{z-index:1200}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs);justify-content:space-between;margin:auto;max-width:var(--sgds-mainnav-max-width);min-height:80px;padding:0 var(--sgds-mainnav-padding-x);position:relative;width:100%}@media screen and (max-width:768px){.navbar{padding:0 var(--sgds-mainnav-mobile-padding-x)}}.navbar-brand{align-items:center;display:flex;text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:0}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);bottom:0;box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:2000}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}@media screen and (max-width:768px){nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4);margin-left:auto}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=mainnav.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`:host{position:relative;z-index:1200}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs);justify-content:space-between;margin:auto;max-width:var(--sgds-mainnav-max-width);min-height:80px;padding:0 var(--sgds-mainnav-padding-x);position:relative;width:100%}@media screen and (max-width:768px){.navbar{padding:0 var(--sgds-mainnav-mobile-padding-x)}}.navbar-brand{align-items:center;display:flex;text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:0}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);bottom:0;box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:2000}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}@media screen and (max-width:768px){nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4);margin-left:auto}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;
4
+ var css_248z = css`:host{z-index:1200}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xs);justify-content:space-between;margin:auto;max-width:var(--sgds-mainnav-max-width);min-height:80px;padding:0 var(--sgds-mainnav-padding-x);position:relative;width:100%}@media screen and (max-width:768px){.navbar{padding:0 var(--sgds-mainnav-mobile-padding-x)}}.navbar-brand{align-items:center;display:flex;text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:0}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);bottom:0;box-shadow:0 2px 2px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:2000}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}@media screen and (max-width:768px){nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4);margin-left:auto}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=mainnav.js.map
@@ -220,7 +220,7 @@ class SgdsMainnavDropdown extends sgdsElement["default"] {
220
220
  </div>
221
221
  `;
222
222
  const desktopView = lit.html `<sgds-dropdown
223
- modifierOpt=${[
223
+ .modifierOpt=${[
224
224
  {
225
225
  name: "offset",
226
226
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-mainnav-dropdown.cjs.js","sources":["../../../../src/components/Mainnav/sgds-mainnav-dropdown.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { consume } from \"@lit/context\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport genId from \"../../utils/generateId\";\nimport dropdownStyle from \"../Dropdown/dropdown.css\";\nimport dropdownMenuStyle from \"../Dropdown/dropdown-menu.css\";\nimport mainnavDropdownStyle from \"./mainnav-dropdown.css\";\nimport SgdsDropdown from \"../Dropdown/sgds-dropdown\";\nimport SgdsDropdownItem from \"../Dropdown/sgds-dropdown-item\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport { MainnavContext } from \"./mainnav-context\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nconst TAB = \"Tab\";\nconst ENTER = \"Enter\";\nconst SPACE = \" \";\n\n/**\n * @slot default - The menu items. Pass in sgds-dropdown-item as the menu items\n * @slot toggler - The content of the toggler to pass in html content.\n */\nexport class SgdsMainnavDropdown extends SgdsElement {\n static styles = [...SgdsElement.styles, dropdownStyle, dropdownMenuStyle, mainnavDropdownStyle];\n /** @internal */\n static dependencies = {\n \"sgds-dropdown\": SgdsDropdown,\n \"sgds-dropdown-item\": SgdsDropdownItem,\n \"sgds-icon\": SgdsIcon\n };\n\n @consume({ context: MainnavContext, subscribe: true })\n @state()\n private _breakpointReached: boolean;\n\n /** @internal */\n @query(\".nav-link\") navLink: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items\") dropdownItems: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items a\") menuHeaderButton: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items span\") menuHeaderText: HTMLElement;\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** When true, applies active styles on the dropdown button */\n @property({ type: Boolean })\n active = false;\n\n /** When true, applies active styles on the dropdown button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** @internal */\n @queryAssignedElements({ slot: \"toggler\" }) private togglerNodes!: HTMLElement[];\n\n /** @internal */\n @queryAssignedElements() private defaultNodes!: SgdsDropdownItem[];\n\n /** @internal */\n get defaultSlotItems(): SgdsDropdownItem[] {\n return [...(this.defaultNodes || [])].filter(\n (node: HTMLElement) => typeof node.tagName !== \"undefined\"\n ) as SgdsDropdownItem[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener(\"close-dropdown-menu\", () => {\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clean up the event listener when the element is removed from the DOM\n document.removeEventListener(\"close-dropdown-menu\", () => {\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n });\n }\n\n protected willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n\n if (!this.shadowRoot) {\n return;\n }\n\n if (this._breakpointReached) {\n this.shadowRoot.adoptedStyleSheets = [dropdownMenuStyle.styleSheet, mainnavDropdownStyle.styleSheet];\n }\n }\n\n updated() {\n if (this._breakpointReached) {\n this._copyTextToMenu();\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n }\n }\n\n private _handleSlotChange(e: Event) {\n const items = (e.target as HTMLSlotElement).assignedElements({ flatten: true }) as SgdsDropdownItem[];\n items.forEach(item => {\n item.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent.bind(this));\n\n const dropdownItem = item.shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n dropdownItem.classList.add(\"nav-link\");\n\n const slottedItem = (item.shadowRoot.querySelector(\".dropdown-item slot\") as HTMLSlotElement).assignedElements({\n flatten: true\n });\n slottedItem.forEach(item => {\n (item as HTMLElement).tabIndex = -1;\n });\n });\n }\n\n private _handleDesktopSlotChange(e: Event) {\n const items = (e.target as HTMLSlotElement).assignedElements({ flatten: true }) as SgdsDropdownItem[];\n items.forEach(item => {\n const dropdownItem = item.shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n dropdownItem.classList.remove(\"nav-link\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n if (!this._breakpointReached) {\n return;\n }\n\n const slottedItems = this.defaultSlotItems.filter(item => !item.hasAttribute(\"disabled\"));\n const items = [this.menuHeaderButton, ...slottedItems];\n const itemLength = items.length;\n if (itemLength === 0) {\n return;\n }\n\n const firstItem = items[0];\n const lastItem = items[itemLength - 1].shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n let activeElement = document.activeElement as HTMLElement;\n if (activeElement === this) {\n activeElement = this.shadowRoot.activeElement as HTMLElement;\n }\n\n switch (e.key) {\n case \"Tab\": {\n if (e.shiftKey) {\n if (activeElement === firstItem) {\n e.preventDefault();\n setTimeout(() => {\n lastItem.focus();\n }, 0);\n }\n } else {\n const activeShadowElement = activeElement.shadowRoot\n ? activeElement.shadowRoot.querySelector(\".dropdown-item\")\n : null;\n if (activeShadowElement && activeShadowElement === lastItem) {\n e.preventDefault();\n firstItem.focus();\n }\n }\n break;\n }\n default:\n break;\n }\n }\n\n private _copyTextToMenu() {\n this.menuHeaderText.innerHTML = this.togglerNodes[0].innerHTML;\n }\n\n private _hideDropdownMenuItems() {\n this.dropdownItems.style.display = \"none\";\n this.dropdownItems.setAttribute(\"aria-hidden\", \"true\");\n }\n\n private _resetDropdownMenu() {\n const navbarBody = this._getNavbarBody();\n navbarBody.style.removeProperty(\"transform\");\n }\n\n private _handleKeyboardOpen(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n if (event.key === ENTER || event.key === SPACE) {\n event.preventDefault();\n this._openMenu();\n }\n }\n\n private _getNavbarBody() {\n const mainNav = document.querySelector(\"sgds-mainnav\") as HTMLElement | null;\n\n if (!mainNav?.shadowRoot) {\n console.warn(\"sgds-mainnav or its shadowRoot not found\");\n return;\n }\n\n const navbarBody = mainNav.shadowRoot.querySelector(\".navbar-body\") as HTMLElement;\n if (!navbarBody) {\n console.warn(\".navbar-body not found in sgds-mainnav\");\n return;\n }\n\n return navbarBody;\n }\n\n private _openMenu() {\n const navbarBody = this._getNavbarBody();\n navbarBody.style.transform = \"translateX(-100%)\";\n this.dropdownItems.style.removeProperty(\"display\");\n this.dropdownItems.setAttribute(\"aria-hidden\", \"false\");\n setTimeout(() => {\n this.menuHeaderButton.focus();\n }, 50);\n }\n\n private _handleHeaderKeyboardEvent(event: KeyboardEvent) {\n switch (event.key) {\n case TAB: {\n this._handleKeyboardMenuItemsEvent(event);\n break;\n }\n case ENTER:\n case SPACE: {\n event.preventDefault();\n this._closeMenu();\n break;\n }\n default:\n break;\n }\n }\n\n private _closeMenu() {\n // 200ms delay as the transform transition is set to this timing\n this._resetDropdownMenu();\n setTimeout(() => {\n this._hideDropdownMenuItems();\n this.navLink.focus();\n }, 200);\n }\n\n render() {\n const mobileView = html`\n <a\n class=\"${classMap({\n \"nav-link\": true,\n active: this.active,\n disabled: this.disabled\n })}\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n @click=${this._openMenu}\n @keydown=${this._handleKeyboardOpen}\n >\n <slot name=\"toggler\"></slot>\n <sgds-icon name=\"chevron-right\"></sgds-icon>\n </a>\n <div class=\"dropdown-items\">\n <a tabindex=\"0\" role=\"button\" @click=${this._closeMenu} @keydown=${this._handleHeaderKeyboardEvent}>\n <sgds-icon name=\"chevron-left\"></sgds-icon>\n <span></span>\n </a>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n\n const desktopView = html`<sgds-dropdown\n modifierOpt=${[\n {\n name: \"offset\",\n options: {\n offset: [0, 0]\n }\n }\n ]}\n ?disabled=${this.disabled}\n >\n <a\n class=\"${classMap({\n \"nav-link\": true,\n active: this.active,\n disabled: this.disabled\n })}\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n slot=\"toggler\"\n >\n <slot name=\"toggler\"></slot>\n <sgds-icon name=\"chevron-down\"></sgds-icon>\n </a>\n <slot @slotchange=${this._handleDesktopSlotChange}></slot>\n </sgds-dropdown>`;\n\n return this._breakpointReached ? mobileView : desktopView;\n }\n}\n\nexport default SgdsMainnavDropdown;\n"],"names":["SgdsElement","genId","dropdownMenuStyle","mainnavDropdownStyle","html","classMap","dropdownStyle","SgdsDropdown","SgdsDropdownItem","SgdsIcon","__decorate","consume","MainnavContext","state","query","property","queryAssignedElements"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-mainnav-dropdown.cjs.js","sources":["../../../../src/components/Mainnav/sgds-mainnav-dropdown.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { consume } from \"@lit/context\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport genId from \"../../utils/generateId\";\nimport dropdownStyle from \"../Dropdown/dropdown.css\";\nimport dropdownMenuStyle from \"../Dropdown/dropdown-menu.css\";\nimport mainnavDropdownStyle from \"./mainnav-dropdown.css\";\nimport SgdsDropdown from \"../Dropdown/sgds-dropdown\";\nimport SgdsDropdownItem from \"../Dropdown/sgds-dropdown-item\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport { MainnavContext } from \"./mainnav-context\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nconst TAB = \"Tab\";\nconst ENTER = \"Enter\";\nconst SPACE = \" \";\n\n/**\n * @slot default - The menu items. Pass in sgds-dropdown-item as the menu items\n * @slot toggler - The content of the toggler to pass in html content.\n */\nexport class SgdsMainnavDropdown extends SgdsElement {\n static styles = [...SgdsElement.styles, dropdownStyle, dropdownMenuStyle, mainnavDropdownStyle];\n /** @internal */\n static dependencies = {\n \"sgds-dropdown\": SgdsDropdown,\n \"sgds-dropdown-item\": SgdsDropdownItem,\n \"sgds-icon\": SgdsIcon\n };\n\n @consume({ context: MainnavContext, subscribe: true })\n @state()\n private _breakpointReached: boolean;\n\n /** @internal */\n @query(\".nav-link\") navLink: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items\") dropdownItems: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items a\") menuHeaderButton: HTMLElement;\n\n /** @internal */\n @query(\".dropdown-items span\") menuHeaderText: HTMLElement;\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** When true, applies active styles on the dropdown button */\n @property({ type: Boolean })\n active = false;\n\n /** When true, applies active styles on the dropdown button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** @internal */\n @queryAssignedElements({ slot: \"toggler\" }) private togglerNodes!: HTMLElement[];\n\n /** @internal */\n @queryAssignedElements() private defaultNodes!: SgdsDropdownItem[];\n\n /** @internal */\n get defaultSlotItems(): SgdsDropdownItem[] {\n return [...(this.defaultNodes || [])].filter(\n (node: HTMLElement) => typeof node.tagName !== \"undefined\"\n ) as SgdsDropdownItem[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener(\"close-dropdown-menu\", () => {\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clean up the event listener when the element is removed from the DOM\n document.removeEventListener(\"close-dropdown-menu\", () => {\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n });\n }\n\n protected willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n\n if (!this.shadowRoot) {\n return;\n }\n\n if (this._breakpointReached) {\n this.shadowRoot.adoptedStyleSheets = [dropdownMenuStyle.styleSheet, mainnavDropdownStyle.styleSheet];\n }\n }\n\n updated() {\n if (this._breakpointReached) {\n this._copyTextToMenu();\n this._resetDropdownMenu();\n this._hideDropdownMenuItems();\n }\n }\n\n private _handleSlotChange(e: Event) {\n const items = (e.target as HTMLSlotElement).assignedElements({ flatten: true }) as SgdsDropdownItem[];\n items.forEach(item => {\n item.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent.bind(this));\n\n const dropdownItem = item.shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n dropdownItem.classList.add(\"nav-link\");\n\n const slottedItem = (item.shadowRoot.querySelector(\".dropdown-item slot\") as HTMLSlotElement).assignedElements({\n flatten: true\n });\n slottedItem.forEach(item => {\n (item as HTMLElement).tabIndex = -1;\n });\n });\n }\n\n private _handleDesktopSlotChange(e: Event) {\n const items = (e.target as HTMLSlotElement).assignedElements({ flatten: true }) as SgdsDropdownItem[];\n items.forEach(item => {\n const dropdownItem = item.shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n dropdownItem.classList.remove(\"nav-link\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n if (!this._breakpointReached) {\n return;\n }\n\n const slottedItems = this.defaultSlotItems.filter(item => !item.hasAttribute(\"disabled\"));\n const items = [this.menuHeaderButton, ...slottedItems];\n const itemLength = items.length;\n if (itemLength === 0) {\n return;\n }\n\n const firstItem = items[0];\n const lastItem = items[itemLength - 1].shadowRoot.querySelector(\".dropdown-item\") as HTMLElement;\n let activeElement = document.activeElement as HTMLElement;\n if (activeElement === this) {\n activeElement = this.shadowRoot.activeElement as HTMLElement;\n }\n\n switch (e.key) {\n case \"Tab\": {\n if (e.shiftKey) {\n if (activeElement === firstItem) {\n e.preventDefault();\n setTimeout(() => {\n lastItem.focus();\n }, 0);\n }\n } else {\n const activeShadowElement = activeElement.shadowRoot\n ? activeElement.shadowRoot.querySelector(\".dropdown-item\")\n : null;\n if (activeShadowElement && activeShadowElement === lastItem) {\n e.preventDefault();\n firstItem.focus();\n }\n }\n break;\n }\n default:\n break;\n }\n }\n\n private _copyTextToMenu() {\n this.menuHeaderText.innerHTML = this.togglerNodes[0].innerHTML;\n }\n\n private _hideDropdownMenuItems() {\n this.dropdownItems.style.display = \"none\";\n this.dropdownItems.setAttribute(\"aria-hidden\", \"true\");\n }\n\n private _resetDropdownMenu() {\n const navbarBody = this._getNavbarBody();\n navbarBody.style.removeProperty(\"transform\");\n }\n\n private _handleKeyboardOpen(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n if (event.key === ENTER || event.key === SPACE) {\n event.preventDefault();\n this._openMenu();\n }\n }\n\n private _getNavbarBody() {\n const mainNav = document.querySelector(\"sgds-mainnav\") as HTMLElement | null;\n\n if (!mainNav?.shadowRoot) {\n console.warn(\"sgds-mainnav or its shadowRoot not found\");\n return;\n }\n\n const navbarBody = mainNav.shadowRoot.querySelector(\".navbar-body\") as HTMLElement;\n if (!navbarBody) {\n console.warn(\".navbar-body not found in sgds-mainnav\");\n return;\n }\n\n return navbarBody;\n }\n\n private _openMenu() {\n const navbarBody = this._getNavbarBody();\n navbarBody.style.transform = \"translateX(-100%)\";\n this.dropdownItems.style.removeProperty(\"display\");\n this.dropdownItems.setAttribute(\"aria-hidden\", \"false\");\n setTimeout(() => {\n this.menuHeaderButton.focus();\n }, 50);\n }\n\n private _handleHeaderKeyboardEvent(event: KeyboardEvent) {\n switch (event.key) {\n case TAB: {\n this._handleKeyboardMenuItemsEvent(event);\n break;\n }\n case ENTER:\n case SPACE: {\n event.preventDefault();\n this._closeMenu();\n break;\n }\n default:\n break;\n }\n }\n\n private _closeMenu() {\n // 200ms delay as the transform transition is set to this timing\n this._resetDropdownMenu();\n setTimeout(() => {\n this._hideDropdownMenuItems();\n this.navLink.focus();\n }, 200);\n }\n\n render() {\n const mobileView = html`\n <a\n class=\"${classMap({\n \"nav-link\": true,\n active: this.active,\n disabled: this.disabled\n })}\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n @click=${this._openMenu}\n @keydown=${this._handleKeyboardOpen}\n >\n <slot name=\"toggler\"></slot>\n <sgds-icon name=\"chevron-right\"></sgds-icon>\n </a>\n <div class=\"dropdown-items\">\n <a tabindex=\"0\" role=\"button\" @click=${this._closeMenu} @keydown=${this._handleHeaderKeyboardEvent}>\n <sgds-icon name=\"chevron-left\"></sgds-icon>\n <span></span>\n </a>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n\n const desktopView = html`<sgds-dropdown\n .modifierOpt=${[\n {\n name: \"offset\",\n options: {\n offset: [0, 0]\n }\n }\n ]}\n ?disabled=${this.disabled}\n >\n <a\n class=\"${classMap({\n \"nav-link\": true,\n active: this.active,\n disabled: this.disabled\n })}\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n slot=\"toggler\"\n >\n <slot name=\"toggler\"></slot>\n <sgds-icon name=\"chevron-down\"></sgds-icon>\n </a>\n <slot @slotchange=${this._handleDesktopSlotChange}></slot>\n </sgds-dropdown>`;\n\n return this._breakpointReached ? mobileView : desktopView;\n }\n}\n\nexport default SgdsMainnavDropdown;\n"],"names":["SgdsElement","genId","dropdownMenuStyle","mainnavDropdownStyle","html","classMap","dropdownStyle","SgdsDropdown","SgdsDropdownItem","SgdsIcon","__decorate","consume","MainnavContext","state","query","property","queryAssignedElements"],"mappings":";;;;;;;;;;;;;;;;;;;;AAcA,MAAM,GAAG,GAAG,KAAK,CAAC;AAClB,MAAM,KAAK,GAAG,OAAO,CAAC;AACtB,MAAM,KAAK,GAAG,GAAG,CAAC;AAElB;;;AAGG;AACG,MAAO,mBAAoB,SAAQA,sBAAW,CAAA;AAApD,IAAA,WAAA,GAAA;;;AA0BU,QAAA,IAAA,CAAA,SAAS,GAAWC,qBAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;QAIxD,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;KAgQlB;;AAvPC,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAC1C,CAAC,IAAiB,KAAK,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CACrC,CAAC;KACzB;IAED,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAC1B,QAAA,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,MAAK;YACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;;AAE7B,QAAA,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,MAAK;YACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;KACJ;AAES,IAAA,UAAU,CAAC,iBAAuC,EAAA;AAC1D,QAAA,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAEpC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACR;AAED,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAACC,uBAAiB,CAAC,UAAU,EAAEC,0BAAoB,CAAC,UAAU,CAAC,CAAC;SACtG;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;KACF;AAEO,IAAA,iBAAiB,CAAC,CAAQ,EAAA;AAChC,QAAA,MAAM,KAAK,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAuB,CAAC;AACtG,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;AACpF,YAAA,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEvC,YAAA,MAAM,WAAW,GAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAqB,CAAC,gBAAgB,CAAC;AAC7G,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,CAAC,CAAC;AACH,YAAA,WAAW,CAAC,OAAO,CAAC,IAAI,IAAG;AACxB,gBAAA,IAAoB,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AACtC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,wBAAwB,CAAC,CAAQ,EAAA;AACvC,QAAA,MAAM,KAAK,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAuB,CAAC;AACtG,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;AACpF,YAAA,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,6BAA6B,CAAC,CAAgB,EAAA;AACpD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;AACvD,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AAChC,QAAA,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,OAAO;SACR;AAED,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;AACjG,QAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,aAA4B,CAAC;AAC1D,QAAA,IAAI,aAAa,KAAK,IAAI,EAAE;AAC1B,YAAA,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B,CAAC;SAC9D;AAED,QAAA,QAAQ,CAAC,CAAC,GAAG;YACX,KAAK,KAAK,EAAE;AACV,gBAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,oBAAA,IAAI,aAAa,KAAK,SAAS,EAAE;wBAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,UAAU,CAAC,MAAK;4BACd,QAAQ,CAAC,KAAK,EAAE,CAAC;yBAClB,EAAE,CAAC,CAAC,CAAC;qBACP;iBACF;qBAAM;AACL,oBAAA,MAAM,mBAAmB,GAAG,aAAa,CAAC,UAAU;0BAChD,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC;0BACxD,IAAI,CAAC;AACT,oBAAA,IAAI,mBAAmB,IAAI,mBAAmB,KAAK,QAAQ,EAAE;wBAC3D,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,SAAS,CAAC,KAAK,EAAE,CAAC;qBACnB;iBACF;gBACD,MAAM;aACP;SAGF;KACF;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAChE;IAEO,sBAAsB,GAAA;QAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;KACxD;IAEO,kBAAkB,GAAA;AACxB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACzC,QAAA,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAC9C;AAEO,IAAA,mBAAmB,CAAC,KAAoB,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;AAED,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;IAEO,cAAc,GAAA;QACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAuB,CAAC;QAE7E,IAAI,EAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU,CAAA,EAAE;AACxB,YAAA,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO;SACR;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC;QACnF,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO;SACR;AAED,QAAA,OAAO,UAAU,CAAC;KACnB;IAEO,SAAS,GAAA;AACf,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACzC,QAAA,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SAC/B,EAAE,EAAE,CAAC,CAAC;KACR;AAEO,IAAA,0BAA0B,CAAC,KAAoB,EAAA;AACrD,QAAA,QAAQ,KAAK,CAAC,GAAG;YACf,KAAK,GAAG,EAAE;AACR,gBAAA,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;aACP;AACD,YAAA,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,EAAE;gBACV,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;aACP;SAGF;KACF;IAEO,UAAU,GAAA;;QAEhB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB,EAAE,GAAG,CAAC,CAAC;KACT;IAED,MAAM,GAAA;QACJ,MAAM,UAAU,GAAGC,QAAI,CAAA,CAAA;;AAEV,eAAA,EAAAC,oBAAQ,CAAC;AAChB,YAAA,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;wBACc,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;mBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;;AAE5B,eAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACZ,iBAAA,EAAA,IAAI,CAAC,mBAAmB,CAAA;;;;;;AAMI,6CAAA,EAAA,IAAI,CAAC,UAAU,CAAa,UAAA,EAAA,IAAI,CAAC,0BAA0B,CAAA;;;;AAI9E,0BAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;KAE7C,CAAC;QAEF,MAAM,WAAW,GAAGD,QAAI,CAAA,CAAA;AACP,mBAAA,EAAA;AACb,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACf,iBAAA;AACF,aAAA;AACF,SAAA,CAAA;AACW,gBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;AAGd,eAAA,EAAAC,oBAAQ,CAAC;AAChB,YAAA,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;wBACc,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAC3C,WAAA,EAAA,IAAI,CAAC,SAAS,CAAA;mBACR,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;;;;;;;AAOnB,wBAAA,EAAA,IAAI,CAAC,wBAAwB,CAAA;qBAClC,CAAC;QAElB,OAAO,IAAI,CAAC,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC;KAC3D;;AAhSM,mBAAA,CAAA,MAAM,GAAG,CAAC,GAAGL,sBAAW,CAAC,MAAM,EAAEM,mBAAa,EAAEJ,uBAAiB,EAAEC,0BAAoB,CAAC,CAAC;AAChG;AACO,mBAAA,CAAA,YAAY,GAAG;AACpB,IAAA,eAAe,EAAEI,yBAAY;AAC7B,IAAA,oBAAoB,EAAEC,iCAAgB;AACtC,IAAA,WAAW,EAAEC,iBAAQ;AACtB,CAJkB,CAIjB;AAIMC,gBAAA,CAAA;IAFPC,eAAO,CAAC,EAAE,OAAO,EAAEC,6BAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACrD,IAAAC,mBAAK,EAAE;AAC4B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGhBH,gBAAA,CAAA;IAAnBI,mBAAK,CAAC,WAAW,CAAC;AAAsB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGfJ,gBAAA,CAAA;IAAzBI,mBAAK,CAAC,iBAAiB,CAAC;AAA4B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGzBJ,gBAAA,CAAA;IAA3BI,mBAAK,CAAC,mBAAmB,CAAC;AAA+B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG3BJ,gBAAA,CAAA;IAA9BI,mBAAK,CAAC,sBAAsB,CAAC;AAA6B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAO3DJ,gBAAA,CAAA;AADC,IAAAK,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACb,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIfL,gBAAA,CAAA;IADCK,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGmCL,gBAAA,CAAA;AAAnD,IAAAM,mCAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAAsC,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGhDN,gBAAA,CAAA;AAAhC,IAAAM,mCAAqB,EAAE;AAA2C,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
@@ -216,7 +216,7 @@ class SgdsMainnavDropdown extends SgdsElement {
216
216
  </div>
217
217
  `;
218
218
  const desktopView = html `<sgds-dropdown
219
- modifierOpt=${[
219
+ .modifierOpt=${[
220
220
  {
221
221
  name: "offset",
222
222
  options: {