@govtechsg/sgds-web-component 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/base/card-element.js +0 -1
  2. package/base/card-element.js.map +1 -1
  3. package/base/card.js +0 -1
  4. package/base/card.js.map +1 -1
  5. package/base/dropdown-element.js +0 -1
  6. package/base/dropdown-element.js.map +1 -1
  7. package/base/dropdown-list-element.js +0 -1
  8. package/base/dropdown-list-element.js.map +1 -1
  9. package/base/form-check-element.js +6 -5
  10. package/base/form-check-element.js.map +1 -1
  11. package/base/link-element.js +0 -1
  12. package/base/link-element.js.map +1 -1
  13. package/base/sgds-element.js +0 -1
  14. package/base/sgds-element.js.map +1 -1
  15. package/base/sgds-element2.js +0 -1
  16. package/base/sgds-element2.js.map +1 -1
  17. package/components/Accordion/accordion-item.js +0 -1
  18. package/components/Accordion/accordion-item.js.map +1 -1
  19. package/components/Accordion/accordion.js +0 -1
  20. package/components/Accordion/accordion.js.map +1 -1
  21. package/components/Accordion/sgds-accordion-item.js +0 -1
  22. package/components/Accordion/sgds-accordion-item.js.map +1 -1
  23. package/components/Accordion/sgds-accordion.js +0 -1
  24. package/components/Accordion/sgds-accordion.js.map +1 -1
  25. package/components/ActionCard/action-card.js +0 -1
  26. package/components/ActionCard/action-card.js.map +1 -1
  27. package/components/ActionCard/index.umd.js +9 -7
  28. package/components/ActionCard/index.umd.js.map +1 -1
  29. package/components/ActionCard/sgds-action-card.js +0 -1
  30. package/components/ActionCard/sgds-action-card.js.map +1 -1
  31. package/components/Alert/alert-link.js +0 -1
  32. package/components/Alert/alert-link.js.map +1 -1
  33. package/components/Alert/alert.js +0 -1
  34. package/components/Alert/alert.js.map +1 -1
  35. package/components/Alert/sgds-alert-heading.js +0 -1
  36. package/components/Alert/sgds-alert-heading.js.map +1 -1
  37. package/components/Alert/sgds-alert-link.js +0 -1
  38. package/components/Alert/sgds-alert-link.js.map +1 -1
  39. package/components/Alert/sgds-alert.js +0 -1
  40. package/components/Alert/sgds-alert.js.map +1 -1
  41. package/components/Badge/badge.js +0 -1
  42. package/components/Badge/badge.js.map +1 -1
  43. package/components/Badge/sgds-badge.js +0 -1
  44. package/components/Badge/sgds-badge.js.map +1 -1
  45. package/components/Breadcrumb/breadcrumb-item.js +0 -1
  46. package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
  47. package/components/Breadcrumb/breadcrumb.js +0 -1
  48. package/components/Breadcrumb/breadcrumb.js.map +1 -1
  49. package/components/Breadcrumb/sgds-breadcrumb-item.js +0 -1
  50. package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
  51. package/components/Breadcrumb/sgds-breadcrumb.js +0 -1
  52. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  53. package/components/Button/button.js +0 -1
  54. package/components/Button/button.js.map +1 -1
  55. package/components/Button/sgds-button.js +0 -1
  56. package/components/Button/sgds-button.js.map +1 -1
  57. package/components/Card/card.js +0 -1
  58. package/components/Card/card.js.map +1 -1
  59. package/components/Card/sgds-card.js +0 -1
  60. package/components/Card/sgds-card.js.map +1 -1
  61. package/components/Checkbox/checkbox.js +1 -2
  62. package/components/Checkbox/checkbox.js.map +1 -1
  63. package/components/Checkbox/index.umd.js +8 -6
  64. package/components/Checkbox/index.umd.js.map +1 -1
  65. package/components/Checkbox/sgds-checkbox.js +0 -1
  66. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  67. package/components/ComboBox/combo-box.js +0 -1
  68. package/components/ComboBox/combo-box.js.map +1 -1
  69. package/components/ComboBox/index.umd.js +2 -2
  70. package/components/ComboBox/index.umd.js.map +1 -1
  71. package/components/ComboBox/sgds-combo-box.js +0 -1
  72. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  73. package/components/Datepicker/datepicker-calendar.js +0 -1
  74. package/components/Datepicker/datepicker-calendar.js.map +1 -1
  75. package/components/Datepicker/datepicker-calendar2.js +0 -1
  76. package/components/Datepicker/datepicker-calendar2.js.map +1 -1
  77. package/components/Datepicker/datepicker-header.js +0 -1
  78. package/components/Datepicker/datepicker-header.js.map +1 -1
  79. package/components/Datepicker/datepicker-header2.js +0 -1
  80. package/components/Datepicker/datepicker-header2.js.map +1 -1
  81. package/components/Datepicker/datepicker-input.js +0 -1
  82. package/components/Datepicker/datepicker-input.js.map +1 -1
  83. package/components/Datepicker/datepicker-input2.js +0 -1
  84. package/components/Datepicker/datepicker-input2.js.map +1 -1
  85. package/components/Datepicker/datepicker.js +0 -1
  86. package/components/Datepicker/datepicker.js.map +1 -1
  87. package/components/Datepicker/index.umd.js +2 -2
  88. package/components/Datepicker/index.umd.js.map +1 -1
  89. package/components/Datepicker/sgds-datepicker.js +0 -1
  90. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  91. package/components/Drawer/drawer.js +0 -1
  92. package/components/Drawer/drawer.js.map +1 -1
  93. package/components/Drawer/sgds-drawer.js +0 -1
  94. package/components/Drawer/sgds-drawer.js.map +1 -1
  95. package/components/Dropdown/dropdown.js +0 -1
  96. package/components/Dropdown/dropdown.js.map +1 -1
  97. package/components/Dropdown/sgds-dropdown-item.js +0 -1
  98. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  99. package/components/Dropdown/sgds-dropdown.js +0 -1
  100. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  101. package/components/FileUpload/file-upload.js +0 -1
  102. package/components/FileUpload/file-upload.js.map +1 -1
  103. package/components/FileUpload/sgds-file-upload.js +0 -1
  104. package/components/FileUpload/sgds-file-upload.js.map +1 -1
  105. package/components/Footer/footer.js +0 -1
  106. package/components/Footer/footer.js.map +1 -1
  107. package/components/Footer/sgds-footer.js +0 -1
  108. package/components/Footer/sgds-footer.js.map +1 -1
  109. package/components/Input/index.umd.js +2 -2
  110. package/components/Input/index.umd.js.map +1 -1
  111. package/components/Input/input.js +0 -1
  112. package/components/Input/input.js.map +1 -1
  113. package/components/Input/sgds-input.js +1 -2
  114. package/components/Input/sgds-input.js.map +1 -1
  115. package/components/Mainnav/mainnav-dropdown.js +0 -1
  116. package/components/Mainnav/mainnav-dropdown.js.map +1 -1
  117. package/components/Mainnav/mainnav-item.js +0 -1
  118. package/components/Mainnav/mainnav-item.js.map +1 -1
  119. package/components/Mainnav/mainnav.js +0 -1
  120. package/components/Mainnav/mainnav.js.map +1 -1
  121. package/components/Mainnav/sgds-mainnav-dropdown.js +0 -1
  122. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  123. package/components/Mainnav/sgds-mainnav-item.js +0 -1
  124. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  125. package/components/Mainnav/sgds-mainnav.js +0 -1
  126. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  127. package/components/Masthead/masthead.js +0 -1
  128. package/components/Masthead/masthead.js.map +1 -1
  129. package/components/Masthead/sgds-masthead.js +0 -1
  130. package/components/Masthead/sgds-masthead.js.map +1 -1
  131. package/components/Modal/modal.js +0 -1
  132. package/components/Modal/modal.js.map +1 -1
  133. package/components/Modal/sgds-modal.js +0 -1
  134. package/components/Modal/sgds-modal.js.map +1 -1
  135. package/components/Pagination/pagination.js +0 -1
  136. package/components/Pagination/pagination.js.map +1 -1
  137. package/components/Pagination/sgds-pagination.js +0 -1
  138. package/components/Pagination/sgds-pagination.js.map +1 -1
  139. package/components/Progress/progress-bar.js +0 -1
  140. package/components/Progress/progress-bar.js.map +1 -1
  141. package/components/Progress/progress.js +0 -1
  142. package/components/Progress/progress.js.map +1 -1
  143. package/components/Progress/sgds-progress-bar.js +0 -1
  144. package/components/Progress/sgds-progress-bar.js.map +1 -1
  145. package/components/Progress/sgds-progress.js +0 -1
  146. package/components/Progress/sgds-progress.js.map +1 -1
  147. package/components/QuantityToggle/index.umd.js +2 -2
  148. package/components/QuantityToggle/index.umd.js.map +1 -1
  149. package/components/QuantityToggle/quantity-toggle.js +0 -1
  150. package/components/QuantityToggle/quantity-toggle.js.map +1 -1
  151. package/components/QuantityToggle/sgds-quantity-toggle.js +0 -1
  152. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  153. package/components/Radio/index.umd.js +3 -3
  154. package/components/Radio/index.umd.js.map +1 -1
  155. package/components/Radio/radio-group.js +0 -1
  156. package/components/Radio/radio-group.js.map +1 -1
  157. package/components/Radio/radio.js +1 -2
  158. package/components/Radio/radio.js.map +1 -1
  159. package/components/Radio/sgds-radio-group.js +1 -2
  160. package/components/Radio/sgds-radio-group.js.map +1 -1
  161. package/components/Radio/sgds-radio.js +0 -1
  162. package/components/Radio/sgds-radio.js.map +1 -1
  163. package/components/Sidenav/sgds-sidenav-item.js +0 -1
  164. package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
  165. package/components/Sidenav/sgds-sidenav-link.js +0 -1
  166. package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
  167. package/components/Sidenav/sgds-sidenav.js +0 -1
  168. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  169. package/components/Sidenav/sidenav-item.js +0 -1
  170. package/components/Sidenav/sidenav-item.js.map +1 -1
  171. package/components/Sidenav/sidenav-link.js +0 -1
  172. package/components/Sidenav/sidenav-link.js.map +1 -1
  173. package/components/Sidenav/sidenav.js +0 -1
  174. package/components/Sidenav/sidenav.js.map +1 -1
  175. package/components/Spinner/sgds-spinner.js +0 -1
  176. package/components/Spinner/sgds-spinner.js.map +1 -1
  177. package/components/Spinner/spinner.js +0 -1
  178. package/components/Spinner/spinner.js.map +1 -1
  179. package/components/Stepper/sgds-stepper.js +0 -1
  180. package/components/Stepper/sgds-stepper.js.map +1 -1
  181. package/components/Stepper/stepper.js +0 -1
  182. package/components/Stepper/stepper.js.map +1 -1
  183. package/components/Tab/sgds-tab-group.js +0 -1
  184. package/components/Tab/sgds-tab-group.js.map +1 -1
  185. package/components/Tab/sgds-tab-panel.js +0 -1
  186. package/components/Tab/sgds-tab-panel.js.map +1 -1
  187. package/components/Tab/sgds-tab.js +0 -1
  188. package/components/Tab/sgds-tab.js.map +1 -1
  189. package/components/Tab/tab-group.js +0 -1
  190. package/components/Tab/tab-group.js.map +1 -1
  191. package/components/Tab/tab-panel.js +0 -1
  192. package/components/Tab/tab-panel.js.map +1 -1
  193. package/components/Tab/tab.js +0 -1
  194. package/components/Tab/tab.js.map +1 -1
  195. package/components/Table/sgds-table.js +0 -1
  196. package/components/Table/sgds-table.js.map +1 -1
  197. package/components/Table/table.js +0 -1
  198. package/components/Table/table.js.map +1 -1
  199. package/components/Textarea/index.umd.js +2 -2
  200. package/components/Textarea/index.umd.js.map +1 -1
  201. package/components/Textarea/sgds-textarea.js +1 -2
  202. package/components/Textarea/sgds-textarea.js.map +1 -1
  203. package/components/Textarea/textarea.js +0 -1
  204. package/components/Textarea/textarea.js.map +1 -1
  205. package/components/Toast/sgds-toast-container.js +0 -1
  206. package/components/Toast/sgds-toast-container.js.map +1 -1
  207. package/components/Toast/sgds-toast.js +0 -1
  208. package/components/Toast/sgds-toast.js.map +1 -1
  209. package/components/Toast/toast-container.js +0 -1
  210. package/components/Toast/toast-container.js.map +1 -1
  211. package/components/Toast/toast.js +0 -1
  212. package/components/Toast/toast.js.map +1 -1
  213. package/components/Tooltip/sgds-tooltip.js +0 -1
  214. package/components/Tooltip/sgds-tooltip.js.map +1 -1
  215. package/components/Tooltip/tooltip.js +0 -1
  216. package/components/Tooltip/tooltip.js.map +1 -1
  217. package/components/index.umd.js +12 -10
  218. package/components/index.umd.js.map +1 -1
  219. package/index.umd.js +12 -10
  220. package/index.umd.js.map +1 -1
  221. package/internals/CloseButton/close-button.js +0 -1
  222. package/internals/CloseButton/close-button.js.map +1 -1
  223. package/internals/CloseButton/sgds-close-button.js +0 -1
  224. package/internals/CloseButton/sgds-close-button.js.map +1 -1
  225. package/package.json +1 -1
  226. package/react/accordion/index.cjs.js +1 -1
  227. package/react/accordion/index.js +1 -1
  228. package/react/accordion-item/index.cjs.js +1 -1
  229. package/react/accordion-item/index.js +1 -1
  230. package/react/action-card/index.cjs.js +1 -1
  231. package/react/action-card/index.js +1 -1
  232. package/react/alert/index.cjs.js +1 -1
  233. package/react/alert/index.js +1 -1
  234. package/react/alert-heading/index.cjs.js +1 -1
  235. package/react/alert-heading/index.js +1 -1
  236. package/react/alert-link/index.cjs.js +1 -1
  237. package/react/alert-link/index.js +1 -1
  238. package/react/badge/index.cjs.js +1 -1
  239. package/react/badge/index.js +1 -1
  240. package/react/base/card-element.cjs.js.map +1 -0
  241. package/react/base/card-element.js +26 -0
  242. package/react/base/card-element.js.map +1 -0
  243. package/react/base/card.js +7 -0
  244. package/react/base/card.js.map +1 -0
  245. package/react/base/dropdown-element.cjs.js.map +1 -0
  246. package/react/base/dropdown-element.js +174 -0
  247. package/react/base/dropdown-element.js.map +1 -0
  248. package/react/base/dropdown-list-element.cjs.js.map +1 -0
  249. package/react/base/dropdown-list-element.js +130 -0
  250. package/react/base/dropdown-list-element.js.map +1 -0
  251. package/{base → react/base}/form-check-element.cjs.js +6 -4
  252. package/react/base/form-check-element.cjs.js.map +1 -0
  253. package/react/base/form-check-element.js +169 -0
  254. package/react/base/form-check-element.js.map +1 -0
  255. package/react/base/link-element.cjs.js.map +1 -0
  256. package/react/base/link-element.js +53 -0
  257. package/react/base/link-element.js.map +1 -0
  258. package/react/base/sgds-element.cjs.js.map +1 -0
  259. package/react/base/sgds-element.js +24 -0
  260. package/react/base/sgds-element.js.map +1 -0
  261. package/react/base/sgds-element2.js +7 -0
  262. package/react/base/sgds-element2.js.map +1 -0
  263. package/react/breadcrumb/index.cjs.js +1 -1
  264. package/react/breadcrumb/index.js +1 -1
  265. package/react/breadcrumb-item/index.cjs.js +1 -1
  266. package/react/breadcrumb-item/index.js +1 -1
  267. package/react/button/index.cjs.js +1 -1
  268. package/react/button/index.js +1 -1
  269. package/react/card/index.cjs.js +1 -1
  270. package/react/card/index.js +1 -1
  271. package/react/checkbox/index.cjs.js +1 -1
  272. package/react/checkbox/index.js +1 -1
  273. package/react/combo-box/index.cjs.js +1 -1
  274. package/react/combo-box/index.js +1 -1
  275. package/react/components/Accordion/accordion-item.js +7 -0
  276. package/react/components/Accordion/accordion-item.js.map +1 -0
  277. package/react/components/Accordion/accordion.js +7 -0
  278. package/react/components/Accordion/accordion.js.map +1 -0
  279. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  280. package/react/components/Accordion/sgds-accordion-item.js +204 -0
  281. package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
  282. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  283. package/react/components/Accordion/sgds-accordion.js +87 -0
  284. package/react/components/Accordion/sgds-accordion.js.map +1 -0
  285. package/react/components/ActionCard/action-card.js +7 -0
  286. package/react/components/ActionCard/action-card.js.map +1 -0
  287. package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  288. package/react/components/ActionCard/sgds-action-card.js +155 -0
  289. package/react/components/ActionCard/sgds-action-card.js.map +1 -0
  290. package/react/components/Alert/alert-link.js +7 -0
  291. package/react/components/Alert/alert-link.js.map +1 -0
  292. package/react/components/Alert/alert.js +7 -0
  293. package/react/components/Alert/alert.js.map +1 -0
  294. package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  295. package/react/components/Alert/sgds-alert-heading.js +33 -0
  296. package/react/components/Alert/sgds-alert-heading.js.map +1 -0
  297. package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  298. package/react/components/Alert/sgds-alert-link.js +32 -0
  299. package/react/components/Alert/sgds-alert-link.js.map +1 -0
  300. package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
  301. package/react/components/Alert/sgds-alert.js +90 -0
  302. package/react/components/Alert/sgds-alert.js.map +1 -0
  303. package/react/components/Badge/badge.js +7 -0
  304. package/react/components/Badge/badge.js.map +1 -0
  305. package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
  306. package/react/components/Badge/sgds-badge.js +53 -0
  307. package/react/components/Badge/sgds-badge.js.map +1 -0
  308. package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
  309. package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
  310. package/react/components/Breadcrumb/breadcrumb.js +7 -0
  311. package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
  312. package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  313. package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
  314. package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  315. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  316. package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
  317. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  318. package/react/components/Button/button.js +7 -0
  319. package/react/components/Button/button.js.map +1 -0
  320. package/react/components/Button/sgds-button.cjs.js.map +1 -0
  321. package/react/components/Button/sgds-button.js +166 -0
  322. package/react/components/Button/sgds-button.js.map +1 -0
  323. package/react/components/Card/card.js +7 -0
  324. package/react/components/Card/card.js.map +1 -0
  325. package/react/components/Card/sgds-card.cjs.js.map +1 -0
  326. package/react/components/Card/sgds-card.js +76 -0
  327. package/react/components/Card/sgds-card.js.map +1 -0
  328. package/react/components/Checkbox/checkbox.cjs.js +11 -0
  329. package/react/components/Checkbox/checkbox.js +7 -0
  330. package/react/components/Checkbox/checkbox.js.map +1 -0
  331. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  332. package/react/components/Checkbox/sgds-checkbox.js +26 -0
  333. package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
  334. package/react/components/ComboBox/combo-box.js +7 -0
  335. package/react/components/ComboBox/combo-box.js.map +1 -0
  336. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  337. package/react/components/ComboBox/sgds-combo-box.js +194 -0
  338. package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
  339. package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  340. package/react/components/Datepicker/datepicker-calendar.js +458 -0
  341. package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
  342. package/react/components/Datepicker/datepicker-calendar2.js +7 -0
  343. package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
  344. package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  345. package/react/components/Datepicker/datepicker-header.js +227 -0
  346. package/react/components/Datepicker/datepicker-header.js.map +1 -0
  347. package/react/components/Datepicker/datepicker-header2.js +7 -0
  348. package/react/components/Datepicker/datepicker-header2.js.map +1 -0
  349. package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
  350. package/react/components/Datepicker/datepicker-input.js +150 -0
  351. package/react/components/Datepicker/datepicker-input.js.map +1 -0
  352. package/react/components/Datepicker/datepicker-input2.js +7 -0
  353. package/react/components/Datepicker/datepicker-input2.js.map +1 -0
  354. package/react/components/Datepicker/datepicker.js +7 -0
  355. package/react/components/Datepicker/datepicker.js.map +1 -0
  356. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  357. package/react/components/Datepicker/sgds-datepicker.js +484 -0
  358. package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
  359. package/react/components/Drawer/drawer.js +7 -0
  360. package/react/components/Drawer/drawer.js.map +1 -0
  361. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  362. package/react/components/Drawer/sgds-drawer.js +413 -0
  363. package/react/components/Drawer/sgds-drawer.js.map +1 -0
  364. package/react/components/Dropdown/dropdown.js +7 -0
  365. package/react/components/Dropdown/dropdown.js.map +1 -0
  366. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  367. package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
  368. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  369. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  370. package/react/components/Dropdown/sgds-dropdown.js +117 -0
  371. package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
  372. package/react/components/FileUpload/file-upload.js +7 -0
  373. package/react/components/FileUpload/file-upload.js.map +1 -0
  374. package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  375. package/react/components/FileUpload/sgds-file-upload.js +208 -0
  376. package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
  377. package/react/components/Footer/footer.js +7 -0
  378. package/react/components/Footer/footer.js.map +1 -0
  379. package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
  380. package/react/components/Footer/sgds-footer.js +155 -0
  381. package/react/components/Footer/sgds-footer.js.map +1 -0
  382. package/react/components/Input/input.js +7 -0
  383. package/react/components/Input/input.js.map +1 -0
  384. package/{components → react/components}/Input/sgds-input.cjs.js +1 -1
  385. package/react/components/Input/sgds-input.cjs.js.map +1 -0
  386. package/react/components/Input/sgds-input.js +262 -0
  387. package/react/components/Input/sgds-input.js.map +1 -0
  388. package/react/components/Mainnav/mainnav-dropdown.js +7 -0
  389. package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
  390. package/react/components/Mainnav/mainnav-item.js +7 -0
  391. package/react/components/Mainnav/mainnav-item.js.map +1 -0
  392. package/react/components/Mainnav/mainnav.js +7 -0
  393. package/react/components/Mainnav/mainnav.js.map +1 -0
  394. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  395. package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
  396. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  397. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  398. package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
  399. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  400. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  401. package/react/components/Mainnav/sgds-mainnav.js +227 -0
  402. package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
  403. package/react/components/Masthead/masthead.js +7 -0
  404. package/react/components/Masthead/masthead.js.map +1 -0
  405. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  406. package/react/components/Masthead/sgds-masthead.js +182 -0
  407. package/react/components/Masthead/sgds-masthead.js.map +1 -0
  408. package/react/components/Modal/modal.js +7 -0
  409. package/react/components/Modal/modal.js.map +1 -0
  410. package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
  411. package/react/components/Modal/sgds-modal.js +340 -0
  412. package/react/components/Modal/sgds-modal.js.map +1 -0
  413. package/react/components/Pagination/pagination.js +7 -0
  414. package/react/components/Pagination/pagination.js.map +1 -0
  415. package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  416. package/react/components/Pagination/sgds-pagination.js +364 -0
  417. package/react/components/Pagination/sgds-pagination.js.map +1 -0
  418. package/react/components/Progress/progress-bar.js +7 -0
  419. package/react/components/Progress/progress-bar.js.map +1 -0
  420. package/react/components/Progress/progress.js +7 -0
  421. package/react/components/Progress/progress.js.map +1 -0
  422. package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  423. package/react/components/Progress/sgds-progress-bar.js +59 -0
  424. package/react/components/Progress/sgds-progress-bar.js.map +1 -0
  425. package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
  426. package/react/components/Progress/sgds-progress.js +30 -0
  427. package/react/components/Progress/sgds-progress.js.map +1 -0
  428. package/react/components/QuantityToggle/quantity-toggle.js +7 -0
  429. package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
  430. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  431. package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
  432. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  433. package/react/components/Radio/radio-group.js +7 -0
  434. package/react/components/Radio/radio-group.js.map +1 -0
  435. package/react/components/Radio/radio.cjs.js +11 -0
  436. package/react/components/Radio/radio.js +7 -0
  437. package/react/components/Radio/radio.js.map +1 -0
  438. package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -1
  439. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  440. package/react/components/Radio/sgds-radio-group.js +240 -0
  441. package/react/components/Radio/sgds-radio-group.js.map +1 -0
  442. package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
  443. package/react/components/Radio/sgds-radio.js +138 -0
  444. package/react/components/Radio/sgds-radio.js.map +1 -0
  445. package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  446. package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
  447. package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  448. package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  449. package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
  450. package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  451. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  452. package/react/components/Sidenav/sgds-sidenav.js +75 -0
  453. package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
  454. package/react/components/Sidenav/sidenav-item.js +7 -0
  455. package/react/components/Sidenav/sidenav-item.js.map +1 -0
  456. package/react/components/Sidenav/sidenav-link.js +7 -0
  457. package/react/components/Sidenav/sidenav-link.js.map +1 -0
  458. package/react/components/Sidenav/sidenav.js +7 -0
  459. package/react/components/Sidenav/sidenav.js.map +1 -0
  460. package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  461. package/react/components/Spinner/sgds-spinner.js +38 -0
  462. package/react/components/Spinner/sgds-spinner.js.map +1 -0
  463. package/react/components/Spinner/spinner.js +8 -0
  464. package/react/components/Spinner/spinner.js.map +1 -0
  465. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  466. package/react/components/Stepper/sgds-stepper.js +132 -0
  467. package/react/components/Stepper/sgds-stepper.js.map +1 -0
  468. package/react/components/Stepper/stepper.js +7 -0
  469. package/react/components/Stepper/stepper.js.map +1 -0
  470. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  471. package/react/components/Tab/sgds-tab-group.js +233 -0
  472. package/react/components/Tab/sgds-tab-group.js.map +1 -0
  473. package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  474. package/react/components/Tab/sgds-tab-panel.js +63 -0
  475. package/react/components/Tab/sgds-tab-panel.js.map +1 -0
  476. package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
  477. package/react/components/Tab/sgds-tab.js +110 -0
  478. package/react/components/Tab/sgds-tab.js.map +1 -0
  479. package/react/components/Tab/tab-group.js +7 -0
  480. package/react/components/Tab/tab-group.js.map +1 -0
  481. package/react/components/Tab/tab-panel.js +7 -0
  482. package/react/components/Tab/tab-panel.js.map +1 -0
  483. package/react/components/Tab/tab.js +7 -0
  484. package/react/components/Tab/tab.js.map +1 -0
  485. package/react/components/Table/sgds-table.cjs.js.map +1 -0
  486. package/react/components/Table/sgds-table.js +267 -0
  487. package/react/components/Table/sgds-table.js.map +1 -0
  488. package/react/components/Table/table.js +7 -0
  489. package/react/components/Table/table.js.map +1 -0
  490. package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -1
  491. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  492. package/react/components/Textarea/sgds-textarea.js +252 -0
  493. package/react/components/Textarea/sgds-textarea.js.map +1 -0
  494. package/react/components/Textarea/textarea.js +7 -0
  495. package/react/components/Textarea/textarea.js.map +1 -0
  496. package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  497. package/react/components/Toast/sgds-toast-container.js +36 -0
  498. package/react/components/Toast/sgds-toast-container.js.map +1 -0
  499. package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
  500. package/react/components/Toast/sgds-toast.js +152 -0
  501. package/react/components/Toast/sgds-toast.js.map +1 -0
  502. package/react/components/Toast/toast-container.js +7 -0
  503. package/react/components/Toast/toast-container.js.map +1 -0
  504. package/react/components/Toast/toast.js +7 -0
  505. package/react/components/Toast/toast.js.map +1 -0
  506. package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  507. package/react/components/Tooltip/sgds-tooltip.js +121 -0
  508. package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
  509. package/react/components/Tooltip/tooltip.js +7 -0
  510. package/react/components/Tooltip/tooltip.js.map +1 -0
  511. package/react/datepicker/index.cjs.js +1 -1
  512. package/react/datepicker/index.js +1 -1
  513. package/react/drawer/index.cjs.js +1 -1
  514. package/react/drawer/index.js +1 -1
  515. package/react/dropdown/index.cjs.js +1 -1
  516. package/react/dropdown/index.js +1 -1
  517. package/react/dropdown-item/index.cjs.js +1 -1
  518. package/react/dropdown-item/index.js +1 -1
  519. package/react/file-upload/index.cjs.js +1 -1
  520. package/react/file-upload/index.js +1 -1
  521. package/react/footer/index.cjs.js +1 -1
  522. package/react/footer/index.js +1 -1
  523. package/react/input/index.cjs.js +1 -1
  524. package/react/input/index.js +1 -1
  525. package/react/internals/CloseButton/close-button.js +7 -0
  526. package/react/internals/CloseButton/close-button.js.map +1 -0
  527. package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
  528. package/react/internals/CloseButton/sgds-close-button.js +55 -0
  529. package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
  530. package/react/mainnav/index.cjs.js +1 -1
  531. package/react/mainnav/index.js +1 -1
  532. package/react/mainnav-dropdown/index.cjs.js +1 -1
  533. package/react/mainnav-dropdown/index.js +1 -1
  534. package/react/mainnav-item/index.cjs.js +1 -1
  535. package/react/mainnav-item/index.js +1 -1
  536. package/react/masthead/index.cjs.js +1 -1
  537. package/react/masthead/index.js +1 -1
  538. package/react/modal/index.cjs.js +1 -1
  539. package/react/modal/index.js +1 -1
  540. package/react/pagination/index.cjs.js +1 -1
  541. package/react/pagination/index.js +1 -1
  542. package/react/progress/index.cjs.js +1 -1
  543. package/react/progress/index.js +1 -1
  544. package/react/progress-bar/index.cjs.js +1 -1
  545. package/react/progress-bar/index.js +1 -1
  546. package/react/quantity-toggle/index.cjs.js +1 -1
  547. package/react/quantity-toggle/index.js +1 -1
  548. package/react/radio/index.cjs.js +1 -1
  549. package/react/radio/index.js +1 -1
  550. package/react/radio-group/index.cjs.js +1 -1
  551. package/react/radio-group/index.js +1 -1
  552. package/react/sidenav/index.cjs.js +1 -1
  553. package/react/sidenav/index.js +1 -1
  554. package/react/sidenav-item/index.cjs.js +1 -1
  555. package/react/sidenav-item/index.js +1 -1
  556. package/react/sidenav-link/index.cjs.js +1 -1
  557. package/react/sidenav-link/index.js +1 -1
  558. package/react/spinner/index.cjs.js +1 -1
  559. package/react/spinner/index.js +1 -1
  560. package/react/stepper/index.cjs.js +1 -1
  561. package/react/stepper/index.js +1 -1
  562. package/react/styles/anchor.js +7 -0
  563. package/react/styles/anchor.js.map +1 -0
  564. package/react/styles/bg-variants.js +7 -0
  565. package/react/styles/bg-variants.js.map +1 -0
  566. package/react/styles/border-variants.js +7 -0
  567. package/react/styles/border-variants.js.map +1 -0
  568. package/{styles → react/styles}/feedback.cjs.js +1 -1
  569. package/react/styles/feedback.js +7 -0
  570. package/react/styles/feedback.js.map +1 -0
  571. package/react/styles/form-hint.js +7 -0
  572. package/react/styles/form-hint.js.map +1 -0
  573. package/react/styles/form-label.js +7 -0
  574. package/react/styles/form-label.js.map +1 -0
  575. package/react/styles/header-class.js +7 -0
  576. package/react/styles/header-class.js.map +1 -0
  577. package/react/styles/paragraph.js +7 -0
  578. package/react/styles/paragraph.js.map +1 -0
  579. package/react/styles/svg.js +7 -0
  580. package/react/styles/svg.js.map +1 -0
  581. package/react/styles/text-variants.js +7 -0
  582. package/react/styles/text-variants.js.map +1 -0
  583. package/react/tab/index.cjs.js +1 -1
  584. package/react/tab/index.js +1 -1
  585. package/react/tab-group/index.cjs.js +1 -1
  586. package/react/tab-group/index.js +1 -1
  587. package/react/tab-panel/index.cjs.js +1 -1
  588. package/react/tab-panel/index.js +1 -1
  589. package/react/table/index.cjs.js +1 -1
  590. package/react/table/index.js +1 -1
  591. package/react/textarea/index.cjs.js +1 -1
  592. package/react/textarea/index.js +1 -1
  593. package/react/toast/index.cjs.js +1 -1
  594. package/react/toast/index.js +1 -1
  595. package/react/toast-container/index.cjs.js +1 -1
  596. package/react/toast-container/index.js +1 -1
  597. package/react/tooltip/index.cjs.js +1 -1
  598. package/react/tooltip/index.js +1 -1
  599. package/react/utils/animate.cjs.js.map +1 -0
  600. package/react/utils/animate.js +42 -0
  601. package/react/utils/animate.js.map +1 -0
  602. package/react/utils/animation-registry.cjs.js.map +1 -0
  603. package/react/utils/animation-registry.js +43 -0
  604. package/react/utils/animation-registry.js.map +1 -0
  605. package/react/utils/breakpoints.cjs.js.map +1 -0
  606. package/react/utils/breakpoints.js +9 -0
  607. package/react/utils/breakpoints.js.map +1 -0
  608. package/react/utils/defaultvalue.cjs.js.map +1 -0
  609. package/react/utils/defaultvalue.js +25 -0
  610. package/react/utils/defaultvalue.js.map +1 -0
  611. package/react/utils/event.cjs.js.map +1 -0
  612. package/react/utils/event.js +16 -0
  613. package/react/utils/event.js.map +1 -0
  614. package/react/utils/form.cjs.js.map +1 -0
  615. package/react/utils/form.js +133 -0
  616. package/react/utils/form.js.map +1 -0
  617. package/react/utils/generateId.cjs.js.map +1 -0
  618. package/react/utils/generateId.js +7 -0
  619. package/react/utils/generateId.js.map +1 -0
  620. package/react/utils/mergeDeep.cjs.js.map +1 -0
  621. package/react/utils/mergeDeep.js +26 -0
  622. package/react/utils/mergeDeep.js.map +1 -0
  623. package/react/utils/modal.cjs.js.map +1 -0
  624. package/react/utils/modal.js +56 -0
  625. package/react/utils/modal.js.map +1 -0
  626. package/react/utils/object.cjs.js.map +1 -0
  627. package/react/utils/object.js +7 -0
  628. package/react/utils/object.js.map +1 -0
  629. package/react/utils/scroll.cjs.js.map +1 -0
  630. package/react/utils/scroll.js +22 -0
  631. package/react/utils/scroll.js.map +1 -0
  632. package/react/utils/slot.cjs.js.map +1 -0
  633. package/react/utils/slot.js +53 -0
  634. package/react/utils/slot.js.map +1 -0
  635. package/react/utils/tabbable.cjs.js.map +1 -0
  636. package/react/utils/tabbable.js +69 -0
  637. package/react/utils/tabbable.js.map +1 -0
  638. package/react/utils/time.cjs.js.map +1 -0
  639. package/react/utils/time.js +75 -0
  640. package/react/utils/time.js.map +1 -0
  641. package/react/utils/watch.cjs.js.map +1 -0
  642. package/react/utils/watch.js +40 -0
  643. package/react/utils/watch.js.map +1 -0
  644. package/styles/anchor.js +0 -1
  645. package/styles/anchor.js.map +1 -1
  646. package/styles/bg-variants.js +0 -1
  647. package/styles/bg-variants.js.map +1 -1
  648. package/styles/border-variants.js +0 -1
  649. package/styles/border-variants.js.map +1 -1
  650. package/styles/feedback.js +1 -2
  651. package/styles/feedback.js.map +1 -1
  652. package/styles/form-hint.js +0 -1
  653. package/styles/form-hint.js.map +1 -1
  654. package/styles/form-label.js +0 -1
  655. package/styles/form-label.js.map +1 -1
  656. package/styles/header-class.js +0 -1
  657. package/styles/header-class.js.map +1 -1
  658. package/styles/paragraph.js +0 -1
  659. package/styles/paragraph.js.map +1 -1
  660. package/styles/svg.js +0 -1
  661. package/styles/svg.js.map +1 -1
  662. package/styles/text-variants.js +0 -1
  663. package/styles/text-variants.js.map +1 -1
  664. package/utils/animate.js +0 -1
  665. package/utils/animate.js.map +1 -1
  666. package/utils/animation-registry.js +0 -1
  667. package/utils/animation-registry.js.map +1 -1
  668. package/utils/breakpoints.js +0 -1
  669. package/utils/breakpoints.js.map +1 -1
  670. package/utils/defaultvalue.js +0 -1
  671. package/utils/defaultvalue.js.map +1 -1
  672. package/utils/event.js +0 -1
  673. package/utils/event.js.map +1 -1
  674. package/utils/form.js +0 -1
  675. package/utils/form.js.map +1 -1
  676. package/utils/generateId.js +0 -1
  677. package/utils/generateId.js.map +1 -1
  678. package/utils/mergeDeep.js +0 -1
  679. package/utils/mergeDeep.js.map +1 -1
  680. package/utils/modal.js +0 -1
  681. package/utils/modal.js.map +1 -1
  682. package/utils/object.js +0 -1
  683. package/utils/object.js.map +1 -1
  684. package/utils/scroll.js +0 -1
  685. package/utils/scroll.js.map +1 -1
  686. package/utils/slot.js +0 -1
  687. package/utils/slot.js.map +1 -1
  688. package/utils/tabbable.js +0 -1
  689. package/utils/tabbable.js.map +1 -1
  690. package/utils/time.js +0 -1
  691. package/utils/time.js.map +1 -1
  692. package/utils/watch.js +0 -1
  693. package/utils/watch.js.map +1 -1
  694. package/base/card-element.cjs.js.map +0 -1
  695. package/base/dropdown-element.cjs.js.map +0 -1
  696. package/base/dropdown-list-element.cjs.js.map +0 -1
  697. package/base/form-check-element.cjs.js.map +0 -1
  698. package/base/link-element.cjs.js.map +0 -1
  699. package/base/sgds-element.cjs.js.map +0 -1
  700. package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
  701. package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
  702. package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
  703. package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
  704. package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
  705. package/components/Alert/sgds-alert.cjs.js.map +0 -1
  706. package/components/Badge/sgds-badge.cjs.js.map +0 -1
  707. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
  708. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
  709. package/components/Button/sgds-button.cjs.js.map +0 -1
  710. package/components/Card/sgds-card.cjs.js.map +0 -1
  711. package/components/Checkbox/checkbox.cjs.js +0 -11
  712. package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
  713. package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
  714. package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
  715. package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
  716. package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
  717. package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
  718. package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
  719. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
  720. package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
  721. package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
  722. package/components/Footer/sgds-footer.cjs.js.map +0 -1
  723. package/components/Input/sgds-input.cjs.js.map +0 -1
  724. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
  725. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
  726. package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
  727. package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
  728. package/components/Modal/sgds-modal.cjs.js.map +0 -1
  729. package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
  730. package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
  731. package/components/Progress/sgds-progress.cjs.js.map +0 -1
  732. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
  733. package/components/Radio/radio.cjs.js +0 -11
  734. package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
  735. package/components/Radio/sgds-radio.cjs.js.map +0 -1
  736. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
  737. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
  738. package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
  739. package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
  740. package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
  741. package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
  742. package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
  743. package/components/Tab/sgds-tab.cjs.js.map +0 -1
  744. package/components/Table/sgds-table.cjs.js.map +0 -1
  745. package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
  746. package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
  747. package/components/Toast/sgds-toast.cjs.js.map +0 -1
  748. package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
  749. package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
  750. package/utils/animate.cjs.js.map +0 -1
  751. package/utils/animation-registry.cjs.js.map +0 -1
  752. package/utils/breakpoints.cjs.js.map +0 -1
  753. package/utils/defaultvalue.cjs.js.map +0 -1
  754. package/utils/event.cjs.js.map +0 -1
  755. package/utils/form.cjs.js.map +0 -1
  756. package/utils/generateId.cjs.js.map +0 -1
  757. package/utils/mergeDeep.cjs.js.map +0 -1
  758. package/utils/modal.cjs.js.map +0 -1
  759. package/utils/object.cjs.js.map +0 -1
  760. package/utils/scroll.cjs.js.map +0 -1
  761. package/utils/slot.cjs.js.map +0 -1
  762. package/utils/tabbable.cjs.js.map +0 -1
  763. package/utils/time.cjs.js.map +0 -1
  764. package/utils/watch.cjs.js.map +0 -1
  765. /package/{base → react/base}/card-element.cjs.js +0 -0
  766. /package/{base → react/base}/card.cjs.js +0 -0
  767. /package/{base → react/base}/card.cjs.js.map +0 -0
  768. /package/{base → react/base}/dropdown-element.cjs.js +0 -0
  769. /package/{base → react/base}/dropdown-list-element.cjs.js +0 -0
  770. /package/{base → react/base}/link-element.cjs.js +0 -0
  771. /package/{base → react/base}/sgds-element.cjs.js +0 -0
  772. /package/{base → react/base}/sgds-element.cjs2.js +0 -0
  773. /package/{base → react/base}/sgds-element.cjs2.js.map +0 -0
  774. /package/{components → react/components}/Accordion/accordion-item.cjs.js +0 -0
  775. /package/{components → react/components}/Accordion/accordion-item.cjs.js.map +0 -0
  776. /package/{components → react/components}/Accordion/accordion.cjs.js +0 -0
  777. /package/{components → react/components}/Accordion/accordion.cjs.js.map +0 -0
  778. /package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +0 -0
  779. /package/{components → react/components}/Accordion/sgds-accordion.cjs.js +0 -0
  780. /package/{components → react/components}/ActionCard/action-card.cjs.js +0 -0
  781. /package/{components → react/components}/ActionCard/action-card.cjs.js.map +0 -0
  782. /package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +0 -0
  783. /package/{components → react/components}/Alert/alert-link.cjs.js +0 -0
  784. /package/{components → react/components}/Alert/alert-link.cjs.js.map +0 -0
  785. /package/{components → react/components}/Alert/alert.cjs.js +0 -0
  786. /package/{components → react/components}/Alert/alert.cjs.js.map +0 -0
  787. /package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +0 -0
  788. /package/{components → react/components}/Alert/sgds-alert-link.cjs.js +0 -0
  789. /package/{components → react/components}/Alert/sgds-alert.cjs.js +0 -0
  790. /package/{components → react/components}/Badge/badge.cjs.js +0 -0
  791. /package/{components → react/components}/Badge/badge.cjs.js.map +0 -0
  792. /package/{components → react/components}/Badge/sgds-badge.cjs.js +0 -0
  793. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +0 -0
  794. /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +0 -0
  795. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +0 -0
  796. /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +0 -0
  797. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +0 -0
  798. /package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +0 -0
  799. /package/{components → react/components}/Button/button.cjs.js +0 -0
  800. /package/{components → react/components}/Button/button.cjs.js.map +0 -0
  801. /package/{components → react/components}/Button/sgds-button.cjs.js +0 -0
  802. /package/{components → react/components}/Card/card.cjs.js +0 -0
  803. /package/{components → react/components}/Card/card.cjs.js.map +0 -0
  804. /package/{components → react/components}/Card/sgds-card.cjs.js +0 -0
  805. /package/{components → react/components}/Checkbox/checkbox.cjs.js.map +0 -0
  806. /package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +0 -0
  807. /package/{components → react/components}/ComboBox/combo-box.cjs.js +0 -0
  808. /package/{components → react/components}/ComboBox/combo-box.cjs.js.map +0 -0
  809. /package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +0 -0
  810. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +0 -0
  811. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +0 -0
  812. /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +0 -0
  813. /package/{components → react/components}/Datepicker/datepicker-header.cjs.js +0 -0
  814. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +0 -0
  815. /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +0 -0
  816. /package/{components → react/components}/Datepicker/datepicker-input.cjs.js +0 -0
  817. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +0 -0
  818. /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +0 -0
  819. /package/{components → react/components}/Datepicker/datepicker.cjs.js +0 -0
  820. /package/{components → react/components}/Datepicker/datepicker.cjs.js.map +0 -0
  821. /package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +0 -0
  822. /package/{components → react/components}/Drawer/drawer.cjs.js +0 -0
  823. /package/{components → react/components}/Drawer/drawer.cjs.js.map +0 -0
  824. /package/{components → react/components}/Drawer/sgds-drawer.cjs.js +0 -0
  825. /package/{components → react/components}/Dropdown/dropdown.cjs.js +0 -0
  826. /package/{components → react/components}/Dropdown/dropdown.cjs.js.map +0 -0
  827. /package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +0 -0
  828. /package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +0 -0
  829. /package/{components → react/components}/FileUpload/file-upload.cjs.js +0 -0
  830. /package/{components → react/components}/FileUpload/file-upload.cjs.js.map +0 -0
  831. /package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +0 -0
  832. /package/{components → react/components}/Footer/footer.cjs.js +0 -0
  833. /package/{components → react/components}/Footer/footer.cjs.js.map +0 -0
  834. /package/{components → react/components}/Footer/sgds-footer.cjs.js +0 -0
  835. /package/{components → react/components}/Input/input.cjs.js +0 -0
  836. /package/{components → react/components}/Input/input.cjs.js.map +0 -0
  837. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +0 -0
  838. /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +0 -0
  839. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js +0 -0
  840. /package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +0 -0
  841. /package/{components → react/components}/Mainnav/mainnav.cjs.js +0 -0
  842. /package/{components → react/components}/Mainnav/mainnav.cjs.js.map +0 -0
  843. /package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +0 -0
  844. /package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +0 -0
  845. /package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +0 -0
  846. /package/{components → react/components}/Masthead/masthead.cjs.js +0 -0
  847. /package/{components → react/components}/Masthead/masthead.cjs.js.map +0 -0
  848. /package/{components → react/components}/Masthead/sgds-masthead.cjs.js +0 -0
  849. /package/{components → react/components}/Modal/modal.cjs.js +0 -0
  850. /package/{components → react/components}/Modal/modal.cjs.js.map +0 -0
  851. /package/{components → react/components}/Modal/sgds-modal.cjs.js +0 -0
  852. /package/{components → react/components}/Pagination/pagination.cjs.js +0 -0
  853. /package/{components → react/components}/Pagination/pagination.cjs.js.map +0 -0
  854. /package/{components → react/components}/Pagination/sgds-pagination.cjs.js +0 -0
  855. /package/{components → react/components}/Progress/progress-bar.cjs.js +0 -0
  856. /package/{components → react/components}/Progress/progress-bar.cjs.js.map +0 -0
  857. /package/{components → react/components}/Progress/progress.cjs.js +0 -0
  858. /package/{components → react/components}/Progress/progress.cjs.js.map +0 -0
  859. /package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +0 -0
  860. /package/{components → react/components}/Progress/sgds-progress.cjs.js +0 -0
  861. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +0 -0
  862. /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +0 -0
  863. /package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +0 -0
  864. /package/{components → react/components}/Radio/radio-group.cjs.js +0 -0
  865. /package/{components → react/components}/Radio/radio-group.cjs.js.map +0 -0
  866. /package/{components → react/components}/Radio/radio.cjs.js.map +0 -0
  867. /package/{components → react/components}/Radio/sgds-radio.cjs.js +0 -0
  868. /package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +0 -0
  869. /package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +0 -0
  870. /package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +0 -0
  871. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js +0 -0
  872. /package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +0 -0
  873. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js +0 -0
  874. /package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +0 -0
  875. /package/{components → react/components}/Sidenav/sidenav.cjs.js +0 -0
  876. /package/{components → react/components}/Sidenav/sidenav.cjs.js.map +0 -0
  877. /package/{components → react/components}/Spinner/sgds-spinner.cjs.js +0 -0
  878. /package/{components → react/components}/Spinner/spinner.cjs.js +0 -0
  879. /package/{components → react/components}/Spinner/spinner.cjs.js.map +0 -0
  880. /package/{components → react/components}/Stepper/sgds-stepper.cjs.js +0 -0
  881. /package/{components → react/components}/Stepper/stepper.cjs.js +0 -0
  882. /package/{components → react/components}/Stepper/stepper.cjs.js.map +0 -0
  883. /package/{components → react/components}/Tab/sgds-tab-group.cjs.js +0 -0
  884. /package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +0 -0
  885. /package/{components → react/components}/Tab/sgds-tab.cjs.js +0 -0
  886. /package/{components → react/components}/Tab/tab-group.cjs.js +0 -0
  887. /package/{components → react/components}/Tab/tab-group.cjs.js.map +0 -0
  888. /package/{components → react/components}/Tab/tab-panel.cjs.js +0 -0
  889. /package/{components → react/components}/Tab/tab-panel.cjs.js.map +0 -0
  890. /package/{components → react/components}/Tab/tab.cjs.js +0 -0
  891. /package/{components → react/components}/Tab/tab.cjs.js.map +0 -0
  892. /package/{components → react/components}/Table/sgds-table.cjs.js +0 -0
  893. /package/{components → react/components}/Table/table.cjs.js +0 -0
  894. /package/{components → react/components}/Table/table.cjs.js.map +0 -0
  895. /package/{components → react/components}/Textarea/textarea.cjs.js +0 -0
  896. /package/{components → react/components}/Textarea/textarea.cjs.js.map +0 -0
  897. /package/{components → react/components}/Toast/sgds-toast-container.cjs.js +0 -0
  898. /package/{components → react/components}/Toast/sgds-toast.cjs.js +0 -0
  899. /package/{components → react/components}/Toast/toast-container.cjs.js +0 -0
  900. /package/{components → react/components}/Toast/toast-container.cjs.js.map +0 -0
  901. /package/{components → react/components}/Toast/toast.cjs.js +0 -0
  902. /package/{components → react/components}/Toast/toast.cjs.js.map +0 -0
  903. /package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +0 -0
  904. /package/{components → react/components}/Tooltip/tooltip.cjs.js +0 -0
  905. /package/{components → react/components}/Tooltip/tooltip.cjs.js.map +0 -0
  906. /package/{internals → react/internals}/CloseButton/close-button.cjs.js +0 -0
  907. /package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +0 -0
  908. /package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +0 -0
  909. /package/{styles → react/styles}/anchor.cjs.js +0 -0
  910. /package/{styles → react/styles}/anchor.cjs.js.map +0 -0
  911. /package/{styles → react/styles}/bg-variants.cjs.js +0 -0
  912. /package/{styles → react/styles}/bg-variants.cjs.js.map +0 -0
  913. /package/{styles → react/styles}/border-variants.cjs.js +0 -0
  914. /package/{styles → react/styles}/border-variants.cjs.js.map +0 -0
  915. /package/{styles → react/styles}/feedback.cjs.js.map +0 -0
  916. /package/{styles → react/styles}/form-hint.cjs.js +0 -0
  917. /package/{styles → react/styles}/form-hint.cjs.js.map +0 -0
  918. /package/{styles → react/styles}/form-label.cjs.js +0 -0
  919. /package/{styles → react/styles}/form-label.cjs.js.map +0 -0
  920. /package/{styles → react/styles}/header-class.cjs.js +0 -0
  921. /package/{styles → react/styles}/header-class.cjs.js.map +0 -0
  922. /package/{styles → react/styles}/paragraph.cjs.js +0 -0
  923. /package/{styles → react/styles}/paragraph.cjs.js.map +0 -0
  924. /package/{styles → react/styles}/svg.cjs.js +0 -0
  925. /package/{styles → react/styles}/svg.cjs.js.map +0 -0
  926. /package/{styles → react/styles}/text-variants.cjs.js +0 -0
  927. /package/{styles → react/styles}/text-variants.cjs.js.map +0 -0
  928. /package/{utils → react/utils}/animate.cjs.js +0 -0
  929. /package/{utils → react/utils}/animation-registry.cjs.js +0 -0
  930. /package/{utils → react/utils}/breakpoints.cjs.js +0 -0
  931. /package/{utils → react/utils}/defaultvalue.cjs.js +0 -0
  932. /package/{utils → react/utils}/event.cjs.js +0 -0
  933. /package/{utils → react/utils}/form.cjs.js +0 -0
  934. /package/{utils → react/utils}/generateId.cjs.js +0 -0
  935. /package/{utils → react/utils}/mergeDeep.cjs.js +0 -0
  936. /package/{utils → react/utils}/modal.cjs.js +0 -0
  937. /package/{utils → react/utils}/object.cjs.js +0 -0
  938. /package/{utils → react/utils}/scroll.cjs.js +0 -0
  939. /package/{utils → react/utils}/slot.cjs.js +0 -0
  940. /package/{utils → react/utils}/tabbable.cjs.js +0 -0
  941. /package/{utils → react/utils}/time.cjs.js +0 -0
  942. /package/{utils → react/utils}/watch.cjs.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sgds-combo-box.js","sources":["../../../../src/components/ComboBox/sgds-combo-box.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport { SgdsDropdownItem } from \"../Dropdown/sgds-dropdown-item\";\nimport { SgdsInput } from \"../Input/sgds-input\";\nimport comboBoxStyle from \"./combo-box.css\";\nimport dropdownStyle from \"../Dropdown/dropdown.css\";\ntype FilterFunction = (inputValue: string, menuItem: string) => boolean;\n\n/**\n * @summary ComboBox component is used for users to make one or more selections from a list.\n *\n * @slot icon - slot for form control icon to be displayed on the right of the input box.\n *\n * @event sgds-select - Emitted when the combo box's selected value changes.\n * @event sgds-input - Emitted when user input is received and its value changes.\n */\nexport class SgdsComboBox extends ScopedElementsMixin(DropdownListElement) {\n static styles = [...DropdownListElement.styles, comboBoxStyle, dropdownStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-input\": SgdsInput,\n \"sgds-dropdown-item\": SgdsDropdownItem\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n /** The input's label */\n @property({ reflect: true }) label = \"\";\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n /**The input's name attribute */\n @property({ reflect: true }) name: string;\n /**The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n /**Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /**Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\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 = \"\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /** Marks the component as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n /** Marks the input as invalid. Replace the pseudo :valid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) valid = false;\n\n /**The list of items to display in the dropdown. */\n @property({ type: Array }) menuList: string[] = [];\n\n /**The function used to determine if a menu item should be shown in the menu list, given the user's input value. */\n @property()\n filterFunction: FilterFunction = (inputValue: string, menuItem: string) => {\n const itemLowerCase = menuItem.toLowerCase();\n const valueLower = inputValue.toLowerCase();\n return itemLowerCase.startsWith(valueLower);\n };\n\n /**@internal */\n @state()\n private filteredMenuList: string[] = [];\n\n /**@internal */\n @watch(\"value\")\n _handleFilterMenu() {\n this.filteredMenuList = this.menuList.filter(item => this.filterFunction.call(null, this.value, item));\n\n if (!this.myDropdown || !this.bsDropdown) return;\n\n // To hide dropdown menu when filtered menuList is empty\n if (this.filteredMenuList.length === 0) {\n this.hideMenu();\n } else if (this.menuIsOpen) {\n this.showMenu();\n }\n }\n\n private _handleInputChange(e: CustomEvent) {\n this.showMenu();\n this.value = (e.target as SgdsInput).value;\n }\n\n private _handleSelectChange(e: KeyboardEvent | MouseEvent) {\n this.value = (e.target as HTMLButtonElement).innerText;\n this.handleSelectSlot(e);\n }\n\n render() {\n return html`\n <div class=\"sgds combobox dropdown\">\n <sgds-input\n class=\"dropdown-toggle\"\n label=${this.label}\n hintText=${this.hintText}\n name=${this.name}\n ${ref(this.myDropdown)}\n @click=${() => (this.filteredMenuList.length > 0 ? this.showMenu() : this.hideMenu())}\n placeholder=${this.placeholder}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n required=${this.required}\n ?readonly=${this.readonly}\n ?hasFeedback=${this.hasFeedback}\n invalidfeedback=${this.invalidFeedback}\n ?invalid=${this.invalid}\n ?valid=${this.valid}\n .value=${this.value}\n @sgds-input=${this._handleInputChange}\n role=\"combobox\"\n aria-expanded=${this.menuIsOpen}\n aria-autocomplete=\"list\"\n aria-controls=${this.dropdownMenuId}\n >\n </sgds-input>\n <div class=\"form-control-icon\">\n <slot name=\"icon\"></slot>\n </div>\n <ul id=${this.dropdownMenuId} class=\"dropdown-menu\" part=\"menu\" tabindex=\"-1\">\n ${this.filteredMenuList.map(\n item => html`<sgds-dropdown-item @click=${this._handleSelectChange}>${item}</sgds-dropdown-item>`\n )}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsComboBox;\n"],"names":["comboBoxStyle","dropdownStyle"],"mappings":";;;;;;;;;;;;;;AAaA;;;;;;;AAOG;MACU,YAAa,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;;AAGxE,IAAA,WAAW,cAAc,GAAA;QACvB,OAAO;AACL,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,oBAAoB,EAAE,gBAAgB;SACvC,CAAC;KACH;AACD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;;QAYmB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;QAEX,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;;QAIA,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;QAE3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAEhC,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;QAGxC,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;QAG0B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAErB,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;QAGpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAEhB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;QAG/B,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;;AAInD,QAAA,IAAA,CAAA,cAAc,GAAmB,CAAC,UAAkB,EAAE,QAAgB,KAAI;AACxE,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7C,YAAA,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;AAC5C,YAAA,OAAO,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC9C,SAAC,CAAC;;QAIM,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;;QAtDtC,IAAI,CAAC,WAAW,GAAG;AACjB,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAChB,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;IAkDD,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;;QAGjD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;AAAM,aAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;AAEO,IAAA,kBAAkB,CAAC,CAAc,EAAA;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAAoB,CAAC,KAAK,CAAC;KAC5C;AAEO,IAAA,mBAAmB,CAAC,CAA6B,EAAA;QACvD,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAA4B,CAAC,SAAS,CAAC;AACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA,CAAA;;;;AAIG,gBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACP,mBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACjB,eAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACd,UAAA,EAAA,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;mBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;AACvE,sBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,qBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACf,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACd,mBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACZ,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACV,uBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACb,0BAAA,EAAA,IAAI,CAAC,eAAe,CAAA;AAC3B,mBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACd,iBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACV,iBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACL,sBAAA,EAAA,IAAI,CAAC,kBAAkB,CAAA;;AAErB,wBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;AAEf,wBAAA,EAAA,IAAI,CAAC,cAAc,CAAA;;;;;;AAM5B,eAAA,EAAA,IAAI,CAAC,cAAc,CAAA;AACxB,UAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACzB,IAAI,IAAI,IAAI,CAAA,8BAA8B,IAAI,CAAC,mBAAmB,CAAI,CAAA,EAAA,IAAI,uBAAuB,CAClG,CAAA;;;KAGN,CAAC;KACH;;AAjIM,YAAA,CAAA,MAAM,GAAG,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAEA,QAAa,EAAEC,UAAa,CAA/D,CAAiE;AAqBjD,UAAA,CAAA;AAA5B,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEX,UAAA,CAAA;AAA5B,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEd,UAAA,CAAA;AAA5B,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE3B,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAElB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEjB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEjB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEhC,UAAA,CAAA;AAA5B,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGxC,UAAA,CAAA;AADC,IAAA,YAAY,EAAE;AACG,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG0B,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAErB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGpB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEhB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG/B,UAAA,CAAA;AAA1B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAAyB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInD,UAAA,CAAA;AADC,IAAA,QAAQ,EAAE;AAKT,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIM,UAAA,CAAA;AADP,IAAA,KAAK,EAAE;AACgC,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIxC,UAAA,CAAA;IADC,KAAK,CAAC,OAAO,CAAC;AAYd,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-calendar.cjs.js","sources":["../../../../src/components/Datepicker/datepicker-calendar.ts"],"sourcesContent":["import { format, isAfter, isEqual } from \"date-fns\";\nimport { HTMLTemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { createYearViewArray, setTimeToNoon } from \"../../utils/time\";\nimport { watch } from \"../../utils/watch\";\nimport { ViewEnum } from \"./types\";\nimport datepickerCalendarStyle from \"./datepicker-calendar.css\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nconst TODAY_DATE = new Date();\n\nconst keyPressAction = {\n ArrowUp: {\n days: -7,\n months: -3,\n years: -3\n },\n ArrowDown: {\n days: 7,\n months: 3,\n years: 3\n },\n ArrowRight: {\n days: 1,\n months: 1,\n years: 1\n },\n ArrowLeft: {\n days: -1,\n months: -1,\n years: -1\n }\n};\nexport class DatepickerCalendar extends SgdsElement {\n static styles = [datepickerCalendarStyle];\n\n /** @internal */\n static DAY_LABELS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\n /** @internal */\n static daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n /** @internal */\n static MONTHVIEW_LABELS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n\n /** @internal */\n @property({ type: Array }) selectedDate: Date[] = [];\n\n /** @internal */\n @property({ attribute: false }) displayDate: Date;\n\n /** @internal */\n @property({ type: String }) minDate?: string;\n\n /** @internal */\n @property({ type: String }) maxDate?: string;\n\n /** @internal */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n private focusedDate: Date;\n\n /** @internal */\n @property() view: ViewEnum;\n\n /** @internal */\n @property({ type: Boolean }) show: boolean;\n\n @property()\n focusedTabIndex: number;\n\n /**Shifts focus from Input to Calendar */\n public focusOnCalendar(toBlurEl: HTMLElement) {\n toBlurEl.blur();\n this._focusOnCalendarCell();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this._handleKeyPress);\n }\n\n updated() {\n /** For KeyboardNavigation (switching months) and ClickNavigation:\n * Runs after render has completed and td of next month has appeared.\n * For the case when calendar view changes to the next month\n * */\n\n if (this.focusedTabIndex === 3) {\n this._focusOnCalendarCell();\n }\n }\n\n @watch(\"displayDate\")\n _updateFocusedDate() {\n this.focusedDate = setTimeToNoon(this.displayDate);\n if (this.focusedDate.getFullYear() < 1900) {\n this.focusedDate.setFullYear(1900);\n }\n }\n\n private _setFocusedDate(shift: number) {\n const currentFocusedDate = this.focusedDate.getDate();\n const currentFocusedMonth = this.focusedDate.getMonth();\n const currentFocusedYear = this.focusedDate.getFullYear();\n switch (this.view) {\n case \"days\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear, currentFocusedMonth, currentFocusedDate + shift)\n );\n if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12)))\n this.focusedDate = newFocusedDate;\n break;\n }\n case \"months\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear, currentFocusedMonth + shift, currentFocusedDate)\n );\n\n if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12))) {\n this.focusedDate = newFocusedDate;\n }\n break;\n }\n case \"years\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear + shift, currentFocusedMonth, currentFocusedDate)\n );\n if (newFocusedDate.getFullYear() >= 1900) {\n this.focusedDate = newFocusedDate;\n }\n break;\n }\n }\n }\n private _handleEnterDateKeyboard(event: KeyboardEvent) {\n const targetElement = event.composedPath()[0] as HTMLElement;\n if (targetElement.classList.contains(\"disabled\")) return;\n\n switch (this.view) {\n case \"days\":\n this._onClickDay(event);\n break;\n case \"months\": {\n const { month } = targetElement.dataset;\n this._onClickMonth(parseInt(month));\n break;\n }\n case \"years\": {\n const { year } = targetElement.dataset;\n this._onClickYear(parseInt(year));\n }\n }\n }\n private _handleKeyPress(event: KeyboardEvent) {\n if (event.key === \"Enter\") {\n event.preventDefault();\n this._handleEnterDateKeyboard(event);\n return;\n }\n if (event.key === \"Tab\") {\n const targetEl: HTMLElement = this._getFocusedTarget();\n if (this.focusedTabIndex !== 3) targetEl.blur();\n return;\n }\n if (event.key.includes(\"Arrow\")) {\n event.preventDefault();\n this._blurCalendarCell();\n const keyShiftObject = keyPressAction[event.key];\n const shiftNumber = keyShiftObject[this.view];\n\n this._setFocusedDate(shiftNumber);\n\n this._focusOnCalendarCell();\n }\n }\n\n private _generateIncrementDates(): Date[] {\n const start = setTimeToNoon(this.selectedDate[0]);\n\n if (this.selectedDate.length < 2) {\n return [start];\n }\n\n const end = setTimeToNoon(this.selectedDate[1]);\n const arr: Date[] = [];\n if (start.getTime() < end.getTime()) {\n for (let dt = start; dt <= end; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n } else {\n for (let dt = end; dt <= start; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n }\n return arr;\n }\n\n private _onClickDay(event: MouseEvent | KeyboardEvent) {\n const { day, date } = (event.composedPath()[0] as HTMLTableCellElement).dataset;\n\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setDate(parseInt(day));\n /** update new focused date for mouse click */\n if (event.type === \"click\") {\n this.focusedDate = setTimeToNoon(new Date(date));\n }\n\n if (this.mode === \"single\") {\n // Single mode: Select a single date\n\n this.selectedDate = [displayDateClone];\n\n // Emit event with selected date\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n } else if (this.mode === \"range\") {\n // Range mode: Select a range of dates\n const selectedDates = [...this.selectedDate];\n\n if (selectedDates.length === 0 || selectedDates.length === 2) {\n // No dates selected yet or both dates already selected,\n // start a new range by clearing the selected dates array\n selectedDates.length = 0;\n }\n\n // Add the selected date to the range\n selectedDates.push(displayDateClone);\n\n // Update the selectedDate property\n this.selectedDate = selectedDates;\n\n // Emit event with the range of selected dates\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n }\n\n // Check if the selected date is before minDate or after maxDate\n const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;\n\n const selectedDate = setTimeToNoon(displayDateClone);\n if ((minimumDate && selectedDate < minimumDate) || (maximumDate && selectedDate > maximumDate)) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private _onClickMonth(month: number, year: number = this.focusedDate.getFullYear()) {\n const displayDateClone = new Date(this.displayDate);\n this.view = \"days\";\n displayDateClone.setMonth(month);\n displayDateClone.setFullYear(year);\n this.displayDate = displayDateClone;\n this.emit(\"sgds-view\", { detail: this.view });\n //once clicked, should change view to days, and hold value and change view\n this.emit(\"sgds-selectmonth\", { detail: this.displayDate });\n }\n\n private _onClickYear(year: number) {\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setFullYear(year);\n this.displayDate = displayDateClone;\n this.view = \"months\";\n this.emit(\"sgds-view\", { detail: this.view });\n\n this.emit(\"sgds-selectyear\", { detail: this.displayDate });\n }\n\n private _getFocusedTarget(): HTMLElement {\n const queryObj = {\n days: `td[data-date=\"${this.focusedDate.toISOString()}\"]`,\n months: `button[data-month=\"${this.focusedDate.getMonth()}\"][data-year=\"${this.focusedDate.getFullYear()}\"]`,\n years: `button[data-year=\"${this.focusedDate.getFullYear()}\"]`\n };\n const queryString = queryObj[this.view];\n const targetEl: HTMLElement = this.shadowRoot.querySelector(`${queryString}`);\n return targetEl;\n }\n private _blurCalendarCell() {\n const targetEl = this._getFocusedTarget();\n targetEl.setAttribute(\"tabindex\", \"-1\");\n targetEl.blur();\n }\n private _focusOnCalendarCell() {\n const targetEl = this._getFocusedTarget();\n if (targetEl) {\n targetEl.setAttribute(\"tabindex\", \"3\");\n targetEl.focus();\n this.emit(\"sgds-update-focus\", { detail: this.focusedDate });\n } else {\n /** Change month view */\n this.emit(\"sgds-change-calendar\", { detail: this.focusedDate });\n }\n }\n private _generateDays() {\n const selectedDates = this.selectedDate.map(d => setTimeToNoon(d));\n\n const rangeSelectedDates = this._generateIncrementDates();\n const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n const firstDateOfMonth = new Date(year, month, 1);\n const startingDayOfMonth = firstDateOfMonth.getDay();\n let monthLength = DatepickerCalendar.daysInMonth[month];\n if (month === 1) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {\n monthLength = 29;\n }\n }\n\n const weeks = [];\n let day = 1;\n for (let i = 0; i < 9; i++) {\n const week = [];\n for (let j = 0; j <= 6; j++) {\n if (day <= monthLength && (i > 0 || j >= startingDayOfMonth)) {\n const dateObj = new Date(year, month, day, 12, 0, 0, 0);\n const dateStr = dateObj.toISOString();\n const beforeMinDate = minimumDate && Date.parse(dateStr) < Date.parse(minimumDate.toISOString());\n const afterMinDate = maximumDate && Date.parse(dateStr) > Date.parse(maximumDate.toISOString());\n const clickHandler = beforeMinDate || afterMinDate ? undefined : this._onClickDay;\n\n const isCurrentMonth = TODAY_DATE.getMonth() === this.displayDate.getMonth();\n const isCurrentYear = TODAY_DATE.getFullYear() === this.displayDate.getFullYear();\n const isCurrentDay = TODAY_DATE.getDate() === day;\n\n const isSelected =\n selectedDates.length > 0 &&\n rangeSelectedDates.some(d => Date.parse(dateStr) === Date.parse(d.toISOString()));\n const isFirstSelectedDate = selectedDates.length > 0 && rangeSelectedDates[0].toISOString() === dateStr;\n const isLastSelectedDate =\n selectedDates.length > 1 && rangeSelectedDates[rangeSelectedDates.length - 1].toISOString() === dateStr;\n const ariaLabel =\n `${isCurrentDay && isCurrentMonth && isCurrentYear ? \"Today's date, \" : \"\"}` + format(dateObj, \"PPPP\");\n week.push(\n html`<td\n key=${j}\n data-date=${dateStr}\n data-day=${day}\n aria-label=${ariaLabel}\n aria-current=${ifDefined(isCurrentDay && isCurrentMonth && isCurrentYear ? \"date\" : undefined)}\n class=${classMap({\n today: isCurrentDay && isCurrentMonth && isCurrentYear,\n \"selected-ends\": isFirstSelectedDate || isLastSelectedDate,\n active: isSelected,\n disabled: beforeMinDate || afterMinDate\n })}\n @click=${clickHandler}\n aria-selected=${ifDefined(isSelected ? \"true\" : undefined)}\n tabindex=${this.focusedDate === new Date(dateStr) ? \"3\" : \"-1\"}\n ?disabled=${beforeMinDate || afterMinDate}\n aria-disabled=${ifDefined(beforeMinDate || afterMinDate ? \"true\" : undefined)}\n role=\"button\"\n >\n ${day}\n </td>`\n );\n day++;\n } else {\n week.push(html`<td key=${j}></td>`);\n }\n }\n\n weeks.push(\n html`<tr key=${i}>\n ${week}\n </tr>`\n );\n if (day > monthLength) {\n break;\n }\n }\n\n const dayView = html`\n <table role=\"grid\">\n <thead>\n <tr>\n ${DatepickerCalendar.DAY_LABELS.map(\n (label: string, index: number) =>\n html`\n <th key=${index} abbr=${label} scope=\"col\">\n <small>${label.slice(0, 3)}</small>\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${weeks}\n </tbody>\n </table>\n `;\n return dayView;\n }\n\n private _generateMonths() {\n const rangeDates = this._generateIncrementDates();\n const selectedTime = rangeDates.map(e => setTimeToNoon(new Date(e.getFullYear(), e.getMonth())).getTime());\n\n const year = this.displayDate.getFullYear();\n\n const monthView = html`\n <div class=\"sgds monthpicker\">\n ${DatepickerCalendar.MONTHVIEW_LABELS.map((m, idx) => {\n const isCurrentMonth = idx === TODAY_DATE.getMonth() && year === TODAY_DATE.getFullYear();\n const time = setTimeToNoon(new Date(year, idx)).getTime();\n const isFirstSelectedMonth = rangeDates[0].getMonth() === idx;\n const isFirstSelectedYear = rangeDates[0].getFullYear() === year;\n const isLastSelectedMonth = rangeDates[rangeDates.length - 1].getMonth() === idx;\n const isLastSelectedYear = rangeDates[rangeDates.length - 1].getFullYear() === year;\n const ariaLabel = isCurrentMonth ? `Current month ${m} ${year}` : `${m} ${year}`;\n return html` <button\n class=${classMap({\n active: selectedTime.includes(time),\n today: isCurrentMonth,\n month: true,\n \"selected-ends\":\n (isFirstSelectedMonth && isFirstSelectedYear) || (isLastSelectedMonth && isLastSelectedYear)\n })}\n @click=${() => this._onClickMonth(idx)}\n data-month=${idx}\n data-year=${year}\n tabindex=\"3\"\n aria-selected=${selectedTime.includes(time)}\n aria-label=${ariaLabel}\n >\n ${m.slice(0, 3)}\n </button>`;\n })}\n </div>\n `;\n return monthView;\n }\n\n private _generateYears() {\n const selectedYears = this._generateIncrementDates().map(e => e.getFullYear());\n const CURRENT_YEAR = TODAY_DATE.getFullYear();\n\n const yearArray = createYearViewArray(this.displayDate, CURRENT_YEAR);\n\n const yearView = html`\n <div class=\"sgds yearpicker\">\n ${yearArray.map(y => {\n const isFirstSelectedYear = selectedYears[0] === y;\n const isLastSectedYear = selectedYears[selectedYears.length - 1] === y;\n return html`\n <button\n class=${classMap({\n active: selectedYears.includes(y),\n year: true,\n today: CURRENT_YEAR === y,\n \"selected-ends\": isFirstSelectedYear || isLastSectedYear\n })}\n @click=${() => this._onClickYear(y)}\n data-year=${y}\n tabindex=\"3\"\n ?disabled=${y < 1900}\n aria-selected=${selectedYears.includes(y)}\n aria-label=${ifDefined(CURRENT_YEAR === y ? `Current year, ${y}` : undefined)}\n >\n ${y}\n </button>\n `;\n })}\n </div>\n `;\n return yearView;\n }\n render() {\n let viewContent: HTMLTemplateResult;\n\n switch (this.view) {\n case \"days\":\n viewContent = html` ${this._generateDays()} `;\n break;\n case \"months\":\n viewContent = html` ${this._generateMonths()} `;\n break;\n case \"years\":\n viewContent = html` ${this._generateYears()} `;\n break;\n default:\n viewContent = html` ${this._generateDays()} `; // Set a default view\n break;\n }\n\n return html` <div class=\"datepicker-body\">${viewContent}</div> `;\n }\n}\n\nexport default DatepickerCalendar;\n"],"names":["SgdsElement","setTimeToNoon","isAfter","isEqual","format","html","ifDefined","classMap","time","createYearViewArray","datepickerCalendarStyle","__decorate","property","watch"],"mappings":"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"}
