@govtechsg/sgds-web-component 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/base/card-element.js +0 -1
  2. package/base/card-element.js.map +1 -1
  3. package/base/card.js +0 -1
  4. package/base/card.js.map +1 -1
  5. package/base/dropdown-element.js +0 -1
  6. package/base/dropdown-element.js.map +1 -1
  7. package/base/dropdown-list-element.js +0 -1
  8. package/base/dropdown-list-element.js.map +1 -1
  9. package/base/form-check-element.js +6 -5
  10. package/base/form-check-element.js.map +1 -1
  11. package/base/link-element.js +0 -1
  12. package/base/link-element.js.map +1 -1
  13. package/base/sgds-element.js +0 -1
  14. package/base/sgds-element.js.map +1 -1
  15. package/base/sgds-element2.js +0 -1
  16. package/base/sgds-element2.js.map +1 -1
  17. package/components/Accordion/accordion-item.js +0 -1
  18. package/components/Accordion/accordion-item.js.map +1 -1
  19. package/components/Accordion/accordion.js +0 -1
  20. package/components/Accordion/accordion.js.map +1 -1
  21. package/components/Accordion/sgds-accordion-item.js +0 -1
  22. package/components/Accordion/sgds-accordion-item.js.map +1 -1
  23. package/components/Accordion/sgds-accordion.js +0 -1
  24. package/components/Accordion/sgds-accordion.js.map +1 -1
  25. package/components/ActionCard/action-card.js +0 -1
  26. package/components/ActionCard/action-card.js.map +1 -1
  27. package/components/ActionCard/index.umd.js +9 -7
  28. package/components/ActionCard/index.umd.js.map +1 -1
  29. package/components/ActionCard/sgds-action-card.js +0 -1
  30. package/components/ActionCard/sgds-action-card.js.map +1 -1
  31. package/components/Alert/alert-link.js +0 -1
  32. package/components/Alert/alert-link.js.map +1 -1
  33. package/components/Alert/alert.js +0 -1
  34. package/components/Alert/alert.js.map +1 -1
  35. package/components/Alert/sgds-alert-heading.js +0 -1
  36. package/components/Alert/sgds-alert-heading.js.map +1 -1
  37. package/components/Alert/sgds-alert-link.js +0 -1
  38. package/components/Alert/sgds-alert-link.js.map +1 -1
  39. package/components/Alert/sgds-alert.js +0 -1
  40. package/components/Alert/sgds-alert.js.map +1 -1
  41. package/components/Badge/badge.js +0 -1
  42. package/components/Badge/badge.js.map +1 -1
  43. package/components/Badge/sgds-badge.js +0 -1
  44. package/components/Badge/sgds-badge.js.map +1 -1
  45. package/components/Breadcrumb/breadcrumb-item.js +0 -1
  46. package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
  47. package/components/Breadcrumb/breadcrumb.js +0 -1
  48. package/components/Breadcrumb/breadcrumb.js.map +1 -1
  49. package/components/Breadcrumb/sgds-breadcrumb-item.js +0 -1
  50. package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
  51. package/components/Breadcrumb/sgds-breadcrumb.js +0 -1
  52. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  53. package/components/Button/button.js +0 -1
  54. package/components/Button/button.js.map +1 -1
  55. package/components/Button/sgds-button.js +0 -1
  56. package/components/Button/sgds-button.js.map +1 -1
  57. package/components/Card/card.js +0 -1
  58. package/components/Card/card.js.map +1 -1
  59. package/components/Card/sgds-card.js +0 -1
  60. package/components/Card/sgds-card.js.map +1 -1
  61. package/components/Checkbox/checkbox.js +1 -2
  62. package/components/Checkbox/checkbox.js.map +1 -1
  63. package/components/Checkbox/index.umd.js +8 -6
  64. package/components/Checkbox/index.umd.js.map +1 -1
  65. package/components/Checkbox/sgds-checkbox.js +0 -1
  66. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  67. package/components/ComboBox/combo-box.js +0 -1
  68. package/components/ComboBox/combo-box.js.map +1 -1
  69. package/components/ComboBox/index.umd.js +2 -2
  70. package/components/ComboBox/index.umd.js.map +1 -1
  71. package/components/ComboBox/sgds-combo-box.js +0 -1
  72. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  73. package/components/Datepicker/datepicker-calendar.js +0 -1
  74. package/components/Datepicker/datepicker-calendar.js.map +1 -1
  75. package/components/Datepicker/datepicker-calendar2.js +0 -1
  76. package/components/Datepicker/datepicker-calendar2.js.map +1 -1
  77. package/components/Datepicker/datepicker-header.js +0 -1
  78. package/components/Datepicker/datepicker-header.js.map +1 -1
  79. package/components/Datepicker/datepicker-header2.js +0 -1
  80. package/components/Datepicker/datepicker-header2.js.map +1 -1
  81. package/components/Datepicker/datepicker-input.js +0 -1
  82. package/components/Datepicker/datepicker-input.js.map +1 -1
  83. package/components/Datepicker/datepicker-input2.js +0 -1
  84. package/components/Datepicker/datepicker-input2.js.map +1 -1
  85. package/components/Datepicker/datepicker.js +0 -1
  86. package/components/Datepicker/datepicker.js.map +1 -1
  87. package/components/Datepicker/index.umd.js +2 -2
  88. package/components/Datepicker/index.umd.js.map +1 -1
  89. package/components/Datepicker/sgds-datepicker.js +0 -1
  90. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  91. package/components/Drawer/drawer.js +0 -1
  92. package/components/Drawer/drawer.js.map +1 -1
  93. package/components/Drawer/sgds-drawer.js +0 -1
  94. package/components/Drawer/sgds-drawer.js.map +1 -1
  95. package/components/Dropdown/dropdown.js +0 -1
  96. package/components/Dropdown/dropdown.js.map +1 -1
  97. package/components/Dropdown/sgds-dropdown-item.js +0 -1
  98. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  99. package/components/Dropdown/sgds-dropdown.js +0 -1
  100. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  101. package/components/FileUpload/file-upload.js +0 -1
  102. package/components/FileUpload/file-upload.js.map +1 -1
  103. package/components/FileUpload/sgds-file-upload.js +0 -1
  104. package/components/FileUpload/sgds-file-upload.js.map +1 -1
  105. package/components/Footer/footer.js +0 -1
  106. package/components/Footer/footer.js.map +1 -1
  107. package/components/Footer/sgds-footer.js +0 -1
  108. package/components/Footer/sgds-footer.js.map +1 -1
  109. package/components/Input/index.umd.js +2 -2
  110. package/components/Input/index.umd.js.map +1 -1
  111. package/components/Input/input.js +0 -1
  112. package/components/Input/input.js.map +1 -1
  113. package/components/Input/sgds-input.js +1 -2
  114. package/components/Input/sgds-input.js.map +1 -1
  115. package/components/Mainnav/mainnav-dropdown.js +0 -1
  116. package/components/Mainnav/mainnav-dropdown.js.map +1 -1
  117. package/components/Mainnav/mainnav-item.js +0 -1
  118. package/components/Mainnav/mainnav-item.js.map +1 -1
  119. package/components/Mainnav/mainnav.js +0 -1
  120. package/components/Mainnav/mainnav.js.map +1 -1
  121. package/components/Mainnav/sgds-mainnav-dropdown.js +0 -1
  122. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  123. package/components/Mainnav/sgds-mainnav-item.js +0 -1
  124. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  125. package/components/Mainnav/sgds-mainnav.js +0 -1
  126. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  127. package/components/Masthead/masthead.js +0 -1
  128. package/components/Masthead/masthead.js.map +1 -1
  129. package/components/Masthead/sgds-masthead.js +0 -1
  130. package/components/Masthead/sgds-masthead.js.map +1 -1
  131. package/components/Modal/modal.js +0 -1
  132. package/components/Modal/modal.js.map +1 -1
  133. package/components/Modal/sgds-modal.js +0 -1
  134. package/components/Modal/sgds-modal.js.map +1 -1
  135. package/components/Pagination/pagination.js +0 -1
  136. package/components/Pagination/pagination.js.map +1 -1
  137. package/components/Pagination/sgds-pagination.js +0 -1
  138. package/components/Pagination/sgds-pagination.js.map +1 -1
  139. package/components/Progress/progress-bar.js +0 -1
  140. package/components/Progress/progress-bar.js.map +1 -1
  141. package/components/Progress/progress.js +0 -1
  142. package/components/Progress/progress.js.map +1 -1
  143. package/components/Progress/sgds-progress-bar.js +0 -1
  144. package/components/Progress/sgds-progress-bar.js.map +1 -1
  145. package/components/Progress/sgds-progress.js +0 -1
  146. package/components/Progress/sgds-progress.js.map +1 -1
  147. package/components/QuantityToggle/index.umd.js +2 -2
  148. package/components/QuantityToggle/index.umd.js.map +1 -1
  149. package/components/QuantityToggle/quantity-toggle.js +0 -1
  150. package/components/QuantityToggle/quantity-toggle.js.map +1 -1
  151. package/components/QuantityToggle/sgds-quantity-toggle.js +0 -1
  152. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  153. package/components/Radio/index.umd.js +3 -3
  154. package/components/Radio/index.umd.js.map +1 -1
  155. package/components/Radio/radio-group.js +0 -1
  156. package/components/Radio/radio-group.js.map +1 -1
  157. package/components/Radio/radio.js +1 -2
  158. package/components/Radio/radio.js.map +1 -1
  159. package/components/Radio/sgds-radio-group.js +1 -2
  160. package/components/Radio/sgds-radio-group.js.map +1 -1
  161. package/components/Radio/sgds-radio.js +0 -1
  162. package/components/Radio/sgds-radio.js.map +1 -1
  163. package/components/Sidenav/sgds-sidenav-item.js +0 -1
  164. package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
  165. package/components/Sidenav/sgds-sidenav-link.js +0 -1
  166. package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
  167. package/components/Sidenav/sgds-sidenav.js +0 -1
  168. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  169. package/components/Sidenav/sidenav-item.js +0 -1
  170. package/components/Sidenav/sidenav-item.js.map +1 -1
  171. package/components/Sidenav/sidenav-link.js +0 -1
  172. package/components/Sidenav/sidenav-link.js.map +1 -1
  173. package/components/Sidenav/sidenav.js +0 -1
  174. package/components/Sidenav/sidenav.js.map +1 -1
  175. package/components/Spinner/sgds-spinner.js +0 -1
  176. package/components/Spinner/sgds-spinner.js.map +1 -1
  177. package/components/Spinner/spinner.js +0 -1
  178. package/components/Spinner/spinner.js.map +1 -1
  179. package/components/Stepper/sgds-stepper.js +0 -1
  180. package/components/Stepper/sgds-stepper.js.map +1 -1
  181. package/components/Stepper/stepper.js +0 -1
  182. package/components/Stepper/stepper.js.map +1 -1
  183. package/components/Tab/sgds-tab-group.js +0 -1
  184. package/components/Tab/sgds-tab-group.js.map +1 -1
  185. package/components/Tab/sgds-tab-panel.js +0 -1
  186. package/components/Tab/sgds-tab-panel.js.map +1 -1
  187. package/components/Tab/sgds-tab.js +0 -1
  188. package/components/Tab/sgds-tab.js.map +1 -1
  189. package/components/Tab/tab-group.js +0 -1
  190. package/components/Tab/tab-group.js.map +1 -1
  191. package/components/Tab/tab-panel.js +0 -1
  192. package/components/Tab/tab-panel.js.map +1 -1
  193. package/components/Tab/tab.js +0 -1
  194. package/components/Tab/tab.js.map +1 -1
  195. package/components/Table/sgds-table.js +0 -1
  196. package/components/Table/sgds-table.js.map +1 -1
  197. package/components/Table/table.js +0 -1
  198. package/components/Table/table.js.map +1 -1
  199. package/components/Textarea/index.umd.js +2 -2
  200. package/components/Textarea/index.umd.js.map +1 -1
  201. package/components/Textarea/sgds-textarea.js +1 -2
  202. package/components/Textarea/sgds-textarea.js.map +1 -1
  203. package/components/Textarea/textarea.js +0 -1
  204. package/components/Textarea/textarea.js.map +1 -1
  205. package/components/Toast/sgds-toast-container.js +0 -1
  206. package/components/Toast/sgds-toast-container.js.map +1 -1
  207. package/components/Toast/sgds-toast.js +0 -1
  208. package/components/Toast/sgds-toast.js.map +1 -1
  209. package/components/Toast/toast-container.js +0 -1
  210. package/components/Toast/toast-container.js.map +1 -1
  211. package/components/Toast/toast.js +0 -1
  212. package/components/Toast/toast.js.map +1 -1
  213. package/components/Tooltip/sgds-tooltip.js +0 -1
  214. package/components/Tooltip/sgds-tooltip.js.map +1 -1
  215. package/components/Tooltip/tooltip.js +0 -1
  216. package/components/Tooltip/tooltip.js.map +1 -1
  217. package/components/index.umd.js +12 -10
  218. package/components/index.umd.js.map +1 -1
  219. package/index.umd.js +12 -10
  220. package/index.umd.js.map +1 -1
  221. package/internals/CloseButton/close-button.js +0 -1
  222. package/internals/CloseButton/close-button.js.map +1 -1
  223. package/internals/CloseButton/sgds-close-button.js +0 -1
  224. package/internals/CloseButton/sgds-close-button.js.map +1 -1
  225. package/package.json +1 -1
  226. package/react/accordion/index.cjs.js +1 -1
  227. package/react/accordion/index.js +1 -1
  228. package/react/accordion-item/index.cjs.js +1 -1
  229. package/react/accordion-item/index.js +1 -1
  230. package/react/action-card/index.cjs.js +1 -1
  231. package/react/action-card/index.js +1 -1
  232. package/react/alert/index.cjs.js +1 -1
  233. package/react/alert/index.js +1 -1
  234. package/react/alert-heading/index.cjs.js +1 -1
  235. package/react/alert-heading/index.js +1 -1
  236. package/react/alert-link/index.cjs.js +1 -1
  237. package/react/alert-link/index.js +1 -1
  238. package/react/badge/index.cjs.js +1 -1
  239. package/react/badge/index.js +1 -1
  240. package/react/base/card-element.cjs.js.map +1 -0
  241. package/react/base/card-element.js +26 -0
  242. package/react/base/card-element.js.map +1 -0
  243. package/react/base/card.js +7 -0
  244. package/react/base/card.js.map +1 -0
  245. package/react/base/dropdown-element.cjs.js.map +1 -0
  246. package/react/base/dropdown-element.js +174 -0
  247. package/react/base/dropdown-element.js.map +1 -0
  248. package/react/base/dropdown-list-element.cjs.js.map +1 -0
  249. package/react/base/dropdown-list-element.js +130 -0
  250. package/react/base/dropdown-list-element.js.map +1 -0
  251. package/{base → react/base}/form-check-element.cjs.js +6 -4
  252. package/react/base/form-check-element.cjs.js.map +1 -0
  253. package/react/base/form-check-element.js +169 -0
  254. package/react/base/form-check-element.js.map +1 -0
  255. package/react/base/link-element.cjs.js.map +1 -0
  256. package/react/base/link-element.js +53 -0
  257. package/react/base/link-element.js.map +1 -0
  258. package/react/base/sgds-element.cjs.js.map +1 -0
  259. package/react/base/sgds-element.js +24 -0
  260. package/react/base/sgds-element.js.map +1 -0
  261. package/react/base/sgds-element2.js +7 -0
  262. package/react/base/sgds-element2.js.map +1 -0
  263. package/react/breadcrumb/index.cjs.js +1 -1
  264. package/react/breadcrumb/index.js +1 -1
  265. package/react/breadcrumb-item/index.cjs.js +1 -1
  266. package/react/breadcrumb-item/index.js +1 -1
  267. package/react/button/index.cjs.js +1 -1
  268. package/react/button/index.js +1 -1
  269. package/react/card/index.cjs.js +1 -1
  270. package/react/card/index.js +1 -1
  271. package/react/checkbox/index.cjs.js +1 -1
  272. package/react/checkbox/index.js +1 -1
  273. package/react/combo-box/index.cjs.js +1 -1
  274. package/react/combo-box/index.js +1 -1
  275. package/react/components/Accordion/accordion-item.js +7 -0
  276. package/react/components/Accordion/accordion-item.js.map +1 -0
  277. package/react/components/Accordion/accordion.js +7 -0
  278. package/react/components/Accordion/accordion.js.map +1 -0
  279. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  280. package/react/components/Accordion/sgds-accordion-item.js +204 -0
  281. package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
  282. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  283. package/react/components/Accordion/sgds-accordion.js +87 -0
  284. package/react/components/Accordion/sgds-accordion.js.map +1 -0
  285. package/react/components/ActionCard/action-card.js +7 -0
  286. package/react/components/ActionCard/action-card.js.map +1 -0
  287. package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  288. package/react/components/ActionCard/sgds-action-card.js +155 -0
  289. package/react/components/ActionCard/sgds-action-card.js.map +1 -0
  290. package/react/components/Alert/alert-link.js +7 -0
  291. package/react/components/Alert/alert-link.js.map +1 -0
  292. package/react/components/Alert/alert.js +7 -0
  293. package/react/components/Alert/alert.js.map +1 -0
  294. package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  295. package/react/components/Alert/sgds-alert-heading.js +33 -0
  296. package/react/components/Alert/sgds-alert-heading.js.map +1 -0
  297. package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  298. package/react/components/Alert/sgds-alert-link.js +32 -0
  299. package/react/components/Alert/sgds-alert-link.js.map +1 -0
  300. package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
  301. package/react/components/Alert/sgds-alert.js +90 -0
  302. package/react/components/Alert/sgds-alert.js.map +1 -0
  303. package/react/components/Badge/badge.js +7 -0
  304. package/react/components/Badge/badge.js.map +1 -0
  305. package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
  306. package/react/components/Badge/sgds-badge.js +53 -0
  307. package/react/components/Badge/sgds-badge.js.map +1 -0
  308. package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
  309. package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
  310. package/react/components/Breadcrumb/breadcrumb.js +7 -0
  311. package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
  312. package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  313. package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
  314. package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  315. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  316. package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
  317. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  318. package/react/components/Button/button.js +7 -0
  319. package/react/components/Button/button.js.map +1 -0
  320. package/react/components/Button/sgds-button.cjs.js.map +1 -0
  321. package/react/components/Button/sgds-button.js +166 -0
  322. package/react/components/Button/sgds-button.js.map +1 -0
  323. package/react/components/Card/card.js +7 -0
  324. package/react/components/Card/card.js.map +1 -0
  325. package/react/components/Card/sgds-card.cjs.js.map +1 -0
  326. package/react/components/Card/sgds-card.js +76 -0
  327. package/react/components/Card/sgds-card.js.map +1 -0
  328. package/react/components/Checkbox/checkbox.cjs.js +11 -0
  329. package/react/components/Checkbox/checkbox.js +7 -0
  330. package/react/components/Checkbox/checkbox.js.map +1 -0
  331. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  332. package/react/components/Checkbox/sgds-checkbox.js +26 -0
  333. package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
  334. package/react/components/ComboBox/combo-box.js +7 -0
  335. package/react/components/ComboBox/combo-box.js.map +1 -0
  336. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  337. package/react/components/ComboBox/sgds-combo-box.js +194 -0
  338. package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
  339. package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  340. package/react/components/Datepicker/datepicker-calendar.js +458 -0
  341. package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
  342. package/react/components/Datepicker/datepicker-calendar2.js +7 -0
  343. package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
  344. package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  345. package/react/components/Datepicker/datepicker-header.js +227 -0
  346. package/react/components/Datepicker/datepicker-header.js.map +1 -0
  347. package/react/components/Datepicker/datepicker-header2.js +7 -0
  348. package/react/components/Datepicker/datepicker-header2.js.map +1 -0
  349. package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
  350. package/react/components/Datepicker/datepicker-input.js +150 -0
  351. package/react/components/Datepicker/datepicker-input.js.map +1 -0
  352. package/react/components/Datepicker/datepicker-input2.js +7 -0
  353. package/react/components/Datepicker/datepicker-input2.js.map +1 -0
  354. package/react/components/Datepicker/datepicker.js +7 -0
  355. package/react/components/Datepicker/datepicker.js.map +1 -0
  356. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  357. package/react/components/Datepicker/sgds-datepicker.js +484 -0
  358. package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
  359. package/react/components/Drawer/drawer.js +7 -0
  360. package/react/components/Drawer/drawer.js.map +1 -0
  361. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  362. package/react/components/Drawer/sgds-drawer.js +413 -0
  363. package/react/components/Drawer/sgds-drawer.js.map +1 -0
  364. package/react/components/Dropdown/dropdown.js +7 -0
  365. package/react/components/Dropdown/dropdown.js.map +1 -0
  366. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  367. package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
  368. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  369. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  370. package/react/components/Dropdown/sgds-dropdown.js +117 -0
  371. package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
  372. package/react/components/FileUpload/file-upload.js +7 -0
  373. package/react/components/FileUpload/file-upload.js.map +1 -0
  374. package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  375. package/react/components/FileUpload/sgds-file-upload.js +208 -0
  376. package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
  377. package/react/components/Footer/footer.js +7 -0
  378. package/react/components/Footer/footer.js.map +1 -0
  379. package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
  380. package/react/components/Footer/sgds-footer.js +155 -0
  381. package/react/components/Footer/sgds-footer.js.map +1 -0
  382. package/react/components/Input/input.js +7 -0
  383. package/react/components/Input/input.js.map +1 -0
  384. package/{components → react/components}/Input/sgds-input.cjs.js +1 -1
  385. package/react/components/Input/sgds-input.cjs.js.map +1 -0
  386. package/react/components/Input/sgds-input.js +262 -0
  387. package/react/components/Input/sgds-input.js.map +1 -0
  388. package/react/components/Mainnav/mainnav-dropdown.js +7 -0
  389. package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
  390. package/react/components/Mainnav/mainnav-item.js +7 -0
  391. package/react/components/Mainnav/mainnav-item.js.map +1 -0
  392. package/react/components/Mainnav/mainnav.js +7 -0
  393. package/react/components/Mainnav/mainnav.js.map +1 -0
  394. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  395. package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
  396. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  397. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  398. package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
  399. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  400. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  401. package/react/components/Mainnav/sgds-mainnav.js +227 -0
  402. package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
  403. package/react/components/Masthead/masthead.js +7 -0
  404. package/react/components/Masthead/masthead.js.map +1 -0
  405. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  406. package/react/components/Masthead/sgds-masthead.js +182 -0
  407. package/react/components/Masthead/sgds-masthead.js.map +1 -0
  408. package/react/components/Modal/modal.js +7 -0
  409. package/react/components/Modal/modal.js.map +1 -0
  410. package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
  411. package/react/components/Modal/sgds-modal.js +340 -0
  412. package/react/components/Modal/sgds-modal.js.map +1 -0
  413. package/react/components/Pagination/pagination.js +7 -0
  414. package/react/components/Pagination/pagination.js.map +1 -0
  415. package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  416. package/react/components/Pagination/sgds-pagination.js +364 -0
  417. package/react/components/Pagination/sgds-pagination.js.map +1 -0
  418. package/react/components/Progress/progress-bar.js +7 -0
  419. package/react/components/Progress/progress-bar.js.map +1 -0
  420. package/react/components/Progress/progress.js +7 -0
  421. package/react/components/Progress/progress.js.map +1 -0
  422. package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  423. package/react/components/Progress/sgds-progress-bar.js +59 -0
  424. package/react/components/Progress/sgds-progress-bar.js.map +1 -0
  425. package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
  426. package/react/components/Progress/sgds-progress.js +30 -0
  427. package/react/components/Progress/sgds-progress.js.map +1 -0
  428. package/react/components/QuantityToggle/quantity-toggle.js +7 -0
  429. package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
  430. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  431. package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
  432. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  433. package/react/components/Radio/radio-group.js +7 -0
  434. package/react/components/Radio/radio-group.js.map +1 -0
  435. package/react/components/Radio/radio.cjs.js +11 -0
  436. package/react/components/Radio/radio.js +7 -0
  437. package/react/components/Radio/radio.js.map +1 -0
  438. package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -1
  439. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  440. package/react/components/Radio/sgds-radio-group.js +240 -0
  441. package/react/components/Radio/sgds-radio-group.js.map +1 -0
  442. package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
  443. package/react/components/Radio/sgds-radio.js +138 -0
  444. package/react/components/Radio/sgds-radio.js.map +1 -0
  445. package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  446. package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
  447. package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  448. package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  449. package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
  450. package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  451. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  452. package/react/components/Sidenav/sgds-sidenav.js +75 -0
  453. package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
  454. package/react/components/Sidenav/sidenav-item.js +7 -0
  455. package/react/components/Sidenav/sidenav-item.js.map +1 -0
  456. package/react/components/Sidenav/sidenav-link.js +7 -0
  457. package/react/components/Sidenav/sidenav-link.js.map +1 -0
  458. package/react/components/Sidenav/sidenav.js +7 -0
  459. package/react/components/Sidenav/sidenav.js.map +1 -0
  460. package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  461. package/react/components/Spinner/sgds-spinner.js +38 -0
  462. package/react/components/Spinner/sgds-spinner.js.map +1 -0
  463. package/react/components/Spinner/spinner.js +8 -0
  464. package/react/components/Spinner/spinner.js.map +1 -0
  465. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  466. package/react/components/Stepper/sgds-stepper.js +132 -0
  467. package/react/components/Stepper/sgds-stepper.js.map +1 -0
  468. package/react/components/Stepper/stepper.js +7 -0
  469. package/react/components/Stepper/stepper.js.map +1 -0
  470. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  471. package/react/components/Tab/sgds-tab-group.js +233 -0
  472. package/react/components/Tab/sgds-tab-group.js.map +1 -0
  473. package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  474. package/react/components/Tab/sgds-tab-panel.js +63 -0
  475. package/react/components/Tab/sgds-tab-panel.js.map +1 -0
  476. package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
  477. package/react/components/Tab/sgds-tab.js +110 -0
  478. package/react/components/Tab/sgds-tab.js.map +1 -0
  479. package/react/components/Tab/tab-group.js +7 -0
  480. package/react/components/Tab/tab-group.js.map +1 -0
  481. package/react/components/Tab/tab-panel.js +7 -0
  482. package/react/components/Tab/tab-panel.js.map +1 -0
  483. package/react/components/Tab/tab.js +7 -0
  484. package/react/components/Tab/tab.js.map +1 -0
  485. package/react/components/Table/sgds-table.cjs.js.map +1 -0
  486. package/react/components/Table/sgds-table.js +267 -0
  487. package/react/components/Table/sgds-table.js.map +1 -0
  488. package/react/components/Table/table.js +7 -0
  489. package/react/components/Table/table.js.map +1 -0
  490. package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -1
  491. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  492. package/react/components/Textarea/sgds-textarea.js +252 -0
  493. package/react/components/Textarea/sgds-textarea.js.map +1 -0
  494. package/react/components/Textarea/textarea.js +7 -0
  495. package/react/components/Textarea/textarea.js.map +1 -0
  496. package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  497. package/react/components/Toast/sgds-toast-container.js +36 -0
  498. package/react/components/Toast/sgds-toast-container.js.map +1 -0
  499. package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
  500. package/react/components/Toast/sgds-toast.js +152 -0
  501. package/react/components/Toast/sgds-toast.js.map +1 -0
  502. package/react/components/Toast/toast-container.js +7 -0
  503. package/react/components/Toast/toast-container.js.map +1 -0
  504. package/react/components/Toast/toast.js +7 -0
  505. package/react/components/Toast/toast.js.map +1 -0
  506. package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  507. package/react/components/Tooltip/sgds-tooltip.js +121 -0
  508. package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
  509. package/react/components/Tooltip/tooltip.js +7 -0
  510. package/react/components/Tooltip/tooltip.js.map +1 -0
  511. package/react/datepicker/index.cjs.js +1 -1
  512. package/react/datepicker/index.js +1 -1
  513. package/react/drawer/index.cjs.js +1 -1
  514. package/react/drawer/index.js +1 -1
  515. package/react/dropdown/index.cjs.js +1 -1
  516. package/react/dropdown/index.js +1 -1
  517. package/react/dropdown-item/index.cjs.js +1 -1
  518. package/react/dropdown-item/index.js +1 -1
  519. package/react/file-upload/index.cjs.js +1 -1
  520. package/react/file-upload/index.js +1 -1
  521. package/react/footer/index.cjs.js +1 -1
  522. package/react/footer/index.js +1 -1
  523. package/react/input/index.cjs.js +1 -1
  524. package/react/input/index.js +1 -1
  525. package/react/internals/CloseButton/close-button.js +7 -0
  526. package/react/internals/CloseButton/close-button.js.map +1 -0
  527. package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
  528. package/react/internals/CloseButton/sgds-close-button.js +55 -0
  529. package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
  530. package/react/mainnav/index.cjs.js +1 -1
  531. package/react/mainnav/index.js +1 -1
  532. package/react/mainnav-dropdown/index.cjs.js +1 -1
  533. package/react/mainnav-dropdown/index.js +1 -1
  534. package/react/mainnav-item/index.cjs.js +1 -1
  535. package/react/mainnav-item/index.js +1 -1
  536. package/react/masthead/index.cjs.js +1 -1
  537. package/react/masthead/index.js +1 -1
  538. package/react/modal/index.cjs.js +1 -1
  539. package/react/modal/index.js +1 -1
  540. package/react/pagination/index.cjs.js +1 -1
  541. package/react/pagination/index.js +1 -1
  542. package/react/progress/index.cjs.js +1 -1
  543. package/react/progress/index.js +1 -1
  544. package/react/progress-bar/index.cjs.js +1 -1
  545. package/react/progress-bar/index.js +1 -1
  546. package/react/quantity-toggle/index.cjs.js +1 -1
  547. package/react/quantity-toggle/index.js +1 -1
  548. package/react/radio/index.cjs.js +1 -1
  549. package/react/radio/index.js +1 -1
  550. package/react/radio-group/index.cjs.js +1 -1
  551. package/react/radio-group/index.js +1 -1
  552. package/react/sidenav/index.cjs.js +1 -1
  553. package/react/sidenav/index.js +1 -1
  554. package/react/sidenav-item/index.cjs.js +1 -1
  555. package/react/sidenav-item/index.js +1 -1
  556. package/react/sidenav-link/index.cjs.js +1 -1
  557. package/react/sidenav-link/index.js +1 -1
  558. package/react/spinner/index.cjs.js +1 -1
  559. package/react/spinner/index.js +1 -1
  560. package/react/stepper/index.cjs.js +1 -1
  561. package/react/stepper/index.js +1 -1
  562. package/react/styles/anchor.js +7 -0
  563. package/react/styles/anchor.js.map +1 -0
  564. package/react/styles/bg-variants.js +7 -0
  565. package/react/styles/bg-variants.js.map +1 -0
  566. package/react/styles/border-variants.js +7 -0
  567. package/react/styles/border-variants.js.map +1 -0
  568. package/{styles → react/styles}/feedback.cjs.js +1 -1
  569. package/react/styles/feedback.js +7 -0
  570. package/react/styles/feedback.js.map +1 -0
  571. package/react/styles/form-hint.js +7 -0
  572. package/react/styles/form-hint.js.map +1 -0
  573. package/react/styles/form-label.js +7 -0
  574. package/react/styles/form-label.js.map +1 -0
  575. package/react/styles/header-class.js +7 -0
  576. package/react/styles/header-class.js.map +1 -0
  577. package/react/styles/paragraph.js +7 -0
  578. package/react/styles/paragraph.js.map +1 -0
  579. package/react/styles/svg.js +7 -0
  580. package/react/styles/svg.js.map +1 -0
  581. package/react/styles/text-variants.js +7 -0
  582. package/react/styles/text-variants.js.map +1 -0
  583. package/react/tab/index.cjs.js +1 -1
  584. package/react/tab/index.js +1 -1
  585. package/react/tab-group/index.cjs.js +1 -1
  586. package/react/tab-group/index.js +1 -1
  587. package/react/tab-panel/index.cjs.js +1 -1
  588. package/react/tab-panel/index.js +1 -1
  589. package/react/table/index.cjs.js +1 -1
  590. package/react/table/index.js +1 -1
  591. package/react/textarea/index.cjs.js +1 -1
  592. package/react/textarea/index.js +1 -1
  593. package/react/toast/index.cjs.js +1 -1
  594. package/react/toast/index.js +1 -1
  595. package/react/toast-container/index.cjs.js +1 -1
  596. package/react/toast-container/index.js +1 -1
  597. package/react/tooltip/index.cjs.js +1 -1
  598. package/react/tooltip/index.js +1 -1
  599. package/react/utils/animate.cjs.js.map +1 -0
  600. package/react/utils/animate.js +42 -0
  601. package/react/utils/animate.js.map +1 -0
  602. package/react/utils/animation-registry.cjs.js.map +1 -0
  603. package/react/utils/animation-registry.js +43 -0
  604. package/react/utils/animation-registry.js.map +1 -0
  605. package/react/utils/breakpoints.cjs.js.map +1 -0
  606. package/react/utils/breakpoints.js +9 -0
  607. package/react/utils/breakpoints.js.map +1 -0
  608. package/react/utils/defaultvalue.cjs.js.map +1 -0
  609. package/react/utils/defaultvalue.js +25 -0
  610. package/react/utils/defaultvalue.js.map +1 -0
  611. package/react/utils/event.cjs.js.map +1 -0
  612. package/react/utils/event.js +16 -0
  613. package/react/utils/event.js.map +1 -0
  614. package/react/utils/form.cjs.js.map +1 -0
  615. package/react/utils/form.js +133 -0
  616. package/react/utils/form.js.map +1 -0
  617. package/react/utils/generateId.cjs.js.map +1 -0
  618. package/react/utils/generateId.js +7 -0
  619. package/react/utils/generateId.js.map +1 -0
  620. package/react/utils/mergeDeep.cjs.js.map +1 -0
  621. package/react/utils/mergeDeep.js +26 -0
  622. package/react/utils/mergeDeep.js.map +1 -0
  623. package/react/utils/modal.cjs.js.map +1 -0
  624. package/react/utils/modal.js +56 -0
  625. package/react/utils/modal.js.map +1 -0
  626. package/react/utils/object.cjs.js.map +1 -0
  627. package/react/utils/object.js +7 -0
  628. package/react/utils/object.js.map +1 -0
  629. package/react/utils/scroll.cjs.js.map +1 -0
  630. package/react/utils/scroll.js +22 -0
  631. package/react/utils/scroll.js.map +1 -0
  632. package/react/utils/slot.cjs.js.map +1 -0
  633. package/react/utils/slot.js +53 -0
  634. package/react/utils/slot.js.map +1 -0
  635. package/react/utils/tabbable.cjs.js.map +1 -0
  636. package/react/utils/tabbable.js +69 -0
  637. package/react/utils/tabbable.js.map +1 -0
  638. package/react/utils/time.cjs.js.map +1 -0
  639. package/react/utils/time.js +75 -0
  640. package/react/utils/time.js.map +1 -0
  641. package/react/utils/watch.cjs.js.map +1 -0
  642. package/react/utils/watch.js +40 -0
  643. package/react/utils/watch.js.map +1 -0
  644. package/styles/anchor.js +0 -1
  645. package/styles/anchor.js.map +1 -1
  646. package/styles/bg-variants.js +0 -1
  647. package/styles/bg-variants.js.map +1 -1
  648. package/styles/border-variants.js +0 -1
  649. package/styles/border-variants.js.map +1 -1
  650. package/styles/feedback.js +1 -2
  651. package/styles/feedback.js.map +1 -1
  652. package/styles/form-hint.js +0 -1
  653. package/styles/form-hint.js.map +1 -1
  654. package/styles/form-label.js +0 -1
  655. package/styles/form-label.js.map +1 -1
  656. package/styles/header-class.js +0 -1
  657. package/styles/header-class.js.map +1 -1
  658. package/styles/paragraph.js +0 -1
  659. package/styles/paragraph.js.map +1 -1
  660. package/styles/svg.js +0 -1
  661. package/styles/svg.js.map +1 -1
  662. package/styles/text-variants.js +0 -1
  663. package/styles/text-variants.js.map +1 -1
  664. package/utils/animate.js +0 -1
  665. package/utils/animate.js.map +1 -1
  666. package/utils/animation-registry.js +0 -1
  667. package/utils/animation-registry.js.map +1 -1
  668. package/utils/breakpoints.js +0 -1
  669. package/utils/breakpoints.js.map +1 -1
  670. package/utils/defaultvalue.js +0 -1
  671. package/utils/defaultvalue.js.map +1 -1
  672. package/utils/event.js +0 -1
  673. package/utils/event.js.map +1 -1
  674. package/utils/form.js +0 -1
  675. package/utils/form.js.map +1 -1
  676. package/utils/generateId.js +0 -1
  677. package/utils/generateId.js.map +1 -1
  678. package/utils/mergeDeep.js +0 -1
  679. package/utils/mergeDeep.js.map +1 -1
  680. package/utils/modal.js +0 -1
  681. package/utils/modal.js.map +1 -1
  682. package/utils/object.js +0 -1
  683. package/utils/object.js.map +1 -1
  684. package/utils/scroll.js +0 -1
  685. package/utils/scroll.js.map +1 -1
  686. package/utils/slot.js +0 -1
  687. package/utils/slot.js.map +1 -1
  688. package/utils/tabbable.js +0 -1
  689. package/utils/tabbable.js.map +1 -1
  690. package/utils/time.js +0 -1
  691. package/utils/time.js.map +1 -1
  692. package/utils/watch.js +0 -1
  693. package/utils/watch.js.map +1 -1
  694. package/base/card-element.cjs.js.map +0 -1
  695. package/base/dropdown-element.cjs.js.map +0 -1
  696. package/base/dropdown-list-element.cjs.js.map +0 -1
  697. package/base/form-check-element.cjs.js.map +0 -1
  698. package/base/link-element.cjs.js.map +0 -1
  699. package/base/sgds-element.cjs.js.map +0 -1
  700. package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
  701. package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
  702. package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
  703. package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
  704. package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
  705. package/components/Alert/sgds-alert.cjs.js.map +0 -1
  706. package/components/Badge/sgds-badge.cjs.js.map +0 -1
  707. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
  708. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
  709. package/components/Button/sgds-button.cjs.js.map +0 -1
  710. package/components/Card/sgds-card.cjs.js.map +0 -1
  711. package/components/Checkbox/checkbox.cjs.js +0 -11
  712. package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
  713. package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
  714. package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
  715. package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
  716. package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
  717. package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
  718. package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
  719. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
  720. package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
  721. package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
  722. package/components/Footer/sgds-footer.cjs.js.map +0 -1
  723. package/components/Input/sgds-input.cjs.js.map +0 -1
  724. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
  725. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
  726. package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
  727. package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
  728. package/components/Modal/sgds-modal.cjs.js.map +0 -1
  729. package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
  730. package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
  731. package/components/Progress/sgds-progress.cjs.js.map +0 -1
  732. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
  733. package/components/Radio/radio.cjs.js +0 -11
  734. package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
  735. package/components/Radio/sgds-radio.cjs.js.map +0 -1
  736. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
  737. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
  738. package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
  739. package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
  740. package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
  741. package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
  742. package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
  743. package/components/Tab/sgds-tab.cjs.js.map +0 -1
  744. package/components/Table/sgds-table.cjs.js.map +0 -1
  745. package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
  746. package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
  747. package/components/Toast/sgds-toast.cjs.js.map +0 -1
  748. package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
  749. package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
  750. package/utils/animate.cjs.js.map +0 -1
  751. package/utils/animation-registry.cjs.js.map +0 -1
  752. package/utils/breakpoints.cjs.js.map +0 -1
  753. package/utils/defaultvalue.cjs.js.map +0 -1
  754. package/utils/event.cjs.js.map +0 -1
  755. package/utils/form.cjs.js.map +0 -1
  756. package/utils/generateId.cjs.js.map +0 -1
  757. package/utils/mergeDeep.cjs.js.map +0 -1
  758. package/utils/modal.cjs.js.map +0 -1
  759. package/utils/object.cjs.js.map +0 -1
  760. package/utils/scroll.cjs.js.map +0 -1
  761. package/utils/slot.cjs.js.map +0 -1
  762. package/utils/tabbable.cjs.js.map +0 -1
  763. package/utils/time.cjs.js.map +0 -1
  764. package/utils/watch.cjs.js.map +0 -1
  765. /package/{base → react/base}/card-element.cjs.js +0 -0
  766. /package/{base → react/base}/card.cjs.js +0 -0
  767. /package/{base → react/base}/card.cjs.js.map +0 -0
  768. /package/{base → react/base}/dropdown-element.cjs.js +0 -0
  769. /package/{base → react/base}/dropdown-list-element.cjs.js +0 -0
  770. /package/{base → react/base}/link-element.cjs.js +0 -0
  771. /package/{base → react/base}/sgds-element.cjs.js +0 -0
  772. /package/{base → react/base}/sgds-element.cjs2.js +0 -0
  773. /package/{base → react/base}/sgds-element.cjs2.js.map +0 -0
  774. /package/{components → react/components}/Accordion/accordion-item.cjs.js +0 -0
  775. /package/{components → react/components}/Accordion/accordion-item.cjs.js.map +0 -0
  776. /package/{components → react/components}/Accordion/accordion.cjs.js +0 -0
  777. /package/{components → react/components}/Accordion/accordion.cjs.js.map +0 -0
  778. /package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +0 -0
  779. /package/{components → react/components}/Accordion/sgds-accordion.cjs.js +0 -0
  780. /package/{components → react/components}/ActionCard/action-card.cjs.js +0 -0
  781. /package/{components → react/components}/ActionCard/action-card.cjs.js.map +0 -0
  782. /package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +0 -0
  783. /package/{components → react/components}/Alert/alert-link.cjs.js +0 -0
  784. /package/{components → react/components}/Alert/alert-link.cjs.js.map +0 -0
  785. /package/{components → react/components}/Alert/alert.cjs.js +0 -0
  786. /package/{components → react/components}/Alert/alert.cjs.js.map +0 -0
  787. /package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +0 -0
  788. /package/{components → react/components}/Alert/sgds-alert-link.cjs.js +0 -0
  789. /package/{components → react/components}/Alert/sgds-alert.cjs.js +0 -0
  790. /package/{components → react/components}/Badge/badge.cjs.js +0 -0
  791. /package/{components → react/components}/Badge/badge.cjs.js.map +0 -0
  792. /package/{components → react/components}/Badge/sgds-badge.cjs.js +0 -0
  793. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +0 -0
  794. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +0 -0
  795. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +0 -0
  796. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +0 -0
  797. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +0 -0
  798. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +0 -0
  799. /package/{components → react/components}/Button/button.cjs.js +0 -0
  800. /package/{components → react/components}/Button/button.cjs.js.map +0 -0
  801. /package/{components → react/components}/Button/sgds-button.cjs.js +0 -0
  802. /package/{components → react/components}/Card/card.cjs.js +0 -0
  803. /package/{components → react/components}/Card/card.cjs.js.map +0 -0
  804. /package/{components → react/components}/Card/sgds-card.cjs.js +0 -0
  805. /package/{components → react/components}/Checkbox/checkbox.cjs.js.map +0 -0
  806. /package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +0 -0
  807. /package/{components → react/components}/ComboBox/combo-box.cjs.js +0 -0
  808. /package/{components → react/components}/ComboBox/combo-box.cjs.js.map +0 -0
  809. /package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +0 -0
  810. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +0 -0
  811. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +0 -0
  812. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +0 -0
  813. /package/{components → react/components}/Datepicker/datepicker-header.cjs.js +0 -0
  814. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +0 -0
  815. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +0 -0
  816. /package/{components → react/components}/Datepicker/datepicker-input.cjs.js +0 -0
  817. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +0 -0
  818. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +0 -0
  819. /package/{components → react/components}/Datepicker/datepicker.cjs.js +0 -0
  820. /package/{components → react/components}/Datepicker/datepicker.cjs.js.map +0 -0
  821. /package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +0 -0
  822. /package/{components → react/components}/Drawer/drawer.cjs.js +0 -0
  823. /package/{components → react/components}/Drawer/drawer.cjs.js.map +0 -0
  824. /package/{components → react/components}/Drawer/sgds-drawer.cjs.js +0 -0
  825. /package/{components → react/components}/Dropdown/dropdown.cjs.js +0 -0
  826. /package/{components → react/components}/Dropdown/dropdown.cjs.js.map +0 -0
  827. /package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +0 -0
  828. /package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +0 -0
  829. /package/{components → react/components}/FileUpload/file-upload.cjs.js +0 -0
  830. /package/{components → react/components}/FileUpload/file-upload.cjs.js.map +0 -0
  831. /package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +0 -0
  832. /package/{components → react/components}/Footer/footer.cjs.js +0 -0
  833. /package/{components → react/components}/Footer/footer.cjs.js.map +0 -0
  834. /package/{components → react/components}/Footer/sgds-footer.cjs.js +0 -0
  835. /package/{components → react/components}/Input/input.cjs.js +0 -0
  836. /package/{components → react/components}/Input/input.cjs.js.map +0 -0
  837. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +0 -0
  838. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +0 -0
  839. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js +0 -0
  840. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +0 -0
  841. /package/{components → react/components}/Mainnav/mainnav.cjs.js +0 -0
  842. /package/{components → react/components}/Mainnav/mainnav.cjs.js.map +0 -0
  843. /package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +0 -0
  844. /package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +0 -0
  845. /package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +0 -0
  846. /package/{components → react/components}/Masthead/masthead.cjs.js +0 -0
  847. /package/{components → react/components}/Masthead/masthead.cjs.js.map +0 -0
  848. /package/{components → react/components}/Masthead/sgds-masthead.cjs.js +0 -0
  849. /package/{components → react/components}/Modal/modal.cjs.js +0 -0
  850. /package/{components → react/components}/Modal/modal.cjs.js.map +0 -0
  851. /package/{components → react/components}/Modal/sgds-modal.cjs.js +0 -0
  852. /package/{components → react/components}/Pagination/pagination.cjs.js +0 -0
  853. /package/{components → react/components}/Pagination/pagination.cjs.js.map +0 -0
  854. /package/{components → react/components}/Pagination/sgds-pagination.cjs.js +0 -0
  855. /package/{components → react/components}/Progress/progress-bar.cjs.js +0 -0
  856. /package/{components → react/components}/Progress/progress-bar.cjs.js.map +0 -0
  857. /package/{components → react/components}/Progress/progress.cjs.js +0 -0
  858. /package/{components → react/components}/Progress/progress.cjs.js.map +0 -0
  859. /package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +0 -0
  860. /package/{components → react/components}/Progress/sgds-progress.cjs.js +0 -0
  861. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +0 -0
  862. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +0 -0
  863. /package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +0 -0
  864. /package/{components → react/components}/Radio/radio-group.cjs.js +0 -0
  865. /package/{components → react/components}/Radio/radio-group.cjs.js.map +0 -0
  866. /package/{components → react/components}/Radio/radio.cjs.js.map +0 -0
  867. /package/{components → react/components}/Radio/sgds-radio.cjs.js +0 -0
  868. /package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +0 -0
  869. /package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +0 -0
  870. /package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +0 -0
  871. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js +0 -0
  872. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +0 -0
  873. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js +0 -0
  874. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +0 -0
  875. /package/{components → react/components}/Sidenav/sidenav.cjs.js +0 -0
  876. /package/{components → react/components}/Sidenav/sidenav.cjs.js.map +0 -0
  877. /package/{components → react/components}/Spinner/sgds-spinner.cjs.js +0 -0
  878. /package/{components → react/components}/Spinner/spinner.cjs.js +0 -0
  879. /package/{components → react/components}/Spinner/spinner.cjs.js.map +0 -0
  880. /package/{components → react/components}/Stepper/sgds-stepper.cjs.js +0 -0
  881. /package/{components → react/components}/Stepper/stepper.cjs.js +0 -0
  882. /package/{components → react/components}/Stepper/stepper.cjs.js.map +0 -0
  883. /package/{components → react/components}/Tab/sgds-tab-group.cjs.js +0 -0
  884. /package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +0 -0
  885. /package/{components → react/components}/Tab/sgds-tab.cjs.js +0 -0
  886. /package/{components → react/components}/Tab/tab-group.cjs.js +0 -0
  887. /package/{components → react/components}/Tab/tab-group.cjs.js.map +0 -0
  888. /package/{components → react/components}/Tab/tab-panel.cjs.js +0 -0
  889. /package/{components → react/components}/Tab/tab-panel.cjs.js.map +0 -0
  890. /package/{components → react/components}/Tab/tab.cjs.js +0 -0
  891. /package/{components → react/components}/Tab/tab.cjs.js.map +0 -0
  892. /package/{components → react/components}/Table/sgds-table.cjs.js +0 -0
  893. /package/{components → react/components}/Table/table.cjs.js +0 -0
  894. /package/{components → react/components}/Table/table.cjs.js.map +0 -0
  895. /package/{components → react/components}/Textarea/textarea.cjs.js +0 -0
  896. /package/{components → react/components}/Textarea/textarea.cjs.js.map +0 -0
  897. /package/{components → react/components}/Toast/sgds-toast-container.cjs.js +0 -0
  898. /package/{components → react/components}/Toast/sgds-toast.cjs.js +0 -0
  899. /package/{components → react/components}/Toast/toast-container.cjs.js +0 -0
  900. /package/{components → react/components}/Toast/toast-container.cjs.js.map +0 -0
  901. /package/{components → react/components}/Toast/toast.cjs.js +0 -0
  902. /package/{components → react/components}/Toast/toast.cjs.js.map +0 -0
  903. /package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +0 -0
  904. /package/{components → react/components}/Tooltip/tooltip.cjs.js +0 -0
  905. /package/{components → react/components}/Tooltip/tooltip.cjs.js.map +0 -0
  906. /package/{internals → react/internals}/CloseButton/close-button.cjs.js +0 -0
  907. /package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +0 -0
  908. /package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +0 -0
  909. /package/{styles → react/styles}/anchor.cjs.js +0 -0
  910. /package/{styles → react/styles}/anchor.cjs.js.map +0 -0
  911. /package/{styles → react/styles}/bg-variants.cjs.js +0 -0
  912. /package/{styles → react/styles}/bg-variants.cjs.js.map +0 -0
  913. /package/{styles → react/styles}/border-variants.cjs.js +0 -0
  914. /package/{styles → react/styles}/border-variants.cjs.js.map +0 -0
  915. /package/{styles → react/styles}/feedback.cjs.js.map +0 -0
  916. /package/{styles → react/styles}/form-hint.cjs.js +0 -0
  917. /package/{styles → react/styles}/form-hint.cjs.js.map +0 -0
  918. /package/{styles → react/styles}/form-label.cjs.js +0 -0
  919. /package/{styles → react/styles}/form-label.cjs.js.map +0 -0
  920. /package/{styles → react/styles}/header-class.cjs.js +0 -0
  921. /package/{styles → react/styles}/header-class.cjs.js.map +0 -0
  922. /package/{styles → react/styles}/paragraph.cjs.js +0 -0
  923. /package/{styles → react/styles}/paragraph.cjs.js.map +0 -0
  924. /package/{styles → react/styles}/svg.cjs.js +0 -0
  925. /package/{styles → react/styles}/svg.cjs.js.map +0 -0
  926. /package/{styles → react/styles}/text-variants.cjs.js +0 -0
  927. /package/{styles → react/styles}/text-variants.cjs.js.map +0 -0
  928. /package/{utils → react/utils}/animate.cjs.js +0 -0
  929. /package/{utils → react/utils}/animation-registry.cjs.js +0 -0
  930. /package/{utils → react/utils}/breakpoints.cjs.js +0 -0
  931. /package/{utils → react/utils}/defaultvalue.cjs.js +0 -0
  932. /package/{utils → react/utils}/event.cjs.js +0 -0
  933. /package/{utils → react/utils}/form.cjs.js +0 -0
  934. /package/{utils → react/utils}/generateId.cjs.js +0 -0
  935. /package/{utils → react/utils}/mergeDeep.cjs.js +0 -0
  936. /package/{utils → react/utils}/modal.cjs.js +0 -0
  937. /package/{utils → react/utils}/object.cjs.js +0 -0
  938. /package/{utils → react/utils}/scroll.cjs.js +0 -0
  939. /package/{utils → react/utils}/slot.cjs.js +0 -0
  940. /package/{utils → react/utils}/tabbable.cjs.js +0 -0
  941. /package/{utils → react/utils}/time.cjs.js +0 -0
  942. /package/{utils → react/utils}/watch.cjs.js +0 -0
