@govtechsg/sgds-web-component 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/Masthead/index.js +46 -15
  2. package/components/Badge/badge.js +1 -1
  3. package/components/Badge/index.umd.js +4532 -197
  4. package/components/Badge/index.umd.js.map +1 -1
  5. package/components/Badge/sgds-badge.js +70 -30
  6. package/components/Badge/sgds-badge.js.map +1 -1
  7. package/components/Breadcrumb/index.umd.js +3 -3
  8. package/components/Breadcrumb/index.umd.js.map +1 -1
  9. package/components/Card/index.umd.js +2 -2
  10. package/components/Card/index.umd.js.map +1 -1
  11. package/components/ComboBox/combo-box-item2.js +1 -1
  12. package/components/ComboBox/index.umd.js +1321 -174
  13. package/components/ComboBox/index.umd.js.map +1 -1
  14. package/components/Datepicker/index.umd.js +61 -17
  15. package/components/Datepicker/index.umd.js.map +1 -1
  16. package/components/Datepicker/sgds-datepicker.js +29 -11
  17. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  18. package/components/DescriptionList/index.umd.js.map +1 -1
  19. package/components/Dropdown/dropdown-item.js +1 -1
  20. package/components/Dropdown/index.umd.js +1 -1
  21. package/components/IconList/icon-list.js +1 -1
  22. package/components/IconList/index.umd.js +1 -1
  23. package/components/Input/index.umd.js +33 -6
  24. package/components/Input/index.umd.js.map +1 -1
  25. package/components/Input/input.js +1 -1
  26. package/components/Input/sgds-input.js +32 -5
  27. package/components/Input/sgds-input.js.map +1 -1
  28. package/components/Link/index.umd.js +2 -2
  29. package/components/Link/index.umd.js.map +1 -1
  30. package/components/Link/link.js +1 -1
  31. package/components/Link/sgds-link.js +1 -1
  32. package/components/Link/sgds-link.js.map +1 -1
  33. package/components/Mainnav/index.umd.js +4 -4
  34. package/components/Mainnav/index.umd.js.map +1 -1
  35. package/components/Mainnav/mainnav-item.js +1 -1
  36. package/components/Mainnav/mainnav.js +1 -1
  37. package/components/Mainnav/sgds-mainnav.js +1 -1
  38. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  39. package/components/Masthead/index.umd.js +46 -15
  40. package/components/Masthead/index.umd.js.map +1 -1
  41. package/components/Masthead/masthead.js +1 -1
  42. package/components/Masthead/sgds-masthead.js +45 -14
  43. package/components/Masthead/sgds-masthead.js.map +1 -1
  44. package/components/Modal/index.umd.js.map +1 -1
  45. package/components/QuantityToggle/index.umd.js +33 -6
  46. package/components/QuantityToggle/index.umd.js.map +1 -1
  47. package/components/Select/index.umd.js +1 -1
  48. package/components/Select/select-item2.js +1 -1
  49. package/components/Subnav/index.umd.js +1 -1
  50. package/components/Subnav/subnav.js +1 -1
  51. package/components/Switch/index.umd.js.map +1 -1
  52. package/components/Table/index.umd.js.map +1 -1
  53. package/components/Tooltip/index.umd.js +1 -1
  54. package/components/Tooltip/tooltip.js +1 -1
  55. package/components/index.umd.js +18901 -18771
  56. package/components/index.umd.js.map +1 -1
  57. package/css/reboot.css +0 -1
  58. package/index.umd.js +18885 -18755
  59. package/index.umd.js.map +1 -1
  60. package/package.json +1 -1
  61. package/react/components/Badge/badge.cjs.js +1 -1
  62. package/react/components/Badge/badge.js +1 -1
  63. package/react/components/Badge/sgds-badge.cjs.js +69 -29
  64. package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
  65. package/react/components/Badge/sgds-badge.js +70 -30
  66. package/react/components/Badge/sgds-badge.js.map +1 -1
  67. package/react/components/ComboBox/combo-box-item.cjs2.js +1 -1
  68. package/react/components/ComboBox/combo-box-item2.js +1 -1
  69. package/react/components/Datepicker/sgds-datepicker.cjs.js +29 -11
  70. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  71. package/react/components/Datepicker/sgds-datepicker.js +29 -11
  72. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  73. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  74. package/react/components/Dropdown/dropdown-item.js +1 -1
  75. package/react/components/IconList/icon-list.cjs.js +1 -1
  76. package/react/components/IconList/icon-list.js +1 -1
  77. package/react/components/Input/input.cjs.js +1 -1
  78. package/react/components/Input/input.js +1 -1
  79. package/react/components/Input/sgds-input.cjs.js +32 -5
  80. package/react/components/Input/sgds-input.cjs.js.map +1 -1
  81. package/react/components/Input/sgds-input.js +32 -5
  82. package/react/components/Input/sgds-input.js.map +1 -1
  83. package/react/components/Link/link.cjs.js +1 -1
  84. package/react/components/Link/link.js +1 -1
  85. package/react/components/Link/sgds-link.cjs.js +1 -1
  86. package/react/components/Link/sgds-link.cjs.js.map +1 -1
  87. package/react/components/Link/sgds-link.js +1 -1
  88. package/react/components/Link/sgds-link.js.map +1 -1
  89. package/react/components/Mainnav/mainnav-item.cjs.js +1 -1
  90. package/react/components/Mainnav/mainnav-item.js +1 -1
  91. package/react/components/Mainnav/mainnav.cjs.js +1 -1
  92. package/react/components/Mainnav/mainnav.js +1 -1
  93. package/react/components/Mainnav/sgds-mainnav.cjs.js +1 -1
  94. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  95. package/react/components/Mainnav/sgds-mainnav.js +1 -1
  96. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  97. package/react/components/Masthead/masthead.cjs.js +1 -1
  98. package/react/components/Masthead/masthead.js +1 -1
  99. package/react/components/Masthead/sgds-masthead.cjs.js +45 -14
  100. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -1
  101. package/react/components/Masthead/sgds-masthead.js +45 -14
  102. package/react/components/Masthead/sgds-masthead.js.map +1 -1
  103. package/react/components/Select/select-item.cjs2.js +1 -1
  104. package/react/components/Select/select-item2.js +1 -1
  105. package/react/components/Subnav/subnav.cjs.js +1 -1
  106. package/react/components/Subnav/subnav.js +1 -1
  107. package/react/components/Tooltip/tooltip.cjs.js +1 -1
  108. package/react/components/Tooltip/tooltip.js +1 -1
  109. package/react/index.cjs.js +8 -8
  110. package/react/index.js +1 -1
  111. package/react/utils/slot.cjs.js +18 -0
  112. package/react/utils/slot.cjs.js.map +1 -1
  113. package/react/utils/slot.js +18 -1
  114. package/react/utils/slot.js.map +1 -1
  115. package/scripts/figma/sync-figma-to-tokens/__tests__/write-tokens-to-css-var.test.d.ts +0 -0
  116. package/scripts/figma/sync-figma-to-tokens/color.d.ts +8 -0
  117. package/scripts/figma/sync-figma-to-tokens/figma_api.d.ts +8 -0
  118. package/scripts/figma/sync-figma-to-tokens/sync-figma-to-tokens.d.ts +1 -0
  119. package/scripts/figma/sync-figma-to-tokens/token_export.d.ts +5 -0
  120. package/scripts/figma/sync-figma-to-tokens/token_types.d.ts +52 -0
  121. package/scripts/figma/sync-figma-to-tokens/utils.d.ts +3 -0
  122. package/scripts/figma/sync-figma-to-tokens/write-tokens-to-css-var.d.ts +8 -0
  123. package/{components → src/components}/Badge/sgds-badge.d.ts +11 -0
  124. package/{components → src/components}/Datepicker/sgds-datepicker.d.ts +13 -3
  125. package/{components → src/components}/Input/sgds-input.d.ts +5 -1
  126. package/{components → src/components}/Link/sgds-link.d.ts +2 -2
  127. package/themes/day.css +1 -0
  128. package/themes/night.css +1 -0
  129. package/themes/root.css +2 -0
  130. package/utils/slot.js +18 -1
  131. package/utils/slot.js.map +1 -1
  132. package/{base → src/base}/button-element.d.ts +0 -0
  133. package/{base → src/base}/card-element.d.ts +0 -0
  134. package/{base → src/base}/dropdown-element.d.ts +0 -0
  135. package/{base → src/base}/dropdown-list-element.d.ts +0 -0
  136. package/{base → src/base}/form-control-element.d.ts +0 -0
  137. package/{base → src/base}/link-element.d.ts +0 -0
  138. package/{base → src/base}/select-element.d.ts +0 -0
  139. package/{base → src/base}/sgds-element.d.ts +0 -0
  140. package/{components → src/components}/Accordion/index.d.ts +0 -0
  141. package/{components → src/components}/Accordion/sgds-accordion-item.d.ts +0 -0
  142. package/{components → src/components}/Accordion/sgds-accordion.d.ts +0 -0
  143. package/{components → src/components}/Alert/index.d.ts +0 -0
  144. package/{components → src/components}/Alert/sgds-alert-link.d.ts +0 -0
  145. package/{components → src/components}/Alert/sgds-alert.d.ts +0 -0
  146. package/{components → src/components}/Badge/index.d.ts +0 -0
  147. package/{components → src/components}/Breadcrumb/index.d.ts +0 -0
  148. package/{components → src/components}/Breadcrumb/sgds-breadcrumb-item.d.ts +0 -0
  149. package/{components → src/components}/Breadcrumb/sgds-breadcrumb.d.ts +0 -0
  150. package/{components → src/components}/Button/index.d.ts +0 -0
  151. package/{components → src/components}/Button/sgds-button.d.ts +0 -0
  152. package/{components → src/components}/Card/index.d.ts +0 -0
  153. package/{components → src/components}/Card/sgds-card.d.ts +0 -0
  154. package/{components → src/components}/Checkbox/index.d.ts +0 -0
  155. package/{components → src/components}/Checkbox/sgds-checkbox-group.d.ts +0 -0
  156. package/{components → src/components}/Checkbox/sgds-checkbox.d.ts +0 -0
  157. package/{components → src/components}/ComboBox/combo-box-item.d.ts +0 -0
  158. package/{components → src/components}/ComboBox/index.d.ts +0 -0
  159. package/{components → src/components}/ComboBox/sgds-combo-box.d.ts +0 -0
  160. package/{components → src/components}/Datepicker/datepicker-calendar.d.ts +0 -0
  161. package/{components → src/components}/Datepicker/datepicker-header.d.ts +0 -0
  162. package/{components → src/components}/Datepicker/datepicker-input.d.ts +0 -0
  163. package/{components → src/components}/Datepicker/index.d.ts +0 -0
  164. package/{components → src/components}/Datepicker/types.d.ts +0 -0
  165. package/{components → src/components}/DescriptionList/index.d.ts +0 -0
  166. package/{components → src/components}/DescriptionList/sgds-description-list-group.d.ts +0 -0
  167. package/{components → src/components}/DescriptionList/sgds-description-list.d.ts +0 -0
  168. package/{components → src/components}/Divider/index.d.ts +0 -0
  169. package/{components → src/components}/Divider/sgds-divider.d.ts +0 -0
  170. package/{components → src/components}/Drawer/index.d.ts +0 -0
  171. package/{components → src/components}/Drawer/sgds-drawer.d.ts +0 -0
  172. package/{components → src/components}/Dropdown/index.d.ts +0 -0
  173. package/{components → src/components}/Dropdown/sgds-dropdown-item.d.ts +0 -0
  174. package/{components → src/components}/Dropdown/sgds-dropdown.d.ts +0 -0
  175. package/{components → src/components}/FileUpload/index.d.ts +0 -0
  176. package/{components → src/components}/FileUpload/sgds-file-upload.d.ts +0 -0
  177. package/{components → src/components}/Footer/index.d.ts +0 -0
  178. package/{components → src/components}/Footer/sgds-footer-item.d.ts +0 -0
  179. package/{components → src/components}/Footer/sgds-footer.d.ts +0 -0
  180. package/{components → src/components}/Icon/icon-registry.d.ts +0 -0
  181. package/{components → src/components}/Icon/icons/archive.d.ts +0 -0
  182. package/{components → src/components}/Icon/icons/arrow-bar-down.d.ts +0 -0
  183. package/{components → src/components}/Icon/icons/arrow-bar-left.d.ts +0 -0
  184. package/{components → src/components}/Icon/icons/arrow-bar-right.d.ts +0 -0
  185. package/{components → src/components}/Icon/icons/arrow-bar-up.d.ts +0 -0
  186. package/{components → src/components}/Icon/icons/arrow-circle-down.d.ts +0 -0
  187. package/{components → src/components}/Icon/icons/arrow-circle-left.d.ts +0 -0
  188. package/{components → src/components}/Icon/icons/arrow-circle-right.d.ts +0 -0
  189. package/{components → src/components}/Icon/icons/arrow-circle-up.d.ts +0 -0
  190. package/{components → src/components}/Icon/icons/arrow-clockwise.d.ts +0 -0
  191. package/{components → src/components}/Icon/icons/arrow-down.d.ts +0 -0
  192. package/{components → src/components}/Icon/icons/arrow-left.d.ts +0 -0
  193. package/{components → src/components}/Icon/icons/arrow-repeat.d.ts +0 -0
  194. package/{components → src/components}/Icon/icons/arrow-right.d.ts +0 -0
  195. package/{components → src/components}/Icon/icons/arrow-square-down.d.ts +0 -0
  196. package/{components → src/components}/Icon/icons/arrow-square-left.d.ts +0 -0
  197. package/{components → src/components}/Icon/icons/arrow-square-right.d.ts +0 -0
  198. package/{components → src/components}/Icon/icons/arrow-square-up.d.ts +0 -0
  199. package/{components → src/components}/Icon/icons/arrow-up.d.ts +0 -0
  200. package/{components → src/components}/Icon/icons/bank-fill.d.ts +0 -0
  201. package/{components → src/components}/Icon/icons/bell-slash.d.ts +0 -0
  202. package/{components → src/components}/Icon/icons/bell.d.ts +0 -0
  203. package/{components → src/components}/Icon/icons/bi-funnel.d.ts +0 -0
  204. package/{components → src/components}/Icon/icons/bookmark-fill.d.ts +0 -0
  205. package/{components → src/components}/Icon/icons/bookmark.d.ts +0 -0
  206. package/{components → src/components}/Icon/icons/box-arrow-up-right.d.ts +0 -0
  207. package/{components → src/components}/Icon/icons/box-seam.d.ts +0 -0
  208. package/{components → src/components}/Icon/icons/building.d.ts +0 -0
  209. package/{components → src/components}/Icon/icons/bus.d.ts +0 -0
  210. package/{components → src/components}/Icon/icons/calculator.d.ts +0 -0
  211. package/{components → src/components}/Icon/icons/calendar-check.d.ts +0 -0
  212. package/{components → src/components}/Icon/icons/calendar-x.d.ts +0 -0
  213. package/{components → src/components}/Icon/icons/calendar.d.ts +0 -0
  214. package/{components → src/components}/Icon/icons/camera.d.ts +0 -0
  215. package/{components → src/components}/Icon/icons/car.d.ts +0 -0
  216. package/{components → src/components}/Icon/icons/chat-dots.d.ts +0 -0
  217. package/{components → src/components}/Icon/icons/chat-left-text.d.ts +0 -0
  218. package/{components → src/components}/Icon/icons/chat.d.ts +0 -0
  219. package/{components → src/components}/Icon/icons/check-circle-fill.d.ts +0 -0
  220. package/{components → src/components}/Icon/icons/check-circle.d.ts +0 -0
  221. package/{components → src/components}/Icon/icons/check.d.ts +0 -0
  222. package/{components → src/components}/Icon/icons/chevron-down.d.ts +0 -0
  223. package/{components → src/components}/Icon/icons/chevron-left.d.ts +0 -0
  224. package/{components → src/components}/Icon/icons/chevron-right.d.ts +0 -0
  225. package/{components → src/components}/Icon/icons/chevron-selector-vertical.d.ts +0 -0
  226. package/{components → src/components}/Icon/icons/chevron-up.d.ts +0 -0
  227. package/{components → src/components}/Icon/icons/clock.d.ts +0 -0
  228. package/{components → src/components}/Icon/icons/cloud-check.d.ts +0 -0
  229. package/{components → src/components}/Icon/icons/cloud-download.d.ts +0 -0
  230. package/{components → src/components}/Icon/icons/cloud-upload.d.ts +0 -0
  231. package/{components → src/components}/Icon/icons/cloud.d.ts +0 -0
  232. package/{components → src/components}/Icon/icons/compass.d.ts +0 -0
  233. package/{components → src/components}/Icon/icons/cross.d.ts +0 -0
  234. package/{components → src/components}/Icon/icons/cursor-fill.d.ts +0 -0
  235. package/{components → src/components}/Icon/icons/cursor.d.ts +0 -0
  236. package/{components → src/components}/Icon/icons/dash-circle.d.ts +0 -0
  237. package/{components → src/components}/Icon/icons/dash-square.d.ts +0 -0
  238. package/{components → src/components}/Icon/icons/dash.d.ts +0 -0
  239. package/{components → src/components}/Icon/icons/download.d.ts +0 -0
  240. package/{components → src/components}/Icon/icons/edit.d.ts +0 -0
  241. package/{components → src/components}/Icon/icons/exclamation-circle-fill.d.ts +0 -0
  242. package/{components → src/components}/Icon/icons/exclamation-circle.d.ts +0 -0
  243. package/{components → src/components}/Icon/icons/exclamation-triangle-fill.d.ts +0 -0
  244. package/{components → src/components}/Icon/icons/exclamation-triangle.d.ts +0 -0
  245. package/{components → src/components}/Icon/icons/exclamation.d.ts +0 -0
  246. package/{components → src/components}/Icon/icons/eye-fill.d.ts +0 -0
  247. package/{components → src/components}/Icon/icons/eye-slash-fill.d.ts +0 -0
  248. package/{components → src/components}/Icon/icons/eye-slash.d.ts +0 -0
  249. package/{components → src/components}/Icon/icons/eye.d.ts +0 -0
  250. package/{components → src/components}/Icon/icons/facebook.d.ts +0 -0
  251. package/{components → src/components}/Icon/icons/file-earmark-text.d.ts +0 -0
  252. package/{components → src/components}/Icon/icons/file-pdf.d.ts +0 -0
  253. package/{components → src/components}/Icon/icons/file-plus.d.ts +0 -0
  254. package/{components → src/components}/Icon/icons/file-text.d.ts +0 -0
  255. package/{components → src/components}/Icon/icons/file.d.ts +0 -0
  256. package/{components → src/components}/Icon/icons/files.d.ts +0 -0
  257. package/{components → src/components}/Icon/icons/folder-check.d.ts +0 -0
  258. package/{components → src/components}/Icon/icons/folder-minus.d.ts +0 -0
  259. package/{components → src/components}/Icon/icons/folder-plus.d.ts +0 -0
  260. package/{components → src/components}/Icon/icons/folder.d.ts +0 -0
  261. package/{components → src/components}/Icon/icons/gear.d.ts +0 -0
  262. package/{components → src/components}/Icon/icons/geo-alt.d.ts +0 -0
  263. package/{components → src/components}/Icon/icons/geo-fill.d.ts +0 -0
  264. package/{components → src/components}/Icon/icons/geo.d.ts +0 -0
  265. package/{components → src/components}/Icon/icons/globe-alt.d.ts +0 -0
  266. package/{components → src/components}/Icon/icons/globe.d.ts +0 -0
  267. package/{components → src/components}/Icon/icons/google.d.ts +0 -0
  268. package/{components → src/components}/Icon/icons/grid-fill.d.ts +0 -0
  269. package/{components → src/components}/Icon/icons/hand-thumbs-down.d.ts +0 -0
  270. package/{components → src/components}/Icon/icons/hand-thumbs-up.d.ts +0 -0
  271. package/{components → src/components}/Icon/icons/hard-drive.d.ts +0 -0
  272. package/{components → src/components}/Icon/icons/heart.d.ts +0 -0
  273. package/{components → src/components}/Icon/icons/house-door.d.ts +0 -0
  274. package/{components → src/components}/Icon/icons/house.d.ts +0 -0
  275. package/{components → src/components}/Icon/icons/image.d.ts +0 -0
  276. package/{components → src/components}/Icon/icons/in-box.d.ts +0 -0
  277. package/{components → src/components}/Icon/icons/info-circle-fill.d.ts +0 -0
  278. package/{components → src/components}/Icon/icons/info-circle.d.ts +0 -0
  279. package/{components → src/components}/Icon/icons/instagram.d.ts +0 -0
  280. package/{components → src/components}/Icon/icons/laptop.d.ts +0 -0
  281. package/{components → src/components}/Icon/icons/layers.d.ts +0 -0
  282. package/{components → src/components}/Icon/icons/layout-text-window-reverse.d.ts +0 -0
  283. package/{components → src/components}/Icon/icons/layout-text-window.d.ts +0 -0
  284. package/{components → src/components}/Icon/icons/layout.d.ts +0 -0
  285. package/{components → src/components}/Icon/icons/lightbulb.d.ts +0 -0
  286. package/{components → src/components}/Icon/icons/link.d.ts +0 -0
  287. package/{components → src/components}/Icon/icons/linkedin.d.ts +0 -0
  288. package/{components → src/components}/Icon/icons/list.d.ts +0 -0
  289. package/{components → src/components}/Icon/icons/lock-fill.d.ts +0 -0
  290. package/{components → src/components}/Icon/icons/lock.d.ts +0 -0
  291. package/{components → src/components}/Icon/icons/login.d.ts +0 -0
  292. package/{components → src/components}/Icon/icons/logout.d.ts +0 -0
  293. package/{components → src/components}/Icon/icons/luggage.d.ts +0 -0
  294. package/{components → src/components}/Icon/icons/mail.d.ts +0 -0
  295. package/{components → src/components}/Icon/icons/map.d.ts +0 -0
  296. package/{components → src/components}/Icon/icons/menu.d.ts +0 -0
  297. package/{components → src/components}/Icon/icons/microphone.d.ts +0 -0
  298. package/{components → src/components}/Icon/icons/monitor.d.ts +0 -0
  299. package/{components → src/components}/Icon/icons/paperclip.d.ts +0 -0
  300. package/{components → src/components}/Icon/icons/passport.d.ts +0 -0
  301. package/{components → src/components}/Icon/icons/pencil.d.ts +0 -0
  302. package/{components → src/components}/Icon/icons/pending-circle.d.ts +0 -0
  303. package/{components → src/components}/Icon/icons/person-dash.d.ts +0 -0
  304. package/{components → src/components}/Icon/icons/person-plus.d.ts +0 -0
  305. package/{components → src/components}/Icon/icons/person-x.d.ts +0 -0
  306. package/{components → src/components}/Icon/icons/person.d.ts +0 -0
  307. package/{components → src/components}/Icon/icons/phone.d.ts +0 -0
  308. package/{components → src/components}/Icon/icons/pin-map-fill.d.ts +0 -0
  309. package/{components → src/components}/Icon/icons/pin.d.ts +0 -0
  310. package/{components → src/components}/Icon/icons/placeholder.d.ts +0 -0
  311. package/{components → src/components}/Icon/icons/plane.d.ts +0 -0
  312. package/{components → src/components}/Icon/icons/plus-circle.d.ts +0 -0
  313. package/{components → src/components}/Icon/icons/plus-square.d.ts +0 -0
  314. package/{components → src/components}/Icon/icons/plus.d.ts +0 -0
  315. package/{components → src/components}/Icon/icons/printer.d.ts +0 -0
  316. package/{components → src/components}/Icon/icons/question-circle.d.ts +0 -0
  317. package/{components → src/components}/Icon/icons/rocket.d.ts +0 -0
  318. package/{components → src/components}/Icon/icons/save.d.ts +0 -0
  319. package/{components → src/components}/Icon/icons/search.d.ts +0 -0
  320. package/{components → src/components}/Icon/icons/send.d.ts +0 -0
  321. package/{components → src/components}/Icon/icons/sg-crest.d.ts +0 -0
  322. package/{components → src/components}/Icon/icons/share.d.ts +0 -0
  323. package/{components → src/components}/Icon/icons/slash-circle.d.ts +0 -0
  324. package/{components → src/components}/Icon/icons/sliders.d.ts +0 -0
  325. package/{components → src/components}/Icon/icons/speedometer.d.ts +0 -0
  326. package/{components → src/components}/Icon/icons/star-fill.d.ts +0 -0
  327. package/{components → src/components}/Icon/icons/star.d.ts +0 -0
  328. package/{components → src/components}/Icon/icons/stoplights.d.ts +0 -0
  329. package/{components → src/components}/Icon/icons/switch-horizontal.d.ts +0 -0
  330. package/{components → src/components}/Icon/icons/switch-vertical.d.ts +0 -0
  331. package/{components → src/components}/Icon/icons/tablet.d.ts +0 -0
  332. package/{components → src/components}/Icon/icons/telephone.d.ts +0 -0
  333. package/{components → src/components}/Icon/icons/three-dots-vertical.d.ts +0 -0
  334. package/{components → src/components}/Icon/icons/three-dots.d.ts +0 -0
  335. package/{components → src/components}/Icon/icons/ticket.d.ts +0 -0
  336. package/{components → src/components}/Icon/icons/toggle-off.d.ts +0 -0
  337. package/{components → src/components}/Icon/icons/toggle-on.d.ts +0 -0
  338. package/{components → src/components}/Icon/icons/train.d.ts +0 -0
  339. package/{components → src/components}/Icon/icons/translate.d.ts +0 -0
  340. package/{components → src/components}/Icon/icons/trash.d.ts +0 -0
  341. package/{components → src/components}/Icon/icons/truck.d.ts +0 -0
  342. package/{components → src/components}/Icon/icons/twitter-x.d.ts +0 -0
  343. package/{components → src/components}/Icon/icons/unlock.d.ts +0 -0
  344. package/{components → src/components}/Icon/icons/upload.d.ts +0 -0
  345. package/{components → src/components}/Icon/icons/user-circle.d.ts +0 -0
  346. package/{components → src/components}/Icon/icons/user-square.d.ts +0 -0
  347. package/{components → src/components}/Icon/icons/users.d.ts +0 -0
  348. package/{components → src/components}/Icon/icons/video-recorder.d.ts +0 -0
  349. package/{components → src/components}/Icon/icons/volume-max.d.ts +0 -0
  350. package/{components → src/components}/Icon/icons/volume-x.d.ts +0 -0
  351. package/{components → src/components}/Icon/icons/window-dash.d.ts +0 -0
  352. package/{components → src/components}/Icon/icons/window-desktop.d.ts +0 -0
  353. package/{components → src/components}/Icon/icons/window-dock.d.ts +0 -0
  354. package/{components → src/components}/Icon/icons/window-fullscreen.d.ts +0 -0
  355. package/{components → src/components}/Icon/icons/window-plus.d.ts +0 -0
  356. package/{components → src/components}/Icon/icons/window-sidebar.d.ts +0 -0
  357. package/{components → src/components}/Icon/icons/window-split.d.ts +0 -0
  358. package/{components → src/components}/Icon/icons/window-stack.d.ts +0 -0
  359. package/{components → src/components}/Icon/icons/window-x.d.ts +0 -0
  360. package/{components → src/components}/Icon/icons/window.d.ts +0 -0
  361. package/{components → src/components}/Icon/icons/xcircle-fill.d.ts +0 -0
  362. package/{components → src/components}/Icon/icons/xcircle.d.ts +0 -0
  363. package/{components → src/components}/Icon/icons/youtube.d.ts +0 -0
  364. package/{components → src/components}/Icon/icons/zoom-in.d.ts +0 -0
  365. package/{components → src/components}/Icon/icons/zoom-out.d.ts +0 -0
  366. package/{components → src/components}/Icon/index.d.ts +0 -0
  367. package/{components → src/components}/Icon/sgds-icon.d.ts +0 -0
  368. package/{components → src/components}/IconButton/index.d.ts +0 -0
  369. package/{components → src/components}/IconButton/sgds-icon-button.d.ts +0 -0
  370. package/{components → src/components}/IconList/index.d.ts +0 -0
  371. package/{components → src/components}/IconList/sgds-icon-list.d.ts +0 -0
  372. package/{components → src/components}/Input/index.d.ts +0 -0
  373. package/{components → src/components}/Link/index.d.ts +0 -0
  374. package/{components → src/components}/Mainnav/index.d.ts +0 -0
  375. package/{components → src/components}/Mainnav/mainnav-context.d.ts +0 -0
  376. package/{components → src/components}/Mainnav/sgds-mainnav-dropdown.d.ts +0 -0
  377. package/{components → src/components}/Mainnav/sgds-mainnav-item.d.ts +0 -0
  378. package/{components → src/components}/Mainnav/sgds-mainnav.d.ts +0 -0
  379. package/{components → src/components}/Masthead/index.d.ts +0 -0
  380. package/{components → src/components}/Masthead/sgds-masthead.d.ts +0 -0
  381. package/{components → src/components}/Modal/index.d.ts +0 -0
  382. package/{components → src/components}/Modal/sgds-modal.d.ts +0 -0
  383. package/{components → src/components}/Pagination/index.d.ts +0 -0
  384. package/{components → src/components}/Pagination/sgds-pagination.d.ts +0 -0
  385. package/{components → src/components}/ProgressBar/index.d.ts +0 -0
  386. package/{components → src/components}/ProgressBar/sgds-progress-bar.d.ts +0 -0
  387. package/{components → src/components}/QuantityToggle/index.d.ts +0 -0
  388. package/{components → src/components}/QuantityToggle/sgds-quantity-toggle.d.ts +0 -0
  389. package/{components → src/components}/Radio/index.d.ts +0 -0
  390. package/{components → src/components}/Radio/sgds-radio-group.d.ts +0 -0
  391. package/{components → src/components}/Radio/sgds-radio.d.ts +0 -0
  392. package/{components → src/components}/Select/index.d.ts +0 -0
  393. package/{components → src/components}/Select/select-item.d.ts +0 -0
  394. package/{components → src/components}/Select/sgds-select.d.ts +0 -0
  395. package/{components → src/components}/Sidenav/index.d.ts +0 -0
  396. package/{components → src/components}/Sidenav/sgds-sidenav-item.d.ts +0 -0
  397. package/{components → src/components}/Sidenav/sgds-sidenav-link.d.ts +0 -0
  398. package/{components → src/components}/Sidenav/sgds-sidenav.d.ts +0 -0
  399. package/{components → src/components}/Skeleton/index.d.ts +0 -0
  400. package/{components → src/components}/Skeleton/sgds-skeleton.d.ts +0 -0
  401. package/{components → src/components}/Spinner/index.d.ts +0 -0
  402. package/{components → src/components}/Spinner/sgds-spinner.d.ts +0 -0
  403. package/{components → src/components}/Stepper/index.d.ts +0 -0
  404. package/{components → src/components}/Stepper/sgds-stepper.d.ts +0 -0
  405. package/{components → src/components}/Subnav/index.d.ts +0 -0
  406. package/{components → src/components}/Subnav/sgds-subnav-item.d.ts +0 -0
  407. package/{components → src/components}/Subnav/sgds-subnav.d.ts +0 -0
  408. package/{components → src/components}/Switch/index.d.ts +0 -0
  409. package/{components → src/components}/Switch/sgds-switch.d.ts +0 -0
  410. package/{components → src/components}/Tab/index.d.ts +0 -0
  411. package/{components → src/components}/Tab/sgds-tab-group.d.ts +0 -0
  412. package/{components → src/components}/Tab/sgds-tab-panel.d.ts +0 -0
  413. package/{components → src/components}/Tab/sgds-tab.d.ts +0 -0
  414. package/{components → src/components}/Table/index.d.ts +0 -0
  415. package/{components → src/components}/Table/sgds-table-cell.d.ts +0 -0
  416. package/{components → src/components}/Table/sgds-table-head.d.ts +0 -0
  417. package/{components → src/components}/Table/sgds-table-row.d.ts +0 -0
  418. package/{components → src/components}/Table/sgds-table.d.ts +0 -0
  419. package/{components → src/components}/TableOfContents/index.d.ts +0 -0
  420. package/{components → src/components}/TableOfContents/sgds-table-of-contents.d.ts +0 -0
  421. package/{components → src/components}/Textarea/index.d.ts +0 -0
  422. package/{components → src/components}/Textarea/sgds-textarea.d.ts +0 -0
  423. package/{components → src/components}/Toast/index.d.ts +0 -0
  424. package/{components → src/components}/Toast/sgds-toast-container.d.ts +0 -0
  425. package/{components → src/components}/Toast/sgds-toast.d.ts +0 -0
  426. package/{components → src/components}/Tooltip/index.d.ts +0 -0
  427. package/{components → src/components}/Tooltip/sgds-tooltip.d.ts +0 -0
  428. package/{components → src/components}/index.d.ts +0 -0
  429. package/{index.d.ts → src/index.d.ts} +0 -0
  430. package/{internals → src/internals}/CloseButton/index.d.ts +0 -0
  431. package/{internals → src/internals}/CloseButton/sgds-close-button.d.ts +0 -0
  432. package/{internals → src/internals}/OverflowMenu/index.d.ts +0 -0
  433. package/{internals → src/internals}/OverflowMenu/sgds-overflow-menu.d.ts +0 -0
  434. package/{react → src/react}/accordion/index.d.ts +0 -0
  435. package/{react → src/react}/accordion-item/index.d.ts +0 -0
  436. package/{react → src/react}/alert/index.d.ts +0 -0
  437. package/{react → src/react}/alert-link/index.d.ts +0 -0
  438. package/{react → src/react}/badge/index.d.ts +0 -0
  439. package/{react → src/react}/breadcrumb/index.d.ts +0 -0
  440. package/{react → src/react}/breadcrumb-item/index.d.ts +0 -0
  441. package/{react → src/react}/button/index.d.ts +0 -0
  442. package/{react → src/react}/card/index.d.ts +0 -0
  443. package/{react → src/react}/checkbox/index.d.ts +0 -0
  444. package/{react → src/react}/checkbox-group/index.d.ts +0 -0
  445. package/{react → src/react}/combo-box/index.d.ts +0 -0
  446. package/{react → src/react}/datepicker/index.d.ts +0 -0
  447. package/{react → src/react}/description-list/index.d.ts +0 -0
  448. package/{react → src/react}/description-list-group/index.d.ts +0 -0
  449. package/{react → src/react}/divider/index.d.ts +0 -0
  450. package/{react → src/react}/drawer/index.d.ts +0 -0
  451. package/{react → src/react}/dropdown/index.d.ts +0 -0
  452. package/{react → src/react}/dropdown-item/index.d.ts +0 -0
  453. package/{react → src/react}/file-upload/index.d.ts +0 -0
  454. package/{react → src/react}/footer/index.d.ts +0 -0
  455. package/{react → src/react}/footer-item/index.d.ts +0 -0
  456. package/{react → src/react}/icon/index.d.ts +0 -0
  457. package/{react → src/react}/icon-button/index.d.ts +0 -0
  458. package/{react → src/react}/icon-list/index.d.ts +0 -0
  459. package/{react → src/react}/index.d.ts +1 -1
  460. /package/{react → src/react}/input/index.d.ts +0 -0
  461. /package/{react → src/react}/link/index.d.ts +0 -0
  462. /package/{react → src/react}/mainnav/index.d.ts +0 -0
  463. /package/{react → src/react}/mainnav-dropdown/index.d.ts +0 -0
  464. /package/{react → src/react}/mainnav-item/index.d.ts +0 -0
  465. /package/{react → src/react}/masthead/index.d.ts +0 -0
  466. /package/{react → src/react}/modal/index.d.ts +0 -0
  467. /package/{react → src/react}/pagination/index.d.ts +0 -0
  468. /package/{react → src/react}/progress-bar/index.d.ts +0 -0
  469. /package/{react → src/react}/quantity-toggle/index.d.ts +0 -0
  470. /package/{react → src/react}/radio/index.d.ts +0 -0
  471. /package/{react → src/react}/radio-group/index.d.ts +0 -0
  472. /package/{react → src/react}/select/index.d.ts +0 -0
  473. /package/{react → src/react}/sidenav/index.d.ts +0 -0
  474. /package/{react → src/react}/sidenav-item/index.d.ts +0 -0
  475. /package/{react → src/react}/sidenav-link/index.d.ts +0 -0
  476. /package/{react → src/react}/skeleton/index.d.ts +0 -0
  477. /package/{react → src/react}/spinner/index.d.ts +0 -0
  478. /package/{react → src/react}/stepper/index.d.ts +0 -0
  479. /package/{react → src/react}/subnav/index.d.ts +0 -0
  480. /package/{react → src/react}/subnav-item/index.d.ts +0 -0
  481. /package/{react → src/react}/switch/index.d.ts +0 -0
  482. /package/{react → src/react}/tab/index.d.ts +0 -0
  483. /package/{react → src/react}/tab-group/index.d.ts +0 -0
  484. /package/{react → src/react}/tab-panel/index.d.ts +0 -0
  485. /package/{react → src/react}/table/index.d.ts +0 -0
  486. /package/{react → src/react}/table-cell/index.d.ts +0 -0
  487. /package/{react → src/react}/table-head/index.d.ts +0 -0
  488. /package/{react → src/react}/table-of-contents/index.d.ts +0 -0
  489. /package/{react → src/react}/table-row/index.d.ts +0 -0
  490. /package/{react → src/react}/textarea/index.d.ts +0 -0
  491. /package/{react → src/react}/toast/index.d.ts +0 -0
  492. /package/{react → src/react}/toast-container/index.d.ts +0 -0
  493. /package/{react → src/react}/tooltip/index.d.ts +0 -0
  494. /package/{utils → src/utils}/animate.d.ts +0 -0
  495. /package/{utils → src/utils}/animation-registry.d.ts +0 -0
  496. /package/{utils → src/utils}/breakpoints.d.ts +0 -0
  497. /package/{utils → src/utils}/ce-registry.d.ts +0 -0
  498. /package/{utils → src/utils}/defaultvalue.d.ts +0 -0
  499. /package/{utils → src/utils}/event.d.ts +0 -0
  500. /package/{utils → src/utils}/formSubmitController.d.ts +0 -0
  501. /package/{utils → src/utils}/generateCustomElementName.d.ts +0 -0
  502. /package/{utils → src/utils}/generateId.d.ts +0 -0
  503. /package/{utils → src/utils}/inputValidationController.d.ts +0 -0
  504. /package/{utils → src/utils}/mergeDeep.d.ts +0 -0
  505. /package/{utils → src/utils}/modal.d.ts +0 -0
  506. /package/{utils → src/utils}/object.d.ts +0 -0
  507. /package/{utils → src/utils}/offset.d.ts +0 -0
  508. /package/{utils → src/utils}/scroll.d.ts +0 -0
  509. /package/{utils → src/utils}/slot.d.ts +0 -0
  510. /package/{utils → src/utils}/tabbable.d.ts +0 -0
  511. /package/{utils → src/utils}/test.d.ts +0 -0
  512. /package/{utils → src/utils}/time.d.ts +0 -0
  513. /package/{utils → src/utils}/validatorMixin.d.ts +0 -0
  514. /package/{utils → src/utils}/watch.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@govtechsg/sgds-web-component",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "",
