@govtechsg/sgds-web-component 2.1.0 → 2.1.2

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 (942) hide show
  1. package/base/card-element.js +0 -1
  2. package/base/card-element.js.map +1 -1
  3. package/base/card.js +0 -1
  4. package/base/card.js.map +1 -1
  5. package/base/dropdown-element.js +0 -1
  6. package/base/dropdown-element.js.map +1 -1
  7. package/base/dropdown-list-element.js +0 -1
  8. package/base/dropdown-list-element.js.map +1 -1
  9. package/base/form-check-element.js +6 -5
  10. package/base/form-check-element.js.map +1 -1
  11. package/base/link-element.js +0 -1
  12. package/base/link-element.js.map +1 -1
  13. package/base/sgds-element.js +0 -1
  14. package/base/sgds-element.js.map +1 -1
  15. package/base/sgds-element2.js +0 -1
  16. package/base/sgds-element2.js.map +1 -1
  17. package/components/Accordion/accordion-item.js +0 -1
  18. package/components/Accordion/accordion-item.js.map +1 -1
  19. package/components/Accordion/accordion.js +0 -1
  20. package/components/Accordion/accordion.js.map +1 -1
  21. package/components/Accordion/sgds-accordion-item.js +0 -1
  22. package/components/Accordion/sgds-accordion-item.js.map +1 -1
  23. package/components/Accordion/sgds-accordion.js +0 -1
  24. package/components/Accordion/sgds-accordion.js.map +1 -1
  25. package/components/ActionCard/action-card.js +0 -1
  26. package/components/ActionCard/action-card.js.map +1 -1
  27. package/components/ActionCard/index.umd.js +9 -7
  28. package/components/ActionCard/index.umd.js.map +1 -1
  29. package/components/ActionCard/sgds-action-card.js +0 -1
  30. package/components/ActionCard/sgds-action-card.js.map +1 -1
  31. package/components/Alert/alert-link.js +0 -1
  32. package/components/Alert/alert-link.js.map +1 -1
  33. package/components/Alert/alert.js +0 -1
  34. package/components/Alert/alert.js.map +1 -1
  35. package/components/Alert/sgds-alert-heading.js +0 -1
  36. package/components/Alert/sgds-alert-heading.js.map +1 -1
  37. package/components/Alert/sgds-alert-link.js +0 -1
  38. package/components/Alert/sgds-alert-link.js.map +1 -1
  39. package/components/Alert/sgds-alert.js +0 -1
  40. package/components/Alert/sgds-alert.js.map +1 -1
  41. package/components/Badge/badge.js +0 -1
  42. package/components/Badge/badge.js.map +1 -1
  43. package/components/Badge/sgds-badge.js +0 -1
  44. package/components/Badge/sgds-badge.js.map +1 -1
  45. package/components/Breadcrumb/breadcrumb-item.js +0 -1
  46. package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
  47. package/components/Breadcrumb/breadcrumb.js +0 -1
  48. package/components/Breadcrumb/breadcrumb.js.map +1 -1
  49. package/components/Breadcrumb/sgds-breadcrumb-item.js +0 -1
  50. package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
  51. package/components/Breadcrumb/sgds-breadcrumb.js +0 -1
  52. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  53. package/components/Button/button.js +0 -1
  54. package/components/Button/button.js.map +1 -1
  55. package/components/Button/sgds-button.js +0 -1
  56. package/components/Button/sgds-button.js.map +1 -1
  57. package/components/Card/card.js +0 -1
  58. package/components/Card/card.js.map +1 -1
  59. package/components/Card/sgds-card.js +0 -1
  60. package/components/Card/sgds-card.js.map +1 -1
  61. package/components/Checkbox/checkbox.js +1 -2
  62. package/components/Checkbox/checkbox.js.map +1 -1
  63. package/components/Checkbox/index.umd.js +8 -6
  64. package/components/Checkbox/index.umd.js.map +1 -1
  65. package/components/Checkbox/sgds-checkbox.js +0 -1
  66. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  67. package/components/ComboBox/combo-box.js +0 -1
  68. package/components/ComboBox/combo-box.js.map +1 -1
  69. package/components/ComboBox/index.umd.js +2 -2
  70. package/components/ComboBox/index.umd.js.map +1 -1
  71. package/components/ComboBox/sgds-combo-box.js +0 -1
  72. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  73. package/components/Datepicker/datepicker-calendar.js +0 -1
  74. package/components/Datepicker/datepicker-calendar.js.map +1 -1
  75. package/components/Datepicker/datepicker-calendar2.js +0 -1
  76. package/components/Datepicker/datepicker-calendar2.js.map +1 -1
  77. package/components/Datepicker/datepicker-header.js +0 -1
  78. package/components/Datepicker/datepicker-header.js.map +1 -1
  79. package/components/Datepicker/datepicker-header2.js +0 -1
  80. package/components/Datepicker/datepicker-header2.js.map +1 -1
  81. package/components/Datepicker/datepicker-input.js +0 -1
  82. package/components/Datepicker/datepicker-input.js.map +1 -1
  83. package/components/Datepicker/datepicker-input2.js +0 -1
  84. package/components/Datepicker/datepicker-input2.js.map +1 -1
  85. package/components/Datepicker/datepicker.js +0 -1
  86. package/components/Datepicker/datepicker.js.map +1 -1
  87. package/components/Datepicker/index.umd.js +2 -2
  88. package/components/Datepicker/index.umd.js.map +1 -1
  89. package/components/Datepicker/sgds-datepicker.js +0 -1
  90. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  91. package/components/Drawer/drawer.js +0 -1
  92. package/components/Drawer/drawer.js.map +1 -1
  93. package/components/Drawer/sgds-drawer.js +0 -1
  94. package/components/Drawer/sgds-drawer.js.map +1 -1
  95. package/components/Dropdown/dropdown.js +0 -1
  96. package/components/Dropdown/dropdown.js.map +1 -1
  97. package/components/Dropdown/sgds-dropdown-item.js +0 -1
  98. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  99. package/components/Dropdown/sgds-dropdown.js +0 -1
  100. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  101. package/components/FileUpload/file-upload.js +0 -1
  102. package/components/FileUpload/file-upload.js.map +1 -1
  103. package/components/FileUpload/sgds-file-upload.js +0 -1
  104. package/components/FileUpload/sgds-file-upload.js.map +1 -1
  105. package/components/Footer/footer.js +0 -1
  106. package/components/Footer/footer.js.map +1 -1
  107. package/components/Footer/sgds-footer.js +0 -1
  108. package/components/Footer/sgds-footer.js.map +1 -1
  109. package/components/Input/index.umd.js +2 -2
  110. package/components/Input/index.umd.js.map +1 -1
  111. package/components/Input/input.js +0 -1
  112. package/components/Input/input.js.map +1 -1
  113. package/components/Input/sgds-input.js +1 -2
  114. package/components/Input/sgds-input.js.map +1 -1
  115. package/components/Mainnav/mainnav-dropdown.js +0 -1
  116. package/components/Mainnav/mainnav-dropdown.js.map +1 -1
  117. package/components/Mainnav/mainnav-item.js +0 -1
  118. package/components/Mainnav/mainnav-item.js.map +1 -1
  119. package/components/Mainnav/mainnav.js +0 -1
  120. package/components/Mainnav/mainnav.js.map +1 -1
  121. package/components/Mainnav/sgds-mainnav-dropdown.js +0 -1
  122. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  123. package/components/Mainnav/sgds-mainnav-item.js +0 -1
  124. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  125. package/components/Mainnav/sgds-mainnav.js +0 -1
  126. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  127. package/components/Masthead/masthead.js +0 -1
  128. package/components/Masthead/masthead.js.map +1 -1
  129. package/components/Masthead/sgds-masthead.js +0 -1
  130. package/components/Masthead/sgds-masthead.js.map +1 -1
  131. package/components/Modal/modal.js +0 -1
  132. package/components/Modal/modal.js.map +1 -1
  133. package/components/Modal/sgds-modal.js +0 -1
  134. package/components/Modal/sgds-modal.js.map +1 -1
  135. package/components/Pagination/pagination.js +0 -1
  136. package/components/Pagination/pagination.js.map +1 -1
  137. package/components/Pagination/sgds-pagination.js +0 -1
  138. package/components/Pagination/sgds-pagination.js.map +1 -1
  139. package/components/Progress/progress-bar.js +0 -1
  140. package/components/Progress/progress-bar.js.map +1 -1
  141. package/components/Progress/progress.js +0 -1
  142. package/components/Progress/progress.js.map +1 -1
  143. package/components/Progress/sgds-progress-bar.js +0 -1
  144. package/components/Progress/sgds-progress-bar.js.map +1 -1
  145. package/components/Progress/sgds-progress.js +0 -1
  146. package/components/Progress/sgds-progress.js.map +1 -1
  147. package/components/QuantityToggle/index.umd.js +2 -2
  148. package/components/QuantityToggle/index.umd.js.map +1 -1
  149. package/components/QuantityToggle/quantity-toggle.js +0 -1
  150. package/components/QuantityToggle/quantity-toggle.js.map +1 -1
  151. package/components/QuantityToggle/sgds-quantity-toggle.js +0 -1
  152. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  153. package/components/Radio/index.umd.js +3 -3
  154. package/components/Radio/index.umd.js.map +1 -1
  155. package/components/Radio/radio-group.js +0 -1
  156. package/components/Radio/radio-group.js.map +1 -1
  157. package/components/Radio/radio.js +1 -2
  158. package/components/Radio/radio.js.map +1 -1
  159. package/components/Radio/sgds-radio-group.js +1 -2
  160. package/components/Radio/sgds-radio-group.js.map +1 -1
  161. package/components/Radio/sgds-radio.js +0 -1
  162. package/components/Radio/sgds-radio.js.map +1 -1
  163. package/components/Sidenav/sgds-sidenav-item.js +0 -1
  164. package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
  165. package/components/Sidenav/sgds-sidenav-link.js +0 -1
  166. package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
  167. package/components/Sidenav/sgds-sidenav.js +0 -1
  168. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  169. package/components/Sidenav/sidenav-item.js +0 -1
  170. package/components/Sidenav/sidenav-item.js.map +1 -1
  171. package/components/Sidenav/sidenav-link.js +0 -1
  172. package/components/Sidenav/sidenav-link.js.map +1 -1
  173. package/components/Sidenav/sidenav.js +0 -1
  174. package/components/Sidenav/sidenav.js.map +1 -1
  175. package/components/Spinner/sgds-spinner.js +0 -1
  176. package/components/Spinner/sgds-spinner.js.map +1 -1
  177. package/components/Spinner/spinner.js +0 -1
  178. package/components/Spinner/spinner.js.map +1 -1
  179. package/components/Stepper/sgds-stepper.js +0 -1
  180. package/components/Stepper/sgds-stepper.js.map +1 -1
  181. package/components/Stepper/stepper.js +0 -1
  182. package/components/Stepper/stepper.js.map +1 -1
  183. package/components/Tab/sgds-tab-group.js +0 -1
  184. package/components/Tab/sgds-tab-group.js.map +1 -1
  185. package/components/Tab/sgds-tab-panel.js +0 -1
  186. package/components/Tab/sgds-tab-panel.js.map +1 -1
  187. package/components/Tab/sgds-tab.js +0 -1
  188. package/components/Tab/sgds-tab.js.map +1 -1
  189. package/components/Tab/tab-group.js +0 -1
  190. package/components/Tab/tab-group.js.map +1 -1
  191. package/components/Tab/tab-panel.js +0 -1
  192. package/components/Tab/tab-panel.js.map +1 -1
  193. package/components/Tab/tab.js +0 -1
  194. package/components/Tab/tab.js.map +1 -1
  195. package/components/Table/sgds-table.js +0 -1
  196. package/components/Table/sgds-table.js.map +1 -1
  197. package/components/Table/table.js +0 -1
  198. package/components/Table/table.js.map +1 -1
  199. package/components/Textarea/index.umd.js +2 -2
  200. package/components/Textarea/index.umd.js.map +1 -1
  201. package/components/Textarea/sgds-textarea.js +1 -2
  202. package/components/Textarea/sgds-textarea.js.map +1 -1
  203. package/components/Textarea/textarea.js +0 -1
  204. package/components/Textarea/textarea.js.map +1 -1
  205. package/components/Toast/sgds-toast-container.js +0 -1
  206. package/components/Toast/sgds-toast-container.js.map +1 -1
  207. package/components/Toast/sgds-toast.js +0 -1
  208. package/components/Toast/sgds-toast.js.map +1 -1
  209. package/components/Toast/toast-container.js +0 -1
  210. package/components/Toast/toast-container.js.map +1 -1
  211. package/components/Toast/toast.js +0 -1
  212. package/components/Toast/toast.js.map +1 -1
  213. package/components/Tooltip/sgds-tooltip.js +0 -1
  214. package/components/Tooltip/sgds-tooltip.js.map +1 -1
  215. package/components/Tooltip/tooltip.js +0 -1
  216. package/components/Tooltip/tooltip.js.map +1 -1
  217. package/components/index.umd.js +12 -10
  218. package/components/index.umd.js.map +1 -1
  219. package/index.umd.js +12 -10
  220. package/index.umd.js.map +1 -1
  221. package/internals/CloseButton/close-button.js +0 -1
  222. package/internals/CloseButton/close-button.js.map +1 -1
  223. package/internals/CloseButton/sgds-close-button.js +0 -1
  224. package/internals/CloseButton/sgds-close-button.js.map +1 -1
  225. package/package.json +1 -1
  226. package/react/accordion/index.cjs.js +1 -1
  227. package/react/accordion/index.js +1 -1
  228. package/react/accordion-item/index.cjs.js +1 -1
  229. package/react/accordion-item/index.js +1 -1
  230. package/react/action-card/index.cjs.js +1 -1
  231. package/react/action-card/index.js +1 -1
  232. package/react/alert/index.cjs.js +1 -1
  233. package/react/alert/index.js +1 -1
  234. package/react/alert-heading/index.cjs.js +1 -1
  235. package/react/alert-heading/index.js +1 -1
  236. package/react/alert-link/index.cjs.js +1 -1
  237. package/react/alert-link/index.js +1 -1
  238. package/react/badge/index.cjs.js +1 -1
  239. package/react/badge/index.js +1 -1
  240. package/react/base/card-element.cjs.js.map +1 -0
  241. package/react/base/card-element.js +26 -0
  242. package/react/base/card-element.js.map +1 -0
  243. package/react/base/card.js +7 -0
  244. package/react/base/card.js.map +1 -0
  245. package/react/base/dropdown-element.cjs.js.map +1 -0
  246. package/react/base/dropdown-element.js +174 -0
  247. package/react/base/dropdown-element.js.map +1 -0
  248. package/react/base/dropdown-list-element.cjs.js.map +1 -0
  249. package/react/base/dropdown-list-element.js +130 -0
  250. package/react/base/dropdown-list-element.js.map +1 -0
  251. package/{base → react/base}/form-check-element.cjs.js +6 -4
  252. package/react/base/form-check-element.cjs.js.map +1 -0
  253. package/react/base/form-check-element.js +169 -0
  254. package/react/base/form-check-element.js.map +1 -0
  255. package/react/base/link-element.cjs.js.map +1 -0
  256. package/react/base/link-element.js +53 -0
  257. package/react/base/link-element.js.map +1 -0
  258. package/react/base/sgds-element.cjs.js.map +1 -0
  259. package/react/base/sgds-element.js +24 -0
  260. package/react/base/sgds-element.js.map +1 -0
  261. package/react/base/sgds-element2.js +7 -0
  262. package/react/base/sgds-element2.js.map +1 -0
  263. package/react/breadcrumb/index.cjs.js +1 -1
  264. package/react/breadcrumb/index.js +1 -1
  265. package/react/breadcrumb-item/index.cjs.js +1 -1
  266. package/react/breadcrumb-item/index.js +1 -1
  267. package/react/button/index.cjs.js +1 -1
  268. package/react/button/index.js +1 -1
  269. package/react/card/index.cjs.js +1 -1
  270. package/react/card/index.js +1 -1
  271. package/react/checkbox/index.cjs.js +1 -1
  272. package/react/checkbox/index.js +1 -1
  273. package/react/combo-box/index.cjs.js +1 -1
  274. package/react/combo-box/index.js +1 -1
  275. package/react/components/Accordion/accordion-item.js +7 -0
  276. package/react/components/Accordion/accordion-item.js.map +1 -0
  277. package/react/components/Accordion/accordion.js +7 -0
  278. package/react/components/Accordion/accordion.js.map +1 -0
  279. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  280. package/react/components/Accordion/sgds-accordion-item.js +204 -0
  281. package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
  282. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  283. package/react/components/Accordion/sgds-accordion.js +87 -0
  284. package/react/components/Accordion/sgds-accordion.js.map +1 -0
  285. package/react/components/ActionCard/action-card.js +7 -0
  286. package/react/components/ActionCard/action-card.js.map +1 -0
  287. package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  288. package/react/components/ActionCard/sgds-action-card.js +155 -0
  289. package/react/components/ActionCard/sgds-action-card.js.map +1 -0
  290. package/react/components/Alert/alert-link.js +7 -0
  291. package/react/components/Alert/alert-link.js.map +1 -0
  292. package/react/components/Alert/alert.js +7 -0
  293. package/react/components/Alert/alert.js.map +1 -0
  294. package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  295. package/react/components/Alert/sgds-alert-heading.js +33 -0
  296. package/react/components/Alert/sgds-alert-heading.js.map +1 -0
  297. package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  298. package/react/components/Alert/sgds-alert-link.js +32 -0
  299. package/react/components/Alert/sgds-alert-link.js.map +1 -0
  300. package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
  301. package/react/components/Alert/sgds-alert.js +90 -0
  302. package/react/components/Alert/sgds-alert.js.map +1 -0
  303. package/react/components/Badge/badge.js +7 -0
  304. package/react/components/Badge/badge.js.map +1 -0
  305. package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
  306. package/react/components/Badge/sgds-badge.js +53 -0
  307. package/react/components/Badge/sgds-badge.js.map +1 -0
  308. package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
  309. package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
  310. package/react/components/Breadcrumb/breadcrumb.js +7 -0
  311. package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
  312. package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  313. package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
  314. package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  315. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  316. package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
  317. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  318. package/react/components/Button/button.js +7 -0
  319. package/react/components/Button/button.js.map +1 -0
  320. package/react/components/Button/sgds-button.cjs.js.map +1 -0
  321. package/react/components/Button/sgds-button.js +166 -0
  322. package/react/components/Button/sgds-button.js.map +1 -0
  323. package/react/components/Card/card.js +7 -0
  324. package/react/components/Card/card.js.map +1 -0
  325. package/react/components/Card/sgds-card.cjs.js.map +1 -0
  326. package/react/components/Card/sgds-card.js +76 -0
  327. package/react/components/Card/sgds-card.js.map +1 -0
  328. package/react/components/Checkbox/checkbox.cjs.js +11 -0
  329. package/react/components/Checkbox/checkbox.js +7 -0
  330. package/react/components/Checkbox/checkbox.js.map +1 -0
  331. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  332. package/react/components/Checkbox/sgds-checkbox.js +26 -0
  333. package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
  334. package/react/components/ComboBox/combo-box.js +7 -0
  335. package/react/components/ComboBox/combo-box.js.map +1 -0
  336. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  337. package/react/components/ComboBox/sgds-combo-box.js +194 -0
  338. package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
  339. package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  340. package/react/components/Datepicker/datepicker-calendar.js +458 -0
  341. package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
  342. package/react/components/Datepicker/datepicker-calendar2.js +7 -0
  343. package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
  344. package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  345. package/react/components/Datepicker/datepicker-header.js +227 -0
  346. package/react/components/Datepicker/datepicker-header.js.map +1 -0
  347. package/react/components/Datepicker/datepicker-header2.js +7 -0
  348. package/react/components/Datepicker/datepicker-header2.js.map +1 -0
  349. package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
  350. package/react/components/Datepicker/datepicker-input.js +150 -0
  351. package/react/components/Datepicker/datepicker-input.js.map +1 -0
  352. package/react/components/Datepicker/datepicker-input2.js +7 -0
  353. package/react/components/Datepicker/datepicker-input2.js.map +1 -0
  354. package/react/components/Datepicker/datepicker.js +7 -0
  355. package/react/components/Datepicker/datepicker.js.map +1 -0
  356. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  357. package/react/components/Datepicker/sgds-datepicker.js +484 -0
  358. package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
  359. package/react/components/Drawer/drawer.js +7 -0
  360. package/react/components/Drawer/drawer.js.map +1 -0
  361. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  362. package/react/components/Drawer/sgds-drawer.js +413 -0
  363. package/react/components/Drawer/sgds-drawer.js.map +1 -0
  364. package/react/components/Dropdown/dropdown.js +7 -0
  365. package/react/components/Dropdown/dropdown.js.map +1 -0
  366. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  367. package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
  368. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  369. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  370. package/react/components/Dropdown/sgds-dropdown.js +117 -0
  371. package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
  372. package/react/components/FileUpload/file-upload.js +7 -0
  373. package/react/components/FileUpload/file-upload.js.map +1 -0
  374. package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  375. package/react/components/FileUpload/sgds-file-upload.js +208 -0
  376. package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
  377. package/react/components/Footer/footer.js +7 -0
  378. package/react/components/Footer/footer.js.map +1 -0
  379. package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
  380. package/react/components/Footer/sgds-footer.js +155 -0
  381. package/react/components/Footer/sgds-footer.js.map +1 -0
  382. package/react/components/Input/input.js +7 -0
  383. package/react/components/Input/input.js.map +1 -0
  384. package/{components → react/components}/Input/sgds-input.cjs.js +1 -1
  385. package/react/components/Input/sgds-input.cjs.js.map +1 -0
  386. package/react/components/Input/sgds-input.js +262 -0
  387. package/react/components/Input/sgds-input.js.map +1 -0
  388. package/react/components/Mainnav/mainnav-dropdown.js +7 -0
  389. package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
  390. package/react/components/Mainnav/mainnav-item.js +7 -0
  391. package/react/components/Mainnav/mainnav-item.js.map +1 -0
  392. package/react/components/Mainnav/mainnav.js +7 -0
  393. package/react/components/Mainnav/mainnav.js.map +1 -0
  394. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  395. package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
  396. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  397. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  398. package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
  399. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  400. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  401. package/react/components/Mainnav/sgds-mainnav.js +227 -0
  402. package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
  403. package/react/components/Masthead/masthead.js +7 -0
  404. package/react/components/Masthead/masthead.js.map +1 -0
  405. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  406. package/react/components/Masthead/sgds-masthead.js +182 -0
  407. package/react/components/Masthead/sgds-masthead.js.map +1 -0
  408. package/react/components/Modal/modal.js +7 -0
  409. package/react/components/Modal/modal.js.map +1 -0
  410. package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
  411. package/react/components/Modal/sgds-modal.js +340 -0
  412. package/react/components/Modal/sgds-modal.js.map +1 -0
  413. package/react/components/Pagination/pagination.js +7 -0
  414. package/react/components/Pagination/pagination.js.map +1 -0
  415. package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  416. package/react/components/Pagination/sgds-pagination.js +364 -0
  417. package/react/components/Pagination/sgds-pagination.js.map +1 -0
  418. package/react/components/Progress/progress-bar.js +7 -0
  419. package/react/components/Progress/progress-bar.js.map +1 -0
  420. package/react/components/Progress/progress.js +7 -0
  421. package/react/components/Progress/progress.js.map +1 -0
  422. package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  423. package/react/components/Progress/sgds-progress-bar.js +59 -0
  424. package/react/components/Progress/sgds-progress-bar.js.map +1 -0
  425. package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
  426. package/react/components/Progress/sgds-progress.js +30 -0
  427. package/react/components/Progress/sgds-progress.js.map +1 -0
  428. package/react/components/QuantityToggle/quantity-toggle.js +7 -0
  429. package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
  430. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  431. package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
  432. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  433. package/react/components/Radio/radio-group.js +7 -0
  434. package/react/components/Radio/radio-group.js.map +1 -0
  435. package/react/components/Radio/radio.cjs.js +11 -0
  436. package/react/components/Radio/radio.js +7 -0
  437. package/react/components/Radio/radio.js.map +1 -0
  438. package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -1
  439. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  440. package/react/components/Radio/sgds-radio-group.js +240 -0
  441. package/react/components/Radio/sgds-radio-group.js.map +1 -0
  442. package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
  443. package/react/components/Radio/sgds-radio.js +138 -0
  444. package/react/components/Radio/sgds-radio.js.map +1 -0
  445. package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  446. package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
  447. package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  448. package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  449. package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
  450. package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  451. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  452. package/react/components/Sidenav/sgds-sidenav.js +75 -0
  453. package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
  454. package/react/components/Sidenav/sidenav-item.js +7 -0
  455. package/react/components/Sidenav/sidenav-item.js.map +1 -0
  456. package/react/components/Sidenav/sidenav-link.js +7 -0
  457. package/react/components/Sidenav/sidenav-link.js.map +1 -0
  458. package/react/components/Sidenav/sidenav.js +7 -0
  459. package/react/components/Sidenav/sidenav.js.map +1 -0
  460. package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  461. package/react/components/Spinner/sgds-spinner.js +38 -0
  462. package/react/components/Spinner/sgds-spinner.js.map +1 -0
  463. package/react/components/Spinner/spinner.js +8 -0
  464. package/react/components/Spinner/spinner.js.map +1 -0
  465. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  466. package/react/components/Stepper/sgds-stepper.js +132 -0
  467. package/react/components/Stepper/sgds-stepper.js.map +1 -0
  468. package/react/components/Stepper/stepper.js +7 -0
  469. package/react/components/Stepper/stepper.js.map +1 -0
  470. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  471. package/react/components/Tab/sgds-tab-group.js +233 -0
  472. package/react/components/Tab/sgds-tab-group.js.map +1 -0
  473. package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  474. package/react/components/Tab/sgds-tab-panel.js +63 -0
  475. package/react/components/Tab/sgds-tab-panel.js.map +1 -0
  476. package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
  477. package/react/components/Tab/sgds-tab.js +110 -0
  478. package/react/components/Tab/sgds-tab.js.map +1 -0
  479. package/react/components/Tab/tab-group.js +7 -0
  480. package/react/components/Tab/tab-group.js.map +1 -0
  481. package/react/components/Tab/tab-panel.js +7 -0
  482. package/react/components/Tab/tab-panel.js.map +1 -0
  483. package/react/components/Tab/tab.js +7 -0
  484. package/react/components/Tab/tab.js.map +1 -0
  485. package/react/components/Table/sgds-table.cjs.js.map +1 -0
  486. package/react/components/Table/sgds-table.js +267 -0
  487. package/react/components/Table/sgds-table.js.map +1 -0
  488. package/react/components/Table/table.js +7 -0
  489. package/react/components/Table/table.js.map +1 -0
  490. package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -1
  491. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  492. package/react/components/Textarea/sgds-textarea.js +252 -0
  493. package/react/components/Textarea/sgds-textarea.js.map +1 -0
  494. package/react/components/Textarea/textarea.js +7 -0
  495. package/react/components/Textarea/textarea.js.map +1 -0
  496. package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  497. package/react/components/Toast/sgds-toast-container.js +36 -0
  498. package/react/components/Toast/sgds-toast-container.js.map +1 -0
  499. package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
  500. package/react/components/Toast/sgds-toast.js +152 -0
  501. package/react/components/Toast/sgds-toast.js.map +1 -0
  502. package/react/components/Toast/toast-container.js +7 -0
  503. package/react/components/Toast/toast-container.js.map +1 -0
  504. package/react/components/Toast/toast.js +7 -0
  505. package/react/components/Toast/toast.js.map +1 -0
  506. package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  507. package/react/components/Tooltip/sgds-tooltip.js +121 -0
  508. package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
  509. package/react/components/Tooltip/tooltip.js +7 -0
  510. package/react/components/Tooltip/tooltip.js.map +1 -0
  511. package/react/datepicker/index.cjs.js +1 -1
  512. package/react/datepicker/index.js +1 -1
  513. package/react/drawer/index.cjs.js +1 -1
  514. package/react/drawer/index.js +1 -1
  515. package/react/dropdown/index.cjs.js +1 -1
  516. package/react/dropdown/index.js +1 -1
  517. package/react/dropdown-item/index.cjs.js +1 -1
  518. package/react/dropdown-item/index.js +1 -1
  519. package/react/file-upload/index.cjs.js +1 -1
  520. package/react/file-upload/index.js +1 -1
  521. package/react/footer/index.cjs.js +1 -1
  522. package/react/footer/index.js +1 -1
  523. package/react/input/index.cjs.js +1 -1
  524. package/react/input/index.js +1 -1
  525. package/react/internals/CloseButton/close-button.js +7 -0
  526. package/react/internals/CloseButton/close-button.js.map +1 -0
  527. package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
  528. package/react/internals/CloseButton/sgds-close-button.js +55 -0
  529. package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
  530. package/react/mainnav/index.cjs.js +1 -1
  531. package/react/mainnav/index.js +1 -1
  532. package/react/mainnav-dropdown/index.cjs.js +1 -1
  533. package/react/mainnav-dropdown/index.js +1 -1
  534. package/react/mainnav-item/index.cjs.js +1 -1
  535. package/react/mainnav-item/index.js +1 -1
  536. package/react/masthead/index.cjs.js +1 -1
  537. package/react/masthead/index.js +1 -1
  538. package/react/modal/index.cjs.js +1 -1
  539. package/react/modal/index.js +1 -1
  540. package/react/pagination/index.cjs.js +1 -1
  541. package/react/pagination/index.js +1 -1
  542. package/react/progress/index.cjs.js +1 -1
  543. package/react/progress/index.js +1 -1
  544. package/react/progress-bar/index.cjs.js +1 -1
  545. package/react/progress-bar/index.js +1 -1
  546. package/react/quantity-toggle/index.cjs.js +1 -1
  547. package/react/quantity-toggle/index.js +1 -1
  548. package/react/radio/index.cjs.js +1 -1
  549. package/react/radio/index.js +1 -1
  550. package/react/radio-group/index.cjs.js +1 -1
  551. package/react/radio-group/index.js +1 -1
  552. package/react/sidenav/index.cjs.js +1 -1
  553. package/react/sidenav/index.js +1 -1
  554. package/react/sidenav-item/index.cjs.js +1 -1
  555. package/react/sidenav-item/index.js +1 -1
  556. package/react/sidenav-link/index.cjs.js +1 -1
  557. package/react/sidenav-link/index.js +1 -1
  558. package/react/spinner/index.cjs.js +1 -1
  559. package/react/spinner/index.js +1 -1
  560. package/react/stepper/index.cjs.js +1 -1
  561. package/react/stepper/index.js +1 -1
  562. package/react/styles/anchor.js +7 -0
  563. package/react/styles/anchor.js.map +1 -0
  564. package/react/styles/bg-variants.js +7 -0
  565. package/react/styles/bg-variants.js.map +1 -0
  566. package/react/styles/border-variants.js +7 -0
  567. package/react/styles/border-variants.js.map +1 -0
  568. package/{styles → react/styles}/feedback.cjs.js +1 -1
  569. package/react/styles/feedback.js +7 -0
  570. package/react/styles/feedback.js.map +1 -0
  571. package/react/styles/form-hint.js +7 -0
  572. package/react/styles/form-hint.js.map +1 -0
  573. package/react/styles/form-label.js +7 -0
  574. package/react/styles/form-label.js.map +1 -0
  575. package/react/styles/header-class.js +7 -0
  576. package/react/styles/header-class.js.map +1 -0
  577. package/react/styles/paragraph.js +7 -0
  578. package/react/styles/paragraph.js.map +1 -0
  579. package/react/styles/svg.js +7 -0
  580. package/react/styles/svg.js.map +1 -0
  581. package/react/styles/text-variants.js +7 -0
  582. package/react/styles/text-variants.js.map +1 -0
  583. package/react/tab/index.cjs.js +1 -1
  584. package/react/tab/index.js +1 -1
  585. package/react/tab-group/index.cjs.js +1 -1
  586. package/react/tab-group/index.js +1 -1
  587. package/react/tab-panel/index.cjs.js +1 -1
  588. package/react/tab-panel/index.js +1 -1
  589. package/react/table/index.cjs.js +1 -1
  590. package/react/table/index.js +1 -1
  591. package/react/textarea/index.cjs.js +1 -1
  592. package/react/textarea/index.js +1 -1
  593. package/react/toast/index.cjs.js +1 -1
  594. package/react/toast/index.js +1 -1
  595. package/react/toast-container/index.cjs.js +1 -1
  596. package/react/toast-container/index.js +1 -1
  597. package/react/tooltip/index.cjs.js +1 -1
  598. package/react/tooltip/index.js +1 -1
  599. package/react/utils/animate.cjs.js.map +1 -0
  600. package/react/utils/animate.js +42 -0
  601. package/react/utils/animate.js.map +1 -0
  602. package/react/utils/animation-registry.cjs.js.map +1 -0
  603. package/react/utils/animation-registry.js +43 -0
  604. package/react/utils/animation-registry.js.map +1 -0
  605. package/react/utils/breakpoints.cjs.js.map +1 -0
  606. package/react/utils/breakpoints.js +9 -0
  607. package/react/utils/breakpoints.js.map +1 -0
  608. package/react/utils/defaultvalue.cjs.js.map +1 -0
  609. package/react/utils/defaultvalue.js +25 -0
  610. package/react/utils/defaultvalue.js.map +1 -0
  611. package/react/utils/event.cjs.js.map +1 -0
  612. package/react/utils/event.js +16 -0
  613. package/react/utils/event.js.map +1 -0
  614. package/react/utils/form.cjs.js.map +1 -0
  615. package/react/utils/form.js +133 -0
  616. package/react/utils/form.js.map +1 -0
  617. package/react/utils/generateId.cjs.js.map +1 -0
  618. package/react/utils/generateId.js +7 -0
  619. package/react/utils/generateId.js.map +1 -0
  620. package/react/utils/mergeDeep.cjs.js.map +1 -0
  621. package/react/utils/mergeDeep.js +26 -0
  622. package/react/utils/mergeDeep.js.map +1 -0
  623. package/react/utils/modal.cjs.js.map +1 -0
  624. package/react/utils/modal.js +56 -0
  625. package/react/utils/modal.js.map +1 -0
  626. package/react/utils/object.cjs.js.map +1 -0
  627. package/react/utils/object.js +7 -0
  628. package/react/utils/object.js.map +1 -0
  629. package/react/utils/scroll.cjs.js.map +1 -0
  630. package/react/utils/scroll.js +22 -0
  631. package/react/utils/scroll.js.map +1 -0
  632. package/react/utils/slot.cjs.js.map +1 -0
  633. package/react/utils/slot.js +53 -0
  634. package/react/utils/slot.js.map +1 -0
  635. package/react/utils/tabbable.cjs.js.map +1 -0
  636. package/react/utils/tabbable.js +69 -0
  637. package/react/utils/tabbable.js.map +1 -0
  638. package/react/utils/time.cjs.js.map +1 -0
  639. package/react/utils/time.js +75 -0
  640. package/react/utils/time.js.map +1 -0
  641. package/react/utils/watch.cjs.js.map +1 -0
  642. package/react/utils/watch.js +40 -0
  643. package/react/utils/watch.js.map +1 -0
  644. package/styles/anchor.js +0 -1
  645. package/styles/anchor.js.map +1 -1
  646. package/styles/bg-variants.js +0 -1
  647. package/styles/bg-variants.js.map +1 -1
  648. package/styles/border-variants.js +0 -1
  649. package/styles/border-variants.js.map +1 -1
  650. package/styles/feedback.js +1 -2
  651. package/styles/feedback.js.map +1 -1
  652. package/styles/form-hint.js +0 -1
  653. package/styles/form-hint.js.map +1 -1
  654. package/styles/form-label.js +0 -1
  655. package/styles/form-label.js.map +1 -1
  656. package/styles/header-class.js +0 -1
  657. package/styles/header-class.js.map +1 -1
  658. package/styles/paragraph.js +0 -1
  659. package/styles/paragraph.js.map +1 -1
  660. package/styles/svg.js +0 -1
  661. package/styles/svg.js.map +1 -1
  662. package/styles/text-variants.js +0 -1
  663. package/styles/text-variants.js.map +1 -1
  664. package/utils/animate.js +0 -1
  665. package/utils/animate.js.map +1 -1
  666. package/utils/animation-registry.js +0 -1
  667. package/utils/animation-registry.js.map +1 -1
  668. package/utils/breakpoints.js +0 -1
  669. package/utils/breakpoints.js.map +1 -1
  670. package/utils/defaultvalue.js +0 -1
  671. package/utils/defaultvalue.js.map +1 -1
  672. package/utils/event.js +0 -1
  673. package/utils/event.js.map +1 -1
  674. package/utils/form.js +0 -1
  675. package/utils/form.js.map +1 -1
  676. package/utils/generateId.js +0 -1
  677. package/utils/generateId.js.map +1 -1
  678. package/utils/mergeDeep.js +0 -1
  679. package/utils/mergeDeep.js.map +1 -1
  680. package/utils/modal.js +0 -1
  681. package/utils/modal.js.map +1 -1
  682. package/utils/object.js +0 -1
  683. package/utils/object.js.map +1 -1
  684. package/utils/scroll.js +0 -1
  685. package/utils/scroll.js.map +1 -1
  686. package/utils/slot.js +0 -1
  687. package/utils/slot.js.map +1 -1
  688. package/utils/tabbable.js +0 -1
  689. package/utils/tabbable.js.map +1 -1
  690. package/utils/time.js +0 -1
  691. package/utils/time.js.map +1 -1
  692. package/utils/watch.js +0 -1
  693. package/utils/watch.js.map +1 -1
  694. package/base/card-element.cjs.js.map +0 -1
  695. package/base/dropdown-element.cjs.js.map +0 -1
  696. package/base/dropdown-list-element.cjs.js.map +0 -1
  697. package/base/form-check-element.cjs.js.map +0 -1
  698. package/base/link-element.cjs.js.map +0 -1
  699. package/base/sgds-element.cjs.js.map +0 -1
  700. package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
  701. package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
  702. package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
  703. package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
  704. package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
  705. package/components/Alert/sgds-alert.cjs.js.map +0 -1
  706. package/components/Badge/sgds-badge.cjs.js.map +0 -1
  707. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
  708. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
  709. package/components/Button/sgds-button.cjs.js.map +0 -1
  710. package/components/Card/sgds-card.cjs.js.map +0 -1
  711. package/components/Checkbox/checkbox.cjs.js +0 -11
  712. package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
  713. package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
  714. package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
  715. package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
  716. package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
  717. package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
  718. package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
  719. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
  720. package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
  721. package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
  722. package/components/Footer/sgds-footer.cjs.js.map +0 -1
  723. package/components/Input/sgds-input.cjs.js.map +0 -1
  724. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
  725. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
  726. package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
  727. package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
  728. package/components/Modal/sgds-modal.cjs.js.map +0 -1
  729. package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
  730. package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
  731. package/components/Progress/sgds-progress.cjs.js.map +0 -1
  732. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
  733. package/components/Radio/radio.cjs.js +0 -11
  734. package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
  735. package/components/Radio/sgds-radio.cjs.js.map +0 -1
  736. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
  737. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
  738. package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
  739. package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
  740. package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
  741. package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
  742. package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
  743. package/components/Tab/sgds-tab.cjs.js.map +0 -1
  744. package/components/Table/sgds-table.cjs.js.map +0 -1
  745. package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
  746. package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
  747. package/components/Toast/sgds-toast.cjs.js.map +0 -1
  748. package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
  749. package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
  750. package/utils/animate.cjs.js.map +0 -1
  751. package/utils/animation-registry.cjs.js.map +0 -1
  752. package/utils/breakpoints.cjs.js.map +0 -1
  753. package/utils/defaultvalue.cjs.js.map +0 -1
  754. package/utils/event.cjs.js.map +0 -1
  755. package/utils/form.cjs.js.map +0 -1
  756. package/utils/generateId.cjs.js.map +0 -1
  757. package/utils/mergeDeep.cjs.js.map +0 -1
  758. package/utils/modal.cjs.js.map +0 -1
  759. package/utils/object.cjs.js.map +0 -1
  760. package/utils/scroll.cjs.js.map +0 -1
  761. package/utils/slot.cjs.js.map +0 -1
  762. package/utils/tabbable.cjs.js.map +0 -1
  763. package/utils/time.cjs.js.map +0 -1
  764. package/utils/watch.cjs.js.map +0 -1
  765. /package/{base → react/base}/card-element.cjs.js +0 -0
  766. /package/{base → react/base}/card.cjs.js +0 -0
  767. /package/{base → react/base}/card.cjs.js.map +0 -0
  768. /package/{base → react/base}/dropdown-element.cjs.js +0 -0
  769. /package/{base → react/base}/dropdown-list-element.cjs.js +0 -0
  770. /package/{base → react/base}/link-element.cjs.js +0 -0
  771. /package/{base → react/base}/sgds-element.cjs.js +0 -0
  772. /package/{base → react/base}/sgds-element.cjs2.js +0 -0
  773. /package/{base → react/base}/sgds-element.cjs2.js.map +0 -0
  774. /package/{components → react/components}/Accordion/accordion-item.cjs.js +0 -0
  775. /package/{components → react/components}/Accordion/accordion-item.cjs.js.map +0 -0
  776. /package/{components → react/components}/Accordion/accordion.cjs.js +0 -0
  777. /package/{components → react/components}/Accordion/accordion.cjs.js.map +0 -0
  778. /package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +0 -0
  779. /package/{components → react/components}/Accordion/sgds-accordion.cjs.js +0 -0
  780. /package/{components → react/components}/ActionCard/action-card.cjs.js +0 -0
  781. /package/{components → react/components}/ActionCard/action-card.cjs.js.map +0 -0
  782. /package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +0 -0
  783. /package/{components → react/components}/Alert/alert-link.cjs.js +0 -0
  784. /package/{components → react/components}/Alert/alert-link.cjs.js.map +0 -0
  785. /package/{components → react/components}/Alert/alert.cjs.js +0 -0
  786. /package/{components → react/components}/Alert/alert.cjs.js.map +0 -0
  787. /package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +0 -0
  788. /package/{components → react/components}/Alert/sgds-alert-link.cjs.js +0 -0
  789. /package/{components → react/components}/Alert/sgds-alert.cjs.js +0 -0
  790. /package/{components → react/components}/Badge/badge.cjs.js +0 -0
  791. /package/{components → react/components}/Badge/badge.cjs.js.map +0 -0
  792. /package/{components → react/components}/Badge/sgds-badge.cjs.js +0 -0
  793. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +0 -0
  794. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +0 -0
  795. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +0 -0
  796. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +0 -0
  797. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +0 -0
  798. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +0 -0
  799. /package/{components → react/components}/Button/button.cjs.js +0 -0
  800. /package/{components → react/components}/Button/button.cjs.js.map +0 -0
  801. /package/{components → react/components}/Button/sgds-button.cjs.js +0 -0
  802. /package/{components → react/components}/Card/card.cjs.js +0 -0
  803. /package/{components → react/components}/Card/card.cjs.js.map +0 -0
  804. /package/{components → react/components}/Card/sgds-card.cjs.js +0 -0
  805. /package/{components → react/components}/Checkbox/checkbox.cjs.js.map +0 -0
  806. /package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +0 -0
  807. /package/{components → react/components}/ComboBox/combo-box.cjs.js +0 -0
  808. /package/{components → react/components}/ComboBox/combo-box.cjs.js.map +0 -0
  809. /package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +0 -0
  810. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +0 -0
  811. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +0 -0
  812. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +0 -0
  813. /package/{components → react/components}/Datepicker/datepicker-header.cjs.js +0 -0
  814. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +0 -0
  815. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +0 -0
  816. /package/{components → react/components}/Datepicker/datepicker-input.cjs.js +0 -0
  817. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +0 -0
  818. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +0 -0
  819. /package/{components → react/components}/Datepicker/datepicker.cjs.js +0 -0
  820. /package/{components → react/components}/Datepicker/datepicker.cjs.js.map +0 -0
  821. /package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +0 -0
  822. /package/{components → react/components}/Drawer/drawer.cjs.js +0 -0
  823. /package/{components → react/components}/Drawer/drawer.cjs.js.map +0 -0
  824. /package/{components → react/components}/Drawer/sgds-drawer.cjs.js +0 -0
  825. /package/{components → react/components}/Dropdown/dropdown.cjs.js +0 -0
  826. /package/{components → react/components}/Dropdown/dropdown.cjs.js.map +0 -0
  827. /package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +0 -0
  828. /package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +0 -0
  829. /package/{components → react/components}/FileUpload/file-upload.cjs.js +0 -0
  830. /package/{components → react/components}/FileUpload/file-upload.cjs.js.map +0 -0
  831. /package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +0 -0
  832. /package/{components → react/components}/Footer/footer.cjs.js +0 -0
  833. /package/{components → react/components}/Footer/footer.cjs.js.map +0 -0
  834. /package/{components → react/components}/Footer/sgds-footer.cjs.js +0 -0
  835. /package/{components → react/components}/Input/input.cjs.js +0 -0
  836. /package/{components → react/components}/Input/input.cjs.js.map +0 -0
  837. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +0 -0
  838. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +0 -0
  839. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js +0 -0
  840. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +0 -0
  841. /package/{components → react/components}/Mainnav/mainnav.cjs.js +0 -0
  842. /package/{components → react/components}/Mainnav/mainnav.cjs.js.map +0 -0
  843. /package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +0 -0
  844. /package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +0 -0
  845. /package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +0 -0
  846. /package/{components → react/components}/Masthead/masthead.cjs.js +0 -0
  847. /package/{components → react/components}/Masthead/masthead.cjs.js.map +0 -0
  848. /package/{components → react/components}/Masthead/sgds-masthead.cjs.js +0 -0
  849. /package/{components → react/components}/Modal/modal.cjs.js +0 -0
  850. /package/{components → react/components}/Modal/modal.cjs.js.map +0 -0
  851. /package/{components → react/components}/Modal/sgds-modal.cjs.js +0 -0
  852. /package/{components → react/components}/Pagination/pagination.cjs.js +0 -0
  853. /package/{components → react/components}/Pagination/pagination.cjs.js.map +0 -0
  854. /package/{components → react/components}/Pagination/sgds-pagination.cjs.js +0 -0
  855. /package/{components → react/components}/Progress/progress-bar.cjs.js +0 -0
  856. /package/{components → react/components}/Progress/progress-bar.cjs.js.map +0 -0
  857. /package/{components → react/components}/Progress/progress.cjs.js +0 -0
  858. /package/{components → react/components}/Progress/progress.cjs.js.map +0 -0
  859. /package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +0 -0
  860. /package/{components → react/components}/Progress/sgds-progress.cjs.js +0 -0
  861. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +0 -0
  862. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +0 -0
  863. /package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +0 -0
  864. /package/{components → react/components}/Radio/radio-group.cjs.js +0 -0
  865. /package/{components → react/components}/Radio/radio-group.cjs.js.map +0 -0
  866. /package/{components → react/components}/Radio/radio.cjs.js.map +0 -0
  867. /package/{components → react/components}/Radio/sgds-radio.cjs.js +0 -0
  868. /package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +0 -0
  869. /package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +0 -0
  870. /package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +0 -0
  871. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js +0 -0
  872. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +0 -0
  873. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js +0 -0
  874. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +0 -0
  875. /package/{components → react/components}/Sidenav/sidenav.cjs.js +0 -0
  876. /package/{components → react/components}/Sidenav/sidenav.cjs.js.map +0 -0
  877. /package/{components → react/components}/Spinner/sgds-spinner.cjs.js +0 -0
  878. /package/{components → react/components}/Spinner/spinner.cjs.js +0 -0
  879. /package/{components → react/components}/Spinner/spinner.cjs.js.map +0 -0
  880. /package/{components → react/components}/Stepper/sgds-stepper.cjs.js +0 -0
  881. /package/{components → react/components}/Stepper/stepper.cjs.js +0 -0
  882. /package/{components → react/components}/Stepper/stepper.cjs.js.map +0 -0
  883. /package/{components → react/components}/Tab/sgds-tab-group.cjs.js +0 -0
  884. /package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +0 -0
  885. /package/{components → react/components}/Tab/sgds-tab.cjs.js +0 -0
  886. /package/{components → react/components}/Tab/tab-group.cjs.js +0 -0
  887. /package/{components → react/components}/Tab/tab-group.cjs.js.map +0 -0
  888. /package/{components → react/components}/Tab/tab-panel.cjs.js +0 -0
  889. /package/{components → react/components}/Tab/tab-panel.cjs.js.map +0 -0
  890. /package/{components → react/components}/Tab/tab.cjs.js +0 -0
  891. /package/{components → react/components}/Tab/tab.cjs.js.map +0 -0
  892. /package/{components → react/components}/Table/sgds-table.cjs.js +0 -0
  893. /package/{components → react/components}/Table/table.cjs.js +0 -0
  894. /package/{components → react/components}/Table/table.cjs.js.map +0 -0
  895. /package/{components → react/components}/Textarea/textarea.cjs.js +0 -0
  896. /package/{components → react/components}/Textarea/textarea.cjs.js.map +0 -0
  897. /package/{components → react/components}/Toast/sgds-toast-container.cjs.js +0 -0
  898. /package/{components → react/components}/Toast/sgds-toast.cjs.js +0 -0
  899. /package/{components → react/components}/Toast/toast-container.cjs.js +0 -0
  900. /package/{components → react/components}/Toast/toast-container.cjs.js.map +0 -0
  901. /package/{components → react/components}/Toast/toast.cjs.js +0 -0
  902. /package/{components → react/components}/Toast/toast.cjs.js.map +0 -0
  903. /package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +0 -0
  904. /package/{components → react/components}/Tooltip/tooltip.cjs.js +0 -0
  905. /package/{components → react/components}/Tooltip/tooltip.cjs.js.map +0 -0
  906. /package/{internals → react/internals}/CloseButton/close-button.cjs.js +0 -0
  907. /package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +0 -0
  908. /package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +0 -0
  909. /package/{styles → react/styles}/anchor.cjs.js +0 -0
  910. /package/{styles → react/styles}/anchor.cjs.js.map +0 -0
  911. /package/{styles → react/styles}/bg-variants.cjs.js +0 -0
  912. /package/{styles → react/styles}/bg-variants.cjs.js.map +0 -0
  913. /package/{styles → react/styles}/border-variants.cjs.js +0 -0
  914. /package/{styles → react/styles}/border-variants.cjs.js.map +0 -0
  915. /package/{styles → react/styles}/feedback.cjs.js.map +0 -0
  916. /package/{styles → react/styles}/form-hint.cjs.js +0 -0
  917. /package/{styles → react/styles}/form-hint.cjs.js.map +0 -0
  918. /package/{styles → react/styles}/form-label.cjs.js +0 -0
  919. /package/{styles → react/styles}/form-label.cjs.js.map +0 -0
  920. /package/{styles → react/styles}/header-class.cjs.js +0 -0
  921. /package/{styles → react/styles}/header-class.cjs.js.map +0 -0
  922. /package/{styles → react/styles}/paragraph.cjs.js +0 -0
  923. /package/{styles → react/styles}/paragraph.cjs.js.map +0 -0
  924. /package/{styles → react/styles}/svg.cjs.js +0 -0
  925. /package/{styles → react/styles}/svg.cjs.js.map +0 -0
  926. /package/{styles → react/styles}/text-variants.cjs.js +0 -0
  927. /package/{styles → react/styles}/text-variants.cjs.js.map +0 -0
  928. /package/{utils → react/utils}/animate.cjs.js +0 -0
  929. /package/{utils → react/utils}/animation-registry.cjs.js +0 -0
  930. /package/{utils → react/utils}/breakpoints.cjs.js +0 -0
  931. /package/{utils → react/utils}/defaultvalue.cjs.js +0 -0
  932. /package/{utils → react/utils}/event.cjs.js +0 -0
  933. /package/{utils → react/utils}/form.cjs.js +0 -0
  934. /package/{utils → react/utils}/generateId.cjs.js +0 -0
  935. /package/{utils → react/utils}/mergeDeep.cjs.js +0 -0
  936. /package/{utils → react/utils}/modal.cjs.js +0 -0
  937. /package/{utils → react/utils}/object.cjs.js +0 -0
  938. /package/{utils → react/utils}/scroll.cjs.js +0 -0
  939. /package/{utils → react/utils}/slot.cjs.js +0 -0
  940. /package/{utils → react/utils}/tabbable.cjs.js +0 -0
  941. /package/{utils → react/utils}/time.cjs.js +0 -0
  942. /package/{utils → react/utils}/watch.cjs.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-dropdown.cjs.js","sources":["../../../../src/components/Dropdown/sgds-dropdown.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport dropdownStyle from \"./dropdown.css\";\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n *\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [...DropdownListElement.styles, dropdownStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n @property({ type: String })\n /** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String, reflect: true })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n outlined\n role=\"button\"\n variant=${this.variant}\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <div class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n"],"names":["ScopedElementsMixin","DropdownListElement","SgdsButton","genId","html","ref","dropdownStyle","__decorate","property","queryAsync"],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements';
