@govtechsg/sgds-web-component 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/package.json +1 -1
  2. package/react/accordion/index.cjs.js +2 -1
  3. package/react/accordion/index.cjs.js.map +1 -1
  4. package/react/accordion/index.js +2 -1
  5. package/react/accordion/index.js.map +1 -1
  6. package/react/accordion-item/index.cjs.js +2 -1
  7. package/react/accordion-item/index.cjs.js.map +1 -1
  8. package/react/accordion-item/index.js +2 -1
  9. package/react/accordion-item/index.js.map +1 -1
  10. package/react/action-card/index.cjs.js +2 -1
  11. package/react/action-card/index.cjs.js.map +1 -1
  12. package/react/action-card/index.js +2 -1
  13. package/react/action-card/index.js.map +1 -1
  14. package/react/alert/index.cjs.js +2 -1
  15. package/react/alert/index.cjs.js.map +1 -1
  16. package/react/alert/index.js +2 -1
  17. package/react/alert/index.js.map +1 -1
  18. package/react/alert-heading/index.cjs.js +2 -1
  19. package/react/alert-heading/index.cjs.js.map +1 -1
  20. package/react/alert-heading/index.js +2 -1
  21. package/react/alert-heading/index.js.map +1 -1
  22. package/react/alert-link/index.cjs.js +2 -1
  23. package/react/alert-link/index.cjs.js.map +1 -1
  24. package/react/alert-link/index.js +2 -1
  25. package/react/alert-link/index.js.map +1 -1
  26. package/react/badge/index.cjs.js +2 -1
  27. package/react/badge/index.cjs.js.map +1 -1
  28. package/react/badge/index.js +2 -1
  29. package/react/badge/index.js.map +1 -1
  30. package/{base → react/base}/card-element.cjs.js +1 -0
  31. package/react/base/card-element.cjs.js.map +1 -0
  32. package/react/base/card-element.js +26 -0
  33. package/react/base/card-element.js.map +1 -0
  34. package/{base → react/base}/card.cjs.js +1 -0
  35. package/{components/Card → react/base}/card.cjs.js.map +1 -1
  36. package/react/base/card.js +7 -0
  37. package/react/base/card.js.map +1 -0
  38. package/{base → react/base}/dropdown-element.cjs.js +1 -0
  39. package/react/base/dropdown-element.cjs.js.map +1 -0
  40. package/react/base/dropdown-element.js +174 -0
  41. package/react/base/dropdown-element.js.map +1 -0
  42. package/{base → react/base}/dropdown-list-element.cjs.js +1 -0
  43. package/react/base/dropdown-list-element.cjs.js.map +1 -0
  44. package/react/base/dropdown-list-element.js +130 -0
  45. package/react/base/dropdown-list-element.js.map +1 -0
  46. package/{base → react/base}/form-check-element.cjs.js +1 -0
  47. package/react/base/form-check-element.cjs.js.map +1 -0
  48. package/react/base/form-check-element.js +167 -0
  49. package/react/base/form-check-element.js.map +1 -0
  50. package/{base → react/base}/link-element.cjs.js +1 -0
  51. package/react/base/link-element.cjs.js.map +1 -0
  52. package/react/base/link-element.js +53 -0
  53. package/react/base/link-element.js.map +1 -0
  54. package/{base → react/base}/sgds-element.cjs.js +1 -0
  55. package/react/base/sgds-element.cjs.js.map +1 -0
  56. package/{base → react/base}/sgds-element.cjs2.js +1 -0
  57. package/{base → react/base}/sgds-element.cjs2.js.map +1 -1
  58. package/react/base/sgds-element.js +24 -0
  59. package/react/base/sgds-element.js.map +1 -0
  60. package/react/base/sgds-element2.js +7 -0
  61. package/react/base/sgds-element2.js.map +1 -0
  62. package/react/breadcrumb/index.cjs.js +2 -1
  63. package/react/breadcrumb/index.cjs.js.map +1 -1
  64. package/react/breadcrumb/index.js +2 -1
  65. package/react/breadcrumb/index.js.map +1 -1
  66. package/react/breadcrumb-item/index.cjs.js +2 -1
  67. package/react/breadcrumb-item/index.cjs.js.map +1 -1
  68. package/react/breadcrumb-item/index.js +2 -1
  69. package/react/breadcrumb-item/index.js.map +1 -1
  70. package/react/button/index.cjs.js +2 -1
  71. package/react/button/index.cjs.js.map +1 -1
  72. package/react/button/index.js +2 -1
  73. package/react/button/index.js.map +1 -1
  74. package/react/card/index.cjs.js +2 -1
  75. package/react/card/index.cjs.js.map +1 -1
  76. package/react/card/index.js +2 -1
  77. package/react/card/index.js.map +1 -1
  78. package/react/checkbox/index.cjs.js +2 -1
  79. package/react/checkbox/index.cjs.js.map +1 -1
  80. package/react/checkbox/index.js +2 -1
  81. package/react/checkbox/index.js.map +1 -1
  82. package/react/combo-box/index.cjs.js +2 -1
  83. package/react/combo-box/index.cjs.js.map +1 -1
  84. package/react/combo-box/index.js +2 -1
  85. package/react/combo-box/index.js.map +1 -1
  86. package/{components → react/components}/Accordion/accordion-item.cjs.js +1 -0
  87. package/{components → react/components}/Accordion/accordion-item.cjs.js.map +1 -1
  88. package/react/components/Accordion/accordion-item.js +7 -0
  89. package/react/components/Accordion/accordion-item.js.map +1 -0
  90. package/{components → react/components}/Accordion/accordion.cjs.js +1 -0
  91. package/{components → react/components}/Accordion/accordion.cjs.js.map +1 -1
  92. package/react/components/Accordion/accordion.js +7 -0
  93. package/react/components/Accordion/accordion.js.map +1 -0
  94. package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +1 -0
  95. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
  96. package/react/components/Accordion/sgds-accordion-item.js +204 -0
  97. package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
  98. package/{components → react/components}/Accordion/sgds-accordion.cjs.js +1 -0
  99. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
  100. package/react/components/Accordion/sgds-accordion.js +87 -0
  101. package/react/components/Accordion/sgds-accordion.js.map +1 -0
  102. package/{components → react/components}/ActionCard/action-card.cjs.js +1 -0
  103. package/{components → react/components}/ActionCard/action-card.cjs.js.map +1 -1
  104. package/react/components/ActionCard/action-card.js +7 -0
  105. package/react/components/ActionCard/action-card.js.map +1 -0
  106. package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +1 -0
  107. package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
  108. package/react/components/ActionCard/sgds-action-card.js +155 -0
  109. package/react/components/ActionCard/sgds-action-card.js.map +1 -0
  110. package/{components → react/components}/Alert/alert-link.cjs.js +1 -0
  111. package/{components → react/components}/Alert/alert-link.cjs.js.map +1 -1
  112. package/react/components/Alert/alert-link.js +7 -0
  113. package/react/components/Alert/alert-link.js.map +1 -0
  114. package/{components → react/components}/Alert/alert.cjs.js +1 -0
  115. package/{components → react/components}/Alert/alert.cjs.js.map +1 -1
  116. package/react/components/Alert/alert.js +7 -0
  117. package/react/components/Alert/alert.js.map +1 -0
  118. package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +1 -0
  119. package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
  120. package/react/components/Alert/sgds-alert-heading.js +33 -0
  121. package/react/components/Alert/sgds-alert-heading.js.map +1 -0
  122. package/{components → react/components}/Alert/sgds-alert-link.cjs.js +1 -0
  123. package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
  124. package/react/components/Alert/sgds-alert-link.js +32 -0
  125. package/react/components/Alert/sgds-alert-link.js.map +1 -0
  126. package/{components → react/components}/Alert/sgds-alert.cjs.js +1 -0
  127. package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
  128. package/react/components/Alert/sgds-alert.js +90 -0
  129. package/react/components/Alert/sgds-alert.js.map +1 -0
  130. package/{components → react/components}/Badge/badge.cjs.js +1 -0
  131. package/{components → react/components}/Badge/badge.cjs.js.map +1 -1
  132. package/react/components/Badge/badge.js +7 -0
  133. package/react/components/Badge/badge.js.map +1 -0
  134. package/{components → react/components}/Badge/sgds-badge.cjs.js +1 -0
  135. package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
  136. package/react/components/Badge/sgds-badge.js +53 -0
  137. package/react/components/Badge/sgds-badge.js.map +1 -0
  138. package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +1 -0
  139. package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +1 -1
  140. package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
  141. package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
  142. package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +1 -0
  143. package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +1 -1
  144. package/react/components/Breadcrumb/breadcrumb.js +7 -0
  145. package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
  146. package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +1 -0
  147. package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
  148. package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
  149. package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
  150. package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +1 -0
  151. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
  152. package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
  153. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
  154. package/{components → react/components}/Button/button.cjs.js +1 -0
  155. package/{components → react/components}/Button/button.cjs.js.map +1 -1
  156. package/react/components/Button/button.js +7 -0
  157. package/react/components/Button/button.js.map +1 -0
  158. package/{components → react/components}/Button/sgds-button.cjs.js +1 -0
  159. package/react/components/Button/sgds-button.cjs.js.map +1 -0
  160. package/react/components/Button/sgds-button.js +166 -0
  161. package/react/components/Button/sgds-button.js.map +1 -0
  162. package/{components → react/components}/Card/card.cjs.js +1 -0
  163. package/{base → react/components/Card}/card.cjs.js.map +1 -1
  164. package/react/components/Card/card.js +7 -0
  165. package/react/components/Card/card.js.map +1 -0
  166. package/{components → react/components}/Card/sgds-card.cjs.js +1 -0
  167. package/react/components/Card/sgds-card.cjs.js.map +1 -0
  168. package/react/components/Card/sgds-card.js +76 -0
  169. package/react/components/Card/sgds-card.js.map +1 -0
  170. package/{components → react/components}/Checkbox/checkbox.cjs.js +1 -0
  171. package/{components → react/components}/Checkbox/checkbox.cjs.js.map +1 -1
  172. package/react/components/Checkbox/checkbox.js +7 -0
  173. package/react/components/Checkbox/checkbox.js.map +1 -0
  174. package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +1 -0
  175. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
  176. package/react/components/Checkbox/sgds-checkbox.js +26 -0
  177. package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
  178. package/{components → react/components}/ComboBox/combo-box.cjs.js +1 -0
  179. package/{components → react/components}/ComboBox/combo-box.cjs.js.map +1 -1
  180. package/react/components/ComboBox/combo-box.js +7 -0
  181. package/react/components/ComboBox/combo-box.js.map +1 -0
  182. package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +1 -0
  183. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
  184. package/react/components/ComboBox/sgds-combo-box.js +194 -0
  185. package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
  186. package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +1 -0
  187. package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
  188. package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +1 -0
  189. package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +1 -1
  190. package/react/components/Datepicker/datepicker-calendar.js +458 -0
  191. package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
  192. package/react/components/Datepicker/datepicker-calendar2.js +7 -0
  193. package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
  194. package/{components → react/components}/Datepicker/datepicker-header.cjs.js +1 -0
  195. package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
  196. package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +1 -0
  197. package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +1 -1
  198. package/react/components/Datepicker/datepicker-header.js +227 -0
  199. package/react/components/Datepicker/datepicker-header.js.map +1 -0
  200. package/react/components/Datepicker/datepicker-header2.js +7 -0
  201. package/react/components/Datepicker/datepicker-header2.js.map +1 -0
  202. package/{components → react/components}/Datepicker/datepicker-input.cjs.js +1 -0
  203. package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
  204. package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +1 -0
  205. package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +1 -1
  206. package/react/components/Datepicker/datepicker-input.js +150 -0
  207. package/react/components/Datepicker/datepicker-input.js.map +1 -0
  208. package/react/components/Datepicker/datepicker-input2.js +7 -0
  209. package/react/components/Datepicker/datepicker-input2.js.map +1 -0
  210. package/{components → react/components}/Datepicker/datepicker.cjs.js +1 -0
  211. package/{components → react/components}/Datepicker/datepicker.cjs.js.map +1 -1
  212. package/react/components/Datepicker/datepicker.js +7 -0
  213. package/react/components/Datepicker/datepicker.js.map +1 -0
  214. package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +1 -0
  215. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
  216. package/react/components/Datepicker/sgds-datepicker.js +484 -0
  217. package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
  218. package/{components → react/components}/Drawer/drawer.cjs.js +1 -0
  219. package/{components → react/components}/Drawer/drawer.cjs.js.map +1 -1
  220. package/react/components/Drawer/drawer.js +7 -0
  221. package/react/components/Drawer/drawer.js.map +1 -0
  222. package/{components → react/components}/Drawer/sgds-drawer.cjs.js +1 -0
  223. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
  224. package/react/components/Drawer/sgds-drawer.js +413 -0
  225. package/react/components/Drawer/sgds-drawer.js.map +1 -0
  226. package/{components → react/components}/Dropdown/dropdown.cjs.js +1 -0
  227. package/{components → react/components}/Dropdown/dropdown.cjs.js.map +1 -1
  228. package/react/components/Dropdown/dropdown.js +7 -0
  229. package/react/components/Dropdown/dropdown.js.map +1 -0
  230. package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +1 -0
  231. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
  232. package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
  233. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
  234. package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +1 -0
  235. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
  236. package/react/components/Dropdown/sgds-dropdown.js +117 -0
  237. package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
  238. package/{components → react/components}/FileUpload/file-upload.cjs.js +1 -0
  239. package/{components → react/components}/FileUpload/file-upload.cjs.js.map +1 -1
  240. package/react/components/FileUpload/file-upload.js +7 -0
  241. package/react/components/FileUpload/file-upload.js.map +1 -0
  242. package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +1 -0
  243. package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
  244. package/react/components/FileUpload/sgds-file-upload.js +208 -0
  245. package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
  246. package/{components → react/components}/Footer/footer.cjs.js +1 -0
  247. package/{components → react/components}/Footer/footer.cjs.js.map +1 -1
  248. package/react/components/Footer/footer.js +7 -0
  249. package/react/components/Footer/footer.js.map +1 -0
  250. package/{components → react/components}/Footer/sgds-footer.cjs.js +1 -0
  251. package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
  252. package/react/components/Footer/sgds-footer.js +155 -0
  253. package/react/components/Footer/sgds-footer.js.map +1 -0
  254. package/{components → react/components}/Input/input.cjs.js +1 -0
  255. package/{components → react/components}/Input/input.cjs.js.map +1 -1
  256. package/react/components/Input/input.js +7 -0
  257. package/react/components/Input/input.js.map +1 -0
  258. package/{components → react/components}/Input/sgds-input.cjs.js +1 -0
  259. package/react/components/Input/sgds-input.cjs.js.map +1 -0
  260. package/react/components/Input/sgds-input.js +262 -0
  261. package/react/components/Input/sgds-input.js.map +1 -0
  262. package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +1 -0
  263. package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +1 -1
  264. package/react/components/Mainnav/mainnav-dropdown.js +7 -0
  265. package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
  266. package/{components → react/components}/Mainnav/mainnav-item.cjs.js +1 -0
  267. package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +1 -1
  268. package/react/components/Mainnav/mainnav-item.js +7 -0
  269. package/react/components/Mainnav/mainnav-item.js.map +1 -0
  270. package/{components → react/components}/Mainnav/mainnav.cjs.js +1 -0
  271. package/{components → react/components}/Mainnav/mainnav.cjs.js.map +1 -1
  272. package/react/components/Mainnav/mainnav.js +7 -0
  273. package/react/components/Mainnav/mainnav.js.map +1 -0
  274. package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +1 -0
  275. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
  276. package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
  277. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
  278. package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +1 -0
  279. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
  280. package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
  281. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
  282. package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +1 -0
  283. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
  284. package/react/components/Mainnav/sgds-mainnav.js +227 -0
  285. package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
  286. package/{components → react/components}/Masthead/masthead.cjs.js +1 -0
  287. package/{components → react/components}/Masthead/masthead.cjs.js.map +1 -1
  288. package/react/components/Masthead/masthead.js +7 -0
  289. package/react/components/Masthead/masthead.js.map +1 -0
  290. package/{components → react/components}/Masthead/sgds-masthead.cjs.js +1 -0
  291. package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
  292. package/react/components/Masthead/sgds-masthead.js +182 -0
  293. package/react/components/Masthead/sgds-masthead.js.map +1 -0
  294. package/{components → react/components}/Modal/modal.cjs.js +1 -0
  295. package/{components → react/components}/Modal/modal.cjs.js.map +1 -1
  296. package/react/components/Modal/modal.js +7 -0
  297. package/react/components/Modal/modal.js.map +1 -0
  298. package/{components → react/components}/Modal/sgds-modal.cjs.js +1 -0
  299. package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
  300. package/react/components/Modal/sgds-modal.js +340 -0
  301. package/react/components/Modal/sgds-modal.js.map +1 -0
  302. package/{components → react/components}/Pagination/pagination.cjs.js +1 -0
  303. package/{components → react/components}/Pagination/pagination.cjs.js.map +1 -1
  304. package/react/components/Pagination/pagination.js +7 -0
  305. package/react/components/Pagination/pagination.js.map +1 -0
  306. package/{components → react/components}/Pagination/sgds-pagination.cjs.js +1 -0
  307. package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
  308. package/react/components/Pagination/sgds-pagination.js +364 -0
  309. package/react/components/Pagination/sgds-pagination.js.map +1 -0
  310. package/{components → react/components}/Progress/progress-bar.cjs.js +1 -0
  311. package/{components → react/components}/Progress/progress-bar.cjs.js.map +1 -1
  312. package/react/components/Progress/progress-bar.js +7 -0
  313. package/react/components/Progress/progress-bar.js.map +1 -0
  314. package/{components → react/components}/Progress/progress.cjs.js +1 -0
  315. package/{components → react/components}/Progress/progress.cjs.js.map +1 -1
  316. package/react/components/Progress/progress.js +7 -0
  317. package/react/components/Progress/progress.js.map +1 -0
  318. package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +1 -0
  319. package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
  320. package/react/components/Progress/sgds-progress-bar.js +59 -0
  321. package/react/components/Progress/sgds-progress-bar.js.map +1 -0
  322. package/{components → react/components}/Progress/sgds-progress.cjs.js +1 -0
  323. package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
  324. package/react/components/Progress/sgds-progress.js +30 -0
  325. package/react/components/Progress/sgds-progress.js.map +1 -0
  326. package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +1 -0
  327. package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +1 -1
  328. package/react/components/QuantityToggle/quantity-toggle.js +7 -0
  329. package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
  330. package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +1 -0
  331. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
  332. package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
  333. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
  334. package/{components → react/components}/Radio/radio-group.cjs.js +1 -0
  335. package/{components → react/components}/Radio/radio-group.cjs.js.map +1 -1
  336. package/react/components/Radio/radio-group.js +7 -0
  337. package/react/components/Radio/radio-group.js.map +1 -0
  338. package/{components → react/components}/Radio/radio.cjs.js +1 -0
  339. package/{components → react/components}/Radio/radio.cjs.js.map +1 -1
  340. package/react/components/Radio/radio.js +7 -0
  341. package/react/components/Radio/radio.js.map +1 -0
  342. package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -0
  343. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
  344. package/react/components/Radio/sgds-radio-group.js +240 -0
  345. package/react/components/Radio/sgds-radio-group.js.map +1 -0
  346. package/{components → react/components}/Radio/sgds-radio.cjs.js +1 -0
  347. package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
  348. package/react/components/Radio/sgds-radio.js +138 -0
  349. package/react/components/Radio/sgds-radio.js.map +1 -0
  350. package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +1 -0
  351. package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
  352. package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
  353. package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
  354. package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +1 -0
  355. package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
  356. package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
  357. package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
  358. package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +1 -0
  359. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
  360. package/react/components/Sidenav/sgds-sidenav.js +75 -0
  361. package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
  362. package/{components → react/components}/Sidenav/sidenav-item.cjs.js +1 -0
  363. package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +1 -1
  364. package/react/components/Sidenav/sidenav-item.js +7 -0
  365. package/react/components/Sidenav/sidenav-item.js.map +1 -0
  366. package/{components → react/components}/Sidenav/sidenav-link.cjs.js +1 -0
  367. package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +1 -1
  368. package/react/components/Sidenav/sidenav-link.js +7 -0
  369. package/react/components/Sidenav/sidenav-link.js.map +1 -0
  370. package/{components → react/components}/Sidenav/sidenav.cjs.js +1 -0
  371. package/{components → react/components}/Sidenav/sidenav.cjs.js.map +1 -1
  372. package/react/components/Sidenav/sidenav.js +7 -0
  373. package/react/components/Sidenav/sidenav.js.map +1 -0
  374. package/{components → react/components}/Spinner/sgds-spinner.cjs.js +1 -0
  375. package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
  376. package/react/components/Spinner/sgds-spinner.js +38 -0
  377. package/react/components/Spinner/sgds-spinner.js.map +1 -0
  378. package/{components → react/components}/Spinner/spinner.cjs.js +1 -0
  379. package/{components → react/components}/Spinner/spinner.cjs.js.map +1 -1
  380. package/react/components/Spinner/spinner.js +8 -0
  381. package/react/components/Spinner/spinner.js.map +1 -0
  382. package/{components → react/components}/Stepper/sgds-stepper.cjs.js +1 -0
  383. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
  384. package/react/components/Stepper/sgds-stepper.js +132 -0
  385. package/react/components/Stepper/sgds-stepper.js.map +1 -0
  386. package/{components → react/components}/Stepper/stepper.cjs.js +1 -0
  387. package/{components → react/components}/Stepper/stepper.cjs.js.map +1 -1
  388. package/react/components/Stepper/stepper.js +7 -0
  389. package/react/components/Stepper/stepper.js.map +1 -0
  390. package/{components → react/components}/Tab/sgds-tab-group.cjs.js +1 -0
  391. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
  392. package/react/components/Tab/sgds-tab-group.js +233 -0
  393. package/react/components/Tab/sgds-tab-group.js.map +1 -0
  394. package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +1 -0
  395. package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
  396. package/react/components/Tab/sgds-tab-panel.js +63 -0
  397. package/react/components/Tab/sgds-tab-panel.js.map +1 -0
  398. package/{components → react/components}/Tab/sgds-tab.cjs.js +1 -0
  399. package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
  400. package/react/components/Tab/sgds-tab.js +110 -0
  401. package/react/components/Tab/sgds-tab.js.map +1 -0
  402. package/{components → react/components}/Tab/tab-group.cjs.js +1 -0
  403. package/{components → react/components}/Tab/tab-group.cjs.js.map +1 -1
  404. package/react/components/Tab/tab-group.js +7 -0
  405. package/react/components/Tab/tab-group.js.map +1 -0
  406. package/{components → react/components}/Tab/tab-panel.cjs.js +1 -0
  407. package/{components → react/components}/Tab/tab-panel.cjs.js.map +1 -1
  408. package/react/components/Tab/tab-panel.js +7 -0
  409. package/react/components/Tab/tab-panel.js.map +1 -0
  410. package/{components → react/components}/Tab/tab.cjs.js +1 -0
  411. package/{components → react/components}/Tab/tab.cjs.js.map +1 -1
  412. package/react/components/Tab/tab.js +7 -0
  413. package/react/components/Tab/tab.js.map +1 -0
  414. package/{components → react/components}/Table/sgds-table.cjs.js +1 -0
  415. package/react/components/Table/sgds-table.cjs.js.map +1 -0
  416. package/react/components/Table/sgds-table.js +267 -0
  417. package/react/components/Table/sgds-table.js.map +1 -0
  418. package/{components → react/components}/Table/table.cjs.js +1 -0
  419. package/{components → react/components}/Table/table.cjs.js.map +1 -1
  420. package/react/components/Table/table.js +7 -0
  421. package/react/components/Table/table.js.map +1 -0
  422. package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -0
  423. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
  424. package/react/components/Textarea/sgds-textarea.js +252 -0
  425. package/react/components/Textarea/sgds-textarea.js.map +1 -0
  426. package/{components → react/components}/Textarea/textarea.cjs.js +1 -0
  427. package/{components → react/components}/Textarea/textarea.cjs.js.map +1 -1
  428. package/react/components/Textarea/textarea.js +7 -0
  429. package/react/components/Textarea/textarea.js.map +1 -0
  430. package/{components → react/components}/Toast/sgds-toast-container.cjs.js +1 -0
  431. package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
  432. package/react/components/Toast/sgds-toast-container.js +36 -0
  433. package/react/components/Toast/sgds-toast-container.js.map +1 -0
  434. package/{components → react/components}/Toast/sgds-toast.cjs.js +1 -0
  435. package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
  436. package/react/components/Toast/sgds-toast.js +152 -0
  437. package/react/components/Toast/sgds-toast.js.map +1 -0
  438. package/{components → react/components}/Toast/toast-container.cjs.js +1 -0
  439. package/{components → react/components}/Toast/toast-container.cjs.js.map +1 -1
  440. package/react/components/Toast/toast-container.js +7 -0
  441. package/react/components/Toast/toast-container.js.map +1 -0
  442. package/{components → react/components}/Toast/toast.cjs.js +1 -0
  443. package/{components → react/components}/Toast/toast.cjs.js.map +1 -1
  444. package/react/components/Toast/toast.js +7 -0
  445. package/react/components/Toast/toast.js.map +1 -0
  446. package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +1 -0
  447. package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
  448. package/react/components/Tooltip/sgds-tooltip.js +121 -0
  449. package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
  450. package/{components → react/components}/Tooltip/tooltip.cjs.js +1 -0
  451. package/{components → react/components}/Tooltip/tooltip.cjs.js.map +1 -1
  452. package/react/components/Tooltip/tooltip.js +7 -0
  453. package/react/components/Tooltip/tooltip.js.map +1 -0
  454. package/react/datepicker/index.cjs.js +2 -1
  455. package/react/datepicker/index.cjs.js.map +1 -1
  456. package/react/datepicker/index.js +2 -1
  457. package/react/datepicker/index.js.map +1 -1
  458. package/react/drawer/index.cjs.js +2 -1
  459. package/react/drawer/index.cjs.js.map +1 -1
  460. package/react/drawer/index.js +2 -1
  461. package/react/drawer/index.js.map +1 -1
  462. package/react/dropdown/index.cjs.js +2 -1
  463. package/react/dropdown/index.cjs.js.map +1 -1
  464. package/react/dropdown/index.js +2 -1
  465. package/react/dropdown/index.js.map +1 -1
  466. package/react/dropdown-item/index.cjs.js +2 -1
  467. package/react/dropdown-item/index.cjs.js.map +1 -1
  468. package/react/dropdown-item/index.js +2 -1
  469. package/react/dropdown-item/index.js.map +1 -1
  470. package/react/file-upload/index.cjs.js +2 -1
  471. package/react/file-upload/index.cjs.js.map +1 -1
  472. package/react/file-upload/index.js +2 -1
  473. package/react/file-upload/index.js.map +1 -1
  474. package/react/footer/index.cjs.js +2 -1
  475. package/react/footer/index.cjs.js.map +1 -1
  476. package/react/footer/index.js +2 -1
  477. package/react/footer/index.js.map +1 -1
  478. package/react/index.cjs.js +1 -0
  479. package/react/index.cjs.js.map +1 -1
  480. package/react/index.js +1 -0
  481. package/react/index.js.map +1 -1
  482. package/react/input/index.cjs.js +2 -1
  483. package/react/input/index.cjs.js.map +1 -1
  484. package/react/input/index.js +2 -1
  485. package/react/input/index.js.map +1 -1
  486. package/{internals → react/internals}/CloseButton/close-button.cjs.js +1 -0
  487. package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +1 -1
  488. package/react/internals/CloseButton/close-button.js +7 -0
  489. package/react/internals/CloseButton/close-button.js.map +1 -0
  490. package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +1 -0
  491. package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
  492. package/react/internals/CloseButton/sgds-close-button.js +55 -0
  493. package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
  494. package/react/mainnav/index.cjs.js +2 -1
  495. package/react/mainnav/index.cjs.js.map +1 -1
  496. package/react/mainnav/index.js +2 -1
  497. package/react/mainnav/index.js.map +1 -1
  498. package/react/mainnav-dropdown/index.cjs.js +2 -1
  499. package/react/mainnav-dropdown/index.cjs.js.map +1 -1
  500. package/react/mainnav-dropdown/index.js +2 -1
  501. package/react/mainnav-dropdown/index.js.map +1 -1
  502. package/react/mainnav-item/index.cjs.js +2 -1
  503. package/react/mainnav-item/index.cjs.js.map +1 -1
  504. package/react/mainnav-item/index.js +2 -1
  505. package/react/mainnav-item/index.js.map +1 -1
  506. package/react/masthead/index.cjs.js +2 -1
  507. package/react/masthead/index.cjs.js.map +1 -1
  508. package/react/masthead/index.js +2 -1
  509. package/react/masthead/index.js.map +1 -1
  510. package/react/modal/index.cjs.js +2 -1
  511. package/react/modal/index.cjs.js.map +1 -1
  512. package/react/modal/index.js +2 -1
  513. package/react/modal/index.js.map +1 -1
  514. package/react/pagination/index.cjs.js +2 -1
  515. package/react/pagination/index.cjs.js.map +1 -1
  516. package/react/pagination/index.js +2 -1
  517. package/react/pagination/index.js.map +1 -1
  518. package/react/progress/index.cjs.js +2 -1
  519. package/react/progress/index.cjs.js.map +1 -1
  520. package/react/progress/index.js +2 -1
  521. package/react/progress/index.js.map +1 -1
  522. package/react/progress-bar/index.cjs.js +2 -1
  523. package/react/progress-bar/index.cjs.js.map +1 -1
  524. package/react/progress-bar/index.js +2 -1
  525. package/react/progress-bar/index.js.map +1 -1
  526. package/react/quantity-toggle/index.cjs.js +2 -1
  527. package/react/quantity-toggle/index.cjs.js.map +1 -1
  528. package/react/quantity-toggle/index.js +2 -1
  529. package/react/quantity-toggle/index.js.map +1 -1
  530. package/react/radio/index.cjs.js +2 -1
  531. package/react/radio/index.cjs.js.map +1 -1
  532. package/react/radio/index.js +2 -1
  533. package/react/radio/index.js.map +1 -1
  534. package/react/radio-group/index.cjs.js +2 -1
  535. package/react/radio-group/index.cjs.js.map +1 -1
  536. package/react/radio-group/index.js +2 -1
  537. package/react/radio-group/index.js.map +1 -1
  538. package/react/sidenav/index.cjs.js +2 -1
  539. package/react/sidenav/index.cjs.js.map +1 -1
  540. package/react/sidenav/index.js +2 -1
  541. package/react/sidenav/index.js.map +1 -1
  542. package/react/sidenav-item/index.cjs.js +2 -1
  543. package/react/sidenav-item/index.cjs.js.map +1 -1
  544. package/react/sidenav-item/index.js +2 -1
  545. package/react/sidenav-item/index.js.map +1 -1
  546. package/react/sidenav-link/index.cjs.js +2 -1
  547. package/react/sidenav-link/index.cjs.js.map +1 -1
  548. package/react/sidenav-link/index.js +2 -1
  549. package/react/sidenav-link/index.js.map +1 -1
  550. package/react/spinner/index.cjs.js +2 -1
  551. package/react/spinner/index.cjs.js.map +1 -1
  552. package/react/spinner/index.js +2 -1
  553. package/react/spinner/index.js.map +1 -1
  554. package/react/stepper/index.cjs.js +2 -1
  555. package/react/stepper/index.cjs.js.map +1 -1
  556. package/react/stepper/index.js +2 -1
  557. package/react/stepper/index.js.map +1 -1
  558. package/{styles → react/styles}/anchor.cjs.js +1 -0
  559. package/{styles → react/styles}/anchor.cjs.js.map +1 -1
  560. package/react/styles/anchor.js +7 -0
  561. package/react/styles/anchor.js.map +1 -0
  562. package/{styles → react/styles}/bg-variants.cjs.js +1 -0
  563. package/{styles → react/styles}/bg-variants.cjs.js.map +1 -1
  564. package/react/styles/bg-variants.js +7 -0
  565. package/react/styles/bg-variants.js.map +1 -0
  566. package/{styles → react/styles}/border-variants.cjs.js +1 -0
  567. package/{styles → react/styles}/border-variants.cjs.js.map +1 -1
  568. package/react/styles/border-variants.js +7 -0
  569. package/react/styles/border-variants.js.map +1 -0
  570. package/{styles → react/styles}/feedback.cjs.js +1 -0
  571. package/{styles → react/styles}/feedback.cjs.js.map +1 -1
  572. package/react/styles/feedback.js +7 -0
  573. package/react/styles/feedback.js.map +1 -0
  574. package/{styles → react/styles}/form-hint.cjs.js +1 -0
  575. package/{styles → react/styles}/form-hint.cjs.js.map +1 -1
  576. package/react/styles/form-hint.js +7 -0
  577. package/react/styles/form-hint.js.map +1 -0
  578. package/{styles → react/styles}/form-label.cjs.js +1 -0
  579. package/{styles → react/styles}/form-label.cjs.js.map +1 -1
  580. package/react/styles/form-label.js +7 -0
  581. package/react/styles/form-label.js.map +1 -0
  582. package/{styles → react/styles}/header-class.cjs.js +1 -0
  583. package/{styles → react/styles}/header-class.cjs.js.map +1 -1
  584. package/react/styles/header-class.js +7 -0
  585. package/react/styles/header-class.js.map +1 -0
  586. package/{styles → react/styles}/paragraph.cjs.js +1 -0
  587. package/{styles → react/styles}/paragraph.cjs.js.map +1 -1
  588. package/react/styles/paragraph.js +7 -0
  589. package/react/styles/paragraph.js.map +1 -0
  590. package/{styles → react/styles}/svg.cjs.js +1 -0
  591. package/{styles → react/styles}/svg.cjs.js.map +1 -1
  592. package/react/styles/svg.js +7 -0
  593. package/react/styles/svg.js.map +1 -0
  594. package/{styles → react/styles}/text-variants.cjs.js +1 -0
  595. package/{styles → react/styles}/text-variants.cjs.js.map +1 -1
  596. package/react/styles/text-variants.js +7 -0
  597. package/react/styles/text-variants.js.map +1 -0
  598. package/react/tab/index.cjs.js +2 -1
  599. package/react/tab/index.cjs.js.map +1 -1
  600. package/react/tab/index.js +2 -1
  601. package/react/tab/index.js.map +1 -1
  602. package/react/tab-group/index.cjs.js +2 -1
  603. package/react/tab-group/index.cjs.js.map +1 -1
  604. package/react/tab-group/index.js +2 -1
  605. package/react/tab-group/index.js.map +1 -1
  606. package/react/tab-panel/index.cjs.js +2 -1
  607. package/react/tab-panel/index.cjs.js.map +1 -1
  608. package/react/tab-panel/index.js +2 -1
  609. package/react/tab-panel/index.js.map +1 -1
  610. package/react/table/index.cjs.js +2 -1
  611. package/react/table/index.cjs.js.map +1 -1
  612. package/react/table/index.js +2 -1
  613. package/react/table/index.js.map +1 -1
  614. package/react/textarea/index.cjs.js +2 -1
  615. package/react/textarea/index.cjs.js.map +1 -1
  616. package/react/textarea/index.js +2 -1
  617. package/react/textarea/index.js.map +1 -1
  618. package/react/toast/index.cjs.js +2 -1
  619. package/react/toast/index.cjs.js.map +1 -1
  620. package/react/toast/index.js +2 -1
  621. package/react/toast/index.js.map +1 -1
  622. package/react/toast-container/index.cjs.js +2 -1
  623. package/react/toast-container/index.cjs.js.map +1 -1
  624. package/react/toast-container/index.js +2 -1
  625. package/react/toast-container/index.js.map +1 -1
  626. package/react/tooltip/index.cjs.js +2 -1
  627. package/react/tooltip/index.cjs.js.map +1 -1
  628. package/react/tooltip/index.js +2 -1
  629. package/react/tooltip/index.js.map +1 -1
  630. package/{utils → react/utils}/animate.cjs.js +1 -0
  631. package/react/utils/animate.cjs.js.map +1 -0
  632. package/react/utils/animate.js +42 -0
  633. package/react/utils/animate.js.map +1 -0
  634. package/{utils → react/utils}/animation-registry.cjs.js +1 -0
  635. package/react/utils/animation-registry.cjs.js.map +1 -0
  636. package/react/utils/animation-registry.js +43 -0
  637. package/react/utils/animation-registry.js.map +1 -0
  638. package/{utils → react/utils}/breakpoints.cjs.js +1 -0
  639. package/react/utils/breakpoints.cjs.js.map +1 -0
  640. package/react/utils/breakpoints.js +9 -0
  641. package/react/utils/breakpoints.js.map +1 -0
  642. package/{utils → react/utils}/defaultvalue.cjs.js +1 -0
  643. package/react/utils/defaultvalue.cjs.js.map +1 -0
  644. package/react/utils/defaultvalue.js +25 -0
  645. package/react/utils/defaultvalue.js.map +1 -0
  646. package/{utils → react/utils}/event.cjs.js +1 -0
  647. package/react/utils/event.cjs.js.map +1 -0
  648. package/react/utils/event.js +16 -0
  649. package/react/utils/event.js.map +1 -0
  650. package/{utils → react/utils}/form.cjs.js +1 -0
  651. package/react/utils/form.cjs.js.map +1 -0
  652. package/react/utils/form.js +133 -0
  653. package/react/utils/form.js.map +1 -0
  654. package/{utils → react/utils}/generateId.cjs.js +1 -0
  655. package/react/utils/generateId.cjs.js.map +1 -0
  656. package/react/utils/generateId.js +7 -0
  657. package/react/utils/generateId.js.map +1 -0
  658. package/{utils → react/utils}/mergeDeep.cjs.js +1 -0
  659. package/react/utils/mergeDeep.cjs.js.map +1 -0
  660. package/react/utils/mergeDeep.js +26 -0
  661. package/react/utils/mergeDeep.js.map +1 -0
  662. package/{utils → react/utils}/modal.cjs.js +1 -0
  663. package/react/utils/modal.cjs.js.map +1 -0
  664. package/react/utils/modal.js +56 -0
  665. package/react/utils/modal.js.map +1 -0
  666. package/{utils → react/utils}/object.cjs.js +1 -0
  667. package/react/utils/object.cjs.js.map +1 -0
  668. package/react/utils/object.js +7 -0
  669. package/react/utils/object.js.map +1 -0
  670. package/{utils → react/utils}/scroll.cjs.js +1 -0
  671. package/react/utils/scroll.cjs.js.map +1 -0
  672. package/react/utils/scroll.js +22 -0
  673. package/react/utils/scroll.js.map +1 -0
  674. package/{utils → react/utils}/slot.cjs.js +1 -0
  675. package/react/utils/slot.cjs.js.map +1 -0
  676. package/react/utils/slot.js +53 -0
  677. package/react/utils/slot.js.map +1 -0
  678. package/{utils → react/utils}/tabbable.cjs.js +1 -0
  679. package/react/utils/tabbable.cjs.js.map +1 -0
  680. package/react/utils/tabbable.js +69 -0
  681. package/react/utils/tabbable.js.map +1 -0
  682. package/{utils → react/utils}/time.cjs.js +1 -0
  683. package/react/utils/time.cjs.js.map +1 -0
  684. package/react/utils/time.js +75 -0
  685. package/react/utils/time.js.map +1 -0
  686. package/{utils → react/utils}/watch.cjs.js +1 -0
  687. package/react/utils/watch.cjs.js.map +1 -0
  688. package/react/utils/watch.js +40 -0
  689. package/react/utils/watch.js.map +1 -0
  690. package/base/card-element.cjs.js.map +0 -1
  691. package/base/dropdown-element.cjs.js.map +0 -1
  692. package/base/dropdown-list-element.cjs.js.map +0 -1
  693. package/base/form-check-element.cjs.js.map +0 -1
  694. package/base/link-element.cjs.js.map +0 -1
  695. package/base/sgds-element.cjs.js.map +0 -1
  696. package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
  697. package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
  698. package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
  699. package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
  700. package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
  701. package/components/Alert/sgds-alert.cjs.js.map +0 -1
  702. package/components/Badge/sgds-badge.cjs.js.map +0 -1
  703. package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
  704. package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
  705. package/components/Button/sgds-button.cjs.js.map +0 -1
  706. package/components/Card/sgds-card.cjs.js.map +0 -1
  707. package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
  708. package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
  709. package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
  710. package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
  711. package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
  712. package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
  713. package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
  714. package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
  715. package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
  716. package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
  717. package/components/Footer/sgds-footer.cjs.js.map +0 -1
  718. package/components/Input/sgds-input.cjs.js.map +0 -1
  719. package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
  720. package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
  721. package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
  722. package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
  723. package/components/Modal/sgds-modal.cjs.js.map +0 -1
  724. package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
  725. package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
  726. package/components/Progress/sgds-progress.cjs.js.map +0 -1
  727. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
  728. package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
  729. package/components/Radio/sgds-radio.cjs.js.map +0 -1
  730. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
  731. package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
  732. package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
  733. package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
  734. package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
  735. package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
  736. package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
  737. package/components/Tab/sgds-tab.cjs.js.map +0 -1
  738. package/components/Table/sgds-table.cjs.js.map +0 -1
  739. package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
  740. package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
  741. package/components/Toast/sgds-toast.cjs.js.map +0 -1
  742. package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
  743. package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
  744. package/utils/animate.cjs.js.map +0 -1
  745. package/utils/animation-registry.cjs.js.map +0 -1
  746. package/utils/breakpoints.cjs.js.map +0 -1
  747. package/utils/defaultvalue.cjs.js.map +0 -1
  748. package/utils/event.cjs.js.map +0 -1
  749. package/utils/form.cjs.js.map +0 -1
  750. package/utils/generateId.cjs.js.map +0 -1
  751. package/utils/mergeDeep.cjs.js.map +0 -1
  752. package/utils/modal.cjs.js.map +0 -1
  753. package/utils/object.cjs.js.map +0 -1
  754. package/utils/scroll.cjs.js.map +0 -1
  755. package/utils/slot.cjs.js.map +0 -1
  756. package/utils/tabbable.cjs.js.map +0 -1
  757. package/utils/time.cjs.js.map +0 -1
  758. package/utils/watch.cjs.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ import { getTabbableBoundary } from './tabbable.js';