5
5
  "main": "./index.umd.js",
6
6
  "module": "./index.js",
@@ -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{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
8
+ var css_248z = lit.css`:host{cursor:default;display:inline-flex;max-width:100%}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}sgds-tooltip{display:block;max-width:100%}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24,24px);justify-content:center;max-width:192px;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge.full-width{max-width:100%}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}.badge.truncated .badge-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}slot::slotted(*){font-size:14px;font-weight:400}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=badge.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{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
4
+ var css_248z = css`:host{cursor:default;display:inline-flex;max-width:100%}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}sgds-tooltip{display:block;max-width:100%}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24,24px);justify-content:center;max-width:192px;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge.full-width{max-width:100%}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}.badge.truncated .badge-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}slot::slotted(*){font-size:14px;font-weight:400}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=badge.js.map
@@ -7,13 +7,16 @@ var tslib = require('tslib');
7
7
  var lit = require('lit');
8
8
  var decorators_js = require('lit/decorators.js');
9
9
  var classMap_js = require('lit/directives/class-map.js');
10
- var sgdsElement = require('../../base/sgds-element.cjs.js');
11
- var sgdsCloseButton = require('../../internals/CloseButton/sgds-close-button.cjs.js');
12
10
  var watch = require('../../utils/watch.cjs.js');