4
+ import { html } from 'lit';
5
+ import { property, queryAsync } from 'lit/decorators.js';
6
+ import { ref } from 'lit/directives/ref.js';
7
+ import { DropdownListElement } from '../../base/dropdown-list-element.js';
8
+ import genId from '../../utils/generateId.js';
9
+ import { SgdsButton } from '../Button/sgds-button.js';
10
+ import css_248z from './dropdown.js';
11
+
12
+ /**
13
+ * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.
14
+ * @slot default - slot for sgds-dropdown-item passed into dropdown's menu
15
+ *
16
+ * @csspart menu - The dropdown's menu (ul element)
17
+ *
18
+ */
19
+ class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {
20
+ /**@internal */
21
+ static get scopedElements() {
22
+ return {
23
+ "sgds-button": SgdsButton
24
+ };
25
+ }
26
+ constructor() {
27
+ super();
28
+ this.togglerId = genId("dropdown", "button");
29
+ /** Sets the text content of Dropdown button */
30
+ this.togglerText = "";
31
+ /** Controls auto-flipping of menu */
32
+ this.noFlip = false;
33
+ /** When true, aligns right edge of menu with right edge of button */
34
+ this.menuAlignRight = false;
35
+ /** The drop position of menu relative to the toggle button */
36
+ this.drop = "down";
37
+ /** Sets color of Dropdown button */
38
+ this.variant = "secondary";
39
+ /**@internal */
40
+ this.modifierOpt = [
41
+ {
42
+ name: "offset",
43
+ options: {
44
+ offset: [0, 10]
45
+ }
46
+ }
47
+ ];
48
+ }
49
+ async firstUpdated() {
50
+ super.firstUpdated();
51
+ if (this.menuIsOpen) {
52
+ await this.dropdownRef;
53
+ this.showMenu();
54
+ }
55
+ }
56
+ render() {
57
+ return html `
58
+ <div>
59
+ <sgds-button
60
+ outlined
61
+ role="button"
62
+ variant=${this.variant}
63
+ ?disabled=${this.disabled}
64
+ aria-expanded="${this.menuIsOpen}"
65
+ aria-haspopup="menu"
66
+ ${ref(this.myDropdown)}
67
+ @click=${() => this.toggleMenu()}
68
+ id=${this.togglerId}
69
+ >
70
+ ${this.togglerText}
71
+ <svg
72
+ xmlns="http://www.w3.org/2000/svg"
73
+ width="16"
74
+ height="16"
75
+ fill="currentColor"
76
+ class="bi bi-chevron-down"
77
+ viewBox="0 0 16 16"
78
+ >
79
+ <path
80
+ fill-rule="evenodd"
81
+ d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"
82
+ />
83
+ </svg>
84
+ </sgds-button>
85
+ <div class="dropdown-menu" role="menu" part="menu">
86
+ <slot id="default" @click=${this.handleSelectSlot}></slot>
87
+ </div>
88
+ </div>
89
+ `;
90
+ }
91
+ }
92
+ SgdsDropdown.styles = [...DropdownListElement.styles, css_248z];
93
+ __decorate([
94
+ property({ type: String })
95
+ /** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */
96
+ ], SgdsDropdown.prototype, "togglerId", void 0);
97
+ __decorate([
98
+ property({ type: String })
99
+ ], SgdsDropdown.prototype, "togglerText", void 0);
100
+ __decorate([
101
+ property({ type: Boolean, reflect: true, state: false })
102
+ ], SgdsDropdown.prototype, "noFlip", void 0);
103
+ __decorate([
104
+ property({ type: Boolean, reflect: true, state: false })
105
+ ], SgdsDropdown.prototype, "menuAlignRight", void 0);
106
+ __decorate([
107
+ property({ type: String, reflect: true, state: false })
108
+ ], SgdsDropdown.prototype, "drop", void 0);
109
+ __decorate([
110
+ property({ type: String, reflect: true })
111
+ ], SgdsDropdown.prototype, "variant", void 0);
112
+ __decorate([
113
+ queryAsync("sgds-button")
114
+ ], SgdsDropdown.prototype, "dropdownRef", void 0);
115
+
116
+ export { SgdsDropdown, SgdsDropdown as default };
117
+ //# sourceMappingURL=sgds-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-dropdown.js","sources":["../../../../src/components/Dropdown/sgds-dropdown.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport dropdownStyle from \"./dropdown.css\";\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n *\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [...DropdownListElement.styles, dropdownStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n @property({ type: String })\n /** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String, reflect: true })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n outlined\n role=\"button\"\n variant=${this.variant}\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <div class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n"],"names":["dropdownStyle"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host{--file-upload-left-icon-color:var(--sgds-success);--file-upload-remove-icon-color:var(--sgds-body-color);--file-upload-remove-icon-hover-color: }.fileupload-list-item{display:flex;gap:var(--sgds-spacer-2)}.fileupload-list-item span:not(:first-of-type){cursor:pointer}.fileupload-list-item span:first-of-type svg{color:var(--file-upload-left-icon-color)}.fileupload-list-item span:last-of-type svg{color:var(--file-upload-remove-icon-color)}.fileupload-list-item span:last-of-type svg:hover{color:var(--file-upload-remove-icon-hover-color)}.file-upload-label{align-items:center;display:flex;gap:var(--sgds-spacer-2)}ul{margin:0;padding:0}.sgds.fileupload-list{display:flex;flex-direction:column;gap:var(--sgds-spacer-3);list-style-type:none}.sgds.fileupload-list .fileupload-list-item .filename{color:var(--sgds-link);text-decoration:underline;text-underline-offset:.25rem}input{display:none}label,sgds-button{cursor:pointer}.fileupload-container{display:flex;flex-direction:column;gap:var(--sgds-spacer-3)}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=file-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-file-upload.cjs.js","sources":["../../../../src/components/FileUpload/sgds-file-upload.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton, type ButtonVariant } from \"../Button/sgds-button\";\nimport fileUploadStyle from \"./file-upload.css\";\nimport genId from \"../../utils/generateId\";\nimport svgStyles from \"../../styles/svg.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --file-upload-file-icon-color - Left icon color\n * @cssproperty --file-upload-remove-icon-color - Remove icon color\n * @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [...SgdsElement.styles, svgStyles, formHintStyles, fileUploadStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n private _setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this._setFileList(files);\n this.requestUpdate();\n }\n\n private _removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this._setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n /**@internal */\n protected inputId: string = genId(\"input\", \"file\");\n\n protected _renderHintText() {\n const hintTextTemplate = html` <small id=\"${this.inputId}Help\" class=\"form-text\">${this.hintText}</small> `;\n return this.hintText && hintTextTemplate;\n }\n\n private _sanitizeVariant(variant: FileUploadButtonVariant) {\n return variant.replace(\"outline-\", \"\") as ButtonVariant;\n }\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n id=${this.inputId}\n />\n <div class=\"fileupload-container\">\n <sgds-button\n size=${this.size}\n variant=${this._sanitizeVariant(this.variant)}\n ?outlined=${this.variant.includes(\"outline\")}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <label for=${this.inputId} class=\"file-upload-label\"><slot></slot></label>\n </sgds-button>\n ${this._renderHintText()}\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n"],"names":["ScopedElementsMixin","SgdsElement","createRef","genId","SgdsButton","html","unsafeSVG","ref","svgStyles","formHintStyles","fileUploadStyle","__decorate","property"],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements';
4
+ import { html } from 'lit';
5
+ import { property } from 'lit/decorators.js';
6
+ import { createRef, ref } from 'lit/directives/ref.js';
7
+ import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
8
+ import SgdsElement from '../../base/sgds-element.js';
9
+ import { SgdsButton } from '../Button/sgds-button.js';
10
+ import css_248z$2 from './file-upload.js';
11
+ import genId from '../../utils/generateId.js';
12
+ import css_248z from '../../styles/svg.js';
13
+ import css_248z$1 from '../../styles/form-hint.js';
14
+
15
+ /**
16
+ * @summary Allows users to upload files of various sizes and formats
17
+ * @slot default - Label for file upload button
18
+ *
19
+ * @event sgds-files-selected - Emitted when files are selected for uploading
20
+ *
21
+ * @cssproperty --file-upload-file-icon-color - Left icon color
22
+ * @cssproperty --file-upload-remove-icon-color - Remove icon color
23
+ * @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color
24
+ */
25
+ class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {
26
+ constructor() {
27
+ super(...arguments);
28
+ /** The button's variant. */
29
+ this.variant = "primary";
30
+ //** Disable the fileuploader button */
31
+ this.disabled = false;
32
+ /** Allows multiple files to be listed for uploading */
33
+ this.multiple = false;
34
+ /** Specify the acceptable file type */
35
+ this.accept = "";
36
+ /** Customize the check icon with SVG */
37
+ this.checkedIcon = "";
38
+ /** Customize the cancel icon with SVG */
39
+ this.cancelIcon = "";
40
+ /** The input's hint text below the label */
41
+ this.hintText = "";
42
+ /** @internal */
43
+ this.selectedFiles = [];
44
+ // Create a ref to the input element
45
+ /** @internal */
46
+ this.inputRef = createRef();
47
+ /**@internal */
48
+ this.inputId = genId("input", "file");
49
+ }
50
+ /**@internal */
51
+ static get scopedElements() {
52
+ return {
53
+ "sgds-button": SgdsButton
54
+ };
55
+ }
56
+ _setFileList(files) {
57
+ this.files = files;
58
+ this.emit("sgds-files-selected");
59
+ //Possible to pass in the files
60
+ }
61
+ /** @internal */
62
+ handleClick(event) {
63
+ event.preventDefault();
64
+ if (!this.disabled) {
65
+ // Get a reference to the input element using the inputRef
66
+ const inputElement = this.inputRef.value;
67
+ // Do something with the input element
68
+ inputElement.click();
69
+ }
70
+ }
71
+ /** @internal */
72
+ handleInputChange(event) {
73
+ const inputElement = event.target;
74
+ const files = inputElement.files;
75
+ if (files.length > 0) {
76
+ this.selectedFiles = Array.from(files);
77
+ }
78
+ // Trigger a re-render of the component to update the list of selected files
79
+ this._setFileList(files);
80
+ this.requestUpdate();
81
+ }
82
+ _removeFileHandler(index) {
83
+ const inputElement = this.inputRef.value;
84
+ const attachments = inputElement.files;
85
+ const fileBuffer = new DataTransfer();
86
+ for (let i = 0; i < attachments.length; i++) {
87
+ if (index !== i)
88
+ fileBuffer.items.add(attachments[i]);
89
+ }
90
+ // Assign buffer to file input
91
+ inputElement.files = fileBuffer.files;
92
+ // Re-populate selected files to the lists
93
+ this._setFileList(fileBuffer.files);
94
+ this.selectedFiles = Array.from(fileBuffer.files);
95
+ // Trigger a re-render of the component to update the list of selected files
96
+ this.requestUpdate();
97
+ }
98
+ _renderHintText() {
99
+ const hintTextTemplate = html ` <small id="${this.inputId}Help" class="form-text">${this.hintText}</small> `;
100
+ return this.hintText && hintTextTemplate;
101
+ }
102
+ _sanitizeVariant(variant) {
103
+ return variant.replace("outline-", "");
104
+ }
105
+ render() {
106
+ const getCheckedIcon = (checkedIcon) => {
107
+ if (checkedIcon) {
108
+ return html `${unsafeSVG(checkedIcon)}`;
109
+ }
110
+ return html ` <svg
111
+ xmlns="http://www.w3.org/2000/svg"
112
+ width="16"
113
+ height="16"
114
+ fill="currentColor"
115
+ class="bi bi-check-lg"
116
+ viewBox="0 0 16 16"
117
+ >
118
+ <path
119
+ d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z"
120
+ />
121
+ </svg>`;
122
+ };
123
+ const getCancelIcon = (cancelIcon) => {
124
+ if (cancelIcon) {
125
+ return html `${unsafeSVG(cancelIcon)}`;
126
+ }
127
+ return html `<svg
128
+ xmlns="http://www.w3.org/2000/svg"
129
+ width="16"
130
+ height="16"
131
+ fill="currentColor"
132
+ class="bi bi-x-circle"
133
+ viewBox="0 0 16 16"
134
+ >
135
+ <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
136
+ <path
137
+ d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"
138
+ />
139
+ </svg>`;
140
+ };
141
+ const listItems = this.selectedFiles.map((file, index) => html `
142
+ <li key=${index} class="fileupload-list-item">
143
+ <span>${getCheckedIcon(this.checkedIcon)}</span>
144
+ <span class="filename">${file.name}</span>
145
+ <span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>
146
+ </li>
147
+ `);
148
+ return html `
149
+ <input
150
+ ${ref(this.inputRef)}
151
+ type="file"
152
+ @change=${this.handleInputChange}
153
+ ?multiple=${this.multiple}
154
+ accept=${this.accept}
155
+ id=${this.inputId}
156
+ />
157
+ <div class="fileupload-container">
158
+ <sgds-button
159
+ size=${this.size}
160
+ variant=${this._sanitizeVariant(this.variant)}
161
+ ?outlined=${this.variant.includes("outline")}
162
+ ?disabled=${this.disabled}
163
+ @click=${this.handleClick}
164
+ >
165
+ <label for=${this.inputId} class="file-upload-label"><slot></slot></label>
166
+ </sgds-button>
167
+ ${this._renderHintText()}
168
+ <ul class="sgds fileupload-list">
169
+ ${listItems}
170
+ </ul>
171
+ </div>
172
+ `;
173
+ }
174
+ }
175
+ SgdsFileUpload.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2];
176
+ __decorate([
177
+ property({ reflect: true })
178
+ ], SgdsFileUpload.prototype, "variant", void 0);
179
+ __decorate([
180
+ property({ type: Boolean, reflect: true })
181
+ ], SgdsFileUpload.prototype, "disabled", void 0);
182
+ __decorate([
183
+ property({ type: Boolean, reflect: true })
184
+ ], SgdsFileUpload.prototype, "multiple", void 0);
185
+ __decorate([
186
+ property({ type: String, reflect: true })
187
+ ], SgdsFileUpload.prototype, "accept", void 0);
188
+ __decorate([
189
+ property({ reflect: true })
190
+ ], SgdsFileUpload.prototype, "size", void 0);
191
+ __decorate([
192
+ property({ type: String })
193
+ ], SgdsFileUpload.prototype, "checkedIcon", void 0);
194
+ __decorate([
195
+ property({ type: String })
196
+ ], SgdsFileUpload.prototype, "cancelIcon", void 0);
197
+ __decorate([
198
+ property({ reflect: true })
199
+ ], SgdsFileUpload.prototype, "hintText", void 0);
200
+ __decorate([
201
+ property({ type: Object, state: true })
202
+ ], SgdsFileUpload.prototype, "files", void 0);
203
+ __decorate([
204
+ property({ type: Array })
205
+ ], SgdsFileUpload.prototype, "selectedFiles", void 0);
206
+
207
+ export { SgdsFileUpload, SgdsFileUpload as default };
208
+ //# sourceMappingURL=sgds-file-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-file-upload.js","sources":["../../../../src/components/FileUpload/sgds-file-upload.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton, type ButtonVariant } from \"../Button/sgds-button\";\nimport fileUploadStyle from \"./file-upload.css\";\nimport genId from \"../../utils/generateId\";\nimport svgStyles from \"../../styles/svg.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --file-upload-file-icon-color - Left icon color\n * @cssproperty --file-upload-remove-icon-color - Remove icon color\n * @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [...SgdsElement.styles, svgStyles, formHintStyles, fileUploadStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n private _setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this._setFileList(files);\n this.requestUpdate();\n }\n\n private _removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this._setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n /**@internal */\n protected inputId: string = genId(\"input\", \"file\");\n\n protected _renderHintText() {\n const hintTextTemplate = html` <small id=\"${this.inputId}Help\" class=\"form-text\">${this.hintText}</small> `;\n return this.hintText && hintTextTemplate;\n }\n\n private _sanitizeVariant(variant: FileUploadButtonVariant) {\n return variant.replace(\"outline-\", \"\") as ButtonVariant;\n }\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n id=${this.inputId}\n />\n <div class=\"fileupload-container\">\n <sgds-button\n size=${this.size}\n variant=${this._sanitizeVariant(this.variant)}\n ?outlined=${this.variant.includes(\"outline\")}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <label for=${this.inputId} class=\"file-upload-label\"><slot></slot></label>\n </sgds-button>\n ${this._renderHintText()}\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n"],"names":["svgStyles","formHintStyles","fileUploadStyle"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`*,:after,:before{box-sizing:border-box}.sgds.footer .footer-header .title{color:var(--sgds-heading-color);font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1.2;margin-bottom:.5rem;margin-top:0}@media (min-width:1200px){.sgds.footer .footer-header .title{font-size:1.5rem}}.sgds.footer .footer-header .title{line-height:1.33}.container-fluid{margin-left:auto;margin-right:auto;padding-left:var(--sgds-gutter-x,1.5rem);padding-right:var(--sgds-gutter-x,1.5rem);width:100%}.row{--sgds-gutter-x:1.5rem;--sgds-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--sgds-gutter-x)*-.5);margin-right:calc(var(--sgds-gutter-x)*-.5);margin-top:calc(var(--sgds-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--sgds-gutter-y);max-width:100%;padding-left:calc(var(--sgds-gutter-x)*.5);padding-right:calc(var(--sgds-gutter-x)*.5);width:100%}.col{flex:1 0 0%}@media (min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}}@media (min-width:1400px){.col-xxl-2{flex:0 0 auto;width:16.66666667%}}.sgds.footer .footer-contact-links ul,.sgds.footer .footer-items ul,.sgds.footer .footer-mandatory-links ul{margin:0;padding:0}.sgds.footer .footer-contact-links ul li,.sgds.footer .footer-items ul li,.sgds.footer .footer-mandatory-links ul li{font-size:1rem;line-height:1.5;list-style-type:none}.sgds.footer .footer-contact-links ul li+li,.sgds.footer .footer-items ul li+li,.sgds.footer .footer-mandatory-links ul li+li{margin-top:1rem}.sgds.footer .footer-contact-links ul li a,.sgds.footer .footer-items ul li a,.sgds.footer .footer-mandatory-links ul li a{color:#d0d5dd;text-decoration:none}.sgds.footer,.sgds.footer .footer-contact-links ul li a:hover,.sgds.footer .footer-items ul li a:hover,.sgds.footer .footer-mandatory-links ul li a:hover{color:#f7f7f7}.sgds.footer{height:auto}.sgds.footer .footer-top{background-color:#111;padding:3rem 0 1.5rem}.sgds.footer .footer-header{margin-bottom:1.5rem}.sgds.footer .footer-header .title{margin-bottom:1rem}.sgds.footer .footer-header .description{color:#d0d5dd}@media (max-width:575.98px){.sgds.footer .footer-items>div[class*=col]+div[class*=col]{margin-top:2rem}}.sgds.footer .footer-items .title{font-weight:700}.sgds.footer .footer-items .links{margin-top:1rem}.sgds.footer .footer-contact-links{margin-top:2rem}@media (min-width:992px){.sgds.footer .footer-contact-links ul li{display:inline-block}.sgds.footer .footer-contact-links ul li+li{margin-left:1rem}}.sgds.footer .footer-bottom{background-color:#111;padding:1.5rem 0}@media (min-width:992px){.sgds.footer .footer-mandatory-links ul li{display:inline-block}.sgds.footer .footer-mandatory-links ul li+li{margin-left:1rem}}@media (max-width:991.98px){.sgds.footer .footer-copyrights{margin-top:1rem}}.d-flex{display:flex!important}.text-end{text-align:right!important}@media (min-width:992px){.justify-content-lg-end{justify-content:flex-end!important}}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-footer.cjs.js","sources":["../../../../src/components/Footer/sgds-footer.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport footerStyle from \"./footer.css\";\nexport interface ColumnLinks {\n title: string;\n links: Links[];\n}\nexport interface Links {\n href: string;\n label: string;\n}\n\n/**\n * @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.\n *\n * @csspart footer-top - The component's footer-top section container.\n * @csspart footer-bottom - The component's footer-bottom section container.\n *\n * @cssproperty footer-top - The component's footer-top section container.\n * @cssproperty footer-bottom - The component's footer-bottom section container.\n */\nexport class SgdsFooter extends SgdsElement {\n static styles = [...SgdsElement.styles, footerStyle];\n\n /**\n * \tSets title of SgdsFooter\n */\n @property({ type: String })\n title = \"\";\n\n /**\n * \tSets description of SgdsFooter\n */\n @property({ type: String })\n description = \"\";\n\n /**\n * \tSets copyrightLiner of SgdsFooter\n */\n @property({ type: String })\n copyrightLiner = \"Government of Singapore\";\n\n /**\n * Array of type\n *\n * `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`\n */\n @property({\n type: Array\n })\n links: ColumnLinks[] = [];\n\n /**\n * String date for last updated date\n */\n @property({ type: String })\n lastUpdatedDate = \"\";\n\n /**\n * \thref link for contacts\n */\n @property({ type: String })\n contactHref = \"#\";\n\n /**\n * \thref link for feedback\n */\n @property({ type: String })\n feedbackHref = \"#\";\n\n /**\n * \thref link for privacy statement\n */\n @property({ type: String })\n privacyHref = \"#\";\n\n /**\n * \thref link for terms of use\n */\n @property({ type: String })\n termsOfUseHref = \"#\";\n\n render() {\n // if description is defined\n const hasDescription = html` <div class=\"description\">${this.description}</div>`;\n\n return html`\n <footer class=\"sgds footer\">\n <section class=\"footer-top\" part=\"footer-top\">\n <div class=\"container-fluid\">\n <div class=\"row footer-header\">\n <div class=\"col col-lg-6 col-md-12\">\n <div class=\"title\">${this.title ? this.title : \"Footer title\"}</div>\n ${this.description ? hasDescription : undefined}\n </div>\n </div>\n <div class=\"row footer-items\">\n ${this.links.map(\n (item: ColumnLinks) =>\n html`\n <div class=\"col-xxl-2 col-md-4 mb-3\">\n <div class=\"title\">${item.title}</div>\n <ul class=\"links\">\n ${item.links.map((link: Links) => html` <li><a href=${link.href}>${link.label}</a></li> `)}\n </ul>\n </div>\n `\n )}\n </div>\n <div class=\"row footer-contact-links\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end\">\n <ul>\n <li><a href=${this.contactHref}>Contact</a></li>\n <li><a href=${this.feedbackHref}>Feedback</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section class=\"footer-bottom\" part=\"footer-bottom\">\n <div class=\"container-fluid\">\n <div class=\"row footer-mandatory-links\">\n <div class=\"col\">\n <ul>\n <li>\n <a href=\"https://tech.gov.sg/report_vulnerability\" target=\"_blank\" rel=\"noopener noreferrer\"\n >Report Vulnerability</a\n >\n </li>\n <li><a href=${this.privacyHref}>Privacy Statement</a></li>\n <li><a href=${this.termsOfUseHref}>Terms of use</a></li>\n </ul>\n </div>\n </div>\n <div class=\"row footer-copyrights\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end text-end\">\n © ${new Date().getFullYear()} ${this.copyrightLiner}<br />\n Last Updated ${this.lastUpdatedDate}\n </div>\n </div>\n </div>\n </div>\n </section>\n </footer>\n `;\n }\n}\n\nexport default SgdsFooter;\n"],"names":["SgdsElement","html","footerStyle","__decorate","property"],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { html } from 'lit';
4
+ import { property } from 'lit/decorators.js';
5
+ import SgdsElement from '../../base/sgds-element.js';
6
+ import css_248z from './footer.js';
7
+
8
+ /**
9
+ * @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.
10
+ *
11
+ * @csspart footer-top - The component's footer-top section container.
12
+ * @csspart footer-bottom - The component's footer-bottom section container.
13
+ *
14
+ * @cssproperty footer-top - The component's footer-top section container.
15
+ * @cssproperty footer-bottom - The component's footer-bottom section container.
16
+ */
17
+ class SgdsFooter extends SgdsElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ /**
21
+ * Sets title of SgdsFooter
22
+ */
23
+ this.title = "";
24
+ /**
25
+ * Sets description of SgdsFooter
26
+ */
27
+ this.description = "";
28
+ /**
29
+ * Sets copyrightLiner of SgdsFooter
30
+ */
31
+ this.copyrightLiner = "Government of Singapore";
32
+ /**
33
+ * Array of type
34
+ *
35
+ * `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`
36
+ */
37
+ this.links = [];
38
+ /**
39
+ * String date for last updated date
40
+ */
41
+ this.lastUpdatedDate = "";
42
+ /**
43
+ * href link for contacts
44
+ */
45
+ this.contactHref = "#";
46
+ /**
47
+ * href link for feedback
48
+ */
49
+ this.feedbackHref = "#";
50
+ /**
51
+ * href link for privacy statement
52
+ */
53
+ this.privacyHref = "#";
54
+ /**
55
+ * href link for terms of use
56
+ */
57
+ this.termsOfUseHref = "#";
58
+ }
59
+ render() {
60
+ // if description is defined
61
+ const hasDescription = html ` <div class="description">${this.description}</div>`;
62
+ return html `
63
+ <footer class="sgds footer">
64
+ <section class="footer-top" part="footer-top">
65
+ <div class="container-fluid">
66
+ <div class="row footer-header">
67
+ <div class="col col-lg-6 col-md-12">
68
+ <div class="title">${this.title ? this.title : "Footer title"}</div>
69
+ ${this.description ? hasDescription : undefined}
70
+ </div>
71
+ </div>
72
+ <div class="row footer-items">
73
+ ${this.links.map((item) => html `
74
+ <div class="col-xxl-2 col-md-4 mb-3">
75
+ <div class="title">${item.title}</div>
76
+ <ul class="links">
77
+ ${item.links.map((link) => html ` <li><a href=${link.href}>${link.label}</a></li> `)}
78
+ </ul>
79
+ </div>
80
+ `)}
81
+ </div>
82
+ <div class="row footer-contact-links">
83
+ <div class="col">
84
+ <div class="d-flex justify-content-lg-end">
85
+ <ul>
86
+ <li><a href=${this.contactHref}>Contact</a></li>
87
+ <li><a href=${this.feedbackHref}>Feedback</a></li>
88
+ </ul>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </section>
94
+ <section class="footer-bottom" part="footer-bottom">
95
+ <div class="container-fluid">
96
+ <div class="row footer-mandatory-links">
97
+ <div class="col">
98
+ <ul>
99
+ <li>
100
+ <a href="https://tech.gov.sg/report_vulnerability" target="_blank" rel="noopener noreferrer"
101
+ >Report Vulnerability</a
102
+ >
103
+ </li>
104
+ <li><a href=${this.privacyHref}>Privacy Statement</a></li>
105
+ <li><a href=${this.termsOfUseHref}>Terms of use</a></li>
106
+ </ul>
107
+ </div>
108
+ </div>
109
+ <div class="row footer-copyrights">
110
+ <div class="col">
111
+ <div class="d-flex justify-content-lg-end text-end">
112
+ © ${new Date().getFullYear()} ${this.copyrightLiner}<br />
113
+ Last Updated ${this.lastUpdatedDate}
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </section>
119
+ </footer>
120
+ `;
121
+ }
122
+ }
123
+ SgdsFooter.styles = [...SgdsElement.styles, css_248z];
124
+ __decorate([
125
+ property({ type: String })
126
+ ], SgdsFooter.prototype, "title", void 0);
127
+ __decorate([
128
+ property({ type: String })
129
+ ], SgdsFooter.prototype, "description", void 0);
130
+ __decorate([
131
+ property({ type: String })
132
+ ], SgdsFooter.prototype, "copyrightLiner", void 0);
133
+ __decorate([
134
+ property({
135
+ type: Array
136
+ })
137
+ ], SgdsFooter.prototype, "links", void 0);
138
+ __decorate([
139
+ property({ type: String })
140
+ ], SgdsFooter.prototype, "lastUpdatedDate", void 0);
141
+ __decorate([
142
+ property({ type: String })
143
+ ], SgdsFooter.prototype, "contactHref", void 0);
144
+ __decorate([
145
+ property({ type: String })
146
+ ], SgdsFooter.prototype, "feedbackHref", void 0);
147
+ __decorate([
148
+ property({ type: String })
149
+ ], SgdsFooter.prototype, "privacyHref", void 0);
150
+ __decorate([
151
+ property({ type: String })
152
+ ], SgdsFooter.prototype, "termsOfUseHref", void 0);
153
+
154
+ export { SgdsFooter, SgdsFooter as default };
155
+ //# sourceMappingURL=sgds-footer.js.map