@govtechsg/sgds-web-component 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (920) 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 +0 -1
  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/sgds-action-card.js +0 -1
  28. package/components/ActionCard/sgds-action-card.js.map +1 -1
  29. package/components/Alert/alert-link.js +0 -1
  30. package/components/Alert/alert-link.js.map +1 -1
  31. package/components/Alert/alert.js +0 -1
  32. package/components/Alert/alert.js.map +1 -1
  33. package/components/Alert/sgds-alert-heading.js +0 -1
  34. package/components/Alert/sgds-alert-heading.js.map +1 -1
  35. package/components/Alert/sgds-alert-link.js +0 -1
  36. package/components/Alert/sgds-alert-link.js.map +1 -1
  37. package/components/Alert/sgds-alert.js +0 -1
  38. package/components/Alert/sgds-alert.js.map +1 -1
  39. package/components/Badge/badge.js +0 -1
  40. package/components/Badge/badge.js.map +1 -1
  41. package/components/Badge/sgds-badge.js +0 -1
  42. package/components/Badge/sgds-badge.js.map +1 -1
  43. package/components/Breadcrumb/breadcrumb-item.js +0 -1
  44. package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
  45. package/components/Breadcrumb/breadcrumb.js +0 -1
  46. package/components/Breadcrumb/breadcrumb.js.map +1 -1
  47. package/components/Breadcrumb/sgds-breadcrumb-item.js +0 -1
  48. package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
  49. package/components/Breadcrumb/sgds-breadcrumb.js +0 -1
  50. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  51. package/components/Button/button.js +0 -1
  52. package/components/Button/button.js.map +1 -1
  53. package/components/Button/sgds-button.js +0 -1
  54. package/components/Button/sgds-button.js.map +1 -1
  55. package/components/Card/card.js +0 -1
  56. package/components/Card/card.js.map +1 -1
  57. package/components/Card/sgds-card.js +0 -1
  58. package/components/Card/sgds-card.js.map +1 -1
  59. package/components/Checkbox/checkbox.js +0 -1
  60. package/components/Checkbox/checkbox.js.map +1 -1
  61. package/components/Checkbox/sgds-checkbox.js +0 -1
  62. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  63. package/components/ComboBox/combo-box.js +0 -1
  64. package/components/ComboBox/combo-box.js.map +1 -1
  65. package/components/ComboBox/sgds-combo-box.js +0 -1
  66. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  67. package/components/Datepicker/datepicker-calendar.js +0 -1
  68. package/components/Datepicker/datepicker-calendar.js.map +1 -1
  69. package/components/Datepicker/datepicker-calendar2.js +0 -1
  70. package/components/Datepicker/datepicker-calendar2.js.map +1 -1
  71. package/components/Datepicker/datepicker-header.js +0 -1
  72. package/components/Datepicker/datepicker-header.js.map +1 -1
  73. package/components/Datepicker/datepicker-header2.js +0 -1
  74. package/components/Datepicker/datepicker-header2.js.map +1 -1
  75. package/components/Datepicker/datepicker-input.js +0 -1
  76. package/components/Datepicker/datepicker-input.js.map +1 -1
  77. package/components/Datepicker/datepicker-input2.js +0 -1
  78. package/components/Datepicker/datepicker-input2.js.map +1 -1
  79. package/components/Datepicker/datepicker.js +0 -1
  80. package/components/Datepicker/datepicker.js.map +1 -1
  81. package/components/Datepicker/sgds-datepicker.js +0 -1
  82. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  83. package/components/Drawer/drawer.js +0 -1
  84. package/components/Drawer/drawer.js.map +1 -1
  85. package/components/Drawer/sgds-drawer.js +0 -1
  86. package/components/Drawer/sgds-drawer.js.map +1 -1
  87. package/components/Dropdown/dropdown.js +0 -1
  88. package/components/Dropdown/dropdown.js.map +1 -1
  89. package/components/Dropdown/sgds-dropdown-item.js +0 -1
  90. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  91. package/components/Dropdown/sgds-dropdown.js +0 -1
  92. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  93. package/components/FileUpload/file-upload.js +0 -1
  94. package/components/FileUpload/file-upload.js.map +1 -1
  95. package/components/FileUpload/sgds-file-upload.js +0 -1
  96. package/components/FileUpload/sgds-file-upload.js.map +1 -1
  97. package/components/Footer/footer.js +0 -1
  98. package/components/Footer/footer.js.map +1 -1
  99. package/components/Footer/sgds-footer.js +0 -1
  100. package/components/Footer/sgds-footer.js.map +1 -1
  101. package/components/Input/input.js +0 -1
  102. package/components/Input/input.js.map +1 -1
  103. package/components/Input/sgds-input.js +0 -1
  104. package/components/Input/sgds-input.js.map +1 -1
  105. package/components/Mainnav/mainnav-dropdown.js +0 -1
  106. package/components/Mainnav/mainnav-dropdown.js.map +1 -1
  107. package/components/Mainnav/mainnav-item.js +0 -1
  108. package/components/Mainnav/mainnav-item.js.map +1 -1
  109. package/components/Mainnav/mainnav.js +0 -1
  110. package/components/Mainnav/mainnav.js.map +1 -1
  111. package/components/Mainnav/sgds-mainnav-dropdown.js +0 -1
  112. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  113. package/components/Mainnav/sgds-mainnav-item.js +0 -1
  114. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  115. package/components/Mainnav/sgds-mainnav.js +0 -1
  116. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  117. package/components/Masthead/masthead.js +0 -1
  118. package/components/Masthead/masthead.js.map +1 -1
  119. package/components/Masthead/sgds-masthead.js +0 -1
  120. package/components/Masthead/sgds-masthead.js.map +1 -1
  121. package/components/Modal/modal.js +0 -1
  122. package/components/Modal/modal.js.map +1 -1
  123. package/components/Modal/sgds-modal.js +0 -1
  124. package/components/Modal/sgds-modal.js.map +1 -1
  125. package/components/Pagination/pagination.js +0 -1
  126. package/components/Pagination/pagination.js.map +1 -1
  127. package/components/Pagination/sgds-pagination.js +0 -1
  128. package/components/Pagination/sgds-pagination.js.map +1 -1
  129. package/components/Progress/progress-bar.js +0 -1
  130. package/components/Progress/progress-bar.js.map +1 -1
  131. package/components/Progress/progress.js +0 -1
  132. package/components/Progress/progress.js.map +1 -1
  133. package/components/Progress/sgds-progress-bar.js +0 -1
  134. package/components/Progress/sgds-progress-bar.js.map +1 -1
  135. package/components/Progress/sgds-progress.js +0 -1
  136. package/components/Progress/sgds-progress.js.map +1 -1
  137. package/components/QuantityToggle/quantity-toggle.js +0 -1
  138. package/components/QuantityToggle/quantity-toggle.js.map +1 -1
  139. package/components/QuantityToggle/sgds-quantity-toggle.js +0 -1
  140. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  141. package/components/Radio/radio-group.js +0 -1
  142. package/components/Radio/radio-group.js.map +1 -1
  143. package/components/Radio/radio.js +0 -1
  144. package/components/Radio/radio.js.map +1 -1
  145. package/components/Radio/sgds-radio-group.js +0 -1
  146. package/components/Radio/sgds-radio-group.js.map +1 -1
  147. package/components/Radio/sgds-radio.js +0 -1
  148. package/components/Radio/sgds-radio.js.map +1 -1
  149. package/components/Sidenav/sgds-sidenav-item.js +0 -1
  150. package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
  151. package/components/Sidenav/sgds-sidenav-link.js +0 -1
  152. package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
  153. package/components/Sidenav/sgds-sidenav.js +0 -1
  154. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  155. package/components/Sidenav/sidenav-item.js +0 -1
  156. package/components/Sidenav/sidenav-item.js.map +1 -1
  157. package/components/Sidenav/sidenav-link.js +0 -1
  158. package/components/Sidenav/sidenav-link.js.map +1 -1
  159. package/components/Sidenav/sidenav.js +0 -1
  160. package/components/Sidenav/sidenav.js.map +1 -1
  161. package/components/Spinner/sgds-spinner.js +0 -1
  162. package/components/Spinner/sgds-spinner.js.map +1 -1
  163. package/components/Spinner/spinner.js +0 -1
  164. package/components/Spinner/spinner.js.map +1 -1
  165. package/components/Stepper/sgds-stepper.js +0 -1
  166. package/components/Stepper/sgds-stepper.js.map +1 -1
  167. package/components/Stepper/stepper.js +0 -1
  168. package/components/Stepper/stepper.js.map +1 -1
  169. package/components/Tab/sgds-tab-group.js +0 -1
  170. package/components/Tab/sgds-tab-group.js.map +1 -1
  171. package/components/Tab/sgds-tab-panel.js +0 -1
  172. package/components/Tab/sgds-tab-panel.js.map +1 -1
  173. package/components/Tab/sgds-tab.js +0 -1
  174. package/components/Tab/sgds-tab.js.map +1 -1
  175. package/components/Tab/tab-group.js +0 -1
  176. package/components/Tab/tab-group.js.map +1 -1
  177. package/components/Tab/tab-panel.js +0 -1
  178. package/components/Tab/tab-panel.js.map +1 -1
  179. package/components/Tab/tab.js +0 -1
  180. package/components/Tab/tab.js.map +1 -1
  181. package/components/Table/sgds-table.js +0 -1
  182. package/components/Table/sgds-table.js.map +1 -1
  183. package/components/Table/table.js +0 -1
  184. package/components/Table/table.js.map +1 -1
  185. package/components/Textarea/sgds-textarea.js +0 -1
  186. package/components/Textarea/sgds-textarea.js.map +1 -1
  187. package/components/Textarea/textarea.js +0 -1
  188. package/components/Textarea/textarea.js.map +1 -1
  189. package/components/Toast/sgds-toast-container.js +0 -1
  190. package/components/Toast/sgds-toast-container.js.map +1 -1
  191. package/components/Toast/sgds-toast.js +0 -1
  192. package/components/Toast/sgds-toast.js.map +1 -1
  193. package/components/Toast/toast-container.js +0 -1
  194. package/components/Toast/toast-container.js.map +1 -1
  195. package/components/Toast/toast.js +0 -1
  196. package/components/Toast/toast.js.map +1 -1
  197. package/components/Tooltip/sgds-tooltip.js +0 -1
  198. package/components/Tooltip/sgds-tooltip.js.map +1 -1
  199. package/components/Tooltip/tooltip.js +0 -1
  200. package/components/Tooltip/tooltip.js.map +1 -1
  201. package/internals/CloseButton/close-button.js +0 -1
  202. package/internals/CloseButton/close-button.js.map +1 -1
  203. package/internals/CloseButton/sgds-close-button.js +0 -1
  204. package/internals/CloseButton/sgds-close-button.js.map +1 -1
  205. package/package.json +1 -1
  206. package/react/accordion/index.cjs.js +1 -1
  207. package/react/accordion/index.js +1 -1
  208. package/react/accordion-item/index.cjs.js +1 -1
  209. package/react/accordion-item/index.js +1 -1
  210. package/react/action-card/index.cjs.js +1 -1
  211. package/react/action-card/index.js +1 -1
  212. package/react/alert/index.cjs.js +1 -1
  213. package/react/alert/index.js +1 -1
  214. package/react/alert-heading/index.cjs.js +1 -1
  215. package/react/alert-heading/index.js +1 -1
  216. package/react/alert-link/index.cjs.js +1 -1
  217. package/react/alert-link/index.js +1 -1
  218. package/react/badge/index.cjs.js +1 -1
  219. package/react/badge/index.js +1 -1
  220. package/react/base/card-element.cjs.js.map +1 -0
  221. package/react/base/card-element.js +26 -0
  222. package/react/base/card-element.js.map +1 -0
  223. package/react/base/card.js +7 -0
  224. package/react/base/card.js.map +1 -0
  225. package/react/base/dropdown-element.cjs.js.map +1 -0
  226. package/react/base/dropdown-element.js +174 -0
  227. package/react/base/dropdown-element.js.map +1 -0
  228. package/react/base/dropdown-list-element.cjs.js.map +1 -0
  229. package/react/base/dropdown-list-element.js +130 -0
  230. package/react/base/dropdown-list-element.js.map +1 -0
  231. package/react/base/form-check-element.cjs.js.map +1 -0
  232. package/react/base/form-check-element.js +167 -0
  233. package/react/base/form-check-element.js.map +1 -0
  234. package/react/base/link-element.cjs.js.map +1 -0
  235. package/react/base/link-element.js +53 -0
  236. package/react/base/link-element.js.map +1 -0
  237. package/react/base/sgds-element.cjs.js.map +1 -0
  238. package/react/base/sgds-element.js +24 -0
  239. package/react/base/sgds-element.js.map +1 -0
  240. package/react/base/sgds-element2.js +7 -0
  241. package/react/base/sgds-element2.js.map +1 -0
  242. package/react/breadcrumb/index.cjs.js +1 -1
  243. package/react/breadcrumb/index.js +1 -1
  244. package/react/breadcrumb-item/index.cjs.js +1 -1
  245. package/react/breadcrumb-item/index.js +1 -1
  246. package/react/button/index.cjs.js +1 -1
  247. package/react/button/index.js +1 -1
  248. package/react/card/index.cjs.js +1 -1
  249. package/react/card/index.js +1 -1
  250. package/react/checkbox/index.cjs.js +1 -1
  251. package/react/checkbox/index.js +1 -1
  252. package/react/combo-box/index.cjs.js +1 -1
  253. package/react/combo-box/index.js +1 -1
  254. package/react/components/Accordion/accordion-item.js +7 -0
  255. package/react/components/Accordion/accordion-item.js.map +1 -0
  256. package/react/components/Accordion/accordion.js +7 -0
  257. package/react/components/Accordion/accordion.js.map +1 -0
  258. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  259. package/react/components/Accordion/sgds-accordion-item.js +204 -0
  260. package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
  261. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  262. package/react/components/Accordion/sgds-accordion.js +87 -0
  263. package/react/components/Accordion/sgds-accordion.js.map +1 -0
  264. package/react/components/ActionCard/action-card.js +7 -0
  265. package/react/components/ActionCard/action-card.js.map +1 -0
  266. package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  267. package/react/components/ActionCard/sgds-action-card.js +155 -0
  268. package/react/components/ActionCard/sgds-action-card.js.map +1 -0
  269. package/react/components/Alert/alert-link.js +7 -0
  270. package/react/components/Alert/alert-link.js.map +1 -0
  271. package/react/components/Alert/alert.js +7 -0
  272. package/react/components/Alert/alert.js.map +1 -0
  273. package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  274. package/react/components/Alert/sgds-alert-heading.js +33 -0
  275. package/react/components/Alert/sgds-alert-heading.js.map +1 -0
  276. package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  277. package/react/components/Alert/sgds-alert-link.js +32 -0
  278. package/react/components/Alert/sgds-alert-link.js.map +1 -0
  279. package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
  280. package/react/components/Alert/sgds-alert.js +90 -0
  281. package/react/components/Alert/sgds-alert.js.map +1 -0
  282. package/react/components/Badge/badge.js +7 -0
  283. package/react/components/Badge/badge.js.map +1 -0
  284. package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
  285. package/react/components/Badge/sgds-badge.js +53 -0
  286. package/react/components/Badge/sgds-badge.js.map +1 -0
  287. package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
  288. package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
  289. package/react/components/Breadcrumb/breadcrumb.js +7 -0
  290. package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
  291. package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  292. package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
  293. package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  294. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  295. package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
  296. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  297. package/react/components/Button/button.js +7 -0
  298. package/react/components/Button/button.js.map +1 -0
  299. package/react/components/Button/sgds-button.cjs.js.map +1 -0
  300. package/react/components/Button/sgds-button.js +166 -0
  301. package/react/components/Button/sgds-button.js.map +1 -0
  302. package/react/components/Card/card.js +7 -0
  303. package/react/components/Card/card.js.map +1 -0
  304. package/react/components/Card/sgds-card.cjs.js.map +1 -0
  305. package/react/components/Card/sgds-card.js +76 -0
  306. package/react/components/Card/sgds-card.js.map +1 -0
  307. package/react/components/Checkbox/checkbox.js +7 -0
  308. package/react/components/Checkbox/checkbox.js.map +1 -0
  309. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  310. package/react/components/Checkbox/sgds-checkbox.js +26 -0
  311. package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
  312. package/react/components/ComboBox/combo-box.js +7 -0
  313. package/react/components/ComboBox/combo-box.js.map +1 -0
  314. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  315. package/react/components/ComboBox/sgds-combo-box.js +194 -0
  316. package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
  317. package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  318. package/react/components/Datepicker/datepicker-calendar.js +458 -0
  319. package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
  320. package/react/components/Datepicker/datepicker-calendar2.js +7 -0
  321. package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
  322. package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  323. package/react/components/Datepicker/datepicker-header.js +227 -0
  324. package/react/components/Datepicker/datepicker-header.js.map +1 -0
  325. package/react/components/Datepicker/datepicker-header2.js +7 -0
  326. package/react/components/Datepicker/datepicker-header2.js.map +1 -0
  327. package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
  328. package/react/components/Datepicker/datepicker-input.js +150 -0
  329. package/react/components/Datepicker/datepicker-input.js.map +1 -0
  330. package/react/components/Datepicker/datepicker-input2.js +7 -0
  331. package/react/components/Datepicker/datepicker-input2.js.map +1 -0
  332. package/react/components/Datepicker/datepicker.js +7 -0
  333. package/react/components/Datepicker/datepicker.js.map +1 -0
  334. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  335. package/react/components/Datepicker/sgds-datepicker.js +484 -0
  336. package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
  337. package/react/components/Drawer/drawer.js +7 -0
  338. package/react/components/Drawer/drawer.js.map +1 -0
  339. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  340. package/react/components/Drawer/sgds-drawer.js +413 -0
  341. package/react/components/Drawer/sgds-drawer.js.map +1 -0
  342. package/react/components/Dropdown/dropdown.js +7 -0
  343. package/react/components/Dropdown/dropdown.js.map +1 -0
  344. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  345. package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
  346. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  347. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  348. package/react/components/Dropdown/sgds-dropdown.js +117 -0
  349. package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
  350. package/react/components/FileUpload/file-upload.js +7 -0
  351. package/react/components/FileUpload/file-upload.js.map +1 -0
  352. package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  353. package/react/components/FileUpload/sgds-file-upload.js +208 -0
  354. package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
  355. package/react/components/Footer/footer.js +7 -0
  356. package/react/components/Footer/footer.js.map +1 -0
  357. package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
  358. package/react/components/Footer/sgds-footer.js +155 -0
  359. package/react/components/Footer/sgds-footer.js.map +1 -0
  360. package/react/components/Input/input.js +7 -0
  361. package/react/components/Input/input.js.map +1 -0
  362. package/react/components/Input/sgds-input.cjs.js.map +1 -0
  363. package/react/components/Input/sgds-input.js +262 -0
  364. package/react/components/Input/sgds-input.js.map +1 -0
  365. package/react/components/Mainnav/mainnav-dropdown.js +7 -0
  366. package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
  367. package/react/components/Mainnav/mainnav-item.js +7 -0
  368. package/react/components/Mainnav/mainnav-item.js.map +1 -0
  369. package/react/components/Mainnav/mainnav.js +7 -0
  370. package/react/components/Mainnav/mainnav.js.map +1 -0
  371. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  372. package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
  373. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  374. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  375. package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
  376. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  377. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  378. package/react/components/Mainnav/sgds-mainnav.js +227 -0
  379. package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
  380. package/react/components/Masthead/masthead.js +7 -0
  381. package/react/components/Masthead/masthead.js.map +1 -0
  382. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  383. package/react/components/Masthead/sgds-masthead.js +182 -0
  384. package/react/components/Masthead/sgds-masthead.js.map +1 -0
  385. package/react/components/Modal/modal.js +7 -0
  386. package/react/components/Modal/modal.js.map +1 -0
  387. package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
  388. package/react/components/Modal/sgds-modal.js +340 -0
  389. package/react/components/Modal/sgds-modal.js.map +1 -0
  390. package/react/components/Pagination/pagination.js +7 -0
  391. package/react/components/Pagination/pagination.js.map +1 -0
  392. package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  393. package/react/components/Pagination/sgds-pagination.js +364 -0
  394. package/react/components/Pagination/sgds-pagination.js.map +1 -0
  395. package/react/components/Progress/progress-bar.js +7 -0
  396. package/react/components/Progress/progress-bar.js.map +1 -0
  397. package/react/components/Progress/progress.js +7 -0
  398. package/react/components/Progress/progress.js.map +1 -0
  399. package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  400. package/react/components/Progress/sgds-progress-bar.js +59 -0
  401. package/react/components/Progress/sgds-progress-bar.js.map +1 -0
  402. package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
  403. package/react/components/Progress/sgds-progress.js +30 -0
  404. package/react/components/Progress/sgds-progress.js.map +1 -0
  405. package/react/components/QuantityToggle/quantity-toggle.js +7 -0
  406. package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
  407. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  408. package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
  409. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  410. package/react/components/Radio/radio-group.js +7 -0
  411. package/react/components/Radio/radio-group.js.map +1 -0
  412. package/react/components/Radio/radio.js +7 -0
  413. package/react/components/Radio/radio.js.map +1 -0
  414. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  415. package/react/components/Radio/sgds-radio-group.js +240 -0
  416. package/react/components/Radio/sgds-radio-group.js.map +1 -0
  417. package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
  418. package/react/components/Radio/sgds-radio.js +138 -0
  419. package/react/components/Radio/sgds-radio.js.map +1 -0
  420. package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  421. package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
  422. package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  423. package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  424. package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
  425. package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  426. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  427. package/react/components/Sidenav/sgds-sidenav.js +75 -0
  428. package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
  429. package/react/components/Sidenav/sidenav-item.js +7 -0
  430. package/react/components/Sidenav/sidenav-item.js.map +1 -0
  431. package/react/components/Sidenav/sidenav-link.js +7 -0
  432. package/react/components/Sidenav/sidenav-link.js.map +1 -0
  433. package/react/components/Sidenav/sidenav.js +7 -0
  434. package/react/components/Sidenav/sidenav.js.map +1 -0
  435. package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  436. package/react/components/Spinner/sgds-spinner.js +38 -0
  437. package/react/components/Spinner/sgds-spinner.js.map +1 -0
  438. package/react/components/Spinner/spinner.js +8 -0
  439. package/react/components/Spinner/spinner.js.map +1 -0
  440. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  441. package/react/components/Stepper/sgds-stepper.js +132 -0
  442. package/react/components/Stepper/sgds-stepper.js.map +1 -0
  443. package/react/components/Stepper/stepper.js +7 -0
  444. package/react/components/Stepper/stepper.js.map +1 -0
  445. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  446. package/react/components/Tab/sgds-tab-group.js +233 -0
  447. package/react/components/Tab/sgds-tab-group.js.map +1 -0
  448. package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  449. package/react/components/Tab/sgds-tab-panel.js +63 -0
  450. package/react/components/Tab/sgds-tab-panel.js.map +1 -0
  451. package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
  452. package/react/components/Tab/sgds-tab.js +110 -0
  453. package/react/components/Tab/sgds-tab.js.map +1 -0
  454. package/react/components/Tab/tab-group.js +7 -0
  455. package/react/components/Tab/tab-group.js.map +1 -0
  456. package/react/components/Tab/tab-panel.js +7 -0
  457. package/react/components/Tab/tab-panel.js.map +1 -0
  458. package/react/components/Tab/tab.js +7 -0
  459. package/react/components/Tab/tab.js.map +1 -0
  460. package/react/components/Table/sgds-table.cjs.js.map +1 -0
  461. package/react/components/Table/sgds-table.js +267 -0
  462. package/react/components/Table/sgds-table.js.map +1 -0
  463. package/react/components/Table/table.js +7 -0
  464. package/react/components/Table/table.js.map +1 -0
  465. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  466. package/react/components/Textarea/sgds-textarea.js +252 -0
  467. package/react/components/Textarea/sgds-textarea.js.map +1 -0
  468. package/react/components/Textarea/textarea.js +7 -0
  469. package/react/components/Textarea/textarea.js.map +1 -0
  470. package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  471. package/react/components/Toast/sgds-toast-container.js +36 -0
  472. package/react/components/Toast/sgds-toast-container.js.map +1 -0
  473. package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
  474. package/react/components/Toast/sgds-toast.js +152 -0
  475. package/react/components/Toast/sgds-toast.js.map +1 -0
  476. package/react/components/Toast/toast-container.js +7 -0
  477. package/react/components/Toast/toast-container.js.map +1 -0
  478. package/react/components/Toast/toast.js +7 -0
  479. package/react/components/Toast/toast.js.map +1 -0
  480. package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  481. package/react/components/Tooltip/sgds-tooltip.js +121 -0
  482. package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
  483. package/react/components/Tooltip/tooltip.js +7 -0
  484. package/react/components/Tooltip/tooltip.js.map +1 -0
  485. package/react/datepicker/index.cjs.js +1 -1
  486. package/react/datepicker/index.js +1 -1
  487. package/react/drawer/index.cjs.js +1 -1
  488. package/react/drawer/index.js +1 -1
  489. package/react/dropdown/index.cjs.js +1 -1
  490. package/react/dropdown/index.js +1 -1
  491. package/react/dropdown-item/index.cjs.js +1 -1
  492. package/react/dropdown-item/index.js +1 -1
  493. package/react/file-upload/index.cjs.js +1 -1
  494. package/react/file-upload/index.js +1 -1
  495. package/react/footer/index.cjs.js +1 -1
  496. package/react/footer/index.js +1 -1
  497. package/react/input/index.cjs.js +1 -1
  498. package/react/input/index.js +1 -1
  499. package/react/internals/CloseButton/close-button.js +7 -0
  500. package/react/internals/CloseButton/close-button.js.map +1 -0
  501. package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
  502. package/react/internals/CloseButton/sgds-close-button.js +55 -0
  503. package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
  504. package/react/mainnav/index.cjs.js +1 -1
  505. package/react/mainnav/index.js +1 -1
  506. package/react/mainnav-dropdown/index.cjs.js +1 -1
  507. package/react/mainnav-dropdown/index.js +1 -1
  508. package/react/mainnav-item/index.cjs.js +1 -1
  509. package/react/mainnav-item/index.js +1 -1
  510. package/react/masthead/index.cjs.js +1 -1
  511. package/react/masthead/index.js +1 -1
  512. package/react/modal/index.cjs.js +1 -1
  513. package/react/modal/index.js +1 -1
  514. package/react/pagination/index.cjs.js +1 -1
  515. package/react/pagination/index.js +1 -1
  516. package/react/progress/index.cjs.js +1 -1
  517. package/react/progress/index.js +1 -1
  518. package/react/progress-bar/index.cjs.js +1 -1
  519. package/react/progress-bar/index.js +1 -1
  520. package/react/quantity-toggle/index.cjs.js +1 -1
  521. package/react/quantity-toggle/index.js +1 -1
  522. package/react/radio/index.cjs.js +1 -1
  523. package/react/radio/index.js +1 -1
  524. package/react/radio-group/index.cjs.js +1 -1
  525. package/react/radio-group/index.js +1 -1
  526. package/react/sidenav/index.cjs.js +1 -1
  527. package/react/sidenav/index.js +1 -1
  528. package/react/sidenav-item/index.cjs.js +1 -1
  529. package/react/sidenav-item/index.js +1 -1
  530. package/react/sidenav-link/index.cjs.js +1 -1
  531. package/react/sidenav-link/index.js +1 -1
  532. package/react/spinner/index.cjs.js +1 -1
  533. package/react/spinner/index.js +1 -1
  534. package/react/stepper/index.cjs.js +1 -1
  535. package/react/stepper/index.js +1 -1
  536. package/react/styles/anchor.js +7 -0
  537. package/react/styles/anchor.js.map +1 -0
  538. package/react/styles/bg-variants.js +7 -0
  539. package/react/styles/bg-variants.js.map +1 -0
  540. package/react/styles/border-variants.js +7 -0
  541. package/react/styles/border-variants.js.map +1 -0
  542. package/react/styles/feedback.js +7 -0
  543. package/react/styles/feedback.js.map +1 -0
  544. package/react/styles/form-hint.js +7 -0
  545. package/react/styles/form-hint.js.map +1 -0
  546. package/react/styles/form-label.js +7 -0
  547. package/react/styles/form-label.js.map +1 -0
  548. package/react/styles/header-class.js +7 -0
  549. package/react/styles/header-class.js.map +1 -0
  550. package/react/styles/paragraph.js +7 -0
  551. package/react/styles/paragraph.js.map +1 -0
  552. package/react/styles/svg.js +7 -0
  553. package/react/styles/svg.js.map +1 -0
  554. package/react/styles/text-variants.js +7 -0
  555. package/react/styles/text-variants.js.map +1 -0
  556. package/react/tab/index.cjs.js +1 -1
  557. package/react/tab/index.js +1 -1
  558. package/react/tab-group/index.cjs.js +1 -1
  559. package/react/tab-group/index.js +1 -1
  560. package/react/tab-panel/index.cjs.js +1 -1
  561. package/react/tab-panel/index.js +1 -1
  562. package/react/table/index.cjs.js +1 -1
  563. package/react/table/index.js +1 -1
  564. package/react/textarea/index.cjs.js +1 -1
  565. package/react/textarea/index.js +1 -1
  566. package/react/toast/index.cjs.js +1 -1
  567. package/react/toast/index.js +1 -1
  568. package/react/toast-container/index.cjs.js +1 -1
  569. package/react/toast-container/index.js +1 -1
  570. package/react/tooltip/index.cjs.js +1 -1
  571. package/react/tooltip/index.js +1 -1
  572. package/react/utils/animate.cjs.js.map +1 -0
  573. package/react/utils/animate.js +42 -0
  574. package/react/utils/animate.js.map +1 -0
  575. package/react/utils/animation-registry.cjs.js.map +1 -0
  576. package/react/utils/animation-registry.js +43 -0
  577. package/react/utils/animation-registry.js.map +1 -0
  578. package/react/utils/breakpoints.cjs.js.map +1 -0
  579. package/react/utils/breakpoints.js +9 -0
  580. package/react/utils/breakpoints.js.map +1 -0
  581. package/react/utils/defaultvalue.cjs.js.map +1 -0
  582. package/react/utils/defaultvalue.js +25 -0
  583. package/react/utils/defaultvalue.js.map +1 -0
  584. package/react/utils/event.cjs.js.map +1 -0
  585. package/react/utils/event.js +16 -0
  586. package/react/utils/event.js.map +1 -0
  587. package/react/utils/form.cjs.js.map +1 -0
  588. package/react/utils/form.js +133 -0
  589. package/react/utils/form.js.map +1 -0
  590. package/react/utils/generateId.cjs.js.map +1 -0
  591. package/react/utils/generateId.js +7 -0
  592. package/react/utils/generateId.js.map +1 -0
  593. package/react/utils/mergeDeep.cjs.js.map +1 -0
  594. package/react/utils/mergeDeep.js +26 -0
  595. package/react/utils/mergeDeep.js.map +1 -0
  596. package/react/utils/modal.cjs.js.map +1 -0
  597. package/react/utils/modal.js +56 -0
  598. package/react/utils/modal.js.map +1 -0
  599. package/react/utils/object.cjs.js.map +1 -0
  600. package/react/utils/object.js +7 -0
  601. package/react/utils/object.js.map +1 -0
  602. package/react/utils/scroll.cjs.js.map +1 -0
  603. package/react/utils/scroll.js +22 -0
  604. package/react/utils/scroll.js.map +1 -0
  605. package/react/utils/slot.cjs.js.map +1 -0
  606. package/react/utils/slot.js +53 -0
  607. package/react/utils/slot.js.map +1 -0
  608. package/react/utils/tabbable.cjs.js.map +1 -0
  609. package/react/utils/tabbable.js +69 -0
  610. package/react/utils/tabbable.js.map +1 -0
  611. package/react/utils/time.cjs.js.map +1 -0
  612. package/react/utils/time.js +75 -0
  613. package/react/utils/time.js.map +1 -0
  614. package/react/utils/watch.cjs.js.map +1 -0
  615. package/react/utils/watch.js +40 -0
  616. package/react/utils/watch.js.map +1 -0
  617. package/styles/anchor.js +0 -1
  618. package/styles/anchor.js.map +1 -1
  619. package/styles/bg-variants.js +0 -1
  620. package/styles/bg-variants.js.map +1 -1
  621. package/styles/border-variants.js +0 -1
  622. package/styles/border-variants.js.map +1 -1
  623. package/styles/feedback.js +0 -1
  624. package/styles/feedback.js.map +1 -1
  625. package/styles/form-hint.js +0 -1
  626. package/styles/form-hint.js.map +1 -1
  627. package/styles/form-label.js +0 -1
  628. package/styles/form-label.js.map +1 -1
  629. package/styles/header-class.js +0 -1
  630. package/styles/header-class.js.map +1 -1
  631. package/styles/paragraph.js +0 -1
  632. package/styles/paragraph.js.map +1 -1
  633. package/styles/svg.js +0 -1
  634. package/styles/svg.js.map +1 -1
  635. package/styles/text-variants.js +0 -1
  636. package/styles/text-variants.js.map +1 -1
  637. package/utils/animate.js +0 -1
  638. package/utils/animate.js.map +1 -1
  639. package/utils/animation-registry.js +0 -1
  640. package/utils/animation-registry.js.map +1 -1
  641. package/utils/breakpoints.js +0 -1
  642. package/utils/breakpoints.js.map +1 -1
  643. package/utils/defaultvalue.js +0 -1
  644. package/utils/defaultvalue.js.map +1 -1
  645. package/utils/event.js +0 -1
  646. package/utils/event.js.map +1 -1
  647. package/utils/form.js +0 -1
  648. package/utils/form.js.map +1 -1
  649. package/utils/generateId.js +0 -1
  650. package/utils/generateId.js.map +1 -1
  651. package/utils/mergeDeep.js +0 -1
  652. package/utils/mergeDeep.js.map +1 -1
  653. package/utils/modal.js +0 -1
  654. package/utils/modal.js.map +1 -1
  655. package/utils/object.js +0 -1
  656. package/utils/object.js.map +1 -1
  657. package/utils/scroll.js +0 -1
  658. package/utils/scroll.js.map +1 -1
  659. package/utils/slot.js +0 -1
  660. package/utils/slot.js.map +1 -1
  661. package/utils/tabbable.js +0 -1
  662. package/utils/tabbable.js.map +1 -1
  663. package/utils/time.js +0 -1
  664. package/utils/time.js.map +1 -1
  665. package/utils/watch.js +0 -1
  666. package/utils/watch.js.map +1 -1
  667. package/base/card-element.cjs.js.map +0 -1
  668. package/base/dropdown-element.cjs.js.map +0 -1
  669. package/base/dropdown-list-element.cjs.js.map +0 -1
  670. package/base/form-check-element.cjs.js.map +0 -1
  671. package/base/link-element.cjs.js.map +0 -1
  672. package/base/sgds-element.cjs.js.map +0 -1
  673. package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
  674. package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
  675. package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
  676. package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
  677. package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
  678. package/components/Alert/sgds-alert.cjs.js.map +0 -1
  679. package/components/Badge/sgds-badge.cjs.js.map +0 -1
  680. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
  681. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
  682. package/components/Button/sgds-button.cjs.js.map +0 -1
  683. package/components/Card/sgds-card.cjs.js.map +0 -1
  684. package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
  685. package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
  686. package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
  687. package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
  688. package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
  689. package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
  690. package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
  691. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
  692. package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
  693. package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
  694. package/components/Footer/sgds-footer.cjs.js.map +0 -1
  695. package/components/Input/sgds-input.cjs.js.map +0 -1
  696. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
  697. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
  698. package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
  699. package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
  700. package/components/Modal/sgds-modal.cjs.js.map +0 -1
  701. package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
  702. package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
  703. package/components/Progress/sgds-progress.cjs.js.map +0 -1
  704. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
  705. package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
  706. package/components/Radio/sgds-radio.cjs.js.map +0 -1
  707. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
  708. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
  709. package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
  710. package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
  711. package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
  712. package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
  713. package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
  714. package/components/Tab/sgds-tab.cjs.js.map +0 -1
  715. package/components/Table/sgds-table.cjs.js.map +0 -1
  716. package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
  717. package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
  718. package/components/Toast/sgds-toast.cjs.js.map +0 -1
  719. package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
  720. package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
  721. package/utils/animate.cjs.js.map +0 -1
  722. package/utils/animation-registry.cjs.js.map +0 -1
  723. package/utils/breakpoints.cjs.js.map +0 -1
  724. package/utils/defaultvalue.cjs.js.map +0 -1
  725. package/utils/event.cjs.js.map +0 -1
  726. package/utils/form.cjs.js.map +0 -1
  727. package/utils/generateId.cjs.js.map +0 -1
  728. package/utils/mergeDeep.cjs.js.map +0 -1
  729. package/utils/modal.cjs.js.map +0 -1
  730. package/utils/object.cjs.js.map +0 -1
  731. package/utils/scroll.cjs.js.map +0 -1
  732. package/utils/slot.cjs.js.map +0 -1
  733. package/utils/tabbable.cjs.js.map +0 -1
  734. package/utils/time.cjs.js.map +0 -1
  735. package/utils/watch.cjs.js.map +0 -1
  736. /package/{base → react/base}/card-element.cjs.js +0 -0
  737. /package/{base → react/base}/card.cjs.js +0 -0
  738. /package/{base → react/base}/card.cjs.js.map +0 -0
  739. /package/{base → react/base}/dropdown-element.cjs.js +0 -0
  740. /package/{base → react/base}/dropdown-list-element.cjs.js +0 -0
  741. /package/{base → react/base}/form-check-element.cjs.js +0 -0
  742. /package/{base → react/base}/link-element.cjs.js +0 -0
  743. /package/{base → react/base}/sgds-element.cjs.js +0 -0
  744. /package/{base → react/base}/sgds-element.cjs2.js +0 -0
  745. /package/{base → react/base}/sgds-element.cjs2.js.map +0 -0
  746. /package/{components → react/components}/Accordion/accordion-item.cjs.js +0 -0
  747. /package/{components → react/components}/Accordion/accordion-item.cjs.js.map +0 -0
  748. /package/{components → react/components}/Accordion/accordion.cjs.js +0 -0
  749. /package/{components → react/components}/Accordion/accordion.cjs.js.map +0 -0
  750. /package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +0 -0
  751. /package/{components → react/components}/Accordion/sgds-accordion.cjs.js +0 -0
  752. /package/{components → react/components}/ActionCard/action-card.cjs.js +0 -0
  753. /package/{components → react/components}/ActionCard/action-card.cjs.js.map +0 -0
  754. /package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +0 -0
  755. /package/{components → react/components}/Alert/alert-link.cjs.js +0 -0
  756. /package/{components → react/components}/Alert/alert-link.cjs.js.map +0 -0
  757. /package/{components → react/components}/Alert/alert.cjs.js +0 -0
  758. /package/{components → react/components}/Alert/alert.cjs.js.map +0 -0
  759. /package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +0 -0
  760. /package/{components → react/components}/Alert/sgds-alert-link.cjs.js +0 -0
  761. /package/{components → react/components}/Alert/sgds-alert.cjs.js +0 -0
  762. /package/{components → react/components}/Badge/badge.cjs.js +0 -0
  763. /package/{components → react/components}/Badge/badge.cjs.js.map +0 -0
  764. /package/{components → react/components}/Badge/sgds-badge.cjs.js +0 -0
  765. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +0 -0
  766. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +0 -0
  767. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +0 -0
  768. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +0 -0
  769. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +0 -0
  770. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +0 -0
  771. /package/{components → react/components}/Button/button.cjs.js +0 -0
  772. /package/{components → react/components}/Button/button.cjs.js.map +0 -0
  773. /package/{components → react/components}/Button/sgds-button.cjs.js +0 -0
  774. /package/{components → react/components}/Card/card.cjs.js +0 -0
  775. /package/{components → react/components}/Card/card.cjs.js.map +0 -0
  776. /package/{components → react/components}/Card/sgds-card.cjs.js +0 -0
  777. /package/{components → react/components}/Checkbox/checkbox.cjs.js +0 -0
  778. /package/{components → react/components}/Checkbox/checkbox.cjs.js.map +0 -0
  779. /package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +0 -0
  780. /package/{components → react/components}/ComboBox/combo-box.cjs.js +0 -0
  781. /package/{components → react/components}/ComboBox/combo-box.cjs.js.map +0 -0
  782. /package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +0 -0
  783. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +0 -0
  784. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +0 -0
  785. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +0 -0
  786. /package/{components → react/components}/Datepicker/datepicker-header.cjs.js +0 -0
  787. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +0 -0
  788. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +0 -0
  789. /package/{components → react/components}/Datepicker/datepicker-input.cjs.js +0 -0
  790. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +0 -0
  791. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +0 -0
  792. /package/{components → react/components}/Datepicker/datepicker.cjs.js +0 -0
  793. /package/{components → react/components}/Datepicker/datepicker.cjs.js.map +0 -0
  794. /package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +0 -0
  795. /package/{components → react/components}/Drawer/drawer.cjs.js +0 -0
  796. /package/{components → react/components}/Drawer/drawer.cjs.js.map +0 -0
  797. /package/{components → react/components}/Drawer/sgds-drawer.cjs.js +0 -0
  798. /package/{components → react/components}/Dropdown/dropdown.cjs.js +0 -0
  799. /package/{components → react/components}/Dropdown/dropdown.cjs.js.map +0 -0
  800. /package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +0 -0
  801. /package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +0 -0
  802. /package/{components → react/components}/FileUpload/file-upload.cjs.js +0 -0
  803. /package/{components → react/components}/FileUpload/file-upload.cjs.js.map +0 -0
  804. /package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +0 -0
  805. /package/{components → react/components}/Footer/footer.cjs.js +0 -0
  806. /package/{components → react/components}/Footer/footer.cjs.js.map +0 -0
  807. /package/{components → react/components}/Footer/sgds-footer.cjs.js +0 -0
  808. /package/{components → react/components}/Input/input.cjs.js +0 -0
  809. /package/{components → react/components}/Input/input.cjs.js.map +0 -0
  810. /package/{components → react/components}/Input/sgds-input.cjs.js +0 -0
  811. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +0 -0
  812. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +0 -0
  813. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js +0 -0
  814. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +0 -0
  815. /package/{components → react/components}/Mainnav/mainnav.cjs.js +0 -0
  816. /package/{components → react/components}/Mainnav/mainnav.cjs.js.map +0 -0
  817. /package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +0 -0
  818. /package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +0 -0
  819. /package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +0 -0
  820. /package/{components → react/components}/Masthead/masthead.cjs.js +0 -0
  821. /package/{components → react/components}/Masthead/masthead.cjs.js.map +0 -0
  822. /package/{components → react/components}/Masthead/sgds-masthead.cjs.js +0 -0
  823. /package/{components → react/components}/Modal/modal.cjs.js +0 -0
  824. /package/{components → react/components}/Modal/modal.cjs.js.map +0 -0
  825. /package/{components → react/components}/Modal/sgds-modal.cjs.js +0 -0
  826. /package/{components → react/components}/Pagination/pagination.cjs.js +0 -0
  827. /package/{components → react/components}/Pagination/pagination.cjs.js.map +0 -0
  828. /package/{components → react/components}/Pagination/sgds-pagination.cjs.js +0 -0
  829. /package/{components → react/components}/Progress/progress-bar.cjs.js +0 -0
  830. /package/{components → react/components}/Progress/progress-bar.cjs.js.map +0 -0
  831. /package/{components → react/components}/Progress/progress.cjs.js +0 -0
  832. /package/{components → react/components}/Progress/progress.cjs.js.map +0 -0
  833. /package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +0 -0
  834. /package/{components → react/components}/Progress/sgds-progress.cjs.js +0 -0
  835. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +0 -0
  836. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +0 -0
  837. /package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +0 -0
  838. /package/{components → react/components}/Radio/radio-group.cjs.js +0 -0
  839. /package/{components → react/components}/Radio/radio-group.cjs.js.map +0 -0
  840. /package/{components → react/components}/Radio/radio.cjs.js +0 -0
  841. /package/{components → react/components}/Radio/radio.cjs.js.map +0 -0
  842. /package/{components → react/components}/Radio/sgds-radio-group.cjs.js +0 -0
  843. /package/{components → react/components}/Radio/sgds-radio.cjs.js +0 -0
  844. /package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +0 -0
  845. /package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +0 -0
  846. /package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +0 -0
  847. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js +0 -0
  848. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +0 -0
  849. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js +0 -0
  850. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +0 -0
  851. /package/{components → react/components}/Sidenav/sidenav.cjs.js +0 -0
  852. /package/{components → react/components}/Sidenav/sidenav.cjs.js.map +0 -0
  853. /package/{components → react/components}/Spinner/sgds-spinner.cjs.js +0 -0
  854. /package/{components → react/components}/Spinner/spinner.cjs.js +0 -0
  855. /package/{components → react/components}/Spinner/spinner.cjs.js.map +0 -0
  856. /package/{components → react/components}/Stepper/sgds-stepper.cjs.js +0 -0
  857. /package/{components → react/components}/Stepper/stepper.cjs.js +0 -0
  858. /package/{components → react/components}/Stepper/stepper.cjs.js.map +0 -0
  859. /package/{components → react/components}/Tab/sgds-tab-group.cjs.js +0 -0
  860. /package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +0 -0
  861. /package/{components → react/components}/Tab/sgds-tab.cjs.js +0 -0
  862. /package/{components → react/components}/Tab/tab-group.cjs.js +0 -0
  863. /package/{components → react/components}/Tab/tab-group.cjs.js.map +0 -0
  864. /package/{components → react/components}/Tab/tab-panel.cjs.js +0 -0
  865. /package/{components → react/components}/Tab/tab-panel.cjs.js.map +0 -0
  866. /package/{components → react/components}/Tab/tab.cjs.js +0 -0
  867. /package/{components → react/components}/Tab/tab.cjs.js.map +0 -0
  868. /package/{components → react/components}/Table/sgds-table.cjs.js +0 -0
  869. /package/{components → react/components}/Table/table.cjs.js +0 -0
  870. /package/{components → react/components}/Table/table.cjs.js.map +0 -0
  871. /package/{components → react/components}/Textarea/sgds-textarea.cjs.js +0 -0
  872. /package/{components → react/components}/Textarea/textarea.cjs.js +0 -0
  873. /package/{components → react/components}/Textarea/textarea.cjs.js.map +0 -0
  874. /package/{components → react/components}/Toast/sgds-toast-container.cjs.js +0 -0
  875. /package/{components → react/components}/Toast/sgds-toast.cjs.js +0 -0
  876. /package/{components → react/components}/Toast/toast-container.cjs.js +0 -0
  877. /package/{components → react/components}/Toast/toast-container.cjs.js.map +0 -0
  878. /package/{components → react/components}/Toast/toast.cjs.js +0 -0
  879. /package/{components → react/components}/Toast/toast.cjs.js.map +0 -0
  880. /package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +0 -0
  881. /package/{components → react/components}/Tooltip/tooltip.cjs.js +0 -0
  882. /package/{components → react/components}/Tooltip/tooltip.cjs.js.map +0 -0
  883. /package/{internals → react/internals}/CloseButton/close-button.cjs.js +0 -0
  884. /package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +0 -0
  885. /package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +0 -0
  886. /package/{styles → react/styles}/anchor.cjs.js +0 -0
  887. /package/{styles → react/styles}/anchor.cjs.js.map +0 -0
  888. /package/{styles → react/styles}/bg-variants.cjs.js +0 -0
  889. /package/{styles → react/styles}/bg-variants.cjs.js.map +0 -0
  890. /package/{styles → react/styles}/border-variants.cjs.js +0 -0
  891. /package/{styles → react/styles}/border-variants.cjs.js.map +0 -0
  892. /package/{styles → react/styles}/feedback.cjs.js +0 -0
  893. /package/{styles → react/styles}/feedback.cjs.js.map +0 -0
  894. /package/{styles → react/styles}/form-hint.cjs.js +0 -0
  895. /package/{styles → react/styles}/form-hint.cjs.js.map +0 -0
  896. /package/{styles → react/styles}/form-label.cjs.js +0 -0
  897. /package/{styles → react/styles}/form-label.cjs.js.map +0 -0
  898. /package/{styles → react/styles}/header-class.cjs.js +0 -0
  899. /package/{styles → react/styles}/header-class.cjs.js.map +0 -0
  900. /package/{styles → react/styles}/paragraph.cjs.js +0 -0
  901. /package/{styles → react/styles}/paragraph.cjs.js.map +0 -0
  902. /package/{styles → react/styles}/svg.cjs.js +0 -0
  903. /package/{styles → react/styles}/svg.cjs.js.map +0 -0
  904. /package/{styles → react/styles}/text-variants.cjs.js +0 -0
  905. /package/{styles → react/styles}/text-variants.cjs.js.map +0 -0
  906. /package/{utils → react/utils}/animate.cjs.js +0 -0
  907. /package/{utils → react/utils}/animation-registry.cjs.js +0 -0
  908. /package/{utils → react/utils}/breakpoints.cjs.js +0 -0
  909. /package/{utils → react/utils}/defaultvalue.cjs.js +0 -0
  910. /package/{utils → react/utils}/event.cjs.js +0 -0
  911. /package/{utils → react/utils}/form.cjs.js +0 -0
  912. /package/{utils → react/utils}/generateId.cjs.js +0 -0
  913. /package/{utils → react/utils}/mergeDeep.cjs.js +0 -0
  914. /package/{utils → react/utils}/modal.cjs.js +0 -0
  915. /package/{utils → react/utils}/object.cjs.js +0 -0
  916. /package/{utils → react/utils}/scroll.cjs.js +0 -0
  917. /package/{utils → react/utils}/slot.cjs.js +0 -0
  918. /package/{utils → react/utils}/tabbable.cjs.js +0 -0
  919. /package/{utils → react/utils}/time.cjs.js +0 -0
  920. /package/{utils → react/utils}/watch.cjs.js +0 -0