13
11
  var badge = require('./badge.cjs.js');
12
+ var sgdsElement = require('../../base/sgds-element.cjs.js');
13
+ var sgdsTooltip = require('../Tooltip/sgds-tooltip.cjs.js');
14
+ var sgdsCloseButton = require('../../internals/CloseButton/sgds-close-button.cjs.js');
15
+ var slot = require('../../utils/slot.cjs.js');
14
16
 
15
17
  /**
16
18
  * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.
19
+ * When the text exceeds the width, it will be truncated with a tooltip that will be displayed on hover.
17
20
  *
18
21
  * @slot default - slot for badge
19
22
  * @slot icon - The slot for icon to the left of the badge text
@@ -34,6 +37,10 @@ class SgdsBadge extends sgdsElement["default"] {
34
37
  this.outlined = false;
35
38
  /** Manually set the dismissible state of the button to `false` */
36
39
  this.dismissible = false;
40
+ /** Manually enable full width */
41
+ this.fullWidth = false;
42
+ this.truncated = false;
43
+ this.text = "";
37
44
  }
38
45
  /** Closes the badge */
39
46
  close() {
@@ -60,41 +67,62 @@ class SgdsBadge extends sgdsElement["default"] {
60
67
  this.emit("sgds-after-hide");
61
68
  }
62
69
  }