@@ -0,0 +1,458 @@
1
+ 'use client';
2
+ import { __decorate } from 'tslib';
3
+ import { isAfter, isEqual, format } from 'date-fns';
4
+ import { html } from 'lit';
5
+ import { property } from 'lit/decorators.js';
6
+ import { classMap } from 'lit/directives/class-map.js';
7
+ import SgdsElement from '../../base/sgds-element.js';
8
+ import { setTimeToNoon, createYearViewArray } from '../../utils/time.js';
9
+ import { watch } from '../../utils/watch.js';
10
+ import css_248z from './datepicker-calendar2.js';
11
+ import { ifDefined } from 'lit/directives/if-defined.js';
12
+
13
+ const TODAY_DATE = new Date();
14
+ const keyPressAction = {
15
+ ArrowUp: {
16
+ days: -7,
17
+ months: -3,
18
+ years: -3
19
+ },
20
+ ArrowDown: {
21
+ days: 7,
22
+ months: 3,
23
+ years: 3
24
+ },
25
+ ArrowRight: {
26
+ days: 1,
27
+ months: 1,
28
+ years: 1
29
+ },
30
+ ArrowLeft: {
31
+ days: -1,
32
+ months: -1,
33
+ years: -1
34
+ }
35
+ };
36
+ class DatepickerCalendar extends SgdsElement {
37
+ constructor() {
38
+ super(...arguments);
39
+ /** @internal */
40
+ this.selectedDate = [];
41
+ /** @internal */
42
+ this.mode = "single";
43
+ }
44
+ /**Shifts focus from Input to Calendar */
45
+ focusOnCalendar(toBlurEl) {
46
+ toBlurEl.blur();
47
+ this._focusOnCalendarCell();
48
+ }
49
+ connectedCallback() {
50
+ super.connectedCallback();
51
+ this.addEventListener("keydown", this._handleKeyPress);
52
+ }
53
+ updated() {
54
+ /** For KeyboardNavigation (switching months) and ClickNavigation:
55
+ * Runs after render has completed and td of next month has appeared.
56
+ * For the case when calendar view changes to the next month
57
+ * */
58
+ if (this.focusedTabIndex === 3) {
59
+ this._focusOnCalendarCell();
60
+ }
61
+ }
62
+ _updateFocusedDate() {
63
+ this.focusedDate = setTimeToNoon(this.displayDate);
64
+ if (this.focusedDate.getFullYear() < 1900) {
65
+ this.focusedDate.setFullYear(1900);
66
+ }
67
+ }
68
+ _setFocusedDate(shift) {
69
+ const currentFocusedDate = this.focusedDate.getDate();
70
+ const currentFocusedMonth = this.focusedDate.getMonth();
71
+ const currentFocusedYear = this.focusedDate.getFullYear();
72
+ switch (this.view) {
73
+ case "days": {
74
+ const newFocusedDate = setTimeToNoon(new Date(currentFocusedYear, currentFocusedMonth, currentFocusedDate + shift));
75
+ if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12)))
76
+ this.focusedDate = newFocusedDate;
77
+ break;
78
+ }
79
+ case "months": {
80
+ const newFocusedDate = setTimeToNoon(new Date(currentFocusedYear, currentFocusedMonth + shift, currentFocusedDate));
81
+ if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12))) {
82
+ this.focusedDate = newFocusedDate;
83
+ }
84
+ break;
85
+ }
86
+ case "years": {
87
+ const newFocusedDate = setTimeToNoon(new Date(currentFocusedYear + shift, currentFocusedMonth, currentFocusedDate));
88
+ if (newFocusedDate.getFullYear() >= 1900) {
89
+ this.focusedDate = newFocusedDate;
90
+ }
91
+ break;
92
+ }
93
+ }
94
+ }
95
+ _handleEnterDateKeyboard(event) {
96
+ const targetElement = event.composedPath()[0];
97
+ if (targetElement.classList.contains("disabled"))
98
+ return;
99
+ switch (this.view) {
100
+ case "days":
101
+ this._onClickDay(event);
102
+ break;
103
+ case "months": {
104
+ const { month } = targetElement.dataset;
105
+ this._onClickMonth(parseInt(month));
106
+ break;
107
+ }
108
+ case "years": {
109
+ const { year } = targetElement.dataset;
110
+ this._onClickYear(parseInt(year));
111
+ }
112
+ }
113
+ }
114
+ _handleKeyPress(event) {
115
+ if (event.key === "Enter") {
116
+ event.preventDefault();
117
+ this._handleEnterDateKeyboard(event);
118
+ return;
119
+ }
120
+ if (event.key === "Tab") {
121
+ const targetEl = this._getFocusedTarget();
122
+ if (this.focusedTabIndex !== 3)
123
+ targetEl.blur();
124
+ return;
125
+ }
126
+ if (event.key.includes("Arrow")) {
127
+ event.preventDefault();
128
+ this._blurCalendarCell();
129
+ const keyShiftObject = keyPressAction[event.key];
130
+ const shiftNumber = keyShiftObject[this.view];
131
+ this._setFocusedDate(shiftNumber);
132
+ this._focusOnCalendarCell();
133
+ }
134
+ }
135
+ _generateIncrementDates() {
136
+ const start = setTimeToNoon(this.selectedDate[0]);
137
+ if (this.selectedDate.length < 2) {
138
+ return [start];
139
+ }
140
+ const end = setTimeToNoon(this.selectedDate[1]);
141
+ const arr = [];
142
+ if (start.getTime() < end.getTime()) {
143
+ for (let dt = start; dt <= end; dt.setDate(dt.getDate() + 1)) {
144
+ arr.push(new Date(dt));
145
+ }
146
+ }
147
+ else {
148
+ for (let dt = end; dt <= start; dt.setDate(dt.getDate() + 1)) {
149
+ arr.push(new Date(dt));
150
+ }
151
+ }
152
+ return arr;
153
+ }
154
+ _onClickDay(event) {
155
+ const { day, date } = event.composedPath()[0].dataset;
156
+ const displayDateClone = new Date(this.displayDate);
157
+ displayDateClone.setDate(parseInt(day));
158
+ /** update new focused date for mouse click */
159
+ if (event.type === "click") {
160
+ this.focusedDate = setTimeToNoon(new Date(date));
161
+ }
162
+ if (this.mode === "single") {
163
+ // Single mode: Select a single date
164
+ this.selectedDate = [displayDateClone];
165
+ // Emit event with selected date
166
+ this.emit("sgds-selectdates", { detail: this.selectedDate });
167
+ }
168
+ else if (this.mode === "range") {
169
+ // Range mode: Select a range of dates
170
+ const selectedDates = [...this.selectedDate];
171
+ if (selectedDates.length === 0 || selectedDates.length === 2) {
172
+ // No dates selected yet or both dates already selected,
173
+ // start a new range by clearing the selected dates array
174
+ selectedDates.length = 0;
175
+ }
176
+ // Add the selected date to the range
177
+ selectedDates.push(displayDateClone);
178
+ // Update the selectedDate property
179
+ this.selectedDate = selectedDates;
180
+ // Emit event with the range of selected dates
181
+ this.emit("sgds-selectdates", { detail: this.selectedDate });
182
+ }
183
+ // Check if the selected date is before minDate or after maxDate
184
+ const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;
185
+ const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;
186
+ const selectedDate = setTimeToNoon(displayDateClone);
187
+ if ((minimumDate && selectedDate < minimumDate) || (maximumDate && selectedDate > maximumDate)) {
188
+ event.stopPropagation();
189
+ event.preventDefault();
190
+ }
191
+ }
192
+ _onClickMonth(month, year = this.focusedDate.getFullYear()) {
193
+ const displayDateClone = new Date(this.displayDate);
194
+ this.view = "days";
195
+ displayDateClone.setMonth(month);
196
+ displayDateClone.setFullYear(year);
197
+ this.displayDate = displayDateClone;
198
+ this.emit("sgds-view", { detail: this.view });
199
+ //once clicked, should change view to days, and hold value and change view
200
+ this.emit("sgds-selectmonth", { detail: this.displayDate });
201
+ }
202
+ _onClickYear(year) {
203
+ const displayDateClone = new Date(this.displayDate);
204
+ displayDateClone.setFullYear(year);
205
+ this.displayDate = displayDateClone;
206
+ this.view = "months";
207
+ this.emit("sgds-view", { detail: this.view });
208
+ this.emit("sgds-selectyear", { detail: this.displayDate });
209
+ }
210
+ _getFocusedTarget() {
211
+ const queryObj = {
212
+ days: `td[data-date="${this.focusedDate.toISOString()}"]`,
213
+ months: `button[data-month="${this.focusedDate.getMonth()}"][data-year="${this.focusedDate.getFullYear()}"]`,
214
+ years: `button[data-year="${this.focusedDate.getFullYear()}"]`
215
+ };
216
+ const queryString = queryObj[this.view];
217
+ const targetEl = this.shadowRoot.querySelector(`${queryString}`);
218
+ return targetEl;
219
+ }
220
+ _blurCalendarCell() {
221
+ const targetEl = this._getFocusedTarget();
222
+ targetEl.setAttribute("tabindex", "-1");
223
+ targetEl.blur();
224
+ }
225
+ _focusOnCalendarCell() {
226
+ const targetEl = this._getFocusedTarget();
227
+ if (targetEl) {
228
+ targetEl.setAttribute("tabindex", "3");
229
+ targetEl.focus();
230
+ this.emit("sgds-update-focus", { detail: this.focusedDate });
231
+ }
232
+ else {
233
+ /** Change month view */
234
+ this.emit("sgds-change-calendar", { detail: this.focusedDate });
235
+ }
236
+ }
237
+ _generateDays() {
238
+ const selectedDates = this.selectedDate.map(d => setTimeToNoon(d));
239
+ const rangeSelectedDates = this._generateIncrementDates();
240
+ const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;
241
+ const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;
242
+ const year = this.displayDate.getFullYear();
243
+ const month = this.displayDate.getMonth();
244
+ const firstDateOfMonth = new Date(year, month, 1);
245
+ const startingDayOfMonth = firstDateOfMonth.getDay();
246
+ let monthLength = DatepickerCalendar.daysInMonth[month];
247
+ if (month === 1) {
248
+ if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
249
+ monthLength = 29;
250
+ }
251
+ }
252
+ const weeks = [];
253
+ let day = 1;
254
+ for (let i = 0; i < 9; i++) {
255
+ const week = [];
256
+ for (let j = 0; j <= 6; j++) {
257
+ if (day <= monthLength && (i > 0 || j >= startingDayOfMonth)) {
258
+ const dateObj = new Date(year, month, day, 12, 0, 0, 0);
259
+ const dateStr = dateObj.toISOString();
260
+ const beforeMinDate = minimumDate && Date.parse(dateStr) < Date.parse(minimumDate.toISOString());
261
+ const afterMinDate = maximumDate && Date.parse(dateStr) > Date.parse(maximumDate.toISOString());
262
+ const clickHandler = beforeMinDate || afterMinDate ? undefined : this._onClickDay;
263
+ const isCurrentMonth = TODAY_DATE.getMonth() === this.displayDate.getMonth();
264
+ const isCurrentYear = TODAY_DATE.getFullYear() === this.displayDate.getFullYear();
265
+ const isCurrentDay = TODAY_DATE.getDate() === day;
266
+ const isSelected = selectedDates.length > 0 &&
267
+ rangeSelectedDates.some(d => Date.parse(dateStr) === Date.parse(d.toISOString()));
268
+ const isFirstSelectedDate = selectedDates.length > 0 && rangeSelectedDates[0].toISOString() === dateStr;
269
+ const isLastSelectedDate = selectedDates.length > 1 && rangeSelectedDates[rangeSelectedDates.length - 1].toISOString() === dateStr;
270
+ const ariaLabel = `${isCurrentDay && isCurrentMonth && isCurrentYear ? "Today's date, " : ""}` + format(dateObj, "PPPP");
271
+ week.push(html `<td
272
+ key=${j}
273
+ data-date=${dateStr}
274
+ data-day=${day}
275
+ aria-label=${ariaLabel}
276
+ aria-current=${ifDefined(isCurrentDay && isCurrentMonth && isCurrentYear ? "date" : undefined)}
277
+ class=${classMap({
278
+ today: isCurrentDay && isCurrentMonth && isCurrentYear,
279
+ "selected-ends": isFirstSelectedDate || isLastSelectedDate,
280
+ active: isSelected,
281
+ disabled: beforeMinDate || afterMinDate
282
+ })}
283
+ @click=${clickHandler}
284
+ aria-selected=${ifDefined(isSelected ? "true" : undefined)}
285
+ tabindex=${this.focusedDate === new Date(dateStr) ? "3" : "-1"}
286
+ ?disabled=${beforeMinDate || afterMinDate}
287
+ aria-disabled=${ifDefined(beforeMinDate || afterMinDate ? "true" : undefined)}
288
+ role="button"
289
+ >
290
+ ${day}
291
+ </td>`);
292
+ day++;
293
+ }
294
+ else {
295
+ week.push(html `<td key=${j}></td>`);
296
+ }
297
+ }
298
+ weeks.push(html `<tr key=${i}>
299
+ ${week}
300
+ </tr>`);
301
+ if (day > monthLength) {
302
+ break;
303
+ }
304
+ }
305
+ const dayView = html `
306
+ <table role="grid">
307
+ <thead>
308
+ <tr>
309
+ ${DatepickerCalendar.DAY_LABELS.map((label, index) => html `
310
+ <th key=${index} abbr=${label} scope="col">
311
+ <small>${label.slice(0, 3)}</small>
312
+ </th>
313
+ `)}
314
+ </tr>
315
+ </thead>
316
+ <tbody>
317
+ ${weeks}
318
+ </tbody>
319
+ </table>
320
+ `;
321
+ return dayView;
322
+ }
323
+ _generateMonths() {
324
+ const rangeDates = this._generateIncrementDates();
325
+ const selectedTime = rangeDates.map(e => setTimeToNoon(new Date(e.getFullYear(), e.getMonth())).getTime());
326
+ const year = this.displayDate.getFullYear();
327
+ const monthView = html `
328
+ <div class="sgds monthpicker">
329
+ ${DatepickerCalendar.MONTHVIEW_LABELS.map((m, idx) => {
330
+ const isCurrentMonth = idx === TODAY_DATE.getMonth() && year === TODAY_DATE.getFullYear();
331
+ const time = setTimeToNoon(new Date(year, idx)).getTime();
332
+ const isFirstSelectedMonth = rangeDates[0].getMonth() === idx;
333
+ const isFirstSelectedYear = rangeDates[0].getFullYear() === year;
334
+ const isLastSelectedMonth = rangeDates[rangeDates.length - 1].getMonth() === idx;
335
+ const isLastSelectedYear = rangeDates[rangeDates.length - 1].getFullYear() === year;
336
+ const ariaLabel = isCurrentMonth ? `Current month ${m} ${year}` : `${m} ${year}`;
337
+ return html ` <button
338
+ class=${classMap({
339
+ active: selectedTime.includes(time),
340
+ today: isCurrentMonth,
341
+ month: true,
342
+ "selected-ends": (isFirstSelectedMonth && isFirstSelectedYear) || (isLastSelectedMonth && isLastSelectedYear)
343
+ })}
344
+ @click=${() => this._onClickMonth(idx)}
345
+ data-month=${idx}
346
+ data-year=${year}
347
+ tabindex="3"
348
+ aria-selected=${selectedTime.includes(time)}
349
+ aria-label=${ariaLabel}
350
+ >
351
+ ${m.slice(0, 3)}
352
+ </button>`;
353
+ })}
354
+ </div>
355
+ `;
356
+ return monthView;
357
+ }
358
+ _generateYears() {
359
+ const selectedYears = this._generateIncrementDates().map(e => e.getFullYear());
360
+ const CURRENT_YEAR = TODAY_DATE.getFullYear();
361
+ const yearArray = createYearViewArray(this.displayDate, CURRENT_YEAR);
362
+ const yearView = html `
363
+ <div class="sgds yearpicker">
364
+ ${yearArray.map(y => {
365
+ const isFirstSelectedYear = selectedYears[0] === y;
366
+ const isLastSectedYear = selectedYears[selectedYears.length - 1] === y;
367
+ return html `
368
+ <button
369
+ class=${classMap({
370
+ active: selectedYears.includes(y),
371
+ year: true,
372
+ today: CURRENT_YEAR === y,
373
+ "selected-ends": isFirstSelectedYear || isLastSectedYear
374
+ })}
375
+ @click=${() => this._onClickYear(y)}
376
+ data-year=${y}
377
+ tabindex="3"
378
+ ?disabled=${y < 1900}
379
+ aria-selected=${selectedYears.includes(y)}
380
+ aria-label=${ifDefined(CURRENT_YEAR === y ? `Current year, ${y}` : undefined)}
381
+ >
382
+ ${y}
383
+ </button>
384
+ `;
385
+ })}
386
+ </div>
387
+ `;
388
+ return yearView;
389
+ }
390
+ render() {
391
+ let viewContent;
392
+ switch (this.view) {
393
+ case "days":
394
+ viewContent = html ` ${this._generateDays()} `;
395
+ break;
396
+ case "months":
397
+ viewContent = html ` ${this._generateMonths()} `;
398
+ break;
399
+ case "years":
400
+ viewContent = html ` ${this._generateYears()} `;
401
+ break;
402
+ default:
403
+ viewContent = html ` ${this._generateDays()} `; // Set a default view
404
+ break;
405
+ }
406
+ return html ` <div class="datepicker-body">${viewContent}</div> `;
407
+ }
408
+ }
409
+ DatepickerCalendar.styles = [css_248z];
410
+ /** @internal */
411
+ DatepickerCalendar.DAY_LABELS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
412
+ /** @internal */
413
+ DatepickerCalendar.daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
414
+ /** @internal */
415
+ DatepickerCalendar.MONTHVIEW_LABELS = [
416
+ "January",
417
+ "February",
418
+ "March",
419
+ "April",
420
+ "May",
421
+ "June",
422
+ "July",
423
+ "August",
424
+ "September",
425
+ "October",
426
+ "November",
427
+ "December"
428
+ ];
429
+ __decorate([
430
+ property({ type: Array })
431
+ ], DatepickerCalendar.prototype, "selectedDate", void 0);
432
+ __decorate([
433
+ property({ attribute: false })
434
+ ], DatepickerCalendar.prototype, "displayDate", void 0);
435
+ __decorate([
436
+ property({ type: String })
437
+ ], DatepickerCalendar.prototype, "minDate", void 0);
438
+ __decorate([
439
+ property({ type: String })
440
+ ], DatepickerCalendar.prototype, "maxDate", void 0);
441
+ __decorate([
442
+ property({ type: String, reflect: true })
443
+ ], DatepickerCalendar.prototype, "mode", void 0);
444
+ __decorate([
445
+ property()
446
+ ], DatepickerCalendar.prototype, "view", void 0);
447
+ __decorate([
448
+ property({ type: Boolean })
449
+ ], DatepickerCalendar.prototype, "show", void 0);
450
+ __decorate([
451
+ property()
452
+ ], DatepickerCalendar.prototype, "focusedTabIndex", void 0);
453
+ __decorate([
454
+ watch("displayDate")
455
+ ], DatepickerCalendar.prototype, "_updateFocusedDate", null);
456
+
457
+ export { DatepickerCalendar, DatepickerCalendar as default };
458
+ //# sourceMappingURL=datepicker-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-calendar.js","sources":["../../../../src/components/Datepicker/datepicker-calendar.ts"],"sourcesContent":["import { format, isAfter, isEqual } from \"date-fns\";\nimport { HTMLTemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { createYearViewArray, setTimeToNoon } from \"../../utils/time\";\nimport { watch } from \"../../utils/watch\";\nimport { ViewEnum } from \"./types\";\nimport datepickerCalendarStyle from \"./datepicker-calendar.css\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nconst TODAY_DATE = new Date();\n\nconst keyPressAction = {\n ArrowUp: {\n days: -7,\n months: -3,\n years: -3\n },\n ArrowDown: {\n days: 7,\n months: 3,\n years: 3\n },\n ArrowRight: {\n days: 1,\n months: 1,\n years: 1\n },\n ArrowLeft: {\n days: -1,\n months: -1,\n years: -1\n }\n};\nexport class DatepickerCalendar extends SgdsElement {\n static styles = [datepickerCalendarStyle];\n\n /** @internal */\n static DAY_LABELS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\n /** @internal */\n static daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n /** @internal */\n static MONTHVIEW_LABELS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n\n /** @internal */\n @property({ type: Array }) selectedDate: Date[] = [];\n\n /** @internal */\n @property({ attribute: false }) displayDate: Date;\n\n /** @internal */\n @property({ type: String }) minDate?: string;\n\n /** @internal */\n @property({ type: String }) maxDate?: string;\n\n /** @internal */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n private focusedDate: Date;\n\n /** @internal */\n @property() view: ViewEnum;\n\n /** @internal */\n @property({ type: Boolean }) show: boolean;\n\n @property()\n focusedTabIndex: number;\n\n /**Shifts focus from Input to Calendar */\n public focusOnCalendar(toBlurEl: HTMLElement) {\n toBlurEl.blur();\n this._focusOnCalendarCell();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this._handleKeyPress);\n }\n\n updated() {\n /** For KeyboardNavigation (switching months) and ClickNavigation:\n * Runs after render has completed and td of next month has appeared.\n * For the case when calendar view changes to the next month\n * */\n\n if (this.focusedTabIndex === 3) {\n this._focusOnCalendarCell();\n }\n }\n\n @watch(\"displayDate\")\n _updateFocusedDate() {\n this.focusedDate = setTimeToNoon(this.displayDate);\n if (this.focusedDate.getFullYear() < 1900) {\n this.focusedDate.setFullYear(1900);\n }\n }\n\n private _setFocusedDate(shift: number) {\n const currentFocusedDate = this.focusedDate.getDate();\n const currentFocusedMonth = this.focusedDate.getMonth();\n const currentFocusedYear = this.focusedDate.getFullYear();\n switch (this.view) {\n case \"days\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear, currentFocusedMonth, currentFocusedDate + shift)\n );\n if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12)))\n this.focusedDate = newFocusedDate;\n break;\n }\n case \"months\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear, currentFocusedMonth + shift, currentFocusedDate)\n );\n\n if (isAfter(newFocusedDate, new Date(0, 0, 1, 12)) || isEqual(newFocusedDate, new Date(0, 0, 1, 12))) {\n this.focusedDate = newFocusedDate;\n }\n break;\n }\n case \"years\": {\n const newFocusedDate = setTimeToNoon(\n new Date(currentFocusedYear + shift, currentFocusedMonth, currentFocusedDate)\n );\n if (newFocusedDate.getFullYear() >= 1900) {\n this.focusedDate = newFocusedDate;\n }\n break;\n }\n }\n }\n private _handleEnterDateKeyboard(event: KeyboardEvent) {\n const targetElement = event.composedPath()[0] as HTMLElement;\n if (targetElement.classList.contains(\"disabled\")) return;\n\n switch (this.view) {\n case \"days\":\n this._onClickDay(event);\n break;\n case \"months\": {\n const { month } = targetElement.dataset;\n this._onClickMonth(parseInt(month));\n break;\n }\n case \"years\": {\n const { year } = targetElement.dataset;\n this._onClickYear(parseInt(year));\n }\n }\n }\n private _handleKeyPress(event: KeyboardEvent) {\n if (event.key === \"Enter\") {\n event.preventDefault();\n this._handleEnterDateKeyboard(event);\n return;\n }\n if (event.key === \"Tab\") {\n const targetEl: HTMLElement = this._getFocusedTarget();\n if (this.focusedTabIndex !== 3) targetEl.blur();\n return;\n }\n if (event.key.includes(\"Arrow\")) {\n event.preventDefault();\n this._blurCalendarCell();\n const keyShiftObject = keyPressAction[event.key];\n const shiftNumber = keyShiftObject[this.view];\n\n this._setFocusedDate(shiftNumber);\n\n this._focusOnCalendarCell();\n }\n }\n\n private _generateIncrementDates(): Date[] {\n const start = setTimeToNoon(this.selectedDate[0]);\n\n if (this.selectedDate.length < 2) {\n return [start];\n }\n\n const end = setTimeToNoon(this.selectedDate[1]);\n const arr: Date[] = [];\n if (start.getTime() < end.getTime()) {\n for (let dt = start; dt <= end; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n } else {\n for (let dt = end; dt <= start; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n }\n return arr;\n }\n\n private _onClickDay(event: MouseEvent | KeyboardEvent) {\n const { day, date } = (event.composedPath()[0] as HTMLTableCellElement).dataset;\n\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setDate(parseInt(day));\n /** update new focused date for mouse click */\n if (event.type === \"click\") {\n this.focusedDate = setTimeToNoon(new Date(date));\n }\n\n if (this.mode === \"single\") {\n // Single mode: Select a single date\n\n this.selectedDate = [displayDateClone];\n\n // Emit event with selected date\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n } else if (this.mode === \"range\") {\n // Range mode: Select a range of dates\n const selectedDates = [...this.selectedDate];\n\n if (selectedDates.length === 0 || selectedDates.length === 2) {\n // No dates selected yet or both dates already selected,\n // start a new range by clearing the selected dates array\n selectedDates.length = 0;\n }\n\n // Add the selected date to the range\n selectedDates.push(displayDateClone);\n\n // Update the selectedDate property\n this.selectedDate = selectedDates;\n\n // Emit event with the range of selected dates\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n }\n\n // Check if the selected date is before minDate or after maxDate\n const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;\n\n const selectedDate = setTimeToNoon(displayDateClone);\n if ((minimumDate && selectedDate < minimumDate) || (maximumDate && selectedDate > maximumDate)) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private _onClickMonth(month: number, year: number = this.focusedDate.getFullYear()) {\n const displayDateClone = new Date(this.displayDate);\n this.view = \"days\";\n displayDateClone.setMonth(month);\n displayDateClone.setFullYear(year);\n this.displayDate = displayDateClone;\n this.emit(\"sgds-view\", { detail: this.view });\n //once clicked, should change view to days, and hold value and change view\n this.emit(\"sgds-selectmonth\", { detail: this.displayDate });\n }\n\n private _onClickYear(year: number) {\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setFullYear(year);\n this.displayDate = displayDateClone;\n this.view = \"months\";\n this.emit(\"sgds-view\", { detail: this.view });\n\n this.emit(\"sgds-selectyear\", { detail: this.displayDate });\n }\n\n private _getFocusedTarget(): HTMLElement {\n const queryObj = {\n days: `td[data-date=\"${this.focusedDate.toISOString()}\"]`,\n months: `button[data-month=\"${this.focusedDate.getMonth()}\"][data-year=\"${this.focusedDate.getFullYear()}\"]`,\n years: `button[data-year=\"${this.focusedDate.getFullYear()}\"]`\n };\n const queryString = queryObj[this.view];\n const targetEl: HTMLElement = this.shadowRoot.querySelector(`${queryString}`);\n return targetEl;\n }\n private _blurCalendarCell() {\n const targetEl = this._getFocusedTarget();\n targetEl.setAttribute(\"tabindex\", \"-1\");\n targetEl.blur();\n }\n private _focusOnCalendarCell() {\n const targetEl = this._getFocusedTarget();\n if (targetEl) {\n targetEl.setAttribute(\"tabindex\", \"3\");\n targetEl.focus();\n this.emit(\"sgds-update-focus\", { detail: this.focusedDate });\n } else {\n /** Change month view */\n this.emit(\"sgds-change-calendar\", { detail: this.focusedDate });\n }\n }\n private _generateDays() {\n const selectedDates = this.selectedDate.map(d => setTimeToNoon(d));\n\n const rangeSelectedDates = this._generateIncrementDates();\n const minimumDate = this.minDate ? setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? setTimeToNoon(new Date(this.maxDate)) : null;\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n const firstDateOfMonth = new Date(year, month, 1);\n const startingDayOfMonth = firstDateOfMonth.getDay();\n let monthLength = DatepickerCalendar.daysInMonth[month];\n if (month === 1) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {\n monthLength = 29;\n }\n }\n\n const weeks = [];\n let day = 1;\n for (let i = 0; i < 9; i++) {\n const week = [];\n for (let j = 0; j <= 6; j++) {\n if (day <= monthLength && (i > 0 || j >= startingDayOfMonth)) {\n const dateObj = new Date(year, month, day, 12, 0, 0, 0);\n const dateStr = dateObj.toISOString();\n const beforeMinDate = minimumDate && Date.parse(dateStr) < Date.parse(minimumDate.toISOString());\n const afterMinDate = maximumDate && Date.parse(dateStr) > Date.parse(maximumDate.toISOString());\n const clickHandler = beforeMinDate || afterMinDate ? undefined : this._onClickDay;\n\n const isCurrentMonth = TODAY_DATE.getMonth() === this.displayDate.getMonth();\n const isCurrentYear = TODAY_DATE.getFullYear() === this.displayDate.getFullYear();\n const isCurrentDay = TODAY_DATE.getDate() === day;\n\n const isSelected =\n selectedDates.length > 0 &&\n rangeSelectedDates.some(d => Date.parse(dateStr) === Date.parse(d.toISOString()));\n const isFirstSelectedDate = selectedDates.length > 0 && rangeSelectedDates[0].toISOString() === dateStr;\n const isLastSelectedDate =\n selectedDates.length > 1 && rangeSelectedDates[rangeSelectedDates.length - 1].toISOString() === dateStr;\n const ariaLabel =\n `${isCurrentDay && isCurrentMonth && isCurrentYear ? \"Today's date, \" : \"\"}` + format(dateObj, \"PPPP\");\n week.push(\n html`<td\n key=${j}\n data-date=${dateStr}\n data-day=${day}\n aria-label=${ariaLabel}\n aria-current=${ifDefined(isCurrentDay && isCurrentMonth && isCurrentYear ? \"date\" : undefined)}\n class=${classMap({\n today: isCurrentDay && isCurrentMonth && isCurrentYear,\n \"selected-ends\": isFirstSelectedDate || isLastSelectedDate,\n active: isSelected,\n disabled: beforeMinDate || afterMinDate\n })}\n @click=${clickHandler}\n aria-selected=${ifDefined(isSelected ? \"true\" : undefined)}\n tabindex=${this.focusedDate === new Date(dateStr) ? \"3\" : \"-1\"}\n ?disabled=${beforeMinDate || afterMinDate}\n aria-disabled=${ifDefined(beforeMinDate || afterMinDate ? \"true\" : undefined)}\n role=\"button\"\n >\n ${day}\n </td>`\n );\n day++;\n } else {\n week.push(html`<td key=${j}></td>`);\n }\n }\n\n weeks.push(\n html`<tr key=${i}>\n ${week}\n </tr>`\n );\n if (day > monthLength) {\n break;\n }\n }\n\n const dayView = html`\n <table role=\"grid\">\n <thead>\n <tr>\n ${DatepickerCalendar.DAY_LABELS.map(\n (label: string, index: number) =>\n html`\n <th key=${index} abbr=${label} scope=\"col\">\n <small>${label.slice(0, 3)}</small>\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${weeks}\n </tbody>\n </table>\n `;\n return dayView;\n }\n\n private _generateMonths() {\n const rangeDates = this._generateIncrementDates();\n const selectedTime = rangeDates.map(e => setTimeToNoon(new Date(e.getFullYear(), e.getMonth())).getTime());\n\n const year = this.displayDate.getFullYear();\n\n const monthView = html`\n <div class=\"sgds monthpicker\">\n ${DatepickerCalendar.MONTHVIEW_LABELS.map((m, idx) => {\n const isCurrentMonth = idx === TODAY_DATE.getMonth() && year === TODAY_DATE.getFullYear();\n const time = setTimeToNoon(new Date(year, idx)).getTime();\n const isFirstSelectedMonth = rangeDates[0].getMonth() === idx;\n const isFirstSelectedYear = rangeDates[0].getFullYear() === year;\n const isLastSelectedMonth = rangeDates[rangeDates.length - 1].getMonth() === idx;\n const isLastSelectedYear = rangeDates[rangeDates.length - 1].getFullYear() === year;\n const ariaLabel = isCurrentMonth ? `Current month ${m} ${year}` : `${m} ${year}`;\n return html` <button\n class=${classMap({\n active: selectedTime.includes(time),\n today: isCurrentMonth,\n month: true,\n \"selected-ends\":\n (isFirstSelectedMonth && isFirstSelectedYear) || (isLastSelectedMonth && isLastSelectedYear)\n })}\n @click=${() => this._onClickMonth(idx)}\n data-month=${idx}\n data-year=${year}\n tabindex=\"3\"\n aria-selected=${selectedTime.includes(time)}\n aria-label=${ariaLabel}\n >\n ${m.slice(0, 3)}\n </button>`;\n })}\n </div>\n `;\n return monthView;\n }\n\n private _generateYears() {\n const selectedYears = this._generateIncrementDates().map(e => e.getFullYear());\n const CURRENT_YEAR = TODAY_DATE.getFullYear();\n\n const yearArray = createYearViewArray(this.displayDate, CURRENT_YEAR);\n\n const yearView = html`\n <div class=\"sgds yearpicker\">\n ${yearArray.map(y => {\n const isFirstSelectedYear = selectedYears[0] === y;\n const isLastSectedYear = selectedYears[selectedYears.length - 1] === y;\n return html`\n <button\n class=${classMap({\n active: selectedYears.includes(y),\n year: true,\n today: CURRENT_YEAR === y,\n \"selected-ends\": isFirstSelectedYear || isLastSectedYear\n })}\n @click=${() => this._onClickYear(y)}\n data-year=${y}\n tabindex=\"3\"\n ?disabled=${y < 1900}\n aria-selected=${selectedYears.includes(y)}\n aria-label=${ifDefined(CURRENT_YEAR === y ? `Current year, ${y}` : undefined)}\n >\n ${y}\n </button>\n `;\n })}\n </div>\n `;\n return yearView;\n }\n render() {\n let viewContent: HTMLTemplateResult;\n\n switch (this.view) {\n case \"days\":\n viewContent = html` ${this._generateDays()} `;\n break;\n case \"months\":\n viewContent = html` ${this._generateMonths()} `;\n break;\n case \"years\":\n viewContent = html` ${this._generateYears()} `;\n break;\n default:\n viewContent = html` ${this._generateDays()} `; // Set a default view\n break;\n }\n\n return html` <div class=\"datepicker-body\">${viewContent}</div> `;\n }\n}\n\nexport default DatepickerCalendar;\n"],"names":["datepickerCalendarStyle"],"mappings":"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"}