@@ -0,0 +1,210 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { query, property } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import { live } from 'lit/directives/live.js';
7
+ import { html } from 'lit/static-html.js';
8
+ import SgdsElement from '../../base/sgds-element.js';
9
+ import { defaultValue } from '../../utils/defaultvalue.js';
10
+ import { FormSubmitController } from '../../utils/form.js';
11
+ import genId from '../../utils/generateId.js';
12
+ import { SgdsButton } from '../Button/sgds-button.js';
13
+ import css_248z$1 from './quantity-toggle.js';
14
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements';
15
+ import { SgdsInput } from '../Input/sgds-input.js';
16
+ import css_248z from '../../styles/svg.js';
17
+
18
+ /**
19
+ * @summary The quantity toggle component is used to increase or decrease an incremental venue, best used when the user needs to enter or adjust the quantity of a selected item.
20
+ *
21
+ * @csspart base - The base wrapper of the quantity toggle component.
22
+ * @csspart button - The plus and minus button of quantity toggle
23
+ *
24
+ * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.
25
+ * @event sgds-input - Emitted when the control receives input and its value changes.
26
+ *
27
+ */
28
+ class SgdsQuantityToggle extends ScopedElementsMixin(SgdsElement) {
29
+ constructor() {
30
+ super(...arguments);
31
+ /**@internal */
32
+ this.formSubmitController = new FormSubmitController(this);
33
+ /**Controls the size of the quantity toggle */
34
+ this.size = "md";
35
+ /**The input's value. Set to 0 by default */
36
+ this.value = 0;
37
+ /** Disables the entire quantity toggle */
38
+ this.disabled = false;
39
+ /** The quantity toggle's button variants */
40
+ this.buttonVariant = "primary";
41
+ /**
42
+ * Controls the incremental / decremental value of the input
43
+ */
44
+ this.step = 1;
45
+ /** 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. */
46
+ this.defaultValue = 0;
47
+ /** @internal The id forwarded to input element */
48
+ this.inputId = genId("quantity-toggle", "input");
49
+ }
50
+ /**@internal */
51
+ static get scopedElements() {
52
+ return {
53
+ "sgds-button": SgdsButton,
54
+ "sgds-input": SgdsInput
55
+ };
56
+ }
57
+ _handleChange() {
58
+ if (parseInt(this.input.value) < this.step || this.input.value === "") {
59
+ this.input.value = "0";
60
+ }
61
+ this.value = parseInt(this.input.value);
62
+ }
63
+ _handleKeyDown(event) {
64
+ const allowedKeys = [
65
+ "Backspace",
66
+ "ArrowUp",
67
+ "ArrowDown",
68
+ "ArrowLeft",
69
+ "ArrowRight",
70
+ ...Array.from(Array(10).keys()).map(key => key.toString()),
71
+ "Tab"
72
+ ];
73
+ // Allow keydown event only if the pressed key is in the allowedKeys array
74
+ if (!allowedKeys.includes(event.key)) {
75
+ event.preventDefault();
76
+ }
77
+ }
78
+ /** Simulates a click on the plus button */
79
+ plus() {
80
+ this.plusBtn.click();
81
+ }
82
+ /** Simulates a click on the minus button */
83
+ minus() {
84
+ this.minusBtn.click();
85
+ }
86
+ _onPlus(event) {
87
+ event.preventDefault();
88
+ event.stopPropagation();
89
+ this.value = parseInt(this.input.value) + parseInt(this.input.step);
90
+ }
91
+ _onMinus(event) {
92
+ event.preventDefault();
93
+ event.stopPropagation();
94
+ if (this.value < this.step) {
95
+ this.value = 0;
96
+ }
97
+ else {
98
+ this.value = parseInt(this.input.value) - parseInt(this.input.step);
99
+ }
100
+ }
101
+ render() {
102
+ return html `
103
+ <div
104
+ part="base"
105
+ class="${classMap({
106
+ sgds: true,
107
+ disabled: this.disabled,
108
+ "input-group": true,
109
+ [`input-group-${this.size}`]: this.size
110
+ })}"
111
+ variant="quantity-toggle"
112
+ size=${this.size}
113
+ >
114
+ <sgds-button
115
+ variant=${this.buttonVariant}
116
+ ariaLabel=${`decrease by ${this.step}`}
117
+ part="button"
118
+ @click=${this._onMinus}
119
+ ?disabled=${this.disabled || (this.min !== undefined ? this.value <= this.min : this.value < 1)}
120
+ >
121
+ <svg
122
+ xmlns="http://www.w3.org/2000/svg"
123
+ width="16"
124
+ height="16"
125
+ fill="currentColor"
126
+ class="bi bi-dash"
127
+ viewBox="0 0 16 16"
128
+ >
129
+ <path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z" />
130
+ </svg>
131
+ </sgds-button>
132
+ <sgds-input
133
+ type="number"
134
+ class="quantity-toggle"
135
+ name=${ifDefined(this.name)}
136
+ step=${ifDefined(this.step)}
137
+ min=${ifDefined(this.min)}
138
+ max=${ifDefined(this.max)}
139
+ .value=${live(this.value.toString())}
140
+ @sgds-change=${() => this._handleChange()}
141
+ @sgds-input=${() => this._handleChange()}
142
+ @keydown=${this._handleKeyDown}
143
+ ?disabled=${this.disabled}
144
+ id=${this.inputId}
145
+ ></sgds-input>
146
+ <sgds-button
147
+ variant=${this.buttonVariant}
148
+ ariaLabel=${`increase by ${this.step}`}
149
+ part="button"
150
+ @click=${this._onPlus}
151
+ ?disabled=${this.disabled || (this.max !== undefined && this.max && this.value >= this.max)}
152
+ >
153
+ <svg
154
+ xmlns="http://www.w3.org/2000/svg"
155
+ width="16"
156
+ height="16"
157
+ fill="currentColor"
158
+ class="bi bi-plus"
159
+ viewBox="0 0 16 16"
160
+ >
161
+ <path
162
+ d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"
163
+ />
164
+ </svg>
165
+ </sgds-button>
166
+ </div>
167
+ <div id="announcer" role="region" aria-live="assertive" class="visually-hidden">${this.value}</div>
168
+ `;
169
+ }
170
+ }
171
+ SgdsQuantityToggle.styles = [...SgdsElement.styles, css_248z, css_248z$1];
172
+ __decorate([
173
+ query("sgds-input")
174
+ ], SgdsQuantityToggle.prototype, "input", void 0);
175
+ __decorate([
176
+ query("sgds-button[ariaLabel^='increase by']")
177
+ ], SgdsQuantityToggle.prototype, "plusBtn", void 0);
178
+ __decorate([
179
+ query("sgds-button[ariaLabel^='decrease by']")
180
+ ], SgdsQuantityToggle.prototype, "minusBtn", void 0);
181
+ __decorate([
182
+ property({ type: String, reflect: true })
183
+ ], SgdsQuantityToggle.prototype, "name", void 0);
184
+ __decorate([
185
+ property({ type: Number, reflect: true })
186
+ ], SgdsQuantityToggle.prototype, "min", void 0);
187
+ __decorate([
188
+ property({ type: Number, reflect: true })
189
+ ], SgdsQuantityToggle.prototype, "max", void 0);
190
+ __decorate([
191
+ property()
192
+ ], SgdsQuantityToggle.prototype, "size", void 0);
193
+ __decorate([
194
+ property({ type: Number, reflect: true })
195
+ ], SgdsQuantityToggle.prototype, "value", void 0);
196
+ __decorate([
197
+ property({ type: Boolean, reflect: true })
198
+ ], SgdsQuantityToggle.prototype, "disabled", void 0);
199
+ __decorate([
200
+ property({ type: String })
201
+ ], SgdsQuantityToggle.prototype, "buttonVariant", void 0);
202
+ __decorate([
203
+ property({ type: Number })
204
+ ], SgdsQuantityToggle.prototype, "step", void 0);
205
+ __decorate([
206
+ defaultValue()
207
+ ], SgdsQuantityToggle.prototype, "defaultValue", void 0);
208
+
209
+ export { SgdsQuantityToggle, SgdsQuantityToggle as default };
210
+ //# sourceMappingURL=sgds-quantity-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-quantity-toggle.js","sources":["../../../../src/components/QuantityToggle/sgds-quantity-toggle.ts"],"sourcesContent":["import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport SgdsButton, { ButtonVariant } from \"../Button/sgds-button\";\nimport quantityToggleStyle from \"./quantity-toggle.css\";\nimport { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport SgdsInput from \"../Input/sgds-input\";\nimport svgStyles from \"../../styles/svg.css\";\n/**\n * @summary The quantity toggle component is used to increase or decrease an incremental venue, best used when the user needs to enter or adjust the quantity of a selected item.\n *\n * @csspart base - The base wrapper of the quantity toggle component.\n * @csspart button - The plus and minus button of quantity toggle\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n *\n */\nexport class SgdsQuantityToggle extends ScopedElementsMixin(SgdsElement) implements SgdsFormControl {\n static styles = [...SgdsElement.styles, svgStyles, quantityToggleStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton,\n \"sgds-input\": SgdsInput\n };\n }\n /**@internal */\n @query(\"sgds-input\") private input: HTMLInputElement;\n /**@internal */\n @query(\"sgds-button[ariaLabel^='increase by']\") private plusBtn: HTMLButtonElement;\n /**@internal */\n @query(\"sgds-button[ariaLabel^='decrease by']\") private minusBtn: HTMLButtonElement;\n\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n\n /** The name of the input */\n @property({ type: String, reflect: true }) name: string;\n\n /** The input's minimum value. */\n @property({ type: Number, reflect: true }) min: number;\n /** The input's maximum value. */\n @property({ type: Number, reflect: true }) max: number;\n\n /**Controls the size of the quantity toggle */\n @property() size: \"sm\" | \"md\" = \"md\";\n\n /**The input's value. Set to 0 by default */\n @property({ type: Number, reflect: true }) value = 0;\n\n /** Disables the entire quantity toggle */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The quantity toggle's button variants */\n @property({ type: String }) buttonVariant: ButtonVariant = \"primary\";\n\n /**\n * Controls the incremental / decremental value of the input\n */\n @property({ type: Number }) step = 1;\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()\n defaultValue = 0;\n\n /** @internal The id forwarded to input element */\n private inputId: string = genId(\"quantity-toggle\", \"input\");\n\n private _handleChange() {\n if (parseInt(this.input.value) < this.step || this.input.value === \"\") {\n this.input.value = \"0\";\n }\n this.value = parseInt(this.input.value);\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const allowedKeys = [\n \"Backspace\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n ...Array.from(Array(10).keys()).map(key => key.toString()),\n \"Tab\"\n ];\n\n // Allow keydown event only if the pressed key is in the allowedKeys array\n if (!allowedKeys.includes(event.key)) {\n event.preventDefault();\n }\n }\n\n /** Simulates a click on the plus button */\n public plus() {\n this.plusBtn.click();\n }\n\n /** Simulates a click on the minus button */\n public minus() {\n this.minusBtn.click();\n }\n\n private _onPlus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.value = parseInt(this.input.value) + parseInt(this.input.step);\n }\n\n private _onMinus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.value < this.step) {\n this.value = 0;\n } else {\n this.value = parseInt(this.input.value) - parseInt(this.input.step);\n }\n }\n render() {\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n sgds: true,\n disabled: this.disabled,\n \"input-group\": true,\n [`input-group-${this.size}`]: this.size\n })}\"\n variant=\"quantity-toggle\"\n size=${this.size}\n >\n <sgds-button\n variant=${this.buttonVariant}\n ariaLabel=${`decrease by ${this.step}`}\n part=\"button\"\n @click=${this._onMinus}\n ?disabled=${this.disabled || (this.min !== undefined ? this.value <= this.min : this.value < 1)}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-dash\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\" />\n </svg>\n </sgds-button>\n <sgds-input\n type=\"number\"\n class=\"quantity-toggle\"\n name=${ifDefined(this.name)}\n step=${ifDefined(this.step)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n .value=${live(this.value.toString())}\n @sgds-change=${() => this._handleChange()}\n @sgds-input=${() => this._handleChange()}\n @keydown=${this._handleKeyDown}\n ?disabled=${this.disabled}\n id=${this.inputId}\n ></sgds-input>\n <sgds-button\n variant=${this.buttonVariant}\n ariaLabel=${`increase by ${this.step}`}\n part=\"button\"\n @click=${this._onPlus}\n ?disabled=${this.disabled || (this.max !== undefined && this.max && this.value >= this.max)}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-plus\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"\n />\n </svg>\n </sgds-button>\n </div>\n <div id=\"announcer\" role=\"region\" aria-live=\"assertive\" class=\"visually-hidden\">${this.value}</div>\n `;\n }\n}\n\nexport default SgdsQuantityToggle;\n"],"names":["svgStyles","quantityToggleStyle"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`fieldset{border:0;display:flex;flex-direction:column;gap:var(--sgds-spacer-2);margin:0;min-width:0;padding:0}.radio-group-validation-input{display:none}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var lit = require('lit');
7
+
8
+ var css_248z = lit.css`:host([checked]){--sgds-form-bg:var(--sgds-info-filled);--sgds-form-border-color:var(--sgds-form-bg)}:host(:focus-visible){outline:none}input{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.form-check{display:flex;margin-bottom:var(--sgds-spacer-2);min-height:2rem}.form-check .form-check-input{margin-right:var(--sgds-form-input-margin-right)}.form-check-input{appearance:none;background-color:var(--sgds-form-bg);background-image:var(--sgds-radio-bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border:var(--sgds-form-border-width) solid var(--sgds-border-color);flex-shrink:0;height:1.125em;margin-top:.4375em;vertical-align:top;width:1.125em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:focus{border-color:var(--sgds-form-border-color);box-shadow:var(--sgds-form-focus-box-shadow);outline:0}.form-check-input:checked,.form-check-input[checked]{background-color:var(--sgds-form-bg);border-color:var(--sgds-form-border-color)}.form-check-input:checked[type=radio],.form-check-input[checked][type=radio]{--sgds-radio-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input:disabled{border-color:var(--sgds-form-border-color);cursor:not-allowed;filter:none;opacity:var(--sgds-disabled-opacity)}.form-check-input.is-invalid,.form-check-input:invalid{border-color:var(--sgds-form-invalid-color)}.form-check-input.is-invalid:checked,.form-check-input:invalid:checked{background-color:var(--sgds-form-invalid-color)}.form-check-input.is-invalid:focus,.form-check-input:invalid:focus{box-shadow:var(--sgds-form-focus-invalid-box-shadow)}.form-check-input.is-invalid~.form-check-label,.form-check-input:invalid~.form-check-label{color:var(--sgds-form-invalid-color)}.form-check-inline{display:inline-block;margin-bottom:0;margin-right:var(--sgds-form-inline-margin-right)}:host([last-of-type]) .form-check{margin-bottom:0}`;
9
+
10
+ exports["default"] = css_248z;
11
+ //# sourceMappingURL=radio.cjs.js.map
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { css } from 'lit';
3
+
4
+ var css_248z = css`:host([checked]){--sgds-form-bg:var(--sgds-info-filled);--sgds-form-border-color:var(--sgds-form-bg)}:host(:focus-visible){outline:none}input{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.form-check{display:flex;margin-bottom:var(--sgds-spacer-2);min-height:2rem}.form-check .form-check-input{margin-right:var(--sgds-form-input-margin-right)}.form-check-input{appearance:none;background-color:var(--sgds-form-bg);background-image:var(--sgds-radio-bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border:var(--sgds-form-border-width) solid var(--sgds-border-color);flex-shrink:0;height:1.125em;margin-top:.4375em;vertical-align:top;width:1.125em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:focus{border-color:var(--sgds-form-border-color);box-shadow:var(--sgds-form-focus-box-shadow);outline:0}.form-check-input:checked,.form-check-input[checked]{background-color:var(--sgds-form-bg);border-color:var(--sgds-form-border-color)}.form-check-input:checked[type=radio],.form-check-input[checked][type=radio]{--sgds-radio-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input:disabled{border-color:var(--sgds-form-border-color);cursor:not-allowed;filter:none;opacity:var(--sgds-disabled-opacity)}.form-check-input.is-invalid,.form-check-input:invalid{border-color:var(--sgds-form-invalid-color)}.form-check-input.is-invalid:checked,.form-check-input:invalid:checked{background-color:var(--sgds-form-invalid-color)}.form-check-input.is-invalid:focus,.form-check-input:invalid:focus{box-shadow:var(--sgds-form-focus-invalid-box-shadow)}.form-check-input.is-invalid~.form-check-label,.form-check-input:invalid~.form-check-label{color:var(--sgds-form-invalid-color)}.form-check-inline{display:inline-block;margin-bottom:0;margin-right:var(--sgds-form-inline-margin-right)}:host([last-of-type]) .form-check{margin-bottom:0}`;
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -197,7 +197,7 @@ class SgdsRadioGroup extends sgdsElement["default"] {
197
197
  tabindex="-1"
198
198
  @invalid=${(e) => this._handleInvalid(e)}
199
199
  />
200
- ${this.hasFeedback ? lit.html `<div class="invalid-feedback">${this.invalidFeedback}</div>` : ""}
200
+ ${this.hasFeedback && this.invalid ? lit.html `<div class="invalid-feedback">${this.invalidFeedback}</div>` : ""}
201
201
  </fieldset>
202
202
  `;
203
203
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-radio-group.cjs.js","sources":["../../../../src/components/Radio/sgds-radio-group.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport { watch } from \"../../utils/watch\";\nimport radioGroupStyles from \"./radio-group.css\";\nimport SgdsRadio from \"./sgds-radio\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n *\n *\n */\nexport class SgdsRadioGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, radioGroupStyles];\n /**@internal */\n protected readonly formSubmitController = new FormSubmitController(this, {\n defaultValue: (control: SgdsRadioGroup) => control.defaultValue\n });\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query(\".radio-group-validation-input\") input: HTMLInputElement;\n /**@internal */\n @state() defaultValue = \"\";\n /**@internal */\n @state() private customErrorMessage = \"\";\n /** This will be true when the control is in an invalid state. */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /** The name assigned to the radio controls. */\n @property({ reflect: true }) name = \"option\";\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n _handleValueChange() {\n this.emit(\"sgds-change\", { detail: { value: this.value } });\n this._updateCheckedRadio();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n }\n\n firstUpdated() {\n const radios = this._radios;\n radios.forEach((item, index) => {\n if (radios.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case radios.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n }\n\n /** Gets and return the ValidityState object. */\n get validity(): ValidityState {\n const hasMissingData = !((this.value && this.required) || !this.required);\n const hasCustomError = this.customErrorMessage !== \"\";\n return {\n badInput: false,\n customError: hasCustomError,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: hasMissingData ? false : true,\n valueMissing: !hasMissingData\n };\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity(): boolean {\n const validity = this.validity;\n\n this.invalid = !validity.valid;\n\n if (!validity.valid) {\n this._showNativeErrorMessage();\n }\n\n return !this.invalid;\n }\n /**@internal */\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n private _handleRadioClick(event: MouseEvent) {\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio === target));\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n radios[index].focus();\n\n event.preventDefault();\n }\n\n private _handleLabelClick() {\n const radios = this._radios;\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private _handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n private _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n this._radios.forEach(radio => (radio.invalid = true));\n }\n\n private _showNativeErrorMessage() {\n this.input.reportValidity();\n }\n\n private _updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n this.invalid = !this.validity.valid;\n this._radios.forEach(radio => (radio.invalid = this.invalid));\n }\n\n render() {\n const defaultSlot = html`\n <div>\n <slot\n @click=${this._handleRadioClick}\n @keydown=${this._handleKeyDown}\n @slotchange=${this._handleSlotChange}\n role=\"presentation\"\n ></slot>\n </div>\n `;\n return html`\n <fieldset name=${this.name}>\n <label\n @click=${this._handleLabelClick}\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >\n <slot name=\"label\"></slot>\n </label>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group-validation-input ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n ${this.hasFeedback && this.invalid ? html`<div class=\"invalid-feedback\">${this.invalidFeedback}</div>` : \"\"}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n"],"names":["SgdsElement","FormSubmitController","html","classMap","feedbackStyles","formLabelStyles","radioGroupStyles","__decorate","query","state","property","watch","queryAssignedElements"],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { html } from 'lit';
4
+ import { query, state, property, queryAssignedElements } from 'lit/decorators.js';
5
+ import { classMap } from 'lit/directives/class-map.js';
6
+ import SgdsElement from '../../base/sgds-element.js';
7
+ import { FormSubmitController } from '../../utils/form.js';
8
+ import { watch } from '../../utils/watch.js';
9
+ import css_248z$2 from './radio-group.js';
10
+ import css_248z from '../../styles/feedback.js';
11
+ import css_248z$1 from '../../styles/form-label.js';
12
+
13
+ /**
14
+ * @summary RadioGroup group multiple radios so they function as a single form control.
15
+ *
16
+ * @slot default - The default slot where sgds-radio are placed.
17
+ *
18
+ * @event sgds-change - Emitted when the radio group's selected value changes.
19
+ *
20
+ *
21
+ */
22
+ class SgdsRadioGroup extends SgdsElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ /**@internal */
26
+ this.formSubmitController = new FormSubmitController(this, {
27
+ defaultValue: (control) => control.defaultValue
28
+ });
29
+ /**@internal */
30
+ this.defaultValue = "";
31
+ /**@internal */
32
+ this.customErrorMessage = "";
33
+ /** This will be true when the control is in an invalid state. */
34
+ this.invalid = false;
35
+ /** The selected value of the control. */
36
+ this.value = "";
37
+ /** The name assigned to the radio controls. */
38
+ this.name = "option";
39
+ /** Ensures a child radio is checked before allowing the containing form to submit. */
40
+ this.required = false;
41
+ /**Feedback text for error state when validated */
42
+ this.invalidFeedback = "";
43
+ /** Allows invalidFeedback, invalid and valid styles to be visible with the input */
44
+ this.hasFeedback = false;
45
+ }
46
+ _handleValueChange() {
47
+ this.emit("sgds-change", { detail: { value: this.value } });
48
+ this._updateCheckedRadio();
49
+ }
50
+ connectedCallback() {
51
+ super.connectedCallback();
52
+ this.defaultValue = this.value;
53
+ }
54
+ firstUpdated() {
55
+ const radios = this._radios;
56
+ radios.forEach((item, index) => {
57
+ if (radios.length > 1) {
58
+ switch (index) {
59
+ case 0:
60
+ item.setAttribute("first-of-type", "");
61
+ break;
62
+ case radios.length - 1:
63
+ item.setAttribute("last-of-type", "");
64
+ break;
65
+ default:
66
+ item.setAttribute("nth-of-type", "");
67
+ }
68
+ }
69
+ });
70
+ }
71
+ /** Gets and return the ValidityState object. */
72
+ get validity() {
73
+ const hasMissingData = !((this.value && this.required) || !this.required);
74
+ const hasCustomError = this.customErrorMessage !== "";
75
+ return {
76
+ badInput: false,
77
+ customError: hasCustomError,
78
+ patternMismatch: false,
79
+ rangeOverflow: false,
80
+ rangeUnderflow: false,
81
+ stepMismatch: false,
82
+ tooLong: false,
83
+ tooShort: false,
84
+ typeMismatch: false,
85
+ valid: hasMissingData ? false : true,
86
+ valueMissing: !hasMissingData
87
+ };
88
+ }
89
+ /** Checks for validity and shows the browser's validation message if the control is invalid. */
90
+ reportValidity() {
91
+ const validity = this.validity;
92
+ this.invalid = !validity.valid;
93
+ if (!validity.valid) {
94
+ this._showNativeErrorMessage();
95
+ }
96
+ return !this.invalid;
97
+ }
98
+ _handleRadioClick(event) {
99
+ const target = event.target;
100
+ if (target.disabled) {
101
+ return;
102
+ }
103
+ this.value = target.value;
104
+ const radios = this._radios;
105
+ radios.forEach(radio => (radio.checked = radio === target));
106
+ }
107
+ _handleKeyDown(event) {
108
+ var _a;
109
+ if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", " "].includes(event.key)) {
110
+ return;
111
+ }
112
+ const radios = this._radios.filter(radio => !radio.disabled);
113
+ const checkedRadio = (_a = radios.find(radio => radio.checked)) !== null && _a !== void 0 ? _a : radios[0];
114
+ //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1
115
+ const incr = event.key === " " ? 0 : ["ArrowUp", "ArrowLeft"].includes(event.key) ? -1 : 1;
116
+ let index = radios.indexOf(checkedRadio) + incr;
117
+ if (index < 0) {
118
+ index = radios.length - 1;
119
+ }
120
+ if (index > radios.length - 1) {
121
+ index = 0;
122
+ }
123
+ this._radios.forEach(radio => {
124
+ radio.checked = false;
125
+ radio.tabIndex = -1;
126
+ });
127
+ this.value = radios[index].value;
128
+ radios[index].checked = true;
129
+ radios[index].tabIndex = 0;
130
+ radios[index].focus();
131
+ event.preventDefault();
132
+ }
133
+ _handleLabelClick() {
134
+ const radios = this._radios;
135
+ const checked = radios.find(radio => radio.checked);
136
+ const radioToFocus = checked || radios[0];
137
+ // Move focus to the checked radio (or the first one if none are checked) when clicking the label
138
+ if (radioToFocus) {
139
+ radioToFocus.focus();
140
+ }
141
+ }
142
+ _handleSlotChange() {
143
+ const radios = this._radios;
144
+ radios.forEach(radio => (radio.checked = radio.value === this.value));
145
+ if (!radios.some(radio => radio.checked)) {
146
+ if (radios[0])
147
+ radios[0].tabIndex = 0;
148
+ }
149
+ }
150
+ _handleInvalid(e) {
151
+ e.preventDefault();
152
+ this.invalid = true;
153
+ this._radios.forEach(radio => (radio.invalid = true));
154
+ }
155
+ _showNativeErrorMessage() {
156
+ this.input.reportValidity();
157
+ }
158
+ _updateCheckedRadio() {
159
+ const radios = this._radios;
160
+ radios.forEach(radio => (radio.checked = radio.value === this.value));
161
+ this.invalid = !this.validity.valid;
162
+ this._radios.forEach(radio => (radio.invalid = this.invalid));
163
+ }
164
+ render() {
165
+ const defaultSlot = html `
166
+ <div>
167
+ <slot
168
+ @click=${this._handleRadioClick}
169
+ @keydown=${this._handleKeyDown}
170
+ @slotchange=${this._handleSlotChange}
171
+ role="presentation"
172
+ ></slot>
173
+ </div>
174
+ `;
175
+ return html `
176
+ <fieldset name=${this.name}>
177
+ <label
178
+ @click=${this._handleLabelClick}
179
+ class=${classMap({
180
+ "form-label": true,
181
+ required: this.required
182
+ })}
183
+ >
184
+ <slot name="label"></slot>
185
+ </label>
186
+ ${defaultSlot}
187
+ <input
188
+ type="text"
189
+ class="radio-group-validation-input ${classMap({
190
+ "is-invalid": this.hasFeedback && this.invalid
191
+ })}"
192
+ ?required=${this.required}
193
+ tabindex="-1"
194
+ @invalid=${(e) => this._handleInvalid(e)}
195
+ />
196
+ ${this.hasFeedback && this.invalid ? html `<div class="invalid-feedback">${this.invalidFeedback}</div>` : ""}
197
+ </fieldset>
198
+ `;
199
+ }
200
+ }
201
+ SgdsRadioGroup.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2];
202
+ __decorate([
203
+ query("slot:not([name])")
204
+ ], SgdsRadioGroup.prototype, "defaultSlot", void 0);
205
+ __decorate([
206
+ query(".radio-group-validation-input")
207
+ ], SgdsRadioGroup.prototype, "input", void 0);
208
+ __decorate([
209
+ state()
210
+ ], SgdsRadioGroup.prototype, "defaultValue", void 0);
211
+ __decorate([
212
+ state()
213
+ ], SgdsRadioGroup.prototype, "customErrorMessage", void 0);
214
+ __decorate([
215
+ property({ type: Boolean, reflect: true })
216
+ ], SgdsRadioGroup.prototype, "invalid", void 0);
217
+ __decorate([
218
+ property({ reflect: true })
219
+ ], SgdsRadioGroup.prototype, "value", void 0);
220
+ __decorate([
221
+ property({ reflect: true })
222
+ ], SgdsRadioGroup.prototype, "name", void 0);
223
+ __decorate([
224
+ property({ type: Boolean, reflect: true })
225
+ ], SgdsRadioGroup.prototype, "required", void 0);
226
+ __decorate([
227
+ property({ type: String, reflect: true })
228
+ ], SgdsRadioGroup.prototype, "invalidFeedback", void 0);
229
+ __decorate([
230
+ property({ type: Boolean, reflect: true })
231
+ ], SgdsRadioGroup.prototype, "hasFeedback", void 0);
232
+ __decorate([
233
+ watch("value", { waitUntilFirstUpdate: true })
234
+ ], SgdsRadioGroup.prototype, "_handleValueChange", null);
235
+ __decorate([
236
+ queryAssignedElements()
237
+ ], SgdsRadioGroup.prototype, "_radios", void 0);
238
+
239
+ export { SgdsRadioGroup, SgdsRadioGroup as default };
240
+ //# sourceMappingURL=sgds-radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-radio-group.js","sources":["../../../../src/components/Radio/sgds-radio-group.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport { watch } from \"../../utils/watch\";\nimport radioGroupStyles from \"./radio-group.css\";\nimport SgdsRadio from \"./sgds-radio\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n *\n *\n */\nexport class SgdsRadioGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, radioGroupStyles];\n /**@internal */\n protected readonly formSubmitController = new FormSubmitController(this, {\n defaultValue: (control: SgdsRadioGroup) => control.defaultValue\n });\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query(\".radio-group-validation-input\") input: HTMLInputElement;\n /**@internal */\n @state() defaultValue = \"\";\n /**@internal */\n @state() private customErrorMessage = \"\";\n /** This will be true when the control is in an invalid state. */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /** The name assigned to the radio controls. */\n @property({ reflect: true }) name = \"option\";\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n _handleValueChange() {\n this.emit(\"sgds-change\", { detail: { value: this.value } });\n this._updateCheckedRadio();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n }\n\n firstUpdated() {\n const radios = this._radios;\n radios.forEach((item, index) => {\n if (radios.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case radios.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n }\n\n /** Gets and return the ValidityState object. */\n get validity(): ValidityState {\n const hasMissingData = !((this.value && this.required) || !this.required);\n const hasCustomError = this.customErrorMessage !== \"\";\n return {\n badInput: false,\n customError: hasCustomError,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: hasMissingData ? false : true,\n valueMissing: !hasMissingData\n };\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity(): boolean {\n const validity = this.validity;\n\n this.invalid = !validity.valid;\n\n if (!validity.valid) {\n this._showNativeErrorMessage();\n }\n\n return !this.invalid;\n }\n /**@internal */\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n private _handleRadioClick(event: MouseEvent) {\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio === target));\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n radios[index].focus();\n\n event.preventDefault();\n }\n\n private _handleLabelClick() {\n const radios = this._radios;\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private _handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n private _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n this._radios.forEach(radio => (radio.invalid = true));\n }\n\n private _showNativeErrorMessage() {\n this.input.reportValidity();\n }\n\n private _updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n this.invalid = !this.validity.valid;\n this._radios.forEach(radio => (radio.invalid = this.invalid));\n }\n\n render() {\n const defaultSlot = html`\n <div>\n <slot\n @click=${this._handleRadioClick}\n @keydown=${this._handleKeyDown}\n @slotchange=${this._handleSlotChange}\n role=\"presentation\"\n ></slot>\n </div>\n `;\n return html`\n <fieldset name=${this.name}>\n <label\n @click=${this._handleLabelClick}\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >\n <slot name=\"label\"></slot>\n </label>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group-validation-input ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n ${this.hasFeedback && this.invalid ? html`<div class=\"invalid-feedback\">${this.invalidFeedback}</div>` : \"\"}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n"],"names":["feedbackStyles","formLabelStyles","radioGroupStyles"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-radio.cjs.js","sources":["../../../../src/components/Radio/sgds-radio.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport radioStyles from \"./radio.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\n/**\n * @summary Radio allows the user to select one option from a set while seeing all available options.\n *\n * @slot default - The label of the radio input\n *\n * @event sgds-focus - Emitted when the control gains focus.\n * @event sgds-blur - Emitted when the control loses focus.\n */\nexport class SgdsRadio extends SgdsElement {\n static styles = [...SgdsElement.styles, formLabelStyles, radioStyles];\n /**\n * Draws the radio in a checked state\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Aligns the radios horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** For aria-label */\n @property({ type: String, reflect: true }) ariaLabel = \"\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n /** Marks the radio input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n private radioId: string = genId(\"radio\");\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n tabindex=\"-1\"\n >\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.invalid\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n />\n <label for=\"${ifDefined(this.radioId)}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n </div>\n `;\n }\n}\n\nexport default SgdsRadio;\n"],"names":["SgdsElement","genId","html","classMap","ifDefined","formLabelStyles","radioStyles","__decorate","property","watch"],"mappings":";;;;;;;;;;;;;;;;AASA;;;;;;;AAOG;AACG,MAAO,SAAU,SAAQA,sBAAW,CAAA;AAA1C,IAAA,WAAA,GAAA;;AAEE;;AAEG;QACyC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAMhB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAGjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAGlB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;;QAGf,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;QAEpB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAEpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEpD,QAAA,IAAA,CAAA,OAAO,GAAWC,qBAAK,CAAC,OAAO,CAAC,CAAC;KA0E1C;IAxEC,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;KAC1D;IAGD,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACtE;IAEO,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACxB;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;KACF;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzB;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KAC1D;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACtE;IAED,MAAM,GAAA;AACJ,QAAA,OAAOC,QAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,oBAAQ,CAAC;AACf,YAAA,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI,CAAC,QAAQ;SACnC,CAAC,CAAA;;;;AAIQ,gBAAA,EAAAA,oBAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAA;;AAEG,aAAA,EAAAC,sBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpB,gBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClB,mBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACX,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;0BACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;yBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACrC,iBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;;sBAEbA,sBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAgB,aAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;;;;KAIjF,CAAC;KACH;;AAlGM,SAAA,CAAA,MAAM,GAAG,CAAC,GAAGJ,sBAAW,CAAC,MAAM,EAAEK,oBAAe,EAAEC,gBAAW,CAAvD,CAAyD;AAI1BC,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGhDD,gBAAA,CAAA;AAAX,IAAAC,sBAAQ,EAAE;AAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGkBD,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjBD,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGlBD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGfD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpBD,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpBD,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAW5DD,gBAAA,CAAA;IADCE,WAAK,CAAC,SAAS,CAAC;AAIhB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA,CAAA;AAGDF,gBAAA,CAAA;IADCE,WAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAGjD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA;;;;;"}