63
- render() {
64
- return (this.dismissible && this.show) || !this.dismissible
65
- ? lit.html `
66
- <div
67
- class="
70
+ /**@internal */
71
+ _handleTruncation() {
72
+ // checking of text height if its exceeding parent, it needs to be truncated
73
+ const badge = this.shadowRoot.querySelector(".badge");
74
+ const badgeLabel = this.shadowRoot.querySelector(".badge-label");
75
+ if (badge && badgeLabel) {
76
+ const labelHeight = badgeLabel.getBoundingClientRect().height;
77
+ const badgeHeight = badge.getBoundingClientRect().height;
78
+ this.truncated = labelHeight > badgeHeight;
79
+ }
80
+ }
81
+ _handleLabelSlotChange(e) {
82
+ this.text = slot.getTextContent(e.target);
83
+ return;
84
+ }
85
+ _renderBadge() {
86
+ return lit.html `<div
87
+ class="
68
88
  ${classMap_js.classMap({
69
- [`badge-dismissible`]: this.dismissible,
70
- badge: true,
71
- outlined: this.outlined
72
- })}
73
- "
74
- aria-hidden=${this.show ? "false" : "true"}
75
- >
76
- ${!this.dismissible ? lit.html `<slot name="icon"></slot>` : lit.nothing}
77
- <span class="badge-label">
78
- <slot></slot>
79
- </span>
89
+ [`badge-dismissible`]: this.dismissible,
90
+ badge: true,
91
+ outlined: this.outlined,
92
+ truncated: this.truncated,
93
+ "full-width": this.fullWidth
94
+ })}"
95
+ aria-hidden=${this.show ? "false" : "true"}
96
+ >
97
+ ${!this.dismissible ? lit.html `<slot name="icon"></slot>` : lit.nothing}
80
98
 
