@govtechsg/sgds-web-component 1.0.0-rc.2 → 1.0.0-rc.4

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 (799) hide show
  1. package/README.md +60 -7
  2. package/base/card-element.cjs.js +23 -0
  3. package/base/card-element.cjs.js.map +1 -0
  4. package/base/card-element.js +19 -0
  5. package/base/card-element.js.map +1 -0
  6. package/base/dropdown-element.cjs.js +179 -0
  7. package/base/dropdown-element.cjs.js.map +1 -0
  8. package/base/dropdown-element.d.ts +13 -24
  9. package/base/dropdown-element.js +171 -0
  10. package/base/dropdown-element.js.map +1 -0
  11. package/base/dropdown-list-element.cjs.js +133 -0
  12. package/base/dropdown-list-element.cjs.js.map +1 -0
  13. package/base/dropdown-list-element.d.ts +22 -0
  14. package/base/dropdown-list-element.js +129 -0
  15. package/base/dropdown-list-element.js.map +1 -0
  16. package/base/link-element.cjs.js +59 -0
  17. package/base/link-element.cjs.js.map +1 -0
  18. package/base/link-element.js +55 -0
  19. package/base/link-element.js.map +1 -0
  20. package/base/sgds-element.cjs.js +27 -0
  21. package/base/sgds-element.cjs.js.map +1 -0
  22. package/base/sgds-element.cjs2.js +10 -0
  23. package/base/sgds-element.cjs2.js.map +1 -0
  24. package/base/sgds-element.js +23 -0
  25. package/base/sgds-element.js.map +1 -0
  26. package/base/sgds-element2.js +6 -0
  27. package/base/sgds-element2.js.map +1 -0
  28. package/components/Accordion/index.d.ts +8 -2
  29. package/components/Accordion/index.js +6 -0
  30. package/components/Accordion/index.js.map +1 -0
  31. package/components/Accordion/index.umd.js +516 -0
  32. package/components/Accordion/index.umd.js.map +1 -0
  33. package/components/Accordion/sgds-accordion-item.cjs.js +187 -0
  34. package/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  35. package/components/Accordion/sgds-accordion-item.cjs2.js +10 -0
  36. package/components/Accordion/sgds-accordion-item.cjs2.js.map +1 -0
  37. package/components/Accordion/sgds-accordion-item.d.ts +6 -6
  38. package/components/Accordion/sgds-accordion-item.js +182 -0
  39. package/components/Accordion/sgds-accordion-item.js.map +1 -0
  40. package/components/Accordion/sgds-accordion-item2.js +6 -0
  41. package/components/Accordion/sgds-accordion-item2.js.map +1 -0
  42. package/components/Accordion/sgds-accordion.cjs.js +88 -0
  43. package/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  44. package/components/Accordion/sgds-accordion.js +83 -0
  45. package/components/Accordion/sgds-accordion.js.map +1 -0
  46. package/components/ActionCard/index.d.ts +6 -1
  47. package/components/ActionCard/index.js +4 -0
  48. package/components/ActionCard/index.js.map +1 -0
  49. package/components/ActionCard/index.umd.js +1008 -0
  50. package/components/ActionCard/index.umd.js.map +1 -0
  51. package/components/ActionCard/sgds-action-card.cjs.js +157 -0
  52. package/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  53. package/components/ActionCard/sgds-action-card.cjs2.js +10 -0
  54. package/components/ActionCard/sgds-action-card.cjs2.js.map +1 -0
  55. package/components/ActionCard/sgds-action-card.d.ts +2 -2
  56. package/components/ActionCard/sgds-action-card.js +152 -0
  57. package/components/ActionCard/sgds-action-card.js.map +1 -0
  58. package/components/ActionCard/sgds-action-card2.js +6 -0
  59. package/components/ActionCard/sgds-action-card2.js.map +1 -0
  60. package/components/Alert/index.d.ts +10 -3
  61. package/components/Alert/index.js +8 -0
  62. package/components/Alert/index.js.map +1 -0
  63. package/components/Alert/index.umd.js +293 -0
  64. package/components/Alert/index.umd.js.map +1 -0
  65. package/components/Alert/sgds-alert-heading.cjs.js +36 -0
  66. package/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  67. package/components/Alert/sgds-alert-heading.js +31 -0
  68. package/components/Alert/sgds-alert-heading.js.map +1 -0
  69. package/components/Alert/sgds-alert-link.cjs.js +35 -0
  70. package/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  71. package/components/Alert/sgds-alert-link.cjs2.js +10 -0
  72. package/components/Alert/sgds-alert-link.cjs2.js.map +1 -0
  73. package/components/Alert/sgds-alert-link.js +30 -0
  74. package/components/Alert/sgds-alert-link.js.map +1 -0
  75. package/components/Alert/sgds-alert-link2.js +6 -0
  76. package/components/Alert/sgds-alert-link2.js.map +1 -0
  77. package/components/Alert/sgds-alert.cjs.js +87 -0
  78. package/components/Alert/sgds-alert.cjs.js.map +1 -0
  79. package/components/Alert/sgds-alert.cjs2.js +10 -0
  80. package/components/Alert/sgds-alert.cjs2.js.map +1 -0
  81. package/components/Alert/sgds-alert.js +82 -0
  82. package/components/Alert/sgds-alert.js.map +1 -0
  83. package/components/Alert/sgds-alert2.js +6 -0
  84. package/components/Alert/sgds-alert2.js.map +1 -0
  85. package/components/Badge/index.d.ts +6 -1
  86. package/components/Badge/index.js +4 -0
  87. package/components/Badge/index.js.map +1 -0
  88. package/components/Badge/index.umd.js +171 -0
  89. package/components/Badge/index.umd.js.map +1 -0
  90. package/components/Badge/sgds-badge.cjs.js +62 -0
  91. package/components/Badge/sgds-badge.cjs.js.map +1 -0
  92. package/components/Badge/sgds-badge.cjs2.js +10 -0
  93. package/components/Badge/sgds-badge.cjs2.js.map +1 -0
  94. package/components/Badge/sgds-badge.js +57 -0
  95. package/components/Badge/sgds-badge.js.map +1 -0
  96. package/components/Badge/sgds-badge2.js +6 -0
  97. package/components/Badge/sgds-badge2.js.map +1 -0
  98. package/components/Breadcrumb/index.d.ts +8 -2
  99. package/components/Breadcrumb/index.js +6 -0
  100. package/components/Breadcrumb/index.js.map +1 -0
  101. package/components/Breadcrumb/index.umd.js +272 -0
  102. package/components/Breadcrumb/index.umd.js.map +1 -0
  103. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js +67 -0
  104. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  105. package/components/Breadcrumb/sgds-breadcrumb-item.js +62 -0
  106. package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  107. package/components/Breadcrumb/sgds-breadcrumb.cjs.js +85 -0
  108. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  109. package/components/Breadcrumb/sgds-breadcrumb.cjs2.js +10 -0
  110. package/components/Breadcrumb/sgds-breadcrumb.cjs2.js.map +1 -0
  111. package/components/Breadcrumb/sgds-breadcrumb.js +80 -0
  112. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  113. package/components/Breadcrumb/sgds-breadcrumb2.js +6 -0
  114. package/components/Breadcrumb/sgds-breadcrumb2.js.map +1 -0
  115. package/components/Button/index.d.ts +6 -1
  116. package/components/Button/index.js +4 -0
  117. package/components/Button/index.js.map +1 -0
  118. package/components/Button/index.umd.js +423 -0
  119. package/components/Button/index.umd.js.map +1 -0
  120. package/components/Button/sgds-button.cjs.js +163 -0
  121. package/components/Button/sgds-button.cjs.js.map +1 -0
  122. package/components/Button/sgds-button.cjs2.js +10 -0
  123. package/components/Button/sgds-button.cjs2.js.map +1 -0
  124. package/components/Button/sgds-button.d.ts +1 -2
  125. package/components/Button/sgds-button.js +158 -0
  126. package/components/Button/sgds-button.js.map +1 -0
  127. package/components/Button/sgds-button2.js +6 -0
  128. package/components/Button/sgds-button2.js.map +1 -0
  129. package/components/Card/index.d.ts +6 -1
  130. package/components/Card/index.js +4 -0
  131. package/components/Card/index.js.map +1 -0
  132. package/components/Card/index.umd.js +202 -0
  133. package/components/Card/index.umd.js.map +1 -0
  134. package/components/Card/sgds-card.cjs.js +81 -0
  135. package/components/Card/sgds-card.cjs.js.map +1 -0
  136. package/components/Card/sgds-card.js +76 -0
  137. package/components/Card/sgds-card.js.map +1 -0
  138. package/components/Checkbox/index.d.ts +6 -1
  139. package/components/Checkbox/index.js +4 -0
  140. package/components/Checkbox/index.js.map +1 -0
  141. package/components/Checkbox/index.umd.js +505 -0
  142. package/components/Checkbox/index.umd.js.map +1 -0
  143. package/components/Checkbox/sgds-checkbox.cjs.js +176 -0
  144. package/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  145. package/components/Checkbox/sgds-checkbox.cjs2.js +10 -0
  146. package/components/Checkbox/sgds-checkbox.cjs2.js.map +1 -0
  147. package/components/Checkbox/sgds-checkbox.js +171 -0
  148. package/components/Checkbox/sgds-checkbox.js.map +1 -0
  149. package/components/Checkbox/sgds-checkbox2.js +6 -0
  150. package/components/Checkbox/sgds-checkbox2.js.map +1 -0
  151. package/components/ComboBox/index.d.ts +6 -0
  152. package/components/ComboBox/index.js +4 -0
  153. package/components/ComboBox/index.js.map +1 -0
  154. package/components/ComboBox/index.umd.js +4495 -0
  155. package/components/ComboBox/index.umd.js.map +1 -0
  156. package/components/ComboBox/sgds-combo-box.cjs.js +168 -0
  157. package/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  158. package/components/ComboBox/sgds-combo-box.cjs2.js +10 -0
  159. package/components/ComboBox/sgds-combo-box.cjs2.js.map +1 -0
  160. package/components/ComboBox/sgds-combo-box.d.ts +52 -0
  161. package/components/ComboBox/sgds-combo-box.js +163 -0
  162. package/components/ComboBox/sgds-combo-box.js.map +1 -0
  163. package/components/ComboBox/sgds-combo-box2.js +6 -0
  164. package/components/ComboBox/sgds-combo-box2.js.map +1 -0
  165. package/components/Datepicker/datepicker-calendar.cjs.js +282 -0
  166. package/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  167. package/components/Datepicker/datepicker-calendar.cjs2.js +10 -0
  168. package/components/Datepicker/datepicker-calendar.cjs2.js.map +1 -0
  169. package/components/Datepicker/datepicker-calendar.d.ts +41 -0
  170. package/components/Datepicker/datepicker-calendar.js +277 -0
  171. package/components/Datepicker/datepicker-calendar.js.map +1 -0
  172. package/components/Datepicker/datepicker-calendar2.js +6 -0
  173. package/components/Datepicker/datepicker-calendar2.js.map +1 -0
  174. package/components/Datepicker/datepicker-header.cjs.js +147 -0
  175. package/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  176. package/components/Datepicker/datepicker-header.cjs2.js +10 -0
  177. package/components/Datepicker/datepicker-header.cjs2.js.map +1 -0
  178. package/components/Datepicker/datepicker-header.d.ts +19 -0
  179. package/components/Datepicker/datepicker-header.js +142 -0
  180. package/components/Datepicker/datepicker-header.js.map +1 -0
  181. package/components/Datepicker/datepicker-header2.js +6 -0
  182. package/components/Datepicker/datepicker-header2.js.map +1 -0
  183. package/components/Datepicker/index.d.ts +6 -0
  184. package/components/Datepicker/index.js +4 -0
  185. package/components/Datepicker/index.js.map +1 -0
  186. package/components/Datepicker/index.umd.js +4949 -0
  187. package/components/Datepicker/index.umd.js.map +1 -0
  188. package/components/Datepicker/sgds-datepicker.cjs.js +336 -0
  189. package/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  190. package/components/Datepicker/sgds-datepicker.cjs2.js +10 -0
  191. package/components/Datepicker/sgds-datepicker.cjs2.js.map +1 -0
  192. package/components/Datepicker/sgds-datepicker.d.ts +72 -0
  193. package/components/Datepicker/sgds-datepicker.js +331 -0
  194. package/components/Datepicker/sgds-datepicker.js.map +1 -0
  195. package/components/Datepicker/sgds-datepicker2.js +6 -0
  196. package/components/Datepicker/sgds-datepicker2.js.map +1 -0
  197. package/components/Drawer/index.d.ts +6 -1
  198. package/components/Drawer/index.js +4 -0
  199. package/components/Drawer/index.js.map +1 -0
  200. package/components/Drawer/index.umd.js +725 -0
  201. package/components/Drawer/index.umd.js.map +1 -0
  202. package/components/Drawer/sgds-drawer.cjs.js +411 -0
  203. package/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  204. package/components/Drawer/sgds-drawer.cjs2.js +10 -0
  205. package/components/Drawer/sgds-drawer.cjs2.js.map +1 -0
  206. package/components/Drawer/sgds-drawer.js +406 -0
  207. package/components/Drawer/sgds-drawer.js.map +1 -0
  208. package/components/Drawer/sgds-drawer2.js +6 -0
  209. package/components/Drawer/sgds-drawer2.js.map +1 -0
  210. package/components/Dropdown/index.d.ts +8 -2
  211. package/components/Dropdown/index.js +6 -0
  212. package/components/Dropdown/index.js.map +1 -0
  213. package/components/Dropdown/index.umd.js +4388 -0
  214. package/components/Dropdown/index.umd.js.map +1 -0
  215. package/components/Dropdown/sgds-dropdown-item.cjs.js +50 -0
  216. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  217. package/components/Dropdown/sgds-dropdown-item.js +45 -0
  218. package/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  219. package/components/Dropdown/sgds-dropdown.cjs.js +113 -0
  220. package/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  221. package/components/Dropdown/sgds-dropdown.d.ts +7 -4
  222. package/components/Dropdown/sgds-dropdown.js +108 -0
  223. package/components/Dropdown/sgds-dropdown.js.map +1 -0
  224. package/components/FileUpload/index.d.ts +6 -1
  225. package/components/FileUpload/index.js +4 -0
  226. package/components/FileUpload/index.js.map +1 -0
  227. package/components/FileUpload/index.umd.js +852 -0
  228. package/components/FileUpload/index.umd.js.map +1 -0
  229. package/components/FileUpload/sgds-file-upload.cjs.js +190 -0
  230. package/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  231. package/components/FileUpload/sgds-file-upload.cjs2.js +10 -0
  232. package/components/FileUpload/sgds-file-upload.cjs2.js.map +1 -0
  233. package/components/FileUpload/sgds-file-upload.d.ts +1 -1
  234. package/components/FileUpload/sgds-file-upload.js +185 -0
  235. package/components/FileUpload/sgds-file-upload.js.map +1 -0
  236. package/components/FileUpload/sgds-file-upload2.js +6 -0
  237. package/components/FileUpload/sgds-file-upload2.js.map +1 -0
  238. package/components/Footer/index.d.ts +6 -1
  239. package/components/Footer/index.js +4 -0
  240. package/components/Footer/index.js.map +1 -0
  241. package/components/Footer/index.umd.js +272 -0
  242. package/components/Footer/index.umd.js.map +1 -0
  243. package/components/Footer/sgds-footer.cjs.js +175 -0
  244. package/components/Footer/sgds-footer.cjs.js.map +1 -0
  245. package/components/Footer/sgds-footer.cjs2.js +10 -0
  246. package/components/Footer/sgds-footer.cjs2.js.map +1 -0
  247. package/components/Footer/sgds-footer.js +170 -0
  248. package/components/Footer/sgds-footer.js.map +1 -0
  249. package/components/Footer/sgds-footer2.js +6 -0
  250. package/components/Footer/sgds-footer2.js.map +1 -0
  251. package/components/Input/index.d.ts +6 -1
  252. package/components/Input/index.js +4 -0
  253. package/components/Input/index.js.map +1 -0
  254. package/components/Input/index.umd.js +583 -0
  255. package/components/Input/index.umd.js.map +1 -0
  256. package/components/Input/sgds-input.cjs.js +238 -0
  257. package/components/Input/sgds-input.cjs.js.map +1 -0
  258. package/components/Input/sgds-input.js +233 -0
  259. package/components/Input/sgds-input.js.map +1 -0
  260. package/components/Mainnav/index.d.ts +10 -3
  261. package/components/Mainnav/index.js +8 -0
  262. package/components/Mainnav/index.js.map +1 -0
  263. package/components/Mainnav/index.umd.js +4274 -0
  264. package/components/Mainnav/index.umd.js.map +1 -0
  265. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js +78 -0
  266. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  267. package/components/Mainnav/sgds-mainnav-dropdown.cjs2.js +10 -0
  268. package/components/Mainnav/sgds-mainnav-dropdown.cjs2.js.map +1 -0
  269. package/components/Mainnav/sgds-mainnav-dropdown.d.ts +11 -4
  270. package/components/Mainnav/sgds-mainnav-dropdown.js +73 -0
  271. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  272. package/components/Mainnav/sgds-mainnav-dropdown2.js +6 -0
  273. package/components/Mainnav/sgds-mainnav-dropdown2.js.map +1 -0
  274. package/components/Mainnav/sgds-mainnav-item.cjs.js +21 -0
  275. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  276. package/components/Mainnav/sgds-mainnav-item.cjs2.js +10 -0
  277. package/components/Mainnav/sgds-mainnav-item.cjs2.js.map +1 -0
  278. package/components/Mainnav/sgds-mainnav-item.js +16 -0
  279. package/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  280. package/components/Mainnav/sgds-mainnav-item2.js +6 -0
  281. package/components/Mainnav/sgds-mainnav-item2.js.map +1 -0
  282. package/components/Mainnav/sgds-mainnav.cjs.js +169 -0
  283. package/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  284. package/components/Mainnav/sgds-mainnav.cjs2.js +10 -0
  285. package/components/Mainnav/sgds-mainnav.cjs2.js.map +1 -0
  286. package/components/Mainnav/sgds-mainnav.js +160 -0
  287. package/components/Mainnav/sgds-mainnav.js.map +1 -0
  288. package/components/Mainnav/sgds-mainnav2.js +6 -0
  289. package/components/Mainnav/sgds-mainnav2.js.map +1 -0
  290. package/components/Masthead/index.d.ts +6 -1
  291. package/components/Masthead/index.js +4 -0
  292. package/components/Masthead/index.js.map +1 -0
  293. package/components/Masthead/index.umd.js +308 -0
  294. package/components/Masthead/index.umd.js.map +1 -0
  295. package/components/Masthead/sgds-masthead.cjs.js +205 -0
  296. package/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  297. package/components/Masthead/sgds-masthead.cjs2.js +10 -0
  298. package/components/Masthead/sgds-masthead.cjs2.js.map +1 -0
  299. package/components/Masthead/sgds-masthead.js +200 -0
  300. package/components/Masthead/sgds-masthead.js.map +1 -0
  301. package/components/Masthead/sgds-masthead2.js +6 -0
  302. package/components/Masthead/sgds-masthead2.js.map +1 -0
  303. package/components/Modal/index.d.ts +6 -1
  304. package/components/Modal/index.js +4 -0
  305. package/components/Modal/index.js.map +1 -0
  306. package/components/Modal/index.umd.js +771 -0
  307. package/components/Modal/index.umd.js.map +1 -0
  308. package/components/Modal/sgds-modal.cjs.js +330 -0
  309. package/components/Modal/sgds-modal.cjs.js.map +1 -0
  310. package/components/Modal/sgds-modal.cjs2.js +10 -0
  311. package/components/Modal/sgds-modal.cjs2.js.map +1 -0
  312. package/components/Modal/sgds-modal.d.ts +4 -2
  313. package/components/Modal/sgds-modal.js +325 -0
  314. package/components/Modal/sgds-modal.js.map +1 -0
  315. package/components/Modal/sgds-modal2.js +6 -0
  316. package/components/Modal/sgds-modal2.js.map +1 -0
  317. package/components/Pagination/index.d.ts +6 -0
  318. package/components/Pagination/index.js +4 -0
  319. package/components/Pagination/index.js.map +1 -0
  320. package/components/Pagination/index.umd.js +445 -0
  321. package/components/Pagination/index.umd.js.map +1 -0
  322. package/components/Pagination/sgds-pagination.cjs.js +312 -0
  323. package/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  324. package/components/Pagination/sgds-pagination.cjs2.js +10 -0
  325. package/components/Pagination/sgds-pagination.cjs2.js.map +1 -0
  326. package/components/Pagination/sgds-pagination.d.ts +71 -0
  327. package/components/Pagination/sgds-pagination.js +307 -0
  328. package/components/Pagination/sgds-pagination.js.map +1 -0
  329. package/components/Pagination/sgds-pagination2.js +6 -0
  330. package/components/Pagination/sgds-pagination2.js.map +1 -0
  331. package/components/Progress/index.d.ts +2 -0
  332. package/components/Progress/index.umd.js +225 -0
  333. package/components/Progress/index.umd.js.map +1 -0
  334. package/components/Progress/sgds-progress-bar.cjs.js +80 -0
  335. package/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  336. package/components/Progress/sgds-progress-bar.cjs2.js +10 -0
  337. package/components/Progress/sgds-progress-bar.cjs2.js.map +1 -0
  338. package/components/Progress/sgds-progress-bar.d.ts +39 -0
  339. package/components/Progress/sgds-progress-bar.js +75 -0
  340. package/components/Progress/sgds-progress-bar.js.map +1 -0
  341. package/components/Progress/sgds-progress-bar2.js +6 -0
  342. package/components/Progress/sgds-progress-bar2.js.map +1 -0
  343. package/components/Progress/sgds-progress.cjs.js +39 -0
  344. package/components/Progress/sgds-progress.cjs.js.map +1 -0
  345. package/components/Progress/sgds-progress.cjs2.js +10 -0
  346. package/components/Progress/sgds-progress.cjs2.js.map +1 -0
  347. package/components/Progress/sgds-progress.d.ts +14 -0
  348. package/components/Progress/sgds-progress.js +34 -0
  349. package/components/Progress/sgds-progress.js.map +1 -0
  350. package/components/Progress/sgds-progress2.js +6 -0
  351. package/components/Progress/sgds-progress2.js.map +1 -0
  352. package/components/QuantityToggle/index.d.ts +6 -1
  353. package/components/QuantityToggle/index.js +4 -0
  354. package/components/QuantityToggle/index.js.map +1 -0
  355. package/components/QuantityToggle/index.umd.js +487 -0
  356. package/components/QuantityToggle/index.umd.js.map +1 -0
  357. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js +194 -0
  358. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  359. package/components/QuantityToggle/sgds-quantity-toggle.cjs2.js +10 -0
  360. package/components/QuantityToggle/sgds-quantity-toggle.cjs2.js.map +1 -0
  361. package/components/QuantityToggle/sgds-quantity-toggle.d.ts +1 -1
  362. package/components/QuantityToggle/sgds-quantity-toggle.js +189 -0
  363. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  364. package/components/QuantityToggle/sgds-quantity-toggle2.js +6 -0
  365. package/components/QuantityToggle/sgds-quantity-toggle2.js.map +1 -0
  366. package/components/Radio/index.d.ts +8 -2
  367. package/components/Radio/index.js +6 -0
  368. package/components/Radio/index.js.map +1 -0
  369. package/components/Radio/index.umd.js +646 -0
  370. package/components/Radio/index.umd.js.map +1 -0
  371. package/components/Radio/sgds-radio-group.cjs.js +222 -0
  372. package/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  373. package/components/Radio/sgds-radio-group.cjs2.js +10 -0
  374. package/components/Radio/sgds-radio-group.cjs2.js.map +1 -0
  375. package/components/Radio/sgds-radio-group.d.ts +0 -5
  376. package/components/Radio/sgds-radio-group.js +217 -0
  377. package/components/Radio/sgds-radio-group.js.map +1 -0
  378. package/components/Radio/sgds-radio-group2.js +6 -0
  379. package/components/Radio/sgds-radio-group2.js.map +1 -0
  380. package/components/Radio/sgds-radio.cjs.js +126 -0
  381. package/components/Radio/sgds-radio.cjs.js.map +1 -0
  382. package/components/Radio/sgds-radio.cjs2.js +10 -0
  383. package/components/Radio/sgds-radio.cjs2.js.map +1 -0
  384. package/components/Radio/sgds-radio.d.ts +0 -5
  385. package/components/Radio/sgds-radio.js +121 -0
  386. package/components/Radio/sgds-radio.js.map +1 -0
  387. package/components/Radio/sgds-radio2.js +6 -0
  388. package/components/Radio/sgds-radio2.js.map +1 -0
  389. package/components/Sidenav/index.d.ts +10 -3
  390. package/components/Sidenav/index.js +8 -0
  391. package/components/Sidenav/index.js.map +1 -0
  392. package/components/Sidenav/index.umd.js +1615 -0
  393. package/components/Sidenav/index.umd.js.map +1 -0
  394. package/components/Sidenav/sgds-sidenav-item.cjs.js +180 -0
  395. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  396. package/components/Sidenav/sgds-sidenav-item.cjs2.js +10 -0
  397. package/components/Sidenav/sgds-sidenav-item.cjs2.js.map +1 -0
  398. package/components/Sidenav/sgds-sidenav-item.js +171 -0
  399. package/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  400. package/components/Sidenav/sgds-sidenav-item2.js +6 -0
  401. package/components/Sidenav/sgds-sidenav-item2.js.map +1 -0
  402. package/components/Sidenav/sgds-sidenav-link.cjs.js +22 -0
  403. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  404. package/components/Sidenav/sgds-sidenav-link.cjs2.js +10 -0
  405. package/components/Sidenav/sgds-sidenav-link.cjs2.js.map +1 -0
  406. package/components/Sidenav/sgds-sidenav-link.js +17 -0
  407. package/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  408. package/components/Sidenav/sgds-sidenav-link2.js +6 -0
  409. package/components/Sidenav/sgds-sidenav-link2.js.map +1 -0
  410. package/components/Sidenav/sgds-sidenav.cjs.js +53 -0
  411. package/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  412. package/components/Sidenav/sgds-sidenav.cjs2.js +10 -0
  413. package/components/Sidenav/sgds-sidenav.cjs2.js.map +1 -0
  414. package/components/Sidenav/sgds-sidenav.js +48 -0
  415. package/components/Sidenav/sgds-sidenav.js.map +1 -0
  416. package/components/Sidenav/sgds-sidenav2.js +6 -0
  417. package/components/Sidenav/sgds-sidenav2.js.map +1 -0
  418. package/components/Spinner/index.d.ts +6 -1
  419. package/components/Spinner/index.js +4 -0
  420. package/components/Spinner/index.js.map +1 -0
  421. package/components/Spinner/index.umd.js +167 -0
  422. package/components/Spinner/index.umd.js.map +1 -0
  423. package/components/Spinner/sgds-spinner.cjs.js +52 -0
  424. package/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  425. package/components/Spinner/sgds-spinner.cjs2.js +10 -0
  426. package/components/Spinner/sgds-spinner.cjs2.js.map +1 -0
  427. package/components/Spinner/sgds-spinner.js +47 -0
  428. package/components/Spinner/sgds-spinner.js.map +1 -0
  429. package/components/Spinner/sgds-spinner2.js +6 -0
  430. package/components/Spinner/sgds-spinner2.js.map +1 -0
  431. package/components/Stepper/index.d.ts +6 -1
  432. package/components/Stepper/index.js +4 -0
  433. package/components/Stepper/index.js.map +1 -0
  434. package/components/Stepper/index.umd.js +302 -0
  435. package/components/Stepper/index.umd.js.map +1 -0
  436. package/components/Stepper/sgds-stepper.cjs.js +138 -0
  437. package/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  438. package/components/Stepper/sgds-stepper.cjs2.js +10 -0
  439. package/components/Stepper/sgds-stepper.cjs2.js.map +1 -0
  440. package/components/Stepper/sgds-stepper.d.ts +3 -3
  441. package/components/Stepper/sgds-stepper.js +133 -0
  442. package/components/Stepper/sgds-stepper.js.map +1 -0
  443. package/components/Stepper/sgds-stepper2.js +6 -0
  444. package/components/Stepper/sgds-stepper2.js.map +1 -0
  445. package/components/Tab/index.d.ts +10 -3
  446. package/components/Tab/index.js +8 -0
  447. package/components/Tab/index.js.map +1 -0
  448. package/components/Tab/index.umd.js +574 -0
  449. package/components/Tab/index.umd.js.map +1 -0
  450. package/components/Tab/sgds-tab-group.cjs.js +254 -0
  451. package/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  452. package/components/Tab/sgds-tab-group.cjs2.js +10 -0
  453. package/components/Tab/sgds-tab-group.cjs2.js.map +1 -0
  454. package/components/Tab/sgds-tab-group.js +249 -0
  455. package/components/Tab/sgds-tab-group.js.map +1 -0
  456. package/components/Tab/sgds-tab-group2.js +6 -0
  457. package/components/Tab/sgds-tab-group2.js.map +1 -0
  458. package/components/Tab/sgds-tab-panel.cjs.js +66 -0
  459. package/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  460. package/components/Tab/sgds-tab-panel.cjs2.js +10 -0
  461. package/components/Tab/sgds-tab-panel.cjs2.js.map +1 -0
  462. package/components/Tab/sgds-tab-panel.d.ts +1 -1
  463. package/components/Tab/sgds-tab-panel.js +61 -0
  464. package/components/Tab/sgds-tab-panel.js.map +1 -0
  465. package/components/Tab/sgds-tab-panel2.js +6 -0
  466. package/components/Tab/sgds-tab-panel2.js.map +1 -0
  467. package/components/Tab/sgds-tab.cjs.js +113 -0
  468. package/components/Tab/sgds-tab.cjs.js.map +1 -0
  469. package/components/Tab/sgds-tab.cjs2.js +10 -0
  470. package/components/Tab/sgds-tab.cjs2.js.map +1 -0
  471. package/components/Tab/sgds-tab.js +108 -0
  472. package/components/Tab/sgds-tab.js.map +1 -0
  473. package/components/Tab/sgds-tab2.js +6 -0
  474. package/components/Tab/sgds-tab2.js.map +1 -0
  475. package/components/Table/index.d.ts +6 -1
  476. package/components/Table/index.js +4 -0
  477. package/components/Table/index.js.map +1 -0
  478. package/components/Table/index.umd.js +386 -0
  479. package/components/Table/index.umd.js.map +1 -0
  480. package/components/Table/sgds-table.cjs.js +271 -0
  481. package/components/Table/sgds-table.cjs.js.map +1 -0
  482. package/components/Table/sgds-table.cjs2.js +10 -0
  483. package/components/Table/sgds-table.cjs2.js.map +1 -0
  484. package/components/Table/sgds-table.d.ts +8 -8
  485. package/components/Table/sgds-table.js +266 -0
  486. package/components/Table/sgds-table.js.map +1 -0
  487. package/components/Table/sgds-table2.js +6 -0
  488. package/components/Table/sgds-table2.js.map +1 -0
  489. package/components/Textarea/index.d.ts +6 -1
  490. package/components/Textarea/index.js +4 -0
  491. package/components/Textarea/index.js.map +1 -0
  492. package/components/Textarea/index.umd.js +602 -0
  493. package/components/Textarea/index.umd.js.map +1 -0
  494. package/components/Textarea/sgds-textarea.cjs.js +267 -0
  495. package/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  496. package/components/Textarea/sgds-textarea.cjs2.js +10 -0
  497. package/components/Textarea/sgds-textarea.cjs2.js.map +1 -0
  498. package/components/Textarea/sgds-textarea.js +262 -0
  499. package/components/Textarea/sgds-textarea.js.map +1 -0
  500. package/components/Textarea/sgds-textarea2.js +6 -0
  501. package/components/Textarea/sgds-textarea2.js.map +1 -0
  502. package/components/Toast/index.d.ts +8 -2
  503. package/components/Toast/index.js +6 -0
  504. package/components/Toast/index.js.map +1 -0
  505. package/components/Toast/index.umd.js +485 -0
  506. package/components/Toast/index.umd.js.map +1 -0
  507. package/components/Toast/sgds-toast-container.cjs.js +72 -0
  508. package/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  509. package/components/Toast/sgds-toast-container.cjs2.js +10 -0
  510. package/components/Toast/sgds-toast-container.cjs2.js.map +1 -0
  511. package/components/Toast/sgds-toast-container.js +67 -0
  512. package/components/Toast/sgds-toast-container.js.map +1 -0
  513. package/components/Toast/sgds-toast-container2.js +6 -0
  514. package/components/Toast/sgds-toast-container2.js.map +1 -0
  515. package/components/Toast/sgds-toast.cjs.js +165 -0
  516. package/components/Toast/sgds-toast.cjs.js.map +1 -0
  517. package/components/Toast/sgds-toast.cjs2.js +10 -0
  518. package/components/Toast/sgds-toast.cjs2.js.map +1 -0
  519. package/components/Toast/sgds-toast.js +160 -0
  520. package/components/Toast/sgds-toast.js.map +1 -0
  521. package/components/Toast/sgds-toast2.js +6 -0
  522. package/components/Toast/sgds-toast2.js.map +1 -0
  523. package/components/Tooltip/index.d.ts +6 -1
  524. package/components/Tooltip/index.js +4 -0
  525. package/components/Tooltip/index.js.map +1 -0
  526. package/components/Tooltip/index.umd.js +3952 -0
  527. package/components/Tooltip/index.umd.js.map +1 -0
  528. package/components/Tooltip/sgds-tooltip.cjs.js +145 -0
  529. package/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  530. package/components/Tooltip/sgds-tooltip.cjs2.js +10 -0
  531. package/components/Tooltip/sgds-tooltip.cjs2.js.map +1 -0
  532. package/components/Tooltip/sgds-tooltip.d.ts +3 -2
  533. package/components/Tooltip/sgds-tooltip.js +136 -0
  534. package/components/Tooltip/sgds-tooltip.js.map +1 -0
  535. package/components/Tooltip/sgds-tooltip2.js +6 -0
  536. package/components/Tooltip/sgds-tooltip2.js.map +1 -0
  537. package/components/index.d.ts +42 -0
  538. package/components/index.js +43 -0
  539. package/components/index.js.map +1 -0
  540. package/components/index.umd.js +11914 -0
  541. package/components/index.umd.js.map +1 -0
  542. package/index.d.ts +29 -1
  543. package/index.js +29 -12495
  544. package/index.js.map +1 -1
  545. package/{umd/index.js → index.umd.js} +7020 -7584
  546. package/index.umd.js.map +1 -0
  547. package/package.json +12 -3
  548. package/react/accordion/index.cjs.js +38 -0
  549. package/react/accordion/index.cjs.js.map +1 -0
  550. package/react/accordion/index.js +14 -0
  551. package/react/accordion/index.js.map +1 -0
  552. package/react/accordion-item/index.cjs.js +43 -0
  553. package/react/accordion-item/index.cjs.js.map +1 -0
  554. package/react/accordion-item/index.js +19 -0
  555. package/react/accordion-item/index.js.map +1 -0
  556. package/react/action-card/index.cjs.js +40 -0
  557. package/react/action-card/index.cjs.js.map +1 -0
  558. package/react/action-card/index.js +16 -0
  559. package/react/action-card/index.js.map +1 -0
  560. package/react/alert/index.cjs.js +41 -0
  561. package/react/alert/index.cjs.js.map +1 -0
  562. package/react/alert/index.js +17 -0
  563. package/react/alert/index.js.map +1 -0
  564. package/react/alert-heading/index.cjs.js +38 -0
  565. package/react/alert-heading/index.cjs.js.map +1 -0
  566. package/react/alert-heading/index.js +14 -0
  567. package/react/alert-heading/index.js.map +1 -0
  568. package/react/alert-link/index.cjs.js +38 -0
  569. package/react/alert-link/index.cjs.js.map +1 -0
  570. package/react/alert-link/index.js +14 -0
  571. package/react/alert-link/index.js.map +1 -0
  572. package/react/badge/index.cjs.js +38 -0
  573. package/react/badge/index.cjs.js.map +1 -0
  574. package/react/badge/index.js +14 -0
  575. package/react/badge/index.js.map +1 -0
  576. package/react/breadcrumb/index.cjs.js +38 -0
  577. package/react/breadcrumb/index.cjs.js.map +1 -0
  578. package/react/breadcrumb/index.js +14 -0
  579. package/react/breadcrumb/index.js.map +1 -0
  580. package/react/breadcrumb-item/index.cjs.js +38 -0
  581. package/react/breadcrumb-item/index.cjs.js.map +1 -0
  582. package/react/breadcrumb-item/index.js +14 -0
  583. package/react/breadcrumb-item/index.js.map +1 -0
  584. package/react/button/index.cjs.js +41 -0
  585. package/react/button/index.cjs.js.map +1 -0
  586. package/react/button/index.js +17 -0
  587. package/react/button/index.js.map +1 -0
  588. package/react/card/index.cjs.js +38 -0
  589. package/react/card/index.cjs.js.map +1 -0
  590. package/react/card/index.js +14 -0
  591. package/react/card/index.js.map +1 -0
  592. package/react/checkbox/index.cjs.js +40 -0
  593. package/react/checkbox/index.cjs.js.map +1 -0
  594. package/react/checkbox/index.js +16 -0
  595. package/react/checkbox/index.js.map +1 -0
  596. package/react/combo-box/index.cjs.js +45 -0
  597. package/react/combo-box/index.cjs.js.map +1 -0
  598. package/react/combo-box/index.d.ts +10 -0
  599. package/react/combo-box/index.js +21 -0
  600. package/react/combo-box/index.js.map +1 -0
  601. package/react/datepicker/index.cjs.js +45 -0
  602. package/react/datepicker/index.cjs.js.map +1 -0
  603. package/react/datepicker/index.d.ts +10 -0
  604. package/react/datepicker/index.js +21 -0
  605. package/react/datepicker/index.js.map +1 -0
  606. package/react/drawer/index.cjs.js +45 -0
  607. package/react/drawer/index.cjs.js.map +1 -0
  608. package/react/drawer/index.js +21 -0
  609. package/react/drawer/index.js.map +1 -0
  610. package/react/dropdown/index.cjs.js +44 -0
  611. package/react/dropdown/index.cjs.js.map +1 -0
  612. package/react/dropdown/index.d.ts +1 -0
  613. package/react/dropdown/index.js +20 -0
  614. package/react/dropdown/index.js.map +1 -0
  615. package/react/dropdown-item/index.cjs.js +38 -0
  616. package/react/dropdown-item/index.cjs.js.map +1 -0
  617. package/react/dropdown-item/index.js +14 -0
  618. package/react/dropdown-item/index.js.map +1 -0
  619. package/react/file-upload/index.cjs.js +40 -0
  620. package/react/file-upload/index.cjs.js.map +1 -0
  621. package/react/file-upload/index.js +16 -0
  622. package/react/file-upload/index.js.map +1 -0
  623. package/react/footer/index.cjs.js +38 -0
  624. package/react/footer/index.cjs.js.map +1 -0
  625. package/react/footer/index.js +14 -0
  626. package/react/footer/index.js.map +1 -0
  627. package/react/index.cjs.js +96 -0
  628. package/react/index.cjs.js.map +1 -0
  629. package/react/index.d.ts +5 -0
  630. package/react/index.js +44 -12815
  631. package/react/index.js.map +1 -1
  632. package/react/input/index.cjs.js +43 -0
  633. package/react/input/index.cjs.js.map +1 -0
  634. package/react/input/index.js +19 -0
  635. package/react/input/index.js.map +1 -0
  636. package/react/mainnav/index.cjs.js +38 -0
  637. package/react/mainnav/index.cjs.js.map +1 -0
  638. package/react/mainnav/index.js +14 -0
  639. package/react/mainnav/index.js.map +1 -0
  640. package/react/mainnav-dropdown/index.cjs.js +44 -0
  641. package/react/mainnav-dropdown/index.cjs.js.map +1 -0
  642. package/react/mainnav-dropdown/index.d.ts +1 -0
  643. package/react/mainnav-dropdown/index.js +20 -0
  644. package/react/mainnav-dropdown/index.js.map +1 -0
  645. package/react/mainnav-item/index.cjs.js +38 -0
  646. package/react/mainnav-item/index.cjs.js.map +1 -0
  647. package/react/mainnav-item/index.js +14 -0
  648. package/react/mainnav-item/index.js.map +1 -0
  649. package/react/masthead/index.cjs.js +38 -0
  650. package/react/masthead/index.cjs.js.map +1 -0
  651. package/react/masthead/index.js +14 -0
  652. package/react/masthead/index.js.map +1 -0
  653. package/react/modal/index.cjs.js +44 -0
  654. package/react/modal/index.cjs.js.map +1 -0
  655. package/react/modal/index.js +20 -0
  656. package/react/modal/index.js.map +1 -0
  657. package/react/pagination/index.cjs.js +40 -0
  658. package/react/pagination/index.cjs.js.map +1 -0
  659. package/react/pagination/index.d.ts +5 -0
  660. package/react/pagination/index.js +16 -0
  661. package/react/pagination/index.js.map +1 -0
  662. package/react/progress/index.cjs.js +38 -0
  663. package/react/progress/index.cjs.js.map +1 -0
  664. package/react/progress/index.d.ts +3 -0
  665. package/react/progress/index.js +14 -0
  666. package/react/progress/index.js.map +1 -0
  667. package/react/progress-bar/index.cjs.js +38 -0
  668. package/react/progress-bar/index.cjs.js.map +1 -0
  669. package/react/progress-bar/index.d.ts +3 -0
  670. package/react/progress-bar/index.js +14 -0
  671. package/react/progress-bar/index.js.map +1 -0
  672. package/react/quantity-toggle/index.cjs.js +41 -0
  673. package/react/quantity-toggle/index.cjs.js.map +1 -0
  674. package/react/quantity-toggle/index.js +17 -0
  675. package/react/quantity-toggle/index.js.map +1 -0
  676. package/react/radio/index.cjs.js +41 -0
  677. package/react/radio/index.cjs.js.map +1 -0
  678. package/react/radio/index.js +17 -0
  679. package/react/radio/index.js.map +1 -0
  680. package/react/radio-group/index.cjs.js +40 -0
  681. package/react/radio-group/index.cjs.js.map +1 -0
  682. package/react/radio-group/index.js +16 -0
  683. package/react/radio-group/index.js.map +1 -0
  684. package/react/sidenav/index.cjs.js +38 -0
  685. package/react/sidenav/index.cjs.js.map +1 -0
  686. package/react/sidenav/index.js +14 -0
  687. package/react/sidenav/index.js.map +1 -0
  688. package/react/sidenav-item/index.cjs.js +40 -0
  689. package/react/sidenav-item/index.cjs.js.map +1 -0
  690. package/react/sidenav-item/index.js +16 -0
  691. package/react/sidenav-item/index.js.map +1 -0
  692. package/react/sidenav-link/index.cjs.js +38 -0
  693. package/react/sidenav-link/index.cjs.js.map +1 -0
  694. package/react/sidenav-link/index.js +14 -0
  695. package/react/sidenav-link/index.js.map +1 -0
  696. package/react/spinner/index.cjs.js +38 -0
  697. package/react/spinner/index.cjs.js.map +1 -0
  698. package/react/spinner/index.js +14 -0
  699. package/react/spinner/index.js.map +1 -0
  700. package/react/stepper/index.cjs.js +45 -0
  701. package/react/stepper/index.cjs.js.map +1 -0
  702. package/react/stepper/index.js +21 -0
  703. package/react/stepper/index.js.map +1 -0
  704. package/react/tab/index.cjs.js +38 -0
  705. package/react/tab/index.cjs.js.map +1 -0
  706. package/react/tab/index.js +14 -0
  707. package/react/tab/index.js.map +1 -0
  708. package/react/tab-group/index.cjs.js +41 -0
  709. package/react/tab-group/index.cjs.js.map +1 -0
  710. package/react/tab-group/index.js +17 -0
  711. package/react/tab-group/index.js.map +1 -0
  712. package/react/tab-panel/index.cjs.js +38 -0
  713. package/react/tab-panel/index.cjs.js.map +1 -0
  714. package/react/tab-panel/index.js +14 -0
  715. package/react/tab-panel/index.js.map +1 -0
  716. package/react/table/index.cjs.js +38 -0
  717. package/react/table/index.cjs.js.map +1 -0
  718. package/react/table/index.js +14 -0
  719. package/react/table/index.js.map +1 -0
  720. package/react/textarea/index.cjs.js +43 -0
  721. package/react/textarea/index.cjs.js.map +1 -0
  722. package/react/textarea/index.js +19 -0
  723. package/react/textarea/index.js.map +1 -0
  724. package/react/toast/index.cjs.js +43 -0
  725. package/react/toast/index.cjs.js.map +1 -0
  726. package/react/toast/index.js +19 -0
  727. package/react/toast/index.js.map +1 -0
  728. package/react/toast-container/index.cjs.js +38 -0
  729. package/react/toast-container/index.cjs.js.map +1 -0
  730. package/react/toast-container/index.js +14 -0
  731. package/react/toast-container/index.js.map +1 -0
  732. package/react/tooltip/index.cjs.js +38 -0
  733. package/react/tooltip/index.cjs.js.map +1 -0
  734. package/react/tooltip/index.js +14 -0
  735. package/react/tooltip/index.js.map +1 -0
  736. package/utils/animate.cjs.js +48 -0
  737. package/utils/animate.cjs.js.map +1 -0
  738. package/utils/animate.js +41 -0
  739. package/utils/animate.js.map +1 -0
  740. package/utils/animation-registry.cjs.js +47 -0
  741. package/utils/animation-registry.cjs.js.map +1 -0
  742. package/utils/animation-registry.js +42 -0
  743. package/utils/animation-registry.js.map +1 -0
  744. package/utils/breakpoints.cjs.js +16 -0
  745. package/utils/breakpoints.cjs.js.map +1 -0
  746. package/utils/breakpoints.js +8 -0
  747. package/utils/breakpoints.js.map +1 -0
  748. package/utils/defaultvalue.cjs.js +28 -0
  749. package/utils/defaultvalue.cjs.js.map +1 -0
  750. package/utils/defaultvalue.js +24 -0
  751. package/utils/defaultvalue.js.map +1 -0
  752. package/utils/event.cjs.js +19 -0
  753. package/utils/event.cjs.js.map +1 -0
  754. package/utils/event.js +15 -0
  755. package/utils/event.js.map +1 -0
  756. package/utils/form.cjs.js +134 -0
  757. package/utils/form.cjs.js.map +1 -0
  758. package/utils/form.js +130 -0
  759. package/utils/form.js.map +1 -0
  760. package/utils/generateCustomElementName.d.ts +2 -0
  761. package/utils/generateId.cjs.js +10 -0
  762. package/utils/generateId.cjs.js.map +1 -0
  763. package/utils/generateId.js +6 -0
  764. package/utils/generateId.js.map +1 -0
  765. package/utils/mergeDeep.cjs.js +29 -0
  766. package/utils/mergeDeep.cjs.js.map +1 -0
  767. package/utils/mergeDeep.js +25 -0
  768. package/utils/mergeDeep.js.map +1 -0
  769. package/utils/modal.cjs.js +59 -0
  770. package/utils/modal.cjs.js.map +1 -0
  771. package/utils/modal.js +55 -0
  772. package/utils/modal.js.map +1 -0
  773. package/utils/object.cjs.js +11 -0
  774. package/utils/object.cjs.js.map +1 -0
  775. package/utils/object.js +6 -0
  776. package/utils/object.js.map +1 -0
  777. package/utils/scroll.cjs.js +26 -0
  778. package/utils/scroll.cjs.js.map +1 -0
  779. package/utils/scroll.js +21 -0
  780. package/utils/scroll.js.map +1 -0
  781. package/utils/slot.cjs.js +56 -0
  782. package/utils/slot.cjs.js.map +1 -0
  783. package/utils/slot.js +52 -0
  784. package/utils/slot.js.map +1 -0
  785. package/utils/tabbable.cjs.js +72 -0
  786. package/utils/tabbable.cjs.js.map +1 -0
  787. package/utils/tabbable.js +68 -0
  788. package/utils/tabbable.js.map +1 -0
  789. package/utils/watch.cjs.js +43 -0
  790. package/utils/watch.cjs.js.map +1 -0
  791. package/utils/watch.js +39 -0
  792. package/utils/watch.js.map +1 -0
  793. package/components.d.ts +0 -27
  794. package/components.js +0 -12448
  795. package/components.js.map +0 -1
  796. package/react/cjs/index.js +0 -12878
  797. package/react/cjs/index.js.map +0 -1
  798. package/react/package.json +0 -10
  799. package/umd/index.js.map +0 -1