@@ -0,0 +1,174 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import Dropdown from 'bootstrap/js/src/dropdown';
4
+ import { property, state } from 'lit/decorators.js';
5
+ import { createRef } from 'lit/directives/ref.js';
6
+ import mergeDeep from '../utils/mergeDeep.js';
7
+ import SgdsElement from './sgds-element.js';
8
+ import genId from '../utils/generateId.js';
9
+
10
+ const ARROW_DOWN = "ArrowDown";
11
+ const ARROW_UP = "ArrowUp";
12
+ const ESC = "Escape";
13
+ /**
14
+ * @event sgds-show - Emitted event when show instance is called
15
+ * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed
16
+ * @event sgds-hide - Emitted event when hide instance is called
17
+ * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed
18
+ */
19
+ class DropdownElement extends SgdsElement {
20
+ constructor() {
21
+ // static styles = SgdsElement.styles;
22
+ super(...arguments);
23
+ /** @internal */
24
+ this.myDropdown = createRef();
25
+ /** @internal */
26
+ this.bsDropdown = null;
27
+ /** @internal Unique id generated for the dropdown menu */
28
+ this.dropdownMenuId = genId("dropdown-menu", "div");
29
+ /** @internal Controls auto-flipping of menu */
30
+ this.noFlip = false;
31
+ /** @internal When true, aligns right edge of menu with right edge of button */
32
+ this.menuAlignRight = false;
33
+ /** @internal The drop position of menu relative to the toggle button */
34
+ this.drop = "down";
35
+ /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */
36
+ this.popperOpts = {};
37
+ /** @internal */
38
+ this.modifierOpt = [];
39
+ /** When true, dropdown menu shows on first load */
40
+ this.menuIsOpen = false;
41
+ /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */
42
+ this.close = "default";
43
+ /** Disables the dropdown toggle */
44
+ this.disabled = false;
45
+ }
46
+ connectedCallback() {
47
+ super.connectedCallback();
48
+ if (this.close !== "inside") {
49
+ document.addEventListener("click", (event) => this._handleClickOutOfElement(event, this));
50
+ }
51
+ }
52
+ disconnectedCallback() {
53
+ super.disconnectedCallback();
54
+ document.removeEventListener("click", (event) => this._handleClickOutOfElement(event, this));
55
+ }
56
+ firstUpdated() {
57
+ this.bsDropdown = new Dropdown(this.myDropdown.value, {
58
+ // 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
59
+ reference: "toggle", // working
60
+ popperConfig: (defaultConfig) => {
61
+ //working
62
+ this.dropdownConfig = {
63
+ placement: "bottom-start",
64
+ modifiers: !this.noFlip
65
+ ? this.modifierOpt
66
+ : [
67
+ ...this.modifierOpt,
68
+ {
69
+ name: "flip",
70
+ options: { fallbackPlacements: [] }
71
+ }
72
+ ]
73
+ };
74
+ switch (this.drop) {
75
+ case "up":
76
+ this.dropdownConfig.placement = this.menuAlignRight ? "top-end" : "top-start";
77
+ break;
78
+ case "right":
79
+ this.dropdownConfig.placement = "right-start";
80
+ break;
81
+ case "left":
82
+ this.dropdownConfig.placement = "left-start";
83
+ break;
84
+ case "down":
85
+ this.dropdownConfig.placement = this.menuAlignRight ? "bottom-end" : "bottom-start";
86
+ break;
87
+ default:
88
+ this.dropdownConfig.placement = undefined;
89
+ break;
90
+ }
91
+ return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));
92
+ }
93
+ });
94
+ this.myDropdown.value.addEventListener("show.bs.dropdown", () => {
95
+ this.menuIsOpen = true;
96
+ this.emit("sgds-show");
97
+ });
98
+ this.myDropdown.value.addEventListener("shown.bs.dropdown", () => {
99
+ this.menuIsOpen = true;
100
+ this.emit("sgds-after-show");
101
+ });
102
+ this.myDropdown.value.addEventListener("hide.bs.dropdown", () => {
103
+ this.menuIsOpen = false;
104
+ this.emit("sgds-hide");
105
+ });
106
+ this.myDropdown.value.addEventListener("hidden.bs.dropdown", () => {
107
+ this.menuIsOpen = false;
108
+ this.emit("sgds-after-hide");
109
+ });
110
+ this.addEventListener("keydown", this._handleKeyboardMenuEvent);
111
+ }
112
+ /** When invoked, opens the dropdown menu */
113
+ showMenu() {
114
+ this.bsDropdown.show();
115
+ }
116
+ /** When invoked, hides the dropdown menu */
117
+ hideMenu() {
118
+ this.bsDropdown.hide();
119
+ }
120
+ toggleMenu() {
121
+ this.bsDropdown.toggle();
122
+ }
123
+ _handleKeyboardMenuEvent(e) {
124
+ switch (e.key) {
125
+ case ARROW_DOWN:
126
+ e.preventDefault();
127
+ if (!this.menuIsOpen)
128
+ return this.showMenu();
129
+ break;
130
+ case ARROW_UP:
131
+ e.preventDefault();
132
+ if (!this.menuIsOpen)
133
+ return this.showMenu();
134
+ break;
135
+ case ESC:
136
+ return this.hideMenu();
137
+ }
138
+ }
139
+ _handleClickOutOfElement(e, self) {
140
+ if (!e.composedPath().includes(self)) {
141
+ this.hideMenu();
142
+ }
143
+ }
144
+ }
145
+ __decorate([
146
+ property({ type: Boolean, state: true })
147
+ ], DropdownElement.prototype, "noFlip", void 0);
148
+ __decorate([
149
+ property({ type: Boolean, reflect: true, state: true })
150
+ ], DropdownElement.prototype, "menuAlignRight", void 0);
151
+ __decorate([
152
+ property({ type: String, reflect: true, state: true })
153
+ ], DropdownElement.prototype, "drop", void 0);
154
+ __decorate([
155
+ property({ type: Object })
156
+ ], DropdownElement.prototype, "popperOpts", void 0);
157
+ __decorate([
158
+ state()
159
+ ], DropdownElement.prototype, "dropdownConfig", void 0);
160
+ __decorate([
161
+ state()
162
+ ], DropdownElement.prototype, "modifierOpt", void 0);
163
+ __decorate([
164
+ property({ type: Boolean, reflect: true })
165
+ ], DropdownElement.prototype, "menuIsOpen", void 0);
166
+ __decorate([
167
+ property({ type: String })
168
+ ], DropdownElement.prototype, "close", void 0);
169
+ __decorate([
170
+ property({ type: Boolean, reflect: true })
171
+ ], DropdownElement.prototype, "disabled", void 0);
172
+
173
+ export { DropdownElement };
174
+ //# 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\";\nimport generateId from \"../utils/generateId\";\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 */\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 Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"div\");\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 protected 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 public showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n public 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":["generateId"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-list-element.cjs.js","sources":["../../../src/base/dropdown-list-element.ts"],"sourcesContent":["import { query, state } from \"lit/decorators.js\";\nimport { DropdownElement } from \"./dropdown-element\";\nimport { SgdsDropdownItem } from \"../components\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ENTER = \"Enter\";\n\n/**\n * @event sgds-select - Emitted event when a slot item is selected\n */\nexport class DropdownListElement extends DropdownElement {\n static styles = DropdownElement.styles;\n /**@internal */\n @query(\"ul.dropdown-menu\")\n private menu: HTMLUListElement;\n\n /** @internal */\n @state()\n nextDropdownItemNo = 0;\n /** @internal */\n @state()\n prevDropdownItemNo = -1;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n firstUpdated() {\n super.firstUpdated();\n this.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent);\n }\n\n protected handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n /** Emitted event from SgdsDropdown element when a slot item is selected */\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n\n private _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n e.preventDefault();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this.handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n private _getMenuItems(): SgdsDropdownItem[] {\n // for case when default slot is used e.g. dropdown, mainnavdropdown\n if (this.shadowRoot.querySelector(\"slot#default\")) {\n return (this.shadowRoot.querySelector(\"slot#default\") as HTMLSlotElement)?.assignedElements({\n flatten: true\n }) as SgdsDropdownItem[];\n }\n\n // for case when there is no slot e.g. combobox\n if (this.menu.hasChildNodes()) {\n const menuItems = this.menu.children;\n\n return [...menuItems] as SgdsDropdownItem[];\n }\n }\n private _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n private _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem && i.focus();\n });\n }\n}\n"],"names":["DropdownElement","__decorate","query","state"],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { query, state } from 'lit/decorators.js';
4
+ import { DropdownElement } from './dropdown-element.js';
5
+
6
+ const ARROW_DOWN = "ArrowDown";
7
+ const ARROW_UP = "ArrowUp";
8
+ const ENTER = "Enter";
9
+ /**
10
+ * @event sgds-select - Emitted event when a slot item is selected
11
+ */
12
+ class DropdownListElement extends DropdownElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ /** @internal */
16
+ this.nextDropdownItemNo = 0;
17
+ /** @internal */
18
+ this.prevDropdownItemNo = -1;
19
+ }
20
+ connectedCallback() {
21
+ super.connectedCallback();
22
+ this.addEventListener("sgds-hide", this._resetMenu);
23
+ }
24
+ disconnectedCallback() {
25
+ super.disconnectedCallback();
26
+ this.removeEventListener("sgds-hide", this._resetMenu);
27
+ }
28
+ firstUpdated() {
29
+ super.firstUpdated();
30
+ this.addEventListener("keydown", this._handleKeyboardMenuItemsEvent);
31
+ }
32
+ handleSelectSlot(e) {
33
+ const items = this._getActiveMenuItems();
34
+ const currentItemNo = items.indexOf(e.target);
35
+ this.nextDropdownItemNo = currentItemNo + 1;
36
+ this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;
37
+ /** Emitted event from SgdsDropdown element when a slot item is selected */
38
+ const selectedItem = e.target;
39
+ if (!selectedItem.disabled) {
40
+ this.emit("sgds-select");
41
+ this.close !== "outside" && this.bsDropdown.hide();
42
+ }
43
+ else
44
+ return;
45
+ }
46
+ _resetMenu() {
47
+ this.nextDropdownItemNo = 0;
48
+ this.prevDropdownItemNo = -1;
49
+ // reset the tabindex
50
+ const items = this._getMenuItems();
51
+ items.forEach(i => {
52
+ i.removeAttribute("tabindex");
53
+ });
54
+ }
55
+ _handleKeyboardMenuItemsEvent(e) {
56
+ const menuItems = this._getActiveMenuItems();
57
+ switch (e.key) {
58
+ case ARROW_DOWN:
59
+ e.preventDefault();
60
+ if (this.nextDropdownItemNo === menuItems.length) {
61
+ return this._setMenuItem(0);
62
+ }
63
+ else {
64
+ return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);
65
+ }
66
+ case ARROW_UP:
67
+ e.preventDefault();
68
+ if (this.prevDropdownItemNo < 0) {
69
+ return this._setMenuItem(menuItems.length - 1, false);
70
+ }
71
+ else {
72
+ return this._setMenuItem(this.prevDropdownItemNo, false);
73
+ }
74
+ case ENTER:
75
+ if (menuItems.includes(e.target)) {
76
+ return this.handleSelectSlot(e);
77
+ }
78
+ break;
79
+ }
80
+ }
81
+ _getMenuItems() {
82
+ var _a;
83
+ // for case when default slot is used e.g. dropdown, mainnavdropdown
84
+ if (this.shadowRoot.querySelector("slot#default")) {
85
+ return (_a = this.shadowRoot.querySelector("slot#default")) === null || _a === void 0 ? void 0 : _a.assignedElements({
86
+ flatten: true
87
+ });
88
+ }
89
+ // for case when there is no slot e.g. combobox
90
+ if (this.menu.hasChildNodes()) {
91
+ const menuItems = this.menu.children;
92
+ return [...menuItems];
93
+ }
94
+ }
95
+ _getActiveMenuItems() {
96
+ return this._getMenuItems().filter(item => !item.disabled);
97
+ }
98
+ _setMenuItem(currentItemIdx, isArrowDown = true) {
99
+ const items = this._getActiveMenuItems();
100
+ if (items.length === 0)
101
+ return;
102
+ const item = items[currentItemIdx];
103
+ this.nextDropdownItemNo = currentItemIdx + 1;
104
+ this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;
105
+ let activeItem;
106
+ if (item.disabled) {
107
+ return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);
108
+ }
109
+ else
110
+ activeItem = item;
111
+ // focus or blur items depending on active or not
112
+ items.forEach(i => {
113
+ i.setAttribute("tabindex", i === activeItem ? "0" : "-1");
114
+ i === activeItem && i.focus();
115
+ });
116
+ }
117
+ }
118
+ DropdownListElement.styles = DropdownElement.styles;
119
+ __decorate([
120
+ query("ul.dropdown-menu")
121
+ ], DropdownListElement.prototype, "menu", void 0);
122
+ __decorate([
123
+ state()
124
+ ], DropdownListElement.prototype, "nextDropdownItemNo", void 0);
125
+ __decorate([
126
+ state()
127
+ ], DropdownListElement.prototype, "prevDropdownItemNo", void 0);
128
+
129
+ export { DropdownListElement };
130
+ //# sourceMappingURL=dropdown-list-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-list-element.js","sources":["../../../src/base/dropdown-list-element.ts"],"sourcesContent":["import { query, state } from \"lit/decorators.js\";\nimport { DropdownElement } from \"./dropdown-element\";\nimport { SgdsDropdownItem } from \"../components\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ENTER = \"Enter\";\n\n/**\n * @event sgds-select - Emitted event when a slot item is selected\n */\nexport class DropdownListElement extends DropdownElement {\n static styles = DropdownElement.styles;\n /**@internal */\n @query(\"ul.dropdown-menu\")\n private menu: HTMLUListElement;\n\n /** @internal */\n @state()\n nextDropdownItemNo = 0;\n /** @internal */\n @state()\n prevDropdownItemNo = -1;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n firstUpdated() {\n super.firstUpdated();\n this.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent);\n }\n\n protected handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n /** Emitted event from SgdsDropdown element when a slot item is selected */\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n\n private _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n e.preventDefault();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this.handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n private _getMenuItems(): SgdsDropdownItem[] {\n // for case when default slot is used e.g. dropdown, mainnavdropdown\n if (this.shadowRoot.querySelector(\"slot#default\")) {\n return (this.shadowRoot.querySelector(\"slot#default\") as HTMLSlotElement)?.assignedElements({\n flatten: true\n }) as SgdsDropdownItem[];\n }\n\n // for case when there is no slot e.g. combobox\n if (this.menu.hasChildNodes()) {\n const menuItems = this.menu.children;\n\n return [...menuItems] as SgdsDropdownItem[];\n }\n }\n private _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n private _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem && i.focus();\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-check-element.cjs.js","sources":["../../../src/base/form-check-element.ts"],"sourcesContent":["import { property, query } from \"lit/decorators.js\";\nimport { defaultValue } from \"../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../utils/form\";\nimport { watch } from \"../utils/watch\";\nimport SgdsElement from \"./sgds-element\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nexport class FormCheckElement extends SgdsElement implements SgdsFormControl {\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: FormCheckElement) => (control.checked ? control.value : undefined),\n defaultValue: (control: FormCheckElement) => control.defaultChecked,\n setValue: (control: FormCheckElement, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ type: String, reflect: true }) name: string;\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String, reflect: true }) value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback?: string;\n\n /** Aligns the checkbox horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n protected _handleChange() {\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n protected _handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n protected _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n /** @internal For Id/For pair of the HTML form control and label. */\n protected _inputId: string;\n\n /**@internal */\n @property({ type: String }) protected _size: string;\n /** @internal */\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n /** @internal */\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n }\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n md: this._size === \"md\"\n })}\n type=\"checkbox\"\n id=${this._inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this._handleChange}\n @keydown=${this._handleKeyDown}\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n <label for=\"${this._inputId}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.hasFeedback\n ? html`<div id=\"${this._inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : nothing}\n </div>\n `;\n }\n}\n\nexport default FormCheckElement;\n"],"names":["SgdsElement","FormSubmitController","html","classMap","ifDefined","nothing","__decorate","query","property","defaultValue","watch"],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { query, property } from 'lit/decorators.js';
4
+ import { defaultValue } from '../utils/defaultvalue.js';
5
+ import { FormSubmitController } from '../utils/form.js';
6
+ import { watch } from '../utils/watch.js';
7
+ import SgdsElement from './sgds-element.js';
8
+ import { classMap } from 'lit/directives/class-map.js';
9
+ import { html, nothing } from 'lit';
10
+ import { ifDefined } from 'lit/directives/if-defined.js';
11
+
12
+ class FormCheckElement extends SgdsElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**@internal */
16
+ this.formSubmitController = new FormSubmitController(this, {
17
+ value: (control) => (control.checked ? control.value : undefined),
18
+ defaultValue: (control) => control.defaultChecked,
19
+ setValue: (control, checked) => (control.checked = checked)
20
+ });
21
+ /** For aria-label when there is no appropriate text label visible */
22
+ this.ariaLabel = "checkbox";
23
+ /** Makes the checkbox a required field. */
24
+ this.required = false;
25
+ /** Draws the checkbox in a checked state. */
26
+ this.checked = false;
27
+ /** Disables the checkbox (so the user can't check / uncheck it). */
28
+ this.disabled = false;
29
+ /** Allows invalidFeedback, invalid and valid styles to be visible with the input */
30
+ this.hasFeedback = false;
31
+ /** Aligns the checkbox horizontally */
32
+ this.isInline = false;
33
+ /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
34
+ this.defaultChecked = false;
35
+ /** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */
36
+ this.invalid = false;
37
+ }
38
+ /** Simulates a click on the checkbox. */
39
+ click() {
40
+ this.input.click();
41
+ }
42
+ /** Sets focus on the checkbox. */
43
+ focus(options) {
44
+ this.input.focus(options);
45
+ }
46
+ /** Removes focus from the checkbox. */
47
+ blur() {
48
+ this.input.blur();
49
+ }
50
+ /** Checks for validity and shows the browser's validation message if the control is invalid. */
51
+ reportValidity() {
52
+ if (!this.input.reportValidity()) {
53
+ this.invalid = !this.input.checkValidity();
54
+ }
55
+ return this.input.reportValidity();
56
+ }
57
+ _handleChange() {
58
+ this.checked = !this.checked;
59
+ this.value = this.input.value;
60
+ this.emit("sgds-change", { detail: { checked: this.checked, value: this.value } });
61
+ }
62
+ _handleKeyDown(event) {
63
+ const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;
64
+ if (event.key === "Enter" && !hasModifier) {
65
+ this.click();
66
+ }
67
+ }
68
+ _handleInvalid(e) {
69
+ e.preventDefault();
70
+ this.invalid = true;
71
+ }
72
+ /** @internal */
73
+ handleDisabledChange() {
74
+ // Disabled form controls are always valid, so we need to recheck validity when the state changes
75
+ this.input.disabled = this.disabled;
76
+ this.invalid = !this.input.checkValidity();
77
+ }
78
+ /** @internal */
79
+ handleStateChange() {
80
+ this.invalid = !this.input.checkValidity();
81
+ }
82
+ render() {
83
+ return html `
84
+ <div
85
+ class=${classMap({
86
+ "form-check": true,
87
+ "form-check-inline": this.isInline
88
+ })}
89
+ >
90
+ <input
91
+ class=${classMap({
92
+ "form-check-input": true,
93
+ "is-invalid": this.hasFeedback && this.invalid,
94
+ md: this._size === "md"
95
+ })}
96
+ type="checkbox"
97
+ id=${this._inputId}
98
+ aria-invalid=${this.invalid ? "true" : "false"}
99
+ name=${ifDefined(this.name)}
100
+ value=${ifDefined(this.value)}
101
+ ?checked=${this.checked}
102
+ ?disabled=${this.disabled}
103
+ ?required=${this.required}
104
+ aria-disabled=${this.disabled ? "true" : "false"}
105
+ aria-checked=${this.checked ? "true" : "false"}
106
+ @change=${this._handleChange}
107
+ @keydown=${this._handleKeyDown}
108
+ @invalid=${(e) => this._handleInvalid(e)}
109
+ />
110
+ <label for="${this._inputId}" aria-label=${ifDefined(this.ariaLabel)} class="form-check-label"
111
+ ><slot></slot
112
+ ></label>
113
+ ${this.hasFeedback
114
+ ? html `<div id="${this._inputId}-invalid" class="invalid-feedback">${this.invalidFeedback}</div>`
115
+ : nothing}
116
+ </div>
117
+ `;
118
+ }
119
+ }
120
+ __decorate([
121
+ query('input[type="checkbox"]')
122
+ ], FormCheckElement.prototype, "input", void 0);
123
+ __decorate([
124
+ property({ type: String, reflect: true })
125
+ ], FormCheckElement.prototype, "name", void 0);
126
+ __decorate([
127
+ property({ type: String, reflect: true })
128
+ ], FormCheckElement.prototype, "ariaLabel", void 0);
129
+ __decorate([
130
+ property({ type: String, reflect: true })
131
+ ], FormCheckElement.prototype, "value", void 0);
132
+ __decorate([
133
+ property({ type: Boolean, reflect: true })
134
+ ], FormCheckElement.prototype, "required", void 0);
135
+ __decorate([
136
+ property({ type: Boolean, reflect: true })
137
+ ], FormCheckElement.prototype, "checked", void 0);
138
+ __decorate([
139
+ property({ type: Boolean, reflect: true })
140
+ ], FormCheckElement.prototype, "disabled", void 0);
141
+ __decorate([
142
+ property({ type: Boolean, reflect: true })
143
+ ], FormCheckElement.prototype, "hasFeedback", void 0);
144
+ __decorate([
145
+ property({ type: String, reflect: true })
146
+ ], FormCheckElement.prototype, "invalidFeedback", void 0);
147
+ __decorate([
148
+ property({ type: Boolean, reflect: true })
149
+ ], FormCheckElement.prototype, "isInline", void 0);
150
+ __decorate([
151
+ defaultValue("checked")
152
+ ], FormCheckElement.prototype, "defaultChecked", void 0);
153
+ __decorate([
154
+ property({ type: Boolean, reflect: true })
155
+ ], FormCheckElement.prototype, "invalid", void 0);
156
+ __decorate([
157
+ property({ type: String })
158
+ ], FormCheckElement.prototype, "_size", void 0);
159
+ __decorate([
160
+ watch("disabled", { waitUntilFirstUpdate: true })
161
+ ], FormCheckElement.prototype, "handleDisabledChange", null);
162
+ __decorate([
163
+ watch("checked", { waitUntilFirstUpdate: true })
164
+ ], FormCheckElement.prototype, "handleStateChange", null);
165
+
166
+ export { FormCheckElement, FormCheckElement as default };
167
+ //# sourceMappingURL=form-check-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-check-element.js","sources":["../../../src/base/form-check-element.ts"],"sourcesContent":["import { property, query } from \"lit/decorators.js\";\nimport { defaultValue } from \"../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../utils/form\";\nimport { watch } from \"../utils/watch\";\nimport SgdsElement from \"./sgds-element\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nexport class FormCheckElement extends SgdsElement implements SgdsFormControl {\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: FormCheckElement) => (control.checked ? control.value : undefined),\n defaultValue: (control: FormCheckElement) => control.defaultChecked,\n setValue: (control: FormCheckElement, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ type: String, reflect: true }) name: string;\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String, reflect: true }) value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback?: string;\n\n /** Aligns the checkbox horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n protected _handleChange() {\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n protected _handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n protected _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n /** @internal For Id/For pair of the HTML form control and label. */\n protected _inputId: string;\n\n /**@internal */\n @property({ type: String }) protected _size: string;\n /** @internal */\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n /** @internal */\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n }\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n md: this._size === \"md\"\n })}\n type=\"checkbox\"\n id=${this._inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this._handleChange}\n @keydown=${this._handleKeyDown}\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n <label for=\"${this._inputId}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.hasFeedback\n ? html`<div id=\"${this._inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : nothing}\n </div>\n `;\n }\n}\n\nexport default FormCheckElement;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-element.cjs.js","sources":["../../../src/base/link-element.ts"],"sourcesContent":["import { html } from \"lit\";\nimport SgdsElement from \"./sgds-element\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\n/**\n * @slot default - Default slot for SgdsMainnavItem anchor element\n */\n\nexport default class LinkElement extends SgdsElement {\n // static styles = [...SgdsElement.styles];\n\n /** when true, sets the active stylings of .nav-link */\n @property({ type: Boolean })\n active = false;\n\n /** Href attribute for anchor element in SgdsMainnavItem */\n @property({ type: String })\n href: string;\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Where to display the linked URL, as the name for a browsing context. Forwards to the HTMLAnchor target attribute */\n @property({ type: String, reflect: true })\n target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\" = \"_self\";\n\n render() {\n return html`\n <a\n href=\"${ifDefined(this.href)}\"\n class=\"nav-link ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n target=${this.target}\n ><slot></slot\n ></a>\n `;\n }\n}\n"],"names":["SgdsElement","html","ifDefined","classMap","__decorate","property"],"mappings":";;;;;;;;;;;;AAMA;;AAEG;AAEkB,MAAA,WAAY,SAAQA,sBAAW,CAAA;AAApD,IAAA,WAAA,GAAA;;;;QAKE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAOf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAM,CAAA,MAAA,GAA4C,OAAO,CAAC;KAiB3D;IAfC,MAAM,GAAA;AACJ,QAAA,OAAOC,QAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACV,wBAAA,EAAAC,oBAAQ,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACU,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;wBACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AACvC,eAAA,EAAA,IAAI,CAAC,MAAM,CAAA;;;KAGvB,CAAC;KACH;AACF,CAAA;AA5BCC,gBAAA,CAAA;AADC,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACb,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIfD,gBAAA,CAAA;AADC,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACd,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGbD,gBAAA,CAAA;IADCC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjBD,gBAAA,CAAA;IADCC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACgB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;;;"}