81
- ${this.dismissible
82
- ? lit.html `<sgds-close-button
83
- size="sm"
84
- aria-label="close the badge"
85
- @click=${this.close}
86
- variant=${this.outlined ? "dark" : "light"}
87
- ></sgds-close-button>`
88
- : lit.nothing}
89
- </div>
90
- `
99
+ <span class="badge-label">
100
+ <slot @slotchange=${this._handleLabelSlotChange}></slot>
101
+ </span>
102
+
103
+ ${this.dismissible
104
+ ? lit.html `<sgds-close-button
105
+ size="sm"
106
+ aria-label="close the badge"
107
+ @click=${this.close}
108
+ variant=${this.outlined ? "dark" : "light"}
109
+ ></sgds-close-button>`
110
+ : lit.nothing}
111
+ </div>`;
112
+ }
113
+ render() {
114
+ return (this.dismissible && this.show) || !this.dismissible
115
+ ? this.truncated
116
+ ? lit.html `<sgds-tooltip content=${this.text}>${this._renderBadge()}</sgds-tooltip>`
117
+ : this._renderBadge()
91
118
  : lit.nothing;
92
119
  }
93
120
  }
94
121
  SgdsBadge.styles = [...sgdsElement["default"].styles, badge["default"]];
95
122
  /**@internal */