package/README.md CHANGED
@@ -42,24 +42,77 @@ import "@govtechsg/sgds-web-component";
42
42
 
43
43
  # Imports
44
44
 
45
- ## Using the custom elements
46
- Once imported, the custom elements can be used throughout the project.
45
+ ## Using the custom elements
47
46
 
48
- ```js
47
+ Once imported, the custom elements can be used throughout the project.
49
48
 
50
- import "@govtechsg/sgds-web-component"
49
+ ```js
50
+ import "@govtechsg/sgds-web-component";
51
51
 
52
+ //usage
53
+ // <sgds-button>Hello World</sgds-button>
52
54
  ```
53
55
 
54
- ## Using the component's class
56
+ ## Using the component's class object
55
57
 
56
- Each component's Class is exported via named exports, prefixed with `Sgds`
58
+ When writing with Typescript, you might be required to type the components in certain cases. Import the component class like so.
59
+ Each component's Class is exported via named exports, prefixed with `Sgds`.
57
60
 
58
61
  ```js
59
62
 
60
- import { SgdsButton, SgdsMainnav } from "@govtechsg/sgds-web-component"
63
+ import { SgdsButton, SgdsMainnav } from "@govtechsg/sgds-web-component/components";
64
+
65
+ ```
66
+
67
+ ## Scoped Elements
68
+
69
+ The CustomElementRegistry is a global registry that provides methods for registering custom elements. One of the limitations of working with this global registry is that multiple versions of the same element cannot co-exist. This causes bottlenecks in software delivery that should be managed by the teams and complex build systems. Scoped Custom Element Registries is a proposal that will solve the problem. Since this functionality won't be available (especially not cross browser) anytime soon, we've adopted [OpenWC's Scoped Elements](https://open-wc.org/docs/development/scoped-elements/).
70
+
71
+ Whenever a sgds component uses composition (meaning it uses another sgds component inside), we apply ScopedElementsMixin to make sure it uses the right version of this internal component.
72
+
73
+ For users who are using sgds component directly for builing application, use the custom elements directly by [importing the custom elements](#using-the-custom-elements)
61
74
 
75
+ For users who are building component libraries on top of sgds-web-component, please adopt OpenWC's scoped elements to prevent exporting our registered custom elements.
76
+
77
+ Things to note:
78
+ 1. Import component class from `@govtechsg/sgds-web-component/components`. Here the components are not registered in the custom element registry
79
+ 2. Define the tagName you want to assign to the component's class
80
+
81
+ Example below
82
+
83
+ ```jsx
84
+ import { SgdsMasthead, SgdsMainnav, SgdsMainnavDropdown, SgdsMainnavItem } from "@govtechsg/sgds-web-component/components";
85
+ import { ScopedElementsMixin } from "@open-wc/scoped-elements";
86
+
87
+ // Lit element
88
+ @customElement('my-navbar')
89
+ export class MyNavbar extends ScopedElementsMixin(LitElement) {
90
+ static get scopedElements() {
91
+ return {
92
+ 'sgds-mainnav': SgdsMainnav,
93
+ 'sgds-mainnav-dropdown': SgdsMainnavDropdown,
94
+ 'sgds-mainnav-item': SgdsMainnavItem,
95
+ 'sgds-masthead': SgdsMasthead
96
+ };
97
+ }
98
+ ...
99
+
100
+ render() {
101
+ return html`
102
+ <sgds-masthead fluid="false"></sgds-masthead>
103
+ <sgds-mainnav>
104
+ <img width="240" src="https://dev.assets.developer.tech.gov.sg/svg/logo.svg" slot="brand">
105
+ <sgds-mainnav-dropdown togglertext="Home" slot="end">
106
+ <sgds-dropdown-item>Logout</sgds-dropdown-item>
107
+ </sgds-mainnav-dropdown>
108
+ <sgds-mainnav-item href="#">Content</sgds-mainnav-item>
109
+ <sgds-mainnav-item href="#}">Biography</sgds-mainnav-item>
110
+ </sgds-mainnav>
111
+ `
112
+ }
113
+ }
62
114
  ```
115
+
63
116
  # Attributes and Properties
64
117
 
65
118
  ## String
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var decorators_js = require('lit/decorators.js');
7
+ var sgdsElement = require('./sgds-element.cjs.js');
8
+
9
+ class CardElement extends sgdsElement["default"] {
10
+ }
11
+ CardElement.styles = sgdsElement["default"].styles;
12
+ tslib.__decorate([
13
+ decorators_js.property()
14
+ ], CardElement.prototype, "borderColor", void 0);
15
+ tslib.__decorate([
16
+ decorators_js.property()
17
+ ], CardElement.prototype, "bgColor", void 0);
18
+ tslib.__decorate([
19
+ decorators_js.property()
20
+ ], CardElement.prototype, "textColor", void 0);
21
+
22
+ exports.CardElement = CardElement;
23
+ //# sourceMappingURL=card-element.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-element.cjs.js","sources":["../../src/base/card-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport SgdsElement from \"./sgds-element\";\n\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport class CardElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** The border's variant. */\n @property()\n borderColor: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor: CardTextVariant;\n}\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n"],"names":["SgdsElement","__decorate","property"],"mappings":";;;;;;;;AAKM,MAAO,WAAY,SAAQA,sBAAW,CAAA;;AACnC,WAAA,CAAA,MAAM,GAAGA,sBAAW,CAAC,MAAM,CAAC;AAInCC,gBAAA,CAAA;AADC,IAAAC,sBAAQ,EAAE;AACoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnBD,gBAAA,CAAA;AAAX,IAAAC,sBAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG3BD,gBAAA,CAAA;AAAX,IAAAC,sBAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,19 @@
1
+ import { __decorate } from 'tslib';
2
+ import { property } from 'lit/decorators.js';
3
+ import SgdsElement from './sgds-element.js';
4
+
5
+ class CardElement extends SgdsElement {
6
+ }
7
+ CardElement.styles = SgdsElement.styles;
8
+ __decorate([
9
+ property()
10
+ ], CardElement.prototype, "borderColor", void 0);
11
+ __decorate([
12
+ property()
13
+ ], CardElement.prototype, "bgColor", void 0);
14
+ __decorate([
15
+ property()
16
+ ], CardElement.prototype, "textColor", void 0);
17
+
18
+ export { CardElement };
19
+ //# sourceMappingURL=card-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-element.js","sources":["../../src/base/card-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport SgdsElement from \"./sgds-element\";\n\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport class CardElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** The border's variant. */\n @property()\n borderColor: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor: CardTextVariant;\n}\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n"],"names":[],"mappings":";;;;AAKM,MAAO,WAAY,SAAQ,WAAW,CAAA;;AACnC,WAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAInC,UAAA,CAAA;AADC,IAAA,QAAQ,EAAE;AACoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AAAX,IAAA,QAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG3B,UAAA,CAAA;AAAX,IAAA,QAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,179 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var Dropdown = require('bootstrap/js/src/dropdown');
7
+ var decorators_js = require('lit/decorators.js');
8
+ var ref_js = require('lit/directives/ref.js');
9
+ var mergeDeep = require('../utils/mergeDeep.cjs.js');
10
+ var sgdsElement = require('./sgds-element.cjs.js');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
15
+
16
+ const ARROW_DOWN = "ArrowDown";
17
+ const ARROW_UP = "ArrowUp";
18
+ const ESC = "Escape";
19
+ /**
20
+ * @event sgds-show - Emitted event when show instance is called
21
+ * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed
22
+ * @event sgds-hide - Emitted event when hide instance is called
23
+ * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed
24
+ * @event sgds-select - Emitted event when a slot item is selected
25
+ */
26
+ class DropdownElement extends sgdsElement["default"] {
27
+ constructor() {
28
+ super(...arguments);
29
+ /** @internal */
30
+ this.myDropdown = ref_js.createRef();
31
+ /** @internal */
32
+ this.bsDropdown = null;
33
+ /** @internal Controls auto-flipping of menu */
34
+ this.noFlip = false;
35
+ /** @internal When true, aligns right edge of menu with right edge of button */
36
+ this.menuAlignRight = false;
37
+ /** @internal The drop position of menu relative to the toggle button */
38
+ this.drop = "down";
39
+ /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */
40
+ this.popperOpts = {};
41
+ /** @internal */
42
+ this.modifierOpt = [];
43
+ /** When true, dropdown menu shows on first load */
44
+ this.menuIsOpen = false;
45
+ /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */
46
+ this.close = "default";
47
+ /** Disables the dropdown toggle */
48
+ this.disabled = false;
49
+ }
50
+ connectedCallback() {
51
+ super.connectedCallback();
52
+ if (this.close !== "inside") {
53
+ document.addEventListener("click", (event) => this._handleClickOutOfElement(event, this));
54
+ }
55
+ }
56
+ disconnectedCallback() {
57
+ super.disconnectedCallback();
58
+ document.removeEventListener("click", (event) => this._handleClickOutOfElement(event, this));
59
+ }
60
+ firstUpdated() {
61
+ this.bsDropdown = new Dropdown__default["default"](this.myDropdown.value, {
62
+ // autoClose not working as bootstrap is using attribute data-bs-toggle="dropdown" to configure autoclose. But it doesnt look into this attribute in the shadow dom
63
+ reference: "toggle",
64
+ popperConfig: (defaultConfig) => {
65
+ //working
66
+ this.dropdownConfig = {
67
+ placement: "bottom-start",
68
+ modifiers: !this.noFlip
69
+ ? this.modifierOpt
70
+ : [
71
+ ...this.modifierOpt,
72
+ {
73
+ name: "flip",
74
+ options: { fallbackPlacements: [] }
75
+ }
76
+ ]
77
+ };
78
+ switch (this.drop) {
79
+ case "up":
80
+ this.dropdownConfig.placement = this.menuAlignRight ? "top-end" : "top-start";
81
+ break;
82
+ case "right":
83
+ this.dropdownConfig.placement = "right-start";
84
+ break;
85
+ case "left":
86
+ this.dropdownConfig.placement = "left-start";
87
+ break;
88
+ case "down":
89
+ this.dropdownConfig.placement = this.menuAlignRight ? "bottom-end" : "bottom-start";
90
+ break;
91
+ default:
92
+ this.dropdownConfig.placement = undefined;
93
+ break;
94
+ }
95
+ return mergeDeep["default"](defaultConfig, mergeDeep["default"](this.dropdownConfig, this.popperOpts));
96
+ }
97
+ });
98
+ this.myDropdown.value.addEventListener("show.bs.dropdown", () => {
99
+ this.menuIsOpen = true;
100
+ this.emit("sgds-show");
101
+ });
102
+ this.myDropdown.value.addEventListener("shown.bs.dropdown", () => {
103
+ this.menuIsOpen = true;
104
+ this.emit("sgds-after-show");
105
+ });
106
+ this.myDropdown.value.addEventListener("hide.bs.dropdown", () => {
107
+ this.menuIsOpen = false;
108
+ this.emit("sgds-hide");
109
+ });
110
+ this.myDropdown.value.addEventListener("hidden.bs.dropdown", () => {
111
+ this.menuIsOpen = false;
112
+ this.emit("sgds-after-hide");
113
+ });
114
+ this.addEventListener("keydown", this._handleKeyboardMenuEvent);
115
+ }
116
+ /** When invoked, opens the dropdown menu */
117
+ showMenu() {
118
+ this.bsDropdown.show();
119
+ }
120
+ /** When invoked, hides the dropdown menu */
121
+ hideMenu() {
122
+ this.bsDropdown.hide();
123
+ }
124
+ toggleMenu() {
125
+ this.bsDropdown.toggle();
126
+ }
127
+ _handleKeyboardMenuEvent(e) {
128
+ switch (e.key) {
129
+ case ARROW_DOWN:
130
+ e.preventDefault();
131
+ if (!this.menuIsOpen)
132
+ return this.showMenu();
133
+ break;
134
+ case ARROW_UP:
135
+ e.preventDefault();
136
+ if (!this.menuIsOpen)
137
+ return this.showMenu();
138
+ break;
139
+ case ESC:
140
+ return this.hideMenu();
141
+ }
142
+ }
143
+ _handleClickOutOfElement(e, self) {
144
+ if (!e.composedPath().includes(self)) {
145
+ this.hideMenu();
146
+ }
147
+ }
148
+ }
149
+ DropdownElement.styles = sgdsElement["default"].styles;
150
+ tslib.__decorate([
151
+ decorators_js.property({ type: Boolean, state: true })
152
+ ], DropdownElement.prototype, "noFlip", void 0);
153
+ tslib.__decorate([
154
+ decorators_js.property({ type: Boolean, reflect: true, state: true })
155
+ ], DropdownElement.prototype, "menuAlignRight", void 0);
156
+ tslib.__decorate([
157
+ decorators_js.property({ type: String, reflect: true, state: true })
158
+ ], DropdownElement.prototype, "drop", void 0);
159
+ tslib.__decorate([
160
+ decorators_js.property({ type: Object })
161
+ ], DropdownElement.prototype, "popperOpts", void 0);
162
+ tslib.__decorate([
163
+ decorators_js.state()
164
+ ], DropdownElement.prototype, "dropdownConfig", void 0);
165
+ tslib.__decorate([
166
+ decorators_js.state()
167
+ ], DropdownElement.prototype, "modifierOpt", void 0);
168
+ tslib.__decorate([
169
+ decorators_js.property({ type: Boolean, reflect: true })
170
+ ], DropdownElement.prototype, "menuIsOpen", void 0);
171
+ tslib.__decorate([
172
+ decorators_js.property({ type: String })
173
+ ], DropdownElement.prototype, "close", void 0);
174
+ tslib.__decorate([
175
+ decorators_js.property({ type: Boolean, reflect: true })
176
+ ], DropdownElement.prototype, "disabled", void 0);
177
+
178
+ exports.DropdownElement = DropdownElement;
179
+ //# sourceMappingURL=dropdown-element.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-element.cjs.js","sources":["../../src/base/dropdown-element.ts"],"sourcesContent":["import type { StrictModifiers } from \"@popperjs/core\";\nimport * as Popper from \"@popperjs/core\";\nimport Dropdown from \"bootstrap/js/src/dropdown\";\nimport type { Dropdown as BsDropdown } from \"bootstrap\";\nimport { property, state } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport SgdsElement from \"./sgds-element\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n * @event sgds-select - Emitted event when a slot item is selected\n */\n\nexport class DropdownElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n /** @internal */\n protected bsDropdown: BsDropdown = null;\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */\n @property({ type: Object })\n popperOpts = {};\n\n /** @internal */\n @state()\n dropdownConfig: Partial<Popper.Options>;\n /** @internal */\n @state()\n modifierOpt: StrictModifiers[] = [];\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n document.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-after-show\");\n });\n\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hide\");\n });\n\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-after-hide\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n /** When invoked, opens the dropdown menu */\n showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n hideMenu() {\n this.bsDropdown.hide();\n }\n\n toggleMenu() {\n this.bsDropdown.toggle();\n }\n\n private _handleKeyboardMenuEvent(e: KeyboardEvent) {\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ESC:\n return this.hideMenu();\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.hideMenu();\n }\n }\n}\n"],"names":["SgdsElement","createRef","Dropdown","mergeDeep","__decorate","property","state"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import type { StrictModifiers } from "@popperjs/core";
2
2
  import * as Popper from "@popperjs/core";
3
- import { Dropdown } from "bootstrap";
3
+ import type { Dropdown as BsDropdown } from "bootstrap";
4
4
  import { Ref } from "lit/directives/ref.js";
5
- import { SgdsDropdownItem } from "../components/Dropdown/sgds-dropdown-item";
6
5
  import SgdsElement from "./sgds-element";
7
6
  export type DropDirection = "left" | "right" | "up" | "down";
8
7
  /**
@@ -10,13 +9,14 @@ export type DropDirection = "left" | "right" | "up" | "down";
10
9
  * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed
11
10
  * @event sgds-hide - Emitted event when hide instance is called
12
11
  * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed
12
+ * @event sgds-select - Emitted event when a slot item is selected
13
13
  */
14
14
  export declare class DropdownElement extends SgdsElement {
15
15
  static styles: import("lit").CSSResultGroup;
16
16
  /** @internal */
17
- myDropdown: Ref<HTMLElement>;
17
+ protected myDropdown: Ref<HTMLElement>;
18
18
  /** @internal */
19
- bsDropdown: Dropdown;
19
+ protected bsDropdown: BsDropdown;
20
20
  /** @internal Controls auto-flipping of menu */
21
21
  protected noFlip: boolean;
22
22
  /** @internal When true, aligns right edge of menu with right edge of button */
@@ -25,35 +25,24 @@ export declare class DropdownElement extends SgdsElement {
25
25
  protected drop: DropDirection;
26
26
  /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */
27
27
  popperOpts: {};
28
- /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */
29
- protected togglerId: string;
30
- /** Sets the text content of Dropdown button */
31
- togglerText: string;
28
+ /** @internal */
29
+ dropdownConfig: Partial<Popper.Options>;
30
+ /** @internal */
31
+ modifierOpt: StrictModifiers[];
32
32
  /** When true, dropdown menu shows on first load */
33
33
  menuIsOpen: boolean;
34
34
  /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */
35
35
  close: "outside" | "default" | "inside";
36
36
  /** Disables the dropdown toggle */
37
37
  disabled: boolean;
38
- /** @internal */
39
- nextDropdownItemNo: number;
40
- /** @internal */
41
- prevDropdownItemNo: number;
42
- /** @internal */
43
- dropdownConfig: Partial<Popper.Options>;
44
- /** @internal */
45
- modifierOpt: StrictModifiers[];
38
+ connectedCallback(): void;
39
+ disconnectedCallback(): void;
46
40
  firstUpdated(): void;
47
41
  /** When invoked, opens the dropdown menu */
48
42
  showMenu(): void;
49
43
  /** When invoked, hides the dropdown menu */
50
44
  hideMenu(): void;
51
- _onClickButton(): void;
52
- _resetMenu(): void;
53
- _getMenuItems(): SgdsDropdownItem[];
54
- _getActiveMenuItems(): SgdsDropdownItem[];
55
- _setMenuItem(currentItemIdx: number, isArrowDown?: boolean): any;
56
- _handleSelectSlot(e: KeyboardEvent | MouseEvent): void;
57
- _handleKeyboardEvent(e: KeyboardEvent): any;
58
- _handleClickOutOfElement(e: MouseEvent, self: DropdownElement): void;
45
+ toggleMenu(): void;
46
+ private _handleKeyboardMenuEvent;
47
+ private _handleClickOutOfElement;
59
48
  }
@@ -0,0 +1,171 @@
1
+ import { __decorate } from 'tslib';
2
+ import Dropdown from 'bootstrap/js/src/dropdown';
3
+ import { property, state } from 'lit/decorators.js';
4
+ import { createRef } from 'lit/directives/ref.js';
5
+ import mergeDeep from '../utils/mergeDeep.js';
6
+ import SgdsElement from './sgds-element.js';
7
+
8
+ const ARROW_DOWN = "ArrowDown";
9
+ const ARROW_UP = "ArrowUp";
10
+ const ESC = "Escape";
11
+ /**
12
+ * @event sgds-show - Emitted event when show instance is called
13
+ * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed
14
+ * @event sgds-hide - Emitted event when hide instance is called
15
+ * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed
16
+ * @event sgds-select - Emitted event when a slot item is selected
17
+ */
18
+ class DropdownElement extends SgdsElement {
19
+ constructor() {
20
+ super(...arguments);
21
+ /** @internal */
22
+ this.myDropdown = createRef();
23
+ /** @internal */
24
+ this.bsDropdown = null;
25
+ /** @internal Controls auto-flipping of menu */
26
+ this.noFlip = false;
27
+ /** @internal When true, aligns right edge of menu with right edge of button */
28
+ this.menuAlignRight = false;
29
+ /** @internal The drop position of menu relative to the toggle button */
30
+ this.drop = "down";
31
+ /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */
32
+ this.popperOpts = {};
33
+ /** @internal */
34
+ this.modifierOpt = [];
35
+ /** When true, dropdown menu shows on first load */
36
+ this.menuIsOpen = false;
37
+ /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */
38
+ this.close = "default";
39
+ /** Disables the dropdown toggle */
40
+ this.disabled = false;
41
+ }
42
+ connectedCallback() {
43
+ super.connectedCallback();
44
+ if (this.close !== "inside") {
45
+ document.addEventListener("click", (event) => this._handleClickOutOfElement(event, this));
46
+ }
47
+ }
48
+ disconnectedCallback() {
49
+ super.disconnectedCallback();
50
+ document.removeEventListener("click", (event) => this._handleClickOutOfElement(event, this));
51
+ }
52
+ firstUpdated() {
53
+ this.bsDropdown = new Dropdown(this.myDropdown.value, {
54
+ // autoClose not working as bootstrap is using attribute data-bs-toggle="dropdown" to configure autoclose. But it doesnt look into this attribute in the shadow dom
55
+ reference: "toggle",
56
+ popperConfig: (defaultConfig) => {
57
+ //working
58
+ this.dropdownConfig = {
59
+ placement: "bottom-start",
60
+ modifiers: !this.noFlip
61
+ ? this.modifierOpt
62
+ : [
63
+ ...this.modifierOpt,
64
+ {
65
+ name: "flip",
66
+ options: { fallbackPlacements: [] }
67
+ }
68
+ ]
69
+ };
70
+ switch (this.drop) {
71
+ case "up":
72
+ this.dropdownConfig.placement = this.menuAlignRight ? "top-end" : "top-start";
73
+ break;
74
+ case "right":
75
+ this.dropdownConfig.placement = "right-start";
76
+ break;
77
+ case "left":
78
+ this.dropdownConfig.placement = "left-start";
79
+ break;
80
+ case "down":
81
+ this.dropdownConfig.placement = this.menuAlignRight ? "bottom-end" : "bottom-start";
82
+ break;
83
+ default:
84
+ this.dropdownConfig.placement = undefined;
85
+ break;
86
+ }
87
+ return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));
88
+ }
89
+ });
90
+ this.myDropdown.value.addEventListener("show.bs.dropdown", () => {
91
+ this.menuIsOpen = true;
92
+ this.emit("sgds-show");
93
+ });
94
+ this.myDropdown.value.addEventListener("shown.bs.dropdown", () => {
95
+ this.menuIsOpen = true;
96
+ this.emit("sgds-after-show");
97
+ });
98
+ this.myDropdown.value.addEventListener("hide.bs.dropdown", () => {
99
+ this.menuIsOpen = false;
100
+ this.emit("sgds-hide");
101
+ });
102
+ this.myDropdown.value.addEventListener("hidden.bs.dropdown", () => {
103
+ this.menuIsOpen = false;
104
+ this.emit("sgds-after-hide");
105
+ });
106
+ this.addEventListener("keydown", this._handleKeyboardMenuEvent);
107
+ }
108
+ /** When invoked, opens the dropdown menu */
109
+ showMenu() {
110
+ this.bsDropdown.show();
111
+ }
112
+ /** When invoked, hides the dropdown menu */
113
+ hideMenu() {
114
+ this.bsDropdown.hide();
115
+ }
116
+ toggleMenu() {
117
+ this.bsDropdown.toggle();
118
+ }
119
+ _handleKeyboardMenuEvent(e) {
120
+ switch (e.key) {
121
+ case ARROW_DOWN:
122
+ e.preventDefault();
123
+ if (!this.menuIsOpen)
124
+ return this.showMenu();
125
+ break;
126
+ case ARROW_UP:
127
+ e.preventDefault();
128
+ if (!this.menuIsOpen)
129
+ return this.showMenu();
130
+ break;
131
+ case ESC:
132
+ return this.hideMenu();
133
+ }
134
+ }
135
+ _handleClickOutOfElement(e, self) {
136
+ if (!e.composedPath().includes(self)) {
137
+ this.hideMenu();
138
+ }
139
+ }
140
+ }
141
+ DropdownElement.styles = SgdsElement.styles;
142
+ __decorate([
143
+ property({ type: Boolean, state: true })
144
+ ], DropdownElement.prototype, "noFlip", void 0);
145
+ __decorate([
146
+ property({ type: Boolean, reflect: true, state: true })
147
+ ], DropdownElement.prototype, "menuAlignRight", void 0);
148
+ __decorate([
149
+ property({ type: String, reflect: true, state: true })
150
+ ], DropdownElement.prototype, "drop", void 0);
151
+ __decorate([
152
+ property({ type: Object })
153
+ ], DropdownElement.prototype, "popperOpts", void 0);
154
+ __decorate([
155
+ state()
156
+ ], DropdownElement.prototype, "dropdownConfig", void 0);
157
+ __decorate([
158
+ state()
159
+ ], DropdownElement.prototype, "modifierOpt", void 0);
160
+ __decorate([
161
+ property({ type: Boolean, reflect: true })
162
+ ], DropdownElement.prototype, "menuIsOpen", void 0);
163
+ __decorate([
164
+ property({ type: String })
165
+ ], DropdownElement.prototype, "close", void 0);
166
+ __decorate([
167
+ property({ type: Boolean, reflect: true })
168
+ ], DropdownElement.prototype, "disabled", void 0);
169
+
170
+ export { DropdownElement };
171
+ //# sourceMappingURL=dropdown-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-element.js","sources":["../../src/base/dropdown-element.ts"],"sourcesContent":["import type { StrictModifiers } from \"@popperjs/core\";\nimport * as Popper from \"@popperjs/core\";\nimport Dropdown from \"bootstrap/js/src/dropdown\";\nimport type { Dropdown as BsDropdown } from \"bootstrap\";\nimport { property, state } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport SgdsElement from \"./sgds-element\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n * @event sgds-select - Emitted event when a slot item is selected\n */\n\nexport class DropdownElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n /** @internal */\n protected bsDropdown: BsDropdown = null;\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */\n @property({ type: Object })\n popperOpts = {};\n\n /** @internal */\n @state()\n dropdownConfig: Partial<Popper.Options>;\n /** @internal */\n @state()\n modifierOpt: StrictModifiers[] = [];\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n document.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-after-show\");\n });\n\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hide\");\n });\n\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-after-hide\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n /** When invoked, opens the dropdown menu */\n showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n hideMenu() {\n this.bsDropdown.hide();\n }\n\n toggleMenu() {\n this.bsDropdown.toggle();\n }\n\n private _handleKeyboardMenuEvent(e: KeyboardEvent) {\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ESC:\n return this.hideMenu();\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.hideMenu();\n }\n }\n}\n"],"names":[],"mappings":"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"}