3
+
4
+ let activeModals = [];
5
+ class Modal {
6
+ constructor(element) {
7
+ this.tabDirection = "forward";
8
+ this.element = element;
9
+ this.handleFocusIn = this.handleFocusIn.bind(this);
10
+ this.handleKeyDown = this.handleKeyDown.bind(this);
11
+ this.handleKeyUp = this.handleKeyUp.bind(this);
12
+ }
13
+ activate() {
14
+ activeModals.push(this.element);
15
+ document.addEventListener("focusin", this.handleFocusIn);
16
+ document.addEventListener("keydown", this.handleKeyDown);
17
+ document.addEventListener("keyup", this.handleKeyUp);
18
+ }
19
+ deactivate() {
20
+ activeModals = activeModals.filter(modal => modal !== this.element);
21
+ document.removeEventListener("focusin", this.handleFocusIn);
22
+ document.removeEventListener("keydown", this.handleKeyDown);
23
+ document.removeEventListener("keyup", this.handleKeyUp);
24
+ }
25
+ isActive() {
26
+ // The "active" modal is always the most recent one shown
27
+ return activeModals[activeModals.length - 1] === this.element;
28
+ }
29
+ checkFocus() {
30
+ if (this.isActive()) {
31
+ if (!this.element.matches(":focus-within")) {
32
+ const { start, end } = getTabbableBoundary(this.element);
33
+ const target = this.tabDirection === "forward" ? start : end;
34
+ if (typeof (target === null || target === void 0 ? void 0 : target.focus) === "function") {
35
+ target.focus({ preventScroll: true });
36
+ }
37
+ }
38
+ }
39
+ }
40
+ handleFocusIn() {
41
+ this.checkFocus();
42
+ }
43
+ handleKeyDown(event) {
44
+ if (event.key === "Tab" && event.shiftKey) {
45
+ this.tabDirection = "backward";
46
+ // Ensure focus remains trapped after the key is pressed
47
+ requestAnimationFrame(() => this.checkFocus());
48
+ }
49
+ }
50
+ handleKeyUp() {
51
+ this.tabDirection = "forward";
52
+ }
53
+ }
54
+
55
+ export { Modal as default };
56
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sources":["../../../src/utils/modal.ts"],"sourcesContent":["import { getTabbableBoundary } from \"./tabbable\";\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: \"forward\" | \"backward\" = \"forward\";\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener(\"focusin\", this.handleFocusIn);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n\n deactivate() {\n activeModals = activeModals.filter(modal => modal !== this.element);\n document.removeEventListener(\"focusin\", this.handleFocusIn);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(\":focus-within\")) {\n const { start, end } = getTabbableBoundary(this.element);\n const target = this.tabDirection === \"forward\" ? start : end;\n\n if (typeof target?.focus === \"function\") {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n\n handleFocusIn() {\n this.checkFocus();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.tabDirection = \"backward\";\n\n // Ensure focus remains trapped after the key is pressed\n requestAnimationFrame(() => this.checkFocus());\n }\n }\n\n handleKeyUp() {\n this.tabDirection = \"forward\";\n }\n}\n"],"names":[],"mappings":";;;AAEA,IAAI,YAAY,GAAkB,EAAE,CAAC;AAEvB,MAAO,KAAK,CAAA;AAIxB,IAAA,WAAA,CAAY,OAAoB,EAAA;QAFhC,IAAY,CAAA,YAAA,GAA2B,SAAS,CAAC;AAG/C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChD;IAED,QAAQ,GAAA;AACN,QAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACtD;IAED,UAAU,GAAA;AACR,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACzD;IAED,QAAQ,GAAA;;AAEN,QAAA,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;KAC/D;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC1C,gBAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;AAE7D,gBAAA,IAAI,QAAO,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,CAAA,KAAK,UAAU,EAAE;oBACvC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC;aACF;SACF;KACF;IAED,aAAa,GAAA;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,aAAa,CAAC,KAAoB,EAAA;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;AACzC,YAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;;YAG/B,qBAAqB,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SAChD;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;KAC/B;AACF;;;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.cjs.js","sources":["../../../src/utils/object.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const assign = (target: any, ...args: any[]) => Object.assign(target, ...args);\nexport const keys = (obj: any) => Object.keys(obj);\n"],"names":[],"mappings":";;;;;AAAA;MACa,MAAM,GAAG,CAAC,MAAW,EAAE,GAAG,IAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE;AAC/E,MAAM,IAAI,GAAG,CAAC,GAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ const assign = (target, ...args) => Object.assign(target, ...args);
4
+ const keys = (obj) => Object.keys(obj);
5
+
6
+ export { assign, keys };
7
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sources":["../../../src/utils/object.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const assign = (target: any, ...args: any[]) => Object.assign(target, ...args);\nexport const keys = (obj: any) => Object.keys(obj);\n"],"names":[],"mappings":";AAAA;MACa,MAAM,GAAG,CAAC,MAAW,EAAE,GAAG,IAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE;AAC/E,MAAM,IAAI,GAAG,CAAC,GAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG;;;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.cjs.js","sources":["../../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":";;;;;AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB;;;AAGG;AACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;AACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAoCD;;AAEG;AACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;AACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAClD;AACH;;;;;"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ const locks = new Set();
3
+ /**
4
+ * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible
5
+ * without premature unlocking.
6
+ */
7
+ function lockBodyScrolling(lockingEl) {
8
+ locks.add(lockingEl);
9
+ document.body.classList.add("sl-scroll-lock");
10
+ }
11
+ /**
12
+ * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.
13
+ */
14
+ function unlockBodyScrolling(lockingEl) {
15
+ locks.delete(lockingEl);
16
+ if (locks.size === 0) {
17
+ document.body.classList.remove("sl-scroll-lock");
18
+ }
19
+ }
20
+
21
+ export { lockBodyScrolling, unlockBodyScrolling };
22
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sources":["../../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":";AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB;;;AAGG;AACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;AACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAoCD;;AAEG;AACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;AACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAClD;AACH;;;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.cjs.js","sources":["../../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":";;;;;MAEa,iBAAiB,CAAA;IAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;QAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;AAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAK,EAAE,EAAE;AACvE,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,gBAAA,IAAI,OAAO,KAAK,oBAAoB,EAAE;AACpC,oBAAA,OAAO,KAAK,CAAC;iBACd;;gBAGD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;KACtE;AAED,IAAA,IAAI,CAAC,QAAgB,EAAA;AACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACvF;IAED,aAAa,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7E;IAED,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;KACF;AACF;;;;"}
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+ class HasSlotController {
3
+ constructor(host, ...slotNames) {
4
+ this.slotNames = [];
5
+ (this.host = host).addController(this);
6
+ this.slotNames = slotNames;
7
+ this.handleSlotChange = this.handleSlotChange.bind(this);
8
+ }
9
+ hasDefaultSlot() {
10
+ return [...this.host.childNodes].some(node => {
11
+ var _a;
12
+ if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== "") {
13
+ return true;
14
+ }
15
+ if (node.nodeType === node.ELEMENT_NODE) {
16
+ const el = node;
17
+ const tagName = el.tagName.toLowerCase();
18
+ // Ignore visually hidden elements since they aren't rendered
19
+ if (tagName === "sl-visually-hidden") {
20
+ return false;
21
+ }
22
+ // If it doesn't have a slot attribute, it's part of the default slot
23
+ if (!el.hasAttribute("slot")) {
24
+ return true;
25
+ }
26
+ }
27
+ return false;
28
+ });
29
+ }
30
+ hasNamedSlot(name) {
31
+ return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
32
+ }
33
+ test(slotName) {
34
+ return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
35
+ }
36
+ hostConnected() {
37
+ var _a;
38
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener("slotchange", this.handleSlotChange);
39
+ }
40
+ hostDisconnected() {
41
+ var _a;
42
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener("slotchange", this.handleSlotChange);
43
+ }
44
+ handleSlotChange(event) {
45
+ const slot = event.target;
46
+ if ((this.slotNames.includes("[default]") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {
47
+ this.host.requestUpdate();
48
+ }
49
+ }
50
+ }
51
+
52
+ export { HasSlotController };
53
+ //# sourceMappingURL=slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.js","sources":["../../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":";MAEa,iBAAiB,CAAA;IAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;QAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;AAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAK,EAAE,EAAE;AACvE,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,gBAAA,IAAI,OAAO,KAAK,oBAAoB,EAAE;AACpC,oBAAA,OAAO,KAAK,CAAC;iBACd;;gBAGD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;KACtE;AAED,IAAA,IAAI,CAAC,QAAgB,EAAA;AACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACvF;IAED,aAAa,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7E;IAED,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;KACF;AACF;;;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabbable.cjs.js","sources":["../../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+ /** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */
3
+ function isTabbable(el) {
4
+ const tag = el.tagName.toLowerCase();
5
+ // Elements with a -1 tab index are not tabbable
6
+ if (el.getAttribute("tabindex") === "-1") {
7
+ return false;
8
+ }
9
+ // Elements with a disabled attribute are not tabbable
10
+ if (el.hasAttribute("disabled")) {
11
+ return false;
12
+ }
13
+ // Elements with aria-disabled are not tabbable
14
+ if (el.hasAttribute("aria-disabled") && el.getAttribute("aria-disabled") !== "false") {
15
+ return false;
16
+ }
17
+ // Radios without a checked attribute are not tabbable
18
+ if (tag === "input" && el.getAttribute("type") === "radio" && !el.hasAttribute("checked")) {
19
+ return false;
20
+ }
21
+ // Elements that are hidden have no offsetParent and are not tabbable
22
+ if (el.offsetParent === null) {
23
+ return false;
24
+ }
25
+ // Elements without visibility are not tabbable
26
+ if (window.getComputedStyle(el).visibility === "hidden") {
27
+ return false;
28
+ }
29
+ // Audio and video elements with the controls attribute are tabbable
30
+ if ((tag === "audio" || tag === "video") && el.hasAttribute("controls")) {
31
+ return true;
32
+ }
33
+ // Elements with a tabindex other than -1 are tabbable
34
+ if (el.hasAttribute("tabindex")) {
35
+ return true;
36
+ }
37
+ // Elements with a contenteditable attribute are tabbable
38
+ if (el.hasAttribute("contenteditable") && el.getAttribute("contenteditable") !== "false") {
39
+ return true;
40
+ }
41
+ // At this point, the following elements are considered tabbable
42
+ return ["button", "input", "select", "textarea", "a", "audio", "video", "summary"].includes(tag);
43
+ }
44
+ /**
45
+ * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single
46
+ * element because it short-circuits after finding the first and last ones.
47
+ */
48
+ function getTabbableBoundary(root) {
49
+ var _a, _b;
50
+ const allElements = [];
51
+ function walk(el) {
52
+ if (el instanceof HTMLElement) {
53
+ allElements.push(el);
54
+ if (el.shadowRoot !== null && el.shadowRoot.mode === "open") {
55
+ walk(el.shadowRoot);
56
+ }
57
+ }
58
+ [...el.children].forEach((e) => walk(e));
59
+ }
60
+ // Collect all elements including the root
61
+ walk(root);
62
+ // Find the first and last tabbable elements
63
+ const start = (_a = allElements.find(el => isTabbable(el))) !== null && _a !== void 0 ? _a : null;
64
+ const end = (_b = allElements.reverse().find(el => isTabbable(el))) !== null && _b !== void 0 ? _b : null;
65
+ return { start, end };
66
+ }
67
+
68
+ export { getTabbableBoundary };
69
+ //# sourceMappingURL=tabbable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabbable.js","sources":["../../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.cjs.js","sources":["../../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":["getDaysInMonth","isLastDayOfMonth","lastDayOfMonth"],"mappings":";;;;;;;AAEa,MAAA,aAAa,GAAG;AAC3B,IAAA,YAAY,EAAE;AACZ,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,cAAc,EAAE,uCAAuC;AACvD,QAAA,UAAU,EAAE,YAAY;AACzB,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,cAAc,EAAE,uCAAuC;AACvD,QAAA,UAAU,EAAE,YAAY;AACzB,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,cAAc,EAAE,uCAAuC;AACvD,QAAA,UAAU,EAAE,YAAY;AACzB,KAAA;EACD;AAEF;;;;AAIG;MACU,mBAAmB,GAAG,CAAC,WAAiB,EAAE,WAAmB,KAAI;;AAE5E,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;AACnD,IAAA,MAAM,aAAa,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,CAAC;IAEjE,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,IAAA,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;IAC/C,MAAM,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtD,IAAA,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AAED,IAAA,OAAO,SAAS,CAAC;AACnB,EAAE;AACW,MAAA,kBAAkB,GAAG,CAAC,CAAO,KAAI;AAC5C,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC3B,IAAA,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7B,IAAA,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAChD,IAAA,MAAM,qBAAqB,GAAGA,sBAAc,CAAC,aAAa,CAAC,CAAC;IAE5D,IAAIC,wBAAgB,CAAC,CAAC,CAAC,IAAI,qBAAqB,GAAG,IAAI,EAAE;AACvD,QAAA,OAAOC,sBAAc,CAAC,aAAa,CAAC,CAAC;KACtC;SAAM;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;KACxC;AACH,EAAE;AACW,MAAA,sBAAsB,GAAG,CAAC,CAAO,KAAI;AAChD,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC3B,IAAA,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7B,IAAA,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAChD,IAAA,MAAM,qBAAqB,GAAGF,sBAAc,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAIC,wBAAgB,CAAC,CAAC,CAAC,IAAI,qBAAqB,GAAG,IAAI,EAAE;AACvD,QAAA,OAAOC,sBAAc,CAAC,aAAa,CAAC,CAAC;KACtC;SAAM;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;KACxC;AACH,EAAE;AACW,MAAA,aAAa,GAAG,CAAC,IAAU,KAAU;AAChD,IAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,IAAA,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrB,IAAA,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,IAAA,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,IAAA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAA,OAAO,OAAO,CAAC;AACjB;;;;;;;;"}
@@ -0,0 +1,75 @@
1
+ 'use client';
2
+ import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from 'date-fns';
3
+
4
+ const DATE_PATTERNS = {
5
+ "DD/MM/YYYY": {
6
+ imPattern: "`dd{/}`mm{/}`yyyy",
7
+ imRangePattern: "`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY",
8
+ fnsPattern: "dd/MM/yyyy"
9
+ },
10
+ "MM/DD/YYYY": {
11
+ imPattern: "`mm{/}`dd{/}`yyyy",
12
+ imRangePattern: "`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY",
13
+ fnsPattern: "MM/dd/yyyy"
14
+ },
15
+ "YYYY/MM/DD": {
16
+ imPattern: "`yyyy{/}`mm{/}`dd",
17
+ imRangePattern: "`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD",
18
+ fnsPattern: "yyyy/MM/dd"
19
+ }
20
+ };
21
+ /**
22
+ * @description - creates calendar's year view years array with context of
23
+ * datepicker's displayDate and current year
24
+ * Fixes current year to the start of array
25
+ */
26
+ const createYearViewArray = (displayDate, currentYear) => {
27
+ // keeping the year range position to be always fixed by setting current year to the first element of the calendar
28
+ const displayYear = displayDate.getFullYear();
29
+ const remainder = (displayYear - currentYear) % 12;
30
+ const yearsPosition = remainder < 0 ? 12 + remainder : remainder;
31
+ const yearArray = [];
32
+ const startLimit = displayYear - yearsPosition;
33
+ const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)
34
+ for (let i = startLimit; i < endLimit + 1; i++) {
35
+ yearArray.push(i);
36
+ }
37
+ return yearArray;
38
+ };
39
+ const sanitizedNextMonth = (d) => {
40
+ const month = d.getMonth();
41
+ const year = d.getFullYear();
42
+ const date = d.getDate();
43
+ const nextMonthDate = new Date(year, month + 1);
44
+ const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);
45
+ if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {
46
+ return lastDayOfMonth(nextMonthDate);
47
+ }
48
+ else {
49
+ return new Date(year, month + 1, date);
50
+ }
51
+ };
52
+ const sanitizedPreviousMonth = (d) => {
53
+ const month = d.getMonth();
54
+ const year = d.getFullYear();
55
+ const date = d.getDate();
56
+ const prevMonthDate = new Date(year, month - 1);
57
+ const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);
58
+ if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {
59
+ return lastDayOfMonth(prevMonthDate);
60
+ }
61
+ else {
62
+ return new Date(year, month - 1, date);
63
+ }
64
+ };
65
+ const setTimeToNoon = (date) => {
66
+ const newDate = new Date(date);
67
+ newDate.setHours(12);
68
+ newDate.setMinutes(0);
69
+ newDate.setSeconds(0);
70
+ newDate.setMilliseconds(0);
71
+ return newDate;
72
+ };
73
+
74
+ export { DATE_PATTERNS, createYearViewArray, sanitizedNextMonth, sanitizedPreviousMonth, setTimeToNoon };
75
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sources":["../../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.cjs.js","sources":["../../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;IAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;AACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;AAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;AAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;AACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,oBAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;4BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACzE;qBACF;iBACF;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACH,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,40 @@
1
+ 'use client';
2
+ // @watch decorator
3
+ //
4
+ // Runs when an observed property changes, e.g. @property or @state, but before the component updates.
5
+ //
6
+ // To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
7
+ // watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
8
+ //
9
+ // Usage:
10
+ //
11
+ // @watch('propName')
12
+ // handlePropChange(oldValue, newValue) {
13
+ // ...
14
+ // }
15
+ function watch(propName, options) {
16
+ const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
17
+ return (proto, decoratedFnName) => {
18
+ // @ts-expect-error -- update is a protected property
19
+ const { update } = proto;
20
+ if (propName in proto) {
21
+ const propNameKey = propName;
22
+ // @ts-expect-error -- update is a protected property
23
+ proto.update = function (changedProps) {
24
+ if (changedProps.has(propNameKey)) {
25
+ const oldValue = changedProps.get(propNameKey);
26
+ const newValue = this[propNameKey];
27
+ if (oldValue !== newValue) {
28
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
29
+ this[decoratedFnName](oldValue, newValue);
30
+ }
31
+ }
32
+ }
33
+ update.call(this, changedProps);
34
+ };
35
+ }
36
+ };
37
+ }
38
+
39
+ export { watch };
40
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sources":["../../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;IAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;AACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;AAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;AAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;AACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,oBAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;4BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACzE;qBACF;iBACF;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACH,KAAC,CAAC;AACJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"card-element.cjs.js","sources":["../../src/base/card-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport cardStyle from \"./card.css\";\nimport textStyles from \"../styles/text-variants.css\";\nimport bgStyles from \"../styles/bg-variants.css\";\nimport borderStyles from \"../styles/border-variants.css\";\nimport headerStyles from \"../styles/header-class.css\";\nimport paragraphStyles from \"../styles/paragraph.css\";\n\nimport SgdsElement from \"./sgds-element\";\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport class CardElement extends SgdsElement {\n static styles = [...SgdsElement.styles, textStyles, bgStyles, borderStyles, headerStyles, paragraphStyles, cardStyle];\n\n /** The border's variant. */\n @property()\n borderColor: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor: CardTextVariant;\n}\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n"],"names":["SgdsElement","textStyles","bgStyles","borderStyles","headerStyles","paragraphStyles","cardStyle","__decorate","property"],"mappings":";;;;;;;;;;;;;;AAWM,MAAO,WAAY,SAAQA,sBAAW,CAAA;;AACnC,WAAA,CAAA,MAAM,GAAG,CAAC,GAAGA,sBAAW,CAAC,MAAM,EAAEC,uBAAU,EAAEC,qBAAQ,EAAEC,yBAAY,EAAEC,sBAAY,EAAEC,oBAAe,EAAEC,eAAS,CAAC,CAAC;AAItHC,gBAAA,CAAA;AADC,IAAAC,sBAAQ,EAAE;AACoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnBD,gBAAA,CAAA;AAAX,IAAAC,sBAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG3BD,gBAAA,CAAA;AAAX,IAAAC,sBAAQ,EAAE;AAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-element.cjs.js","sources":["../../src/base/dropdown-element.ts"],"sourcesContent":["import type { StrictModifiers } from \"@popperjs/core\";\nimport * as Popper from \"@popperjs/core\";\nimport Dropdown from \"bootstrap/js/src/dropdown\";\nimport type { Dropdown as BsDropdown } from \"bootstrap\";\nimport { property, state } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport SgdsElement from \"./sgds-element\";\nimport generateId from \"../utils/generateId\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n */\n\nexport class DropdownElement extends SgdsElement {\n // static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n /** @internal */\n protected bsDropdown: BsDropdown = null;\n\n /** @internal Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"div\");\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */\n @property({ type: Object })\n popperOpts = {};\n\n /** @internal */\n @state()\n dropdownConfig: Partial<Popper.Options>;\n /** @internal */\n @state()\n protected modifierOpt: StrictModifiers[] = [];\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n document.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-after-show\");\n });\n\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hide\");\n });\n\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-after-hide\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n /** When invoked, opens the dropdown menu */\n public showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n public hideMenu() {\n this.bsDropdown.hide();\n }\n\n toggleMenu() {\n this.bsDropdown.toggle();\n }\n\n private _handleKeyboardMenuEvent(e: KeyboardEvent) {\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ESC:\n return this.hideMenu();\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.hideMenu();\n }\n }\n}\n"],"names":["SgdsElement","createRef","generateId","Dropdown","mergeDeep","__decorate","property","state"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-list-element.cjs.js","sources":["../../src/base/dropdown-list-element.ts"],"sourcesContent":["import { query, state } from \"lit/decorators.js\";\nimport { DropdownElement } from \"./dropdown-element\";\nimport { SgdsDropdownItem } from \"../components\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ENTER = \"Enter\";\n\n/**\n * @event sgds-select - Emitted event when a slot item is selected\n */\nexport class DropdownListElement extends DropdownElement {\n static styles = DropdownElement.styles;\n /**@internal */\n @query(\"ul.dropdown-menu\")\n private menu: HTMLUListElement;\n\n /** @internal */\n @state()\n nextDropdownItemNo = 0;\n /** @internal */\n @state()\n prevDropdownItemNo = -1;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n firstUpdated() {\n super.firstUpdated();\n this.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent);\n }\n\n protected handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n /** Emitted event from SgdsDropdown element when a slot item is selected */\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n\n private _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n e.preventDefault();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this.handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n private _getMenuItems(): SgdsDropdownItem[] {\n // for case when default slot is used e.g. dropdown, mainnavdropdown\n if (this.shadowRoot.querySelector(\"slot#default\")) {\n return (this.shadowRoot.querySelector(\"slot#default\") as HTMLSlotElement)?.assignedElements({\n flatten: true\n }) as SgdsDropdownItem[];\n }\n\n // for case when there is no slot e.g. combobox\n if (this.menu.hasChildNodes()) {\n const menuItems = this.menu.children;\n\n return [...menuItems] as SgdsDropdownItem[];\n }\n }\n private _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n private _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem && i.focus();\n });\n }\n}\n"],"names":["DropdownElement","__decorate","query","state"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-check-element.cjs.js","sources":["../../src/base/form-check-element.ts"],"sourcesContent":["import { property, query } from \"lit/decorators.js\";\nimport { defaultValue } from \"../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../utils/form\";\nimport { watch } from \"../utils/watch\";\nimport SgdsElement from \"./sgds-element\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nexport class FormCheckElement extends SgdsElement implements SgdsFormControl {\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: FormCheckElement) => (control.checked ? control.value : undefined),\n defaultValue: (control: FormCheckElement) => control.defaultChecked,\n setValue: (control: FormCheckElement, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ type: String, reflect: true }) name: string;\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String, reflect: true }) value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback?: string;\n\n /** Aligns the checkbox horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n protected _handleChange() {\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n protected _handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n protected _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n /** @internal For Id/For pair of the HTML form control and label. */\n protected _inputId: string;\n\n /**@internal */\n @property({ type: String }) protected _size: string;\n /** @internal */\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n /** @internal */\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n }\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n md: this._size === \"md\"\n })}\n type=\"checkbox\"\n id=${this._inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this._handleChange}\n @keydown=${this._handleKeyDown}\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n <label for=\"${this._inputId}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.hasFeedback\n ? html`<div id=\"${this._inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : nothing}\n </div>\n `;\n }\n}\n\nexport default FormCheckElement;\n"],"names":["SgdsElement","FormSubmitController","html","classMap","ifDefined","nothing","__decorate","query","property","defaultValue","watch"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-element.cjs.js","sources":["../../src/base/link-element.ts"],"sourcesContent":["import { html } from \"lit\";\nimport SgdsElement from \"./sgds-element\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\n/**\n * @slot default - Default slot for SgdsMainnavItem anchor element\n */\n\nexport default class LinkElement extends SgdsElement {\n // static styles = [...SgdsElement.styles];\n\n /** when true, sets the active stylings of .nav-link */\n @property({ type: Boolean })\n active = false;\n\n /** Href attribute for anchor element in SgdsMainnavItem */\n @property({ type: String })\n href: string;\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Where to display the linked URL, as the name for a browsing context. Forwards to the HTMLAnchor target attribute */\n @property({ type: String, reflect: true })\n target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\" = \"_self\";\n\n render() {\n return html`\n <a\n href=\"${ifDefined(this.href)}\"\n class=\"nav-link ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n target=${this.target}\n ><slot></slot\n ></a>\n `;\n }\n}\n"],"names":["SgdsElement","html","ifDefined","classMap","__decorate","property"],"mappings":";;;;;;;;;;;AAMA;;AAEG;AAEkB,MAAA,WAAY,SAAQA,sBAAW,CAAA;AAApD,IAAA,WAAA,GAAA;;;;QAKE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAOf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAM,CAAA,MAAA,GAA4C,OAAO,CAAC;KAiB3D;IAfC,MAAM,GAAA;AACJ,QAAA,OAAOC,QAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACV,wBAAA,EAAAC,oBAAQ,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACU,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;wBACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AACvC,eAAA,EAAA,IAAI,CAAC,MAAM,CAAA;;;KAGvB,CAAC;KACH;AACF,CAAA;AA5BCC,gBAAA,CAAA;AADC,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACb,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIfD,gBAAA,CAAA;AADC,IAAAC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACd,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGbD,gBAAA,CAAA;IADCC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjBD,gBAAA,CAAA;IADCC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACgB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-element.cjs.js","sources":["../../src/base/sgds-element.ts"],"sourcesContent":["import { LitElement, type CSSResult } from \"lit\";\nimport style from \"./sgds-element.css\";\n/**\n * @cssprop --sgds-{stateColor} - State colors in hexadecimal value\n * @cssprop --sgds-{stateColor}-rgb - State colors in rgb value\n * @cssprop --sgds-{stateColor}-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --sgds-gray-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --overlay-background-color - The drawer and modal component overlay background color\n * @cssprop --zindex-modal - The drawer and modal component z-index value\n */\n\nexport default class SgdsElement extends LitElement {\n static styles: CSSResult[] = [style];\n /** Emits a custom event with more convenient defaults. */\n emit(name: string, options?: CustomEventInit) {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event;\n }\n}\n"],"names":["LitElement","style"],"mappings":";;;;;;;AAEA;;;;;;;AAOG;AAEH,MAAqB,WAAY,SAAQA,cAAU,CAAA;;IAGjD,IAAI,CAAC,IAAY,EAAE,OAAyB,EAAA;QAC1C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAChC,MAAA,CAAA,MAAA,CAAA,EAAA,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,EAAE,EAAA,EACP,OAAO,CAAA,CACV,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE1B,QAAA,OAAO,KAAK,CAAC;KACd;;AAdM,WAAA,CAAA,MAAM,GAAgB,CAACC,sBAAK,CAAC;;;;"}