96
123
  SgdsBadge.dependencies = {
97
- "sgds-close-button": sgdsCloseButton.SgdsCloseButton
124
+ "sgds-close-button": sgdsCloseButton.SgdsCloseButton,
125
+ "sgds-tooltip": sgdsTooltip.SgdsTooltip
98
126
  };
99
127
  tslib.__decorate([
100
128
  decorators_js.property({ type: Boolean, reflect: true })
@@ -108,9 +136,21 @@ tslib.__decorate([
108
136
  tslib.__decorate([
109
137
  decorators_js.property({ type: Boolean, reflect: true })
110
138
  ], SgdsBadge.prototype, "dismissible", void 0);
139
+ tslib.__decorate([
140
+ decorators_js.property({ type: Boolean, reflect: true })
141
+ ], SgdsBadge.prototype, "fullWidth", void 0);
142
+ tslib.__decorate([
143
+ decorators_js.state()
144
+ ], SgdsBadge.prototype, "truncated", void 0);
145
+ tslib.__decorate([
146
+ decorators_js.state()
147
+ ], SgdsBadge.prototype, "text", void 0);
111
148
  tslib.__decorate([
112
149
  watch.watch("show")
113
150
  ], SgdsBadge.prototype, "_handleShowChange", null);
151
+ tslib.__decorate([
152
+ watch.watch("text")
153
+ ], SgdsBadge.prototype, "_handleTruncation", null);
114
154
 
115
155
  exports.SgdsBadge = SgdsBadge;
116
156
  exports["default"] = SgdsBadge;
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-badge.cjs.js","sources":["../../../../src/components/Badge/sgds-badge.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsCloseButton from \"../../internals/CloseButton/sgds-close-button\";\nimport { watch } from \"../../utils/watch\";\nimport badgeStyle from \"./badge.css\";\nexport type BadgeVariant = \"info\" | \"success\" | \"danger\" | \"warning\" | \"neutral\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n *\n * @slot default - slot for badge\n * @slot icon - The slot for icon to the left of the badge text\n *\n * @event sgds-show - Emitted when the badge appears.\n * @event sgds-hide - Emitted when the badge is starting to close but has not closed.\n * @event sgds-after-show - Emitted after the badge has appeared\n * @event sgds-after-hide - Emitted after the badge has closed\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [...SgdsElement.styles, badgeStyle];\n\n /**@internal */\n static dependencies = {\n \"sgds-close-button\": SgdsCloseButton\n };\n\n /** Controls the appearance of the dismissible badge. This prop only applies when dismissible is true */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `info`, `success`, `danger`, `warning`, 'neutral' */\n @property({ reflect: true }) variant: BadgeVariant = \"info\";\n\n /** Manually set the outlined state to false */\n @property({ type: Boolean, reflect: true }) outlined = false;\n\n /** Manually set the dismissible state of the button to `false` */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** Closes the badge */\n public close() {\n this.show = false;\n }\n /**@internal */\n @watch(\"show\")\n _handleShowChange() {\n if (this.show) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.show = false;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.show = true;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n return (this.dismissible && this.show) || !this.dismissible\n ? html`\n <div\n class=\" \n ${classMap({\n [`badge-dismissible`]: this.dismissible,\n badge: true,\n outlined: this.outlined\n })}\n \"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n ${!this.dismissible ? html`<slot name=\"icon\"></slot>` : nothing}\n <span class=\"badge-label\">\n <slot></slot>\n </span>\n\n ${this.dismissible\n ? html`<sgds-close-button\n size=\"sm\"\n aria-label=\"close the badge\"\n @click=${this.close}\n variant=${this.outlined ? \"dark\" : \"light\"}\n ></sgds-close-button>`\n : nothing}\n </div>\n `\n : nothing;\n }\n}\n\nexport default SgdsBadge;\n"],"names":["SgdsElement","html","classMap","nothing","badgeStyle","SgdsCloseButton","__decorate","property","watch"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-badge.cjs.js","sources":["../../../../src/components/Badge/sgds-badge.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nimport { watch } from \"../../utils/watch\";\nimport badgeStyle from \"./badge.css\";\n\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsTooltip from \"../Tooltip/sgds-tooltip\";\nimport SgdsCloseButton from \"../../internals/CloseButton/sgds-close-button\";\n\nimport { getTextContent } from \"../../utils/slot\";\n\nexport type BadgeVariant = \"info\" | \"success\" | \"danger\" | \"warning\" | \"neutral\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n * When the text exceeds the width, it will be truncated with a tooltip that will be displayed on hover.\n *\n * @slot default - slot for badge\n * @slot icon - The slot for icon to the left of the badge text\n *\n * @event sgds-show - Emitted when the badge appears.\n * @event sgds-hide - Emitted when the badge is starting to close but has not closed.\n * @event sgds-after-show - Emitted after the badge has appeared\n * @event sgds-after-hide - Emitted after the badge has closed\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [...SgdsElement.styles, badgeStyle];\n\n /**@internal */\n static dependencies = {\n \"sgds-close-button\": SgdsCloseButton,\n \"sgds-tooltip\": SgdsTooltip\n };\n\n /** Controls the appearance of the dismissible badge. This prop only applies when dismissible is true */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `info`, `success`, `danger`, `warning`, 'neutral' */\n @property({ reflect: true }) variant: BadgeVariant = \"info\";\n\n /** Manually set the outlined state to false */\n @property({ type: Boolean, reflect: true }) outlined = false;\n\n /** Manually set the dismissible state of the button to `false` */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** Manually enable full width */\n @property({ type: Boolean, reflect: true }) fullWidth = false;\n\n @state() private truncated = false;\n @state() private text = \"\";\n\n /** Closes the badge */\n public close() {\n this.show = false;\n }\n\n /**@internal */\n @watch(\"show\")\n _handleShowChange() {\n if (this.show) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.show = false;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.show = true;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n /**@internal */\n @watch(\"text\")\n _handleTruncation() {\n // checking of text height if its exceeding parent, it needs to be truncated\n const badge = this.shadowRoot.querySelector(\".badge\");\n const badgeLabel = this.shadowRoot.querySelector(\".badge-label\");\n\n if (badge && badgeLabel) {\n const labelHeight = badgeLabel.getBoundingClientRect().height;\n const badgeHeight = badge.getBoundingClientRect().height;\n\n this.truncated = labelHeight > badgeHeight;\n }\n }\n\n private _handleLabelSlotChange(e: Event) {\n this.text = getTextContent(e.target as HTMLSlotElement);\n return;\n }\n\n private _renderBadge() {\n return html`<div\n class=\" \n ${classMap({\n [`badge-dismissible`]: this.dismissible,\n badge: true,\n outlined: this.outlined,\n truncated: this.truncated,\n \"full-width\": this.fullWidth\n })}\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n ${!this.dismissible ? html`<slot name=\"icon\"></slot>` : nothing}\n\n <span class=\"badge-label\">\n <slot @slotchange=${this._handleLabelSlotChange}></slot>\n </span>\n\n ${this.dismissible\n ? html`<sgds-close-button\n size=\"sm\"\n aria-label=\"close the badge\"\n @click=${this.close}\n variant=${this.outlined ? \"dark\" : \"light\"}\n ></sgds-close-button>`\n : nothing}\n </div>`;\n }\n\n render() {\n return (this.dismissible && this.show) || !this.dismissible\n ? this.truncated\n ? html`<sgds-tooltip content=${this.text}>${this._renderBadge()}</sgds-tooltip>`\n : this._renderBadge()\n : nothing;\n }\n}\n\nexport default SgdsBadge;\n"],"names":["SgdsElement","getTextContent","html","classMap","nothing","badgeStyle","SgdsCloseButton","SgdsTooltip","__decorate","property","state","watch"],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  'use client';
2
2
  import { __decorate } from 'tslib';
3
3
  import { html, nothing } from 'lit';
4
- import { property } from 'lit/decorators.js';
4
+ import { property, state } from 'lit/decorators.js';
5
5
  import { classMap } from 'lit/directives/class-map.js';
6
- import SgdsElement from '../../base/sgds-element.js';
7
- import { SgdsCloseButton } from '../../internals/CloseButton/sgds-close-button.js';
8
6
  import { watch } from '../../utils/watch.js';
9
7
  import css_248z from './badge.js';
8
+ import SgdsElement from '../../base/sgds-element.js';
9
+ import { SgdsTooltip } from '../Tooltip/sgds-tooltip.js';
10
+ import { SgdsCloseButton } from '../../internals/CloseButton/sgds-close-button.js';
11
+ import { getTextContent } from '../../utils/slot.js';
10
12
 
11
13
  /**
12
14
  * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.
15
+ * When the text exceeds the width, it will be truncated with a tooltip that will be displayed on hover.
13
16
  *
14
17
  * @slot default - slot for badge
15
18
  * @slot icon - The slot for icon to the left of the badge text
@@ -30,6 +33,10 @@ class SgdsBadge extends SgdsElement {
30
33
  this.outlined = false;
31
34
  /** Manually set the dismissible state of the button to `false` */
32
35
  this.dismissible = false;
36
+ /** Manually enable full width */
37
+ this.fullWidth = false;
38
+ this.truncated = false;
39
+ this.text = "";
33
40
  }
34
41
  /** Closes the badge */
35
42
  close() {
@@ -56,41 +63,62 @@ class SgdsBadge extends SgdsElement {
56
63
  this.emit("sgds-after-hide");
57
64
  }
58
65
  }
59
- render() {
60
- return (this.dismissible && this.show) || !this.dismissible
61
- ? html `
62
- <div
63
- class="
66
+ /**@internal */
67
+ _handleTruncation() {
68
+ // checking of text height if its exceeding parent, it needs to be truncated
69
+ const badge = this.shadowRoot.querySelector(".badge");
70
+ const badgeLabel = this.shadowRoot.querySelector(".badge-label");
71
+ if (badge && badgeLabel) {
72
+ const labelHeight = badgeLabel.getBoundingClientRect().height;
73
+ const badgeHeight = badge.getBoundingClientRect().height;
74
+ this.truncated = labelHeight > badgeHeight;
75
+ }
76
+ }
77
+ _handleLabelSlotChange(e) {
78
+ this.text = getTextContent(e.target);
79
+ return;
80
+ }
81
+ _renderBadge() {
82
+ return html `<div
83
+ class="
64
84
  ${classMap({
65
- [`badge-dismissible`]: this.dismissible,
66
- badge: true,
67
- outlined: this.outlined
68
- })}
69
- "
70
- aria-hidden=${this.show ? "false" : "true"}
71
- >
72
- ${!this.dismissible ? html `<slot name="icon"></slot>` : nothing}
73
- <span class="badge-label">
74
- <slot></slot>
75
- </span>
85
+ [`badge-dismissible`]: this.dismissible,
86
+ badge: true,
87
+ outlined: this.outlined,
88
+ truncated: this.truncated,
89
+ "full-width": this.fullWidth
90
+ })}"
91
+ aria-hidden=${this.show ? "false" : "true"}
92
+ >
93
+ ${!this.dismissible ? html `<slot name="icon"></slot>` : nothing}
76
94
 
77
- ${this.dismissible
78
- ? html `<sgds-close-button
79
- size="sm"
80
- aria-label="close the badge"
81
- @click=${this.close}
82
- variant=${this.outlined ? "dark" : "light"}
83
- ></sgds-close-button>`
84
- : nothing}
85
- </div>
86
- `
95
+ <span class="badge-label">
96
+ <slot @slotchange=${this._handleLabelSlotChange}></slot>
97
+ </span>
98
+
99
+ ${this.dismissible
100
+ ? html `<sgds-close-button
101
+ size="sm"
102
+ aria-label="close the badge"
103
+ @click=${this.close}
104
+ variant=${this.outlined ? "dark" : "light"}
105
+ ></sgds-close-button>`
106
+ : nothing}
107
+ </div>`;
108
+ }
109
+ render() {
110
+ return (this.dismissible && this.show) || !this.dismissible
111
+ ? this.truncated
112
+ ? html `<sgds-tooltip content=${this.text}>${this._renderBadge()}</sgds-tooltip>`
113
+ : this._renderBadge()
87
114
  : nothing;
88
115
  }
89
116
  }
90
117
  SgdsBadge.styles = [...SgdsElement.styles, css_248z];
91
118
  /**@internal */
92
119
  SgdsBadge.dependencies = {
93
- "sgds-close-button": SgdsCloseButton
120
+ "sgds-close-button": SgdsCloseButton,
121
+ "sgds-tooltip": SgdsTooltip
94
122
  };
95
123
  __decorate([
96
124
  property({ type: Boolean, reflect: true })
@@ -104,9 +132,21 @@ __decorate([
104
132
  __decorate([
105
133
  property({ type: Boolean, reflect: true })
106
134
  ], SgdsBadge.prototype, "dismissible", void 0);
135
+ __decorate([
136
+ property({ type: Boolean, reflect: true })
137
+ ], SgdsBadge.prototype, "fullWidth", void 0);
138
+ __decorate([
139
+ state()
140
+ ], SgdsBadge.prototype, "truncated", void 0);
141
+ __decorate([
142
+ state()
143
+ ], SgdsBadge.prototype, "text", void 0);
107
144
  __decorate([
108
145
  watch("show")
109
146
  ], SgdsBadge.prototype, "_handleShowChange", null);
147
+ __decorate([
148
+ watch("text")
149
+ ], SgdsBadge.prototype, "_handleTruncation", null);
110
150
 
111
151
  export { SgdsBadge, SgdsBadge as default };
112
152
  //# sourceMappingURL=sgds-badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-badge.js","sources":["../../../../src/components/Badge/sgds-badge.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsCloseButton from \"../../internals/CloseButton/sgds-close-button\";\nimport { watch } from \"../../utils/watch\";\nimport badgeStyle from \"./badge.css\";\nexport type BadgeVariant = \"info\" | \"success\" | \"danger\" | \"warning\" | \"neutral\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n *\n * @slot default - slot for badge\n * @slot icon - The slot for icon to the left of the badge text\n *\n * @event sgds-show - Emitted when the badge appears.\n * @event sgds-hide - Emitted when the badge is starting to close but has not closed.\n * @event sgds-after-show - Emitted after the badge has appeared\n * @event sgds-after-hide - Emitted after the badge has closed\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [...SgdsElement.styles, badgeStyle];\n\n /**@internal */\n static dependencies = {\n \"sgds-close-button\": SgdsCloseButton\n };\n\n /** Controls the appearance of the dismissible badge. This prop only applies when dismissible is true */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `info`, `success`, `danger`, `warning`, 'neutral' */\n @property({ reflect: true }) variant: BadgeVariant = \"info\";\n\n /** Manually set the outlined state to false */\n @property({ type: Boolean, reflect: true }) outlined = false;\n\n /** Manually set the dismissible state of the button to `false` */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** Closes the badge */\n public close() {\n this.show = false;\n }\n /**@internal */\n @watch(\"show\")\n _handleShowChange() {\n if (this.show) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.show = false;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.show = true;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n return (this.dismissible && this.show) || !this.dismissible\n ? html`\n <div\n class=\" \n ${classMap({\n [`badge-dismissible`]: this.dismissible,\n badge: true,\n outlined: this.outlined\n })}\n \"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n ${!this.dismissible ? html`<slot name=\"icon\"></slot>` : nothing}\n <span class=\"badge-label\">\n <slot></slot>\n </span>\n\n ${this.dismissible\n ? html`<sgds-close-button\n size=\"sm\"\n aria-label=\"close the badge\"\n @click=${this.close}\n variant=${this.outlined ? \"dark\" : \"light\"}\n ></sgds-close-button>`\n : nothing}\n </div>\n `\n : nothing;\n }\n}\n\nexport default SgdsBadge;\n"],"names":["badgeStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-badge.js","sources":["../../../../src/components/Badge/sgds-badge.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nimport { watch } from \"../../utils/watch\";\nimport badgeStyle from \"./badge.css\";\n\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsTooltip from \"../Tooltip/sgds-tooltip\";\nimport SgdsCloseButton from \"../../internals/CloseButton/sgds-close-button\";\n\nimport { getTextContent } from \"../../utils/slot\";\n\nexport type BadgeVariant = \"info\" | \"success\" | \"danger\" | \"warning\" | \"neutral\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n * When the text exceeds the width, it will be truncated with a tooltip that will be displayed on hover.\n *\n * @slot default - slot for badge\n * @slot icon - The slot for icon to the left of the badge text\n *\n * @event sgds-show - Emitted when the badge appears.\n * @event sgds-hide - Emitted when the badge is starting to close but has not closed.\n * @event sgds-after-show - Emitted after the badge has appeared\n * @event sgds-after-hide - Emitted after the badge has closed\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [...SgdsElement.styles, badgeStyle];\n\n /**@internal */\n static dependencies = {\n \"sgds-close-button\": SgdsCloseButton,\n \"sgds-tooltip\": SgdsTooltip\n };\n\n /** Controls the appearance of the dismissible badge. This prop only applies when dismissible is true */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `info`, `success`, `danger`, `warning`, 'neutral' */\n @property({ reflect: true }) variant: BadgeVariant = \"info\";\n\n /** Manually set the outlined state to false */\n @property({ type: Boolean, reflect: true }) outlined = false;\n\n /** Manually set the dismissible state of the button to `false` */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** Manually enable full width */\n @property({ type: Boolean, reflect: true }) fullWidth = false;\n\n @state() private truncated = false;\n @state() private text = \"\";\n\n /** Closes the badge */\n public close() {\n this.show = false;\n }\n\n /**@internal */\n @watch(\"show\")\n _handleShowChange() {\n if (this.show) {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.show = false;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-show\");\n } else {\n const sgdsHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (sgdsHide.defaultPrevented) {\n this.show = true;\n return;\n }\n // animations if any go here\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n /**@internal */\n @watch(\"text\")\n _handleTruncation() {\n // checking of text height if its exceeding parent, it needs to be truncated\n const badge = this.shadowRoot.querySelector(\".badge\");\n const badgeLabel = this.shadowRoot.querySelector(\".badge-label\");\n\n if (badge && badgeLabel) {\n const labelHeight = badgeLabel.getBoundingClientRect().height;\n const badgeHeight = badge.getBoundingClientRect().height;\n\n this.truncated = labelHeight > badgeHeight;\n }\n }\n\n private _handleLabelSlotChange(e: Event) {\n this.text = getTextContent(e.target as HTMLSlotElement);\n return;\n }\n\n private _renderBadge() {\n return html`<div\n class=\" \n ${classMap({\n [`badge-dismissible`]: this.dismissible,\n badge: true,\n outlined: this.outlined,\n truncated: this.truncated,\n \"full-width\": this.fullWidth\n })}\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n ${!this.dismissible ? html`<slot name=\"icon\"></slot>` : nothing}\n\n <span class=\"badge-label\">\n <slot @slotchange=${this._handleLabelSlotChange}></slot>\n </span>\n\n ${this.dismissible\n ? html`<sgds-close-button\n size=\"sm\"\n aria-label=\"close the badge\"\n @click=${this.close}\n variant=${this.outlined ? \"dark\" : \"light\"}\n ></sgds-close-button>`\n : nothing}\n </div>`;\n }\n\n render() {\n return (this.dismissible && this.show) || !this.dismissible\n ? this.truncated\n ? html`<sgds-tooltip content=${this.text}>${this._renderBadge()}</sgds-tooltip>`\n : this._renderBadge()\n : nothing;\n }\n}\n\nexport default SgdsBadge;\n"],"names":["badgeStyle"],"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([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit;white-space:nowrap}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
8
+ var css_248z = lit.css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=combo-box-item.cjs2.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit;white-space:nowrap}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
4
+ var css_248z = css`:host([active]) .dropdown-item{background-color:var(--sgds-primary-surface-translucent)}.dropdown-item{background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;height:100%;padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item .normal-item-content{align-items:center;display:flex;justify-content:space-between}:host([active]) .dropdown-item .normal-item-content{color:var(--sgds-primary-bg-default)}:host([active]) .dropdown-item .normal-item-content sgds-icon{fill:var(--sgds-primary-bg-default);color:var(--sgds-primary-bg-default)}.dropdown-item:hover{background:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background:var(--sgds-bg-translucent-subtle);box-shadow:inset var(--sgds-form-box-shadow-focus);outline:0}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=combo-box-item2.js.map
@@ -22,6 +22,7 @@ var sgdsIconButton = require('../IconButton/sgds-icon-button.cjs.js');
22
22
  var validatorMixin = require('../../utils/validatorMixin.cjs.js');
23
23
  var ifDefined_js = require('lit/directives/if-defined.js');
24
24
  var classMap_js = require('lit/directives/class-map.js');
25
+ var defaultvalue = require('../../utils/defaultvalue.cjs.js');
25
26
 
26
27
  /**
27
28
  * @summary The `DatePicker` Component is built using `Dropdown`, `Input` and `Button` components. By default, the Calendar points to today's date and input has no value. Users can either pick dates from the calendar or type dates through the input
@@ -39,7 +40,17 @@ class SgdsDatepicker extends validatorMixin.SgdsFormValidatorMixin(dropdownEleme
39
40
  this.required = false;
40
41
  /** When true, adds disabled attribute to input and button element */
41
42
  this.disabled = false;
42
- /** The initial value of DatePicker on first load for single & range mode as array of string. eg.'["22/12/2023"]' for single & '["22/12/2023","25/12/2023"]' for range respectively */
43
+ /** Sets the initial value of the datepicker. Replaces deprecated `initialValue`.
44
+ * Pass in dates in this format `dd/mm/yyyy` for single mode and `dd/mm/yyyy - dd/mm/yyyy` for range mode
45
+ * For example, `value="22/12/2023"` for single mode or `value="22/12/2023 - 25/12/2023"` for range mode
46
+ */
47
+ this.value = "";
48
+ /**
49
+ * @deprecated since v3.1.1 in favour of `value`.
50
+ * The initial value of DatePicker on first load for single &
51
+ * range mode as array of string. eg.'["22/12/2023"]' for single &
52
+ * '["22/12/2023","25/12/2023"]' for range respectively
53
+ * */
43
54
  this.initialValue = [];
44
55
  this.dateFormat = "DD/MM/YYYY";
45
56
  /** ISO date string to set the lowest allowable date value. e.g. "2016-05-19T12:00:00.000Z" */
@@ -58,8 +69,8 @@ class SgdsDatepicker extends validatorMixin.SgdsFormValidatorMixin(dropdownEleme
58
69
  this.noFlip = false;
59
70
  /** The drop position of menu relative to the toggle button */
60
71
  this.drop = "down";
61
- /**@internal */
62
- this.value = "";
72
+ /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
73
+ this.defaultValue = "";
63
74
  /**@internal */
64
75
  this.invalid = false;
65
76
  this.view = "days";
@@ -145,6 +156,7 @@ class SgdsDatepicker extends validatorMixin.SgdsFormValidatorMixin(dropdownEleme
145
156
  this.addEventListener("sgds-hide", this._handleCloseMenu);
146
157
  this.addEventListener("sgds-show", this._handleOpenMenu);
147
158
  this.addEventListener("blur", this._mixinCheckValidity);
159
+ this.initialValue = this.value ? this.value.split(" - ").map(v => v.trim()) : this.initialValue;
148
160
  this.initialDisplayDate = this.displayDate || new Date();
149
161
  if (this.initialValue && this.initialValue.length > 0) {
150
162
  // Validate initialValue against the dateFormat regex
@@ -271,19 +283,22 @@ class SgdsDatepicker extends validatorMixin.SgdsFormValidatorMixin(dropdownEleme
271
283
  this._manageInternalsBadInput();
272
284
  }
273
285
  async _handleEmptyInput() {
274
- this._manageEmptyInput();
286
+ if (this.required) {
287
+ this._manageEmptyInput();
288
+ }
289
+ return;
275
290
  }
276
- async _resetDatepicker() {
291
+ async _resetDatepicker(resetValue = "") {
277
292
  this.displayDate = this.initialDisplayDate;
278
293
  this.selectedDateRange = [];
279
- this.value = "";
294
+ this.value = resetValue;
280
295
  this.view = "days";
281
296
  const input = await this.datepickerInputAsync;
282
297
  input.setInvalid(false);
283
298
  input.destroyInputMask();
284
299
  await input.applyInputMask();
285
300
  this._mixinResetValidity(input);
286
- if (this.isValueEmpty() && this.required) {
301
+ if (this.isValueEmpty()) {
287
302
  this._handleEmptyInput();
288
303
  }
289
304
  }
@@ -317,7 +332,7 @@ class SgdsDatepicker extends validatorMixin.SgdsFormValidatorMixin(dropdownEleme
317
332
  * Handles the form "reset" event
318
333
  */
319
334
  async _mixinResetFormControl() {
320
- this._resetDatepicker();
335
+ this._resetDatepicker(this.defaultValue);
321
336
  }
322
337
  async _handleInputMaskChange(e) {
323
338
  this.value = e.detail;
@@ -411,6 +426,9 @@ tslib.__decorate([
411
426
  tslib.__decorate([
412
427
  decorators_js.property({ type: Boolean, reflect: true })
413
428
  ], SgdsDatepicker.prototype, "disabled", void 0);
429
+ tslib.__decorate([
430
+ decorators_js.property({ type: String, reflect: true })
431
+ ], SgdsDatepicker.prototype, "value", void 0);
414
432
  tslib.__decorate([
415
433
  decorators_js.property({ type: Array, reflect: true })
416
434
  ], SgdsDatepicker.prototype, "initialValue", void 0);
@@ -445,8 +463,8 @@ tslib.__decorate([
445
463
  decorators_js.property({ attribute: false })
446
464
  ], SgdsDatepicker.prototype, "displayDate", void 0);
447
465
  tslib.__decorate([
448
- decorators_js.state()
449
- ], SgdsDatepicker.prototype, "value", void 0);
466
+ defaultvalue.defaultValue()
467
+ ], SgdsDatepicker.prototype, "defaultValue", void 0);
450
468
  tslib.__decorate([
451
469
  decorators_js.state()
452
470
  ], SgdsDatepicker.prototype, "invalid", void 0);
@@ -472,7 +490,7 @@ tslib.__decorate([
472
490
  decorators_js.query("sgds-datepicker-input")
473
491
  ], SgdsDatepicker.prototype, "datepickerInput", void 0);
474
492
  tslib.__decorate([
475
- watch.watch("value")
493
+ watch.watch("value", { waitUntilFirstUpdate: true })
476
494
  ], SgdsDatepicker.prototype, "_handleValueChange", null);
477
495
 
478
496
  exports.SgdsDatepicker = SgdsDatepicker;