@atom-learning/components 8.0.2 → 9.0.0-beta.0

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 (932) hide show
  1. package/README.md +0 -2
  2. package/dist/components/accordion/Accordion.d.ts +9 -9
  3. package/dist/components/accordion/Accordion.js +10 -9
  4. package/dist/components/accordion/Accordion.js.map +1 -1
  5. package/dist/components/accordion/AccordionContent.d.ts +3 -5
  6. package/dist/components/accordion/AccordionContent.js +3 -3
  7. package/dist/components/accordion/AccordionContent.js.map +1 -1
  8. package/dist/components/accordion/AccordionItem.d.ts +2 -4
  9. package/dist/components/accordion/AccordionItem.js +2 -1
  10. package/dist/components/accordion/AccordionItem.js.map +1 -1
  11. package/dist/components/accordion/AccordionTrigger.d.ts +4 -6
  12. package/dist/components/accordion/AccordionTrigger.js +4 -4
  13. package/dist/components/accordion/AccordionTrigger.js.map +1 -1
  14. package/dist/components/action-icon/ActionIcon.constants.js.map +1 -1
  15. package/dist/components/action-icon/ActionIcon.d.ts +11 -12
  16. package/dist/components/action-icon/ActionIcon.js +7 -8
  17. package/dist/components/action-icon/ActionIcon.js.map +1 -1
  18. package/dist/components/alert-dialog/{alert-context/AlertContext.d.ts → AlertDialog.context.d.ts} +1 -1
  19. package/dist/components/alert-dialog/{alert-context/AlertContext.js → AlertDialog.context.js} +5 -5
  20. package/dist/components/alert-dialog/AlertDialog.context.js.map +1 -0
  21. package/dist/components/alert-dialog/AlertDialog.d.ts +2 -4
  22. package/dist/components/alert-dialog/AlertDialog.js +2 -1
  23. package/dist/components/alert-dialog/AlertDialog.js.map +1 -1
  24. package/dist/components/alert-dialog/AlertDialogContent.d.ts +3 -5
  25. package/dist/components/alert-dialog/AlertDialogContent.js +2 -2
  26. package/dist/components/alert-dialog/AlertDialogContent.js.map +1 -1
  27. package/dist/components/alert-dialog/alert-context/AlertDialog.d.ts +1 -1
  28. package/dist/components/alert-dialog/alert-context/AlertDialog.js +3 -3
  29. package/dist/components/alert-dialog/alert-context/AlertDialog.js.map +1 -1
  30. package/dist/components/alert-dialog/alert-context/AlertDialogIcon.js.map +1 -1
  31. package/dist/components/alert-dialog/alert-context/reducer.d.ts +1 -1
  32. package/dist/components/alert-dialog/alert-context/reducer.js.map +1 -1
  33. package/dist/components/alert-dialog/alert-context/types.d.ts +1 -1
  34. package/dist/components/avatar/Avatar.context.d.ts +6 -0
  35. package/dist/components/avatar/{AvatarContext.js → Avatar.context.js} +2 -2
  36. package/dist/components/avatar/Avatar.context.js.map +1 -0
  37. package/dist/components/avatar/Avatar.d.ts +17 -21
  38. package/dist/components/avatar/Avatar.js +5 -5
  39. package/dist/components/avatar/Avatar.js.map +1 -1
  40. package/dist/components/avatar/AvatarIcon.d.ts +5 -4
  41. package/dist/components/avatar/AvatarIcon.js +1 -1
  42. package/dist/components/avatar/AvatarIcon.js.map +1 -1
  43. package/dist/components/avatar/AvatarImage.js.map +1 -1
  44. package/dist/components/avatar/AvatarInitial.js +1 -1
  45. package/dist/components/avatar/AvatarInitial.js.map +1 -1
  46. package/dist/components/avatar/AvatarPlaceholder.js +7 -9
  47. package/dist/components/avatar/AvatarPlaceholder.js.map +1 -1
  48. package/dist/components/badge/Badge.colorscheme.config.js.map +1 -1
  49. package/dist/components/badge/Badge.context.d.ts +8 -7
  50. package/dist/components/badge/Badge.context.js.map +1 -1
  51. package/dist/components/badge/Badge.d.ts +20 -24
  52. package/dist/components/badge/Badge.js +15 -15
  53. package/dist/components/badge/Badge.js.map +1 -1
  54. package/dist/components/badge/Badge.types.d.ts +1 -0
  55. package/dist/components/badge/BadgeIcon.d.ts +1 -1
  56. package/dist/components/badge/BadgeIcon.js.map +1 -1
  57. package/dist/components/badge/BadgeText.d.ts +9 -15
  58. package/dist/components/badge/BadgeText.js.map +1 -1
  59. package/dist/components/banner/Banner.context.d.ts +19 -0
  60. package/dist/components/banner/{BannerContext.js → Banner.context.js} +3 -3
  61. package/dist/components/banner/Banner.context.js.map +1 -0
  62. package/dist/components/banner/Banner.d.ts +2 -2
  63. package/dist/components/banner/Banner.js +2 -2
  64. package/dist/components/banner/Banner.js.map +1 -1
  65. package/dist/components/banner/BannerContainer.d.ts +6 -8
  66. package/dist/components/banner/BannerContainer.js +4 -4
  67. package/dist/components/banner/BannerContainer.js.map +1 -1
  68. package/dist/components/banner/banner-regular/BannerRegular.d.ts +138 -134
  69. package/dist/components/banner/banner-regular/BannerRegular.js +1 -1
  70. package/dist/components/banner/banner-regular/BannerRegular.js.map +1 -1
  71. package/dist/components/banner/banner-regular/BannerRegularActions.d.ts +4 -4
  72. package/dist/components/banner/banner-regular/BannerRegularActions.js +3 -3
  73. package/dist/components/banner/banner-regular/BannerRegularActions.js.map +1 -1
  74. package/dist/components/banner/banner-regular/BannerRegularButton.d.ts +7 -4
  75. package/dist/components/banner/banner-regular/BannerRegularButton.js +1 -1
  76. package/dist/components/banner/banner-regular/BannerRegularButton.js.map +1 -1
  77. package/dist/components/banner/banner-regular/BannerRegularContainer.d.ts +2 -2
  78. package/dist/components/banner/banner-regular/BannerRegularContainer.js.map +1 -1
  79. package/dist/components/banner/banner-regular/BannerRegularContent.d.ts +6 -8
  80. package/dist/components/banner/banner-regular/BannerRegularContent.js +2 -2
  81. package/dist/components/banner/banner-regular/BannerRegularContent.js.map +1 -1
  82. package/dist/components/banner/banner-regular/BannerRegularDismiss.d.ts +12 -13
  83. package/dist/components/banner/banner-regular/BannerRegularDismiss.js +1 -1
  84. package/dist/components/banner/banner-regular/BannerRegularDismiss.js.map +1 -1
  85. package/dist/components/banner/banner-regular/BannerRegularHeading.d.ts +4 -4
  86. package/dist/components/banner/banner-regular/BannerRegularHeading.js +2 -2
  87. package/dist/components/banner/banner-regular/BannerRegularHeading.js.map +1 -1
  88. package/dist/components/banner/banner-regular/BannerRegularImage.d.ts +4 -4
  89. package/dist/components/banner/banner-regular/BannerRegularImage.js +2 -2
  90. package/dist/components/banner/banner-regular/BannerRegularImage.js.map +1 -1
  91. package/dist/components/banner/banner-regular/BannerRegularText.d.ts +4 -4
  92. package/dist/components/banner/banner-regular/BannerRegularText.js +2 -2
  93. package/dist/components/banner/banner-regular/BannerRegularText.js.map +1 -1
  94. package/dist/components/banner/banner-slim/BannerSlim.d.ts +138 -138
  95. package/dist/components/banner/banner-slim/BannerSlim.js +1 -1
  96. package/dist/components/banner/banner-slim/BannerSlim.js.map +1 -1
  97. package/dist/components/banner/banner-slim/BannerSlimActions.d.ts +6 -8
  98. package/dist/components/banner/banner-slim/BannerSlimActions.js +4 -4
  99. package/dist/components/banner/banner-slim/BannerSlimActions.js.map +1 -1
  100. package/dist/components/banner/banner-slim/BannerSlimButton.d.ts +4 -4
  101. package/dist/components/banner/banner-slim/BannerSlimButton.js +3 -3
  102. package/dist/components/banner/banner-slim/BannerSlimButton.js.map +1 -1
  103. package/dist/components/banner/banner-slim/BannerSlimContainer.d.ts +7 -18
  104. package/dist/components/banner/banner-slim/BannerSlimContainer.js +2 -2
  105. package/dist/components/banner/banner-slim/BannerSlimContainer.js.map +1 -1
  106. package/dist/components/banner/banner-slim/BannerSlimContent.d.ts +1 -3
  107. package/dist/components/banner/banner-slim/BannerSlimContent.js.map +1 -1
  108. package/dist/components/banner/banner-slim/BannerSlimDismiss.d.ts +15 -16
  109. package/dist/components/banner/banner-slim/BannerSlimDismiss.js +2 -2
  110. package/dist/components/banner/banner-slim/BannerSlimDismiss.js.map +1 -1
  111. package/dist/components/banner/banner-slim/BannerSlimImage.d.ts +4 -4
  112. package/dist/components/banner/banner-slim/BannerSlimImage.js +2 -2
  113. package/dist/components/banner/banner-slim/BannerSlimImage.js.map +1 -1
  114. package/dist/components/banner/banner-slim/BannerSlimText.d.ts +4 -4
  115. package/dist/components/banner/banner-slim/BannerSlimText.js +2 -2
  116. package/dist/components/banner/banner-slim/BannerSlimText.js.map +1 -1
  117. package/dist/components/box/Box.d.ts +1 -3
  118. package/dist/components/box/Box.js.map +1 -1
  119. package/dist/components/button/Button.d.ts +14 -13
  120. package/dist/components/button/Button.js +6 -6
  121. package/dist/components/button/Button.js.map +1 -1
  122. package/dist/components/calendar/Calendar.d.ts +4 -4
  123. package/dist/components/calendar/Calendar.js +4 -4
  124. package/dist/components/calendar/Calendar.js.map +1 -1
  125. package/dist/components/calendar/Day.d.ts +1 -3
  126. package/dist/components/calendar/Day.js.map +1 -1
  127. package/dist/components/calendar/constants.js.map +1 -1
  128. package/dist/components/carousel/Carousel.d.ts +9 -13
  129. package/dist/components/carousel/Carousel.js +3 -4
  130. package/dist/components/carousel/Carousel.js.map +1 -1
  131. package/dist/components/carousel/CarouselArrows.d.ts +1 -3
  132. package/dist/components/carousel/CarouselArrows.js +1 -1
  133. package/dist/components/carousel/CarouselArrows.js.map +1 -1
  134. package/dist/components/carousel/CarouselPagination.js.map +1 -1
  135. package/dist/components/carousel/CarouselSlide.js +1 -2
  136. package/dist/components/carousel/CarouselSlide.js.map +1 -1
  137. package/dist/components/carousel/CarouselSlider.d.ts +4 -4
  138. package/dist/components/carousel/CarouselSlider.js.map +1 -1
  139. package/dist/components/checkbox/Checkbox.d.ts +5 -5
  140. package/dist/components/checkbox/Checkbox.js +2 -3
  141. package/dist/components/checkbox/Checkbox.js.map +1 -1
  142. package/dist/components/checkbox-field/CheckboxField.d.ts +6 -6
  143. package/dist/components/checkbox-field/CheckboxField.js +3 -8
  144. package/dist/components/checkbox-field/CheckboxField.js.map +1 -1
  145. package/dist/components/checkbox-group/CheckboxGroup.d.ts +129 -129
  146. package/dist/components/checkbox-group/CheckboxGroup.js +3 -3
  147. package/dist/components/checkbox-group/CheckboxGroup.js.map +1 -1
  148. package/dist/components/checkbox-group/CheckboxGroupAllItem.js +2 -2
  149. package/dist/components/checkbox-group/CheckboxGroupAllItem.js.map +1 -1
  150. package/dist/components/checkbox-group/{context/CheckboxGroupChecked.context.d.ts → CheckboxGroupChecked.context.d.ts} +1 -1
  151. package/dist/components/checkbox-group/{context/CheckboxGroupChecked.context.js → CheckboxGroupChecked.context.js} +1 -1
  152. package/dist/components/checkbox-group/CheckboxGroupChecked.context.js.map +1 -0
  153. package/dist/components/checkbox-group/CheckboxGroupItem.js +2 -2
  154. package/dist/components/checkbox-group/CheckboxGroupItem.js.map +1 -1
  155. package/dist/components/checkbox-group/{context/CheckboxGroupMounted.context.d.ts → CheckboxGroupMounted.context.d.ts} +1 -1
  156. package/dist/components/checkbox-group/{context/CheckboxGroupMounted.context.js → CheckboxGroupMounted.context.js} +1 -1
  157. package/dist/components/checkbox-group/CheckboxGroupMounted.context.js.map +1 -0
  158. package/dist/components/checkbox-group/CheckboxGroupSub.js +1 -1
  159. package/dist/components/checkbox-group/CheckboxGroupSub.js.map +1 -1
  160. package/dist/components/checkbox-tree/CheckboxTree.d.ts +1 -1
  161. package/dist/components/checkbox-tree/CheckboxTree.js +2 -2
  162. package/dist/components/checkbox-tree/CheckboxTree.js.map +1 -1
  163. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.d.ts +1 -1
  164. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js +7 -9
  165. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js.map +1 -1
  166. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.d.ts +1 -1
  167. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js +8 -10
  168. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js.map +1 -1
  169. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.d.ts +1 -1
  170. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.js.map +1 -1
  171. package/dist/components/checkbox-tree/CheckboxTreeItem.d.ts +1 -1
  172. package/dist/components/checkbox-tree/CheckboxTreeItem.js.map +1 -1
  173. package/dist/components/checkbox-tree/CheckboxTreeItemContent.d.ts +1 -3
  174. package/dist/components/checkbox-tree/CheckboxTreeItemContent.js +11 -10
  175. package/dist/components/checkbox-tree/CheckboxTreeItemContent.js.map +1 -1
  176. package/dist/components/chip/Chip.d.ts +15 -24
  177. package/dist/components/chip/Chip.js +12 -12
  178. package/dist/components/chip/Chip.js.map +1 -1
  179. package/dist/components/chip/ChipGroup.d.ts +1 -3
  180. package/dist/components/chip/ChipGroup.js.map +1 -1
  181. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.d.ts +11 -11
  182. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js +16 -18
  183. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js.map +1 -1
  184. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.d.ts +4 -4
  185. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js +3 -3
  186. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js.map +1 -1
  187. package/dist/components/chip-dismissible-group/index.d.ts +2 -2
  188. package/dist/components/chip-dismissible-group/index.js +0 -1
  189. package/dist/components/chip-dismissible-group/index.js.map +1 -1
  190. package/dist/components/chip-toggle-group/ChipToggleGroupItem.d.ts +11 -11
  191. package/dist/components/chip-toggle-group/ChipToggleGroupItem.js +12 -14
  192. package/dist/components/chip-toggle-group/ChipToggleGroupItem.js.map +1 -1
  193. package/dist/components/chip-toggle-group/ChipToggleGroupRoot.d.ts +5 -9
  194. package/dist/components/chip-toggle-group/ChipToggleGroupRoot.js +6 -8
  195. package/dist/components/chip-toggle-group/ChipToggleGroupRoot.js.map +1 -1
  196. package/dist/components/chip-toggle-group/index.d.ts +2 -2
  197. package/dist/components/chip-toggle-group/index.js +0 -1
  198. package/dist/components/chip-toggle-group/index.js.map +1 -1
  199. package/dist/components/combobox/Combobox.d.ts +5 -26
  200. package/dist/components/combobox/Combobox.js +1 -1
  201. package/dist/components/combobox/Combobox.js.map +1 -1
  202. package/dist/components/combobox/ComboboxInput.d.ts +4 -17
  203. package/dist/components/combobox/ComboboxInput.js +4 -4
  204. package/dist/components/combobox/ComboboxInput.js.map +1 -1
  205. package/dist/components/combobox/ComboboxList.d.ts +1 -5
  206. package/dist/components/combobox/ComboboxList.js +1 -1
  207. package/dist/components/combobox/ComboboxList.js.map +1 -1
  208. package/dist/components/combobox/ComboboxOption.d.ts +1 -5
  209. package/dist/components/combobox/ComboboxOption.js +1 -1
  210. package/dist/components/combobox/ComboboxOption.js.map +1 -1
  211. package/dist/components/combobox/ComboboxPopover.d.ts +1 -5
  212. package/dist/components/combobox/ComboboxPopover.js +1 -1
  213. package/dist/components/combobox/ComboboxPopover.js.map +1 -1
  214. package/dist/components/create-password-field/CreatePasswordField.d.ts +6 -6
  215. package/dist/components/create-password-field/CreatePasswordField.js +2 -2
  216. package/dist/components/create-password-field/CreatePasswordField.js.map +1 -1
  217. package/dist/components/data-table/{DataTableContext.d.ts → DataTable.context.d.ts} +3 -3
  218. package/dist/components/data-table/{DataTableContext.js → DataTable.context.js} +2 -2
  219. package/dist/components/data-table/DataTable.context.js.map +1 -0
  220. package/dist/components/data-table/DataTable.d.ts +74 -46
  221. package/dist/components/data-table/DataTable.js +90 -2
  222. package/dist/components/data-table/DataTable.js.map +1 -1
  223. package/dist/components/data-table/DataTable.types.d.ts +9 -9
  224. package/dist/components/data-table/DataTable.types.js +1 -0
  225. package/dist/components/data-table/DataTable.types.js.map +1 -1
  226. package/dist/components/data-table/DataTableBody.d.ts +1 -1
  227. package/dist/components/data-table/DataTableBody.js +3 -3
  228. package/dist/components/data-table/DataTableBody.js.map +1 -1
  229. package/dist/components/data-table/DataTableBulkActions.js +2 -2
  230. package/dist/components/data-table/DataTableBulkActions.js.map +1 -1
  231. package/dist/components/data-table/DataTableBulkActionsFloating.d.ts +1 -3
  232. package/dist/components/data-table/DataTableBulkActionsFloating.js +3 -3
  233. package/dist/components/data-table/DataTableBulkActionsFloating.js.map +1 -1
  234. package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js +1 -1
  235. package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js.map +1 -1
  236. package/dist/components/data-table/DataTableDataCell.js +1 -3
  237. package/dist/components/data-table/DataTableDataCell.js.map +1 -1
  238. package/dist/components/data-table/DataTableEmptyState.js +1 -1
  239. package/dist/components/data-table/DataTableEmptyState.js.map +1 -1
  240. package/dist/components/data-table/DataTableError.d.ts +2 -2
  241. package/dist/components/data-table/DataTableError.js +2 -1
  242. package/dist/components/data-table/DataTableError.js.map +1 -1
  243. package/dist/components/data-table/DataTableGlobalFilter.d.ts +1 -1
  244. package/dist/components/data-table/DataTableGlobalFilter.js +3 -3
  245. package/dist/components/data-table/DataTableGlobalFilter.js.map +1 -1
  246. package/dist/components/data-table/DataTableHead.d.ts +1 -1
  247. package/dist/components/data-table/DataTableHead.js +3 -3
  248. package/dist/components/data-table/DataTableHead.js.map +1 -1
  249. package/dist/components/data-table/DataTableHeaderCell.d.ts +1 -1
  250. package/dist/components/data-table/DataTableHeaderCell.js +4 -4
  251. package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
  252. package/dist/components/data-table/DataTableLoading.d.ts +3 -5
  253. package/dist/components/data-table/DataTableLoading.js +1 -1
  254. package/dist/components/data-table/DataTableLoading.js.map +1 -1
  255. package/dist/components/data-table/DataTableMetaData.js +1 -1
  256. package/dist/components/data-table/DataTableMetaData.js.map +1 -1
  257. package/dist/components/data-table/DataTableRow.js +1 -1
  258. package/dist/components/data-table/DataTableRow.js.map +1 -1
  259. package/dist/components/data-table/DataTableRowSelectionCheckbox.d.ts +1 -1
  260. package/dist/components/data-table/DataTableRowSelectionCheckbox.js +1 -1
  261. package/dist/components/data-table/DataTableRowSelectionCheckbox.js.map +1 -1
  262. package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js +1 -1
  263. package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js.map +1 -1
  264. package/dist/components/data-table/DataTableTable.d.ts +1 -1
  265. package/dist/components/data-table/DataTableTable.js +4 -4
  266. package/dist/components/data-table/DataTableTable.js.map +1 -1
  267. package/dist/components/data-table/drag-and-drop/DragAndDropTable.d.ts +3 -3
  268. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +4 -4
  269. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
  270. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.d.ts +1 -1
  271. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js +3 -3
  272. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js.map +1 -1
  273. package/dist/components/data-table/drag-and-drop/DragAndDropTableRow.js.map +1 -1
  274. package/dist/components/data-table/getNewAsyncData.d.ts +2 -2
  275. package/dist/components/data-table/getNewAsyncData.js.map +1 -1
  276. package/dist/components/data-table/pagination/Pagination.d.ts +6 -9
  277. package/dist/components/data-table/pagination/Pagination.js +3 -3
  278. package/dist/components/data-table/pagination/Pagination.js.map +1 -1
  279. package/dist/components/data-table/usePagination.d.ts +1 -1
  280. package/dist/components/data-table/usePagination.js +4 -4
  281. package/dist/components/data-table/usePagination.js.map +1 -1
  282. package/dist/components/data-table/useSorting.d.ts +3 -3
  283. package/dist/components/data-table/useSorting.js +3 -3
  284. package/dist/components/data-table/useSorting.js.map +1 -1
  285. package/dist/components/date-field/DateField.d.ts +6 -6
  286. package/dist/components/date-field/DateField.js +2 -2
  287. package/dist/components/date-field/DateField.js.map +1 -1
  288. package/dist/components/date-input/DateInput.d.ts +3 -11
  289. package/dist/components/date-input/DateInput.js +4 -5
  290. package/dist/components/date-input/DateInput.js.map +1 -1
  291. package/dist/components/dialog/Dialog.d.ts +11 -21
  292. package/dist/components/dialog/Dialog.js +1 -1
  293. package/dist/components/dialog/Dialog.js.map +1 -1
  294. package/dist/components/dialog/DialogActionBar.d.ts +1 -3
  295. package/dist/components/dialog/DialogActionBar.js.map +1 -1
  296. package/dist/components/dialog/DialogBackground.d.ts +1 -3
  297. package/dist/components/dialog/DialogBackground.js.map +1 -1
  298. package/dist/components/dialog/DialogContent.d.ts +4 -6
  299. package/dist/components/dialog/DialogContent.js +5 -5
  300. package/dist/components/dialog/DialogContent.js.map +1 -1
  301. package/dist/components/dialog/DialogFooter.d.ts +1 -3
  302. package/dist/components/dialog/DialogFooter.js.map +1 -1
  303. package/dist/components/dialog/DialogHeading.d.ts +2 -2
  304. package/dist/components/dialog/DialogHeading.js.map +1 -1
  305. package/dist/components/dialog/DialogNavigationBar.d.ts +1 -3
  306. package/dist/components/dialog/DialogNavigationBar.js.map +1 -1
  307. package/dist/components/dialog/DialogScrollableContent.d.ts +1 -3
  308. package/dist/components/dialog/DialogScrollableContent.js.map +1 -1
  309. package/dist/components/dismissible/DismissibleRoot.d.ts +9 -9
  310. package/dist/components/dismissible/DismissibleRoot.js +1 -1
  311. package/dist/components/dismissible/DismissibleRoot.js.map +1 -1
  312. package/dist/components/dismissible/DismissibleTrigger.d.ts +2 -2
  313. package/dist/components/dismissible/DismissibleTrigger.js.map +1 -1
  314. package/dist/components/dismissible/index.d.ts +2 -2
  315. package/dist/components/dismissible/index.js +1 -1
  316. package/dist/components/dismissible/index.js.map +1 -1
  317. package/dist/components/dismissible-group/DismissibleGroupItem.d.ts +3 -3
  318. package/dist/components/dismissible-group/DismissibleGroupItem.js.map +1 -1
  319. package/dist/components/dismissible-group/DismissibleGroupRoot.d.ts +10 -9
  320. package/dist/components/dismissible-group/DismissibleGroupRoot.js +6 -8
  321. package/dist/components/dismissible-group/DismissibleGroupRoot.js.map +1 -1
  322. package/dist/components/dismissible-group/index.d.ts +3 -3
  323. package/dist/components/dismissible-group/index.js +1 -1
  324. package/dist/components/dismissible-group/index.js.map +1 -1
  325. package/dist/components/divider/Divider.d.ts +2 -10
  326. package/dist/components/divider/Divider.js +4 -12
  327. package/dist/components/divider/Divider.js.map +1 -1
  328. package/dist/components/drawer/Drawer.context.d.ts +3 -3
  329. package/dist/components/drawer/Drawer.context.js.map +1 -1
  330. package/dist/components/drawer/Drawer.d.ts +7 -14
  331. package/dist/components/drawer/Drawer.js +16 -16
  332. package/dist/components/drawer/Drawer.js.map +1 -1
  333. package/dist/components/drawer/DrawerClose.d.ts +2 -2
  334. package/dist/components/drawer/DrawerClose.js +2 -1
  335. package/dist/components/drawer/DrawerClose.js.map +1 -1
  336. package/dist/components/drawer/DrawerContent.d.ts +3 -5
  337. package/dist/components/drawer/DrawerContent.js +4 -4
  338. package/dist/components/drawer/DrawerContent.js.map +1 -1
  339. package/dist/components/drawer/DrawerFooter.d.ts +1 -3
  340. package/dist/components/drawer/DrawerFooter.js.map +1 -1
  341. package/dist/components/drawer/DrawerHeader.d.ts +1 -3
  342. package/dist/components/drawer/DrawerHeader.js.map +1 -1
  343. package/dist/components/drawer/DrawerMain.d.ts +1 -3
  344. package/dist/components/drawer/DrawerMain.js.map +1 -1
  345. package/dist/components/drawer/DrawerOverlay.d.ts +1 -3
  346. package/dist/components/drawer/DrawerOverlay.js +1 -1
  347. package/dist/components/drawer/DrawerOverlay.js.map +1 -1
  348. package/dist/components/dropdown-menu/DropdownMenu.d.ts +7 -15
  349. package/dist/components/dropdown-menu/DropdownMenu.js +2 -1
  350. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  351. package/dist/components/dropdown-menu/DropdownMenuContent.d.ts +1 -3
  352. package/dist/components/dropdown-menu/DropdownMenuContent.js +1 -1
  353. package/dist/components/dropdown-menu/DropdownMenuContent.js.map +1 -1
  354. package/dist/components/dropdown-menu/DropdownMenuItem.d.ts +1 -3
  355. package/dist/components/dropdown-menu/DropdownMenuItem.js +1 -1
  356. package/dist/components/dropdown-menu/DropdownMenuItem.js.map +1 -1
  357. package/dist/components/dropdown-menu/DropdownMenuLabel.d.ts +4 -4
  358. package/dist/components/dropdown-menu/DropdownMenuLabel.js +2 -2
  359. package/dist/components/dropdown-menu/DropdownMenuLabel.js.map +1 -1
  360. package/dist/components/dropdown-menu/DropdownMenuLinkItem.d.ts +2 -2
  361. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +2 -2
  362. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js.map +1 -1
  363. package/dist/components/dropdown-menu/DropdownMenuSeparator.d.ts +1 -3
  364. package/dist/components/dropdown-menu/DropdownMenuSeparator.js +1 -1
  365. package/dist/components/dropdown-menu/DropdownMenuSeparator.js.map +1 -1
  366. package/dist/components/dropdown-menu/DropdownMenuTrigger.d.ts +1 -3
  367. package/dist/components/dropdown-menu/DropdownMenuTrigger.js +1 -1
  368. package/dist/components/dropdown-menu/DropdownMenuTrigger.js.map +1 -1
  369. package/dist/components/empty-state/EmptyState.context.js.map +1 -1
  370. package/dist/components/empty-state/EmptyState.d.ts +23 -29
  371. package/dist/components/empty-state/EmptyState.js +2 -2
  372. package/dist/components/empty-state/EmptyState.js.map +1 -1
  373. package/dist/components/empty-state/EmptyStateBody.d.ts +7 -13
  374. package/dist/components/empty-state/EmptyStateBody.js +1 -1
  375. package/dist/components/empty-state/EmptyStateBody.js.map +1 -1
  376. package/dist/components/empty-state/EmptyStateImage.d.ts +12 -10
  377. package/dist/components/empty-state/EmptyStateImage.js +3 -3
  378. package/dist/components/empty-state/EmptyStateImage.js.map +1 -1
  379. package/dist/components/empty-state/EmptyStateTitle.d.ts +5 -6
  380. package/dist/components/empty-state/EmptyStateTitle.js +1 -1
  381. package/dist/components/empty-state/EmptyStateTitle.js.map +1 -1
  382. package/dist/components/field-wrapper/FieldDescription.js.map +1 -1
  383. package/dist/components/field-wrapper/FieldWrapper.d.ts +5 -5
  384. package/dist/components/field-wrapper/FieldWrapper.js +1 -1
  385. package/dist/components/field-wrapper/FieldWrapper.js.map +1 -1
  386. package/dist/components/field-wrapper/InlineFieldWrapper.d.ts +4 -4
  387. package/dist/components/field-wrapper/InlineFieldWrapper.js.map +1 -1
  388. package/dist/components/file-drop/FileDrop.context.d.ts +3 -0
  389. package/dist/components/file-drop/FileDrop.context.js +10 -0
  390. package/dist/components/file-drop/FileDrop.context.js.map +1 -0
  391. package/dist/components/file-drop/FileDrop.d.ts +4 -4
  392. package/dist/components/file-drop/FileDrop.js +3 -3
  393. package/dist/components/file-drop/FileDrop.js.map +1 -1
  394. package/dist/components/file-drop/useFileDrop.d.ts +1 -1
  395. package/dist/components/file-drop/useFileDrop.js +3 -3
  396. package/dist/components/file-drop/useFileDrop.js.map +1 -1
  397. package/dist/components/file-input/FileInput.d.ts +6 -5
  398. package/dist/components/file-input/FileInput.js +1 -1
  399. package/dist/components/file-input/FileInput.js.map +1 -1
  400. package/dist/components/flex/Flex.d.ts +6 -8
  401. package/dist/components/flex/Flex.js +1 -1
  402. package/dist/components/flex/Flex.js.map +1 -1
  403. package/dist/components/form/Form.d.ts +4 -4
  404. package/dist/components/form/Form.js.map +1 -1
  405. package/dist/components/form/useFieldError.js.map +1 -1
  406. package/dist/components/form/useFormCustomContext.js.map +1 -1
  407. package/dist/components/grid/Grid.d.ts +6 -8
  408. package/dist/components/grid/Grid.js +3 -3
  409. package/dist/components/grid/Grid.js.map +1 -1
  410. package/dist/components/heading/Heading.d.ts +5 -8
  411. package/dist/components/heading/Heading.js +7 -11
  412. package/dist/components/heading/Heading.js.map +1 -1
  413. package/dist/components/icon/Icon.d.ts +4 -6
  414. package/dist/components/icon/Icon.js +6 -6
  415. package/dist/components/icon/Icon.js.map +1 -1
  416. package/dist/components/image/Image.d.ts +10 -6
  417. package/dist/components/image/Image.js +21 -8
  418. package/dist/components/image/Image.js.map +1 -1
  419. package/dist/components/image/ImageCredit.d.ts +15 -0
  420. package/dist/components/image/ImageCredit.js +69 -0
  421. package/dist/components/image/ImageCredit.js.map +1 -0
  422. package/dist/components/index.d.ts +8 -6
  423. package/dist/components/index.js +105 -0
  424. package/dist/components/index.js.map +1 -0
  425. package/dist/components/inline-message/InlineMessage.config.d.ts +1 -1
  426. package/dist/components/inline-message/InlineMessage.config.js +1 -0
  427. package/dist/components/inline-message/InlineMessage.config.js.map +1 -1
  428. package/dist/components/inline-message/InlineMessage.d.ts +4 -6
  429. package/dist/components/inline-message/InlineMessage.js +1 -1
  430. package/dist/components/inline-message/InlineMessage.js.map +1 -1
  431. package/dist/components/input/Input.d.ts +13 -20
  432. package/dist/components/input/Input.js +16 -19
  433. package/dist/components/input/Input.js.map +1 -1
  434. package/dist/components/input-field/InputField.d.ts +6 -6
  435. package/dist/components/input-field/InputField.js +2 -2
  436. package/dist/components/input-field/InputField.js.map +1 -1
  437. package/dist/components/keyboard-shortcut/KeyboardShortcut.d.ts +11 -18
  438. package/dist/components/keyboard-shortcut/KeyboardShortcut.js +3 -5
  439. package/dist/components/keyboard-shortcut/KeyboardShortcut.js.map +1 -1
  440. package/dist/components/keyboard-shortcut/index.d.ts +15 -19
  441. package/dist/components/keyboard-shortcut/index.js +1 -2
  442. package/dist/components/keyboard-shortcut/index.js.map +1 -1
  443. package/dist/components/label/Label.d.ts +9 -11
  444. package/dist/components/label/Label.js.map +1 -1
  445. package/dist/components/link/Link.d.ts +11 -10
  446. package/dist/components/link/Link.js +3 -4
  447. package/dist/components/link/Link.js.map +1 -1
  448. package/dist/components/list/List.d.ts +5 -10
  449. package/dist/components/list/List.js +6 -6
  450. package/dist/components/list/List.js.map +1 -1
  451. package/dist/components/loader/Loader.d.ts +1 -1
  452. package/dist/components/loader/Loader.js +2 -2
  453. package/dist/components/loader/Loader.js.map +1 -1
  454. package/dist/components/markdown-content/MarkdownContent.d.ts +5 -7
  455. package/dist/components/markdown-content/MarkdownContent.js.map +1 -1
  456. package/dist/components/markdown-content/components/MarkdownCode.js.map +1 -1
  457. package/dist/components/markdown-content/components/MarkdownEmphasis.d.ts +1 -3
  458. package/dist/components/markdown-content/components/MarkdownEmphasis.js +1 -1
  459. package/dist/components/markdown-content/components/MarkdownEmphasis.js.map +1 -1
  460. package/dist/components/markdown-content/components/MarkdownHeading.js.map +1 -1
  461. package/dist/components/markdown-content/components/MarkdownImage.js.map +1 -1
  462. package/dist/components/markdown-content/components/MarkdownInlineCode.js.map +1 -1
  463. package/dist/components/markdown-content/components/MarkdownLink.js.map +1 -1
  464. package/dist/components/markdown-content/components/MarkdownList.js.map +1 -1
  465. package/dist/components/markdown-content/components/MarkdownListItem.js.map +1 -1
  466. package/dist/components/markdown-content/components/MarkdownParagraph.js.map +1 -1
  467. package/dist/components/markdown-content/components/MarkdownStrong.js.map +1 -1
  468. package/dist/components/markdown-content/components/MarkdownText.js +1 -0
  469. package/dist/components/markdown-content/components/MarkdownText.js.map +1 -1
  470. package/dist/components/markdown-content/components/MarkdownThematicBreak.js.map +1 -1
  471. package/dist/components/navigation/NavigationMenu.colorscheme.config.js.map +1 -1
  472. package/dist/components/navigation/{NavigationMenuContext.d.ts → NavigationMenu.context.d.ts} +1 -1
  473. package/dist/components/navigation/NavigationMenu.context.js +12 -0
  474. package/dist/components/navigation/NavigationMenu.context.js.map +1 -0
  475. package/dist/components/navigation/NavigationMenu.d.ts +25 -48
  476. package/dist/components/navigation/NavigationMenu.js +12 -12
  477. package/dist/components/navigation/NavigationMenu.js.map +1 -1
  478. package/dist/components/navigation/NavigationMenu.styles.js.map +1 -1
  479. package/dist/components/navigation/NavigationMenuDropdown.d.ts +4 -4
  480. package/dist/components/navigation/NavigationMenuDropdown.js +3 -3
  481. package/dist/components/navigation/NavigationMenuDropdown.js.map +1 -1
  482. package/dist/components/navigation/NavigationMenuDropdownContent.d.ts +6 -8
  483. package/dist/components/navigation/NavigationMenuDropdownContent.js.map +1 -1
  484. package/dist/components/navigation/NavigationMenuDropdownItem.d.ts +9 -25
  485. package/dist/components/navigation/NavigationMenuDropdownItem.js +5 -8
  486. package/dist/components/navigation/NavigationMenuDropdownItem.js.map +1 -1
  487. package/dist/components/navigation/NavigationMenuDropdownTrigger.d.ts +5 -5
  488. package/dist/components/navigation/NavigationMenuDropdownTrigger.js +5 -6
  489. package/dist/components/navigation/NavigationMenuDropdownTrigger.js.map +1 -1
  490. package/dist/components/navigation/NavigationMenuLink.d.ts +7 -12
  491. package/dist/components/navigation/NavigationMenuLink.js +5 -6
  492. package/dist/components/navigation/NavigationMenuLink.js.map +1 -1
  493. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.js.map +1 -1
  494. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.d.ts +254 -260
  495. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js +1 -1
  496. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js.map +1 -1
  497. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.styles.js.map +1 -1
  498. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.d.ts +4 -4
  499. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.js.map +1 -1
  500. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.d.ts +3 -3
  501. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js +2 -2
  502. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js.map +1 -1
  503. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.d.ts +5 -7
  504. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js +2 -2
  505. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js.map +1 -1
  506. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalIcon.d.ts +5 -7
  507. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalIcon.js.map +1 -1
  508. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.d.ts +3 -3
  509. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.js.map +1 -1
  510. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.d.ts +2 -2
  511. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js.map +1 -1
  512. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.d.ts +3 -5
  513. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.js.map +1 -1
  514. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalList.d.ts +1 -3
  515. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalList.js.map +1 -1
  516. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.d.ts +9 -15
  517. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.js +1 -1
  518. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.js.map +1 -1
  519. package/dist/components/notification-badge/NotificationBadge.d.ts +1 -1
  520. package/dist/components/notification-badge/NotificationBadge.js.map +1 -1
  521. package/dist/components/number-input/NumberInput.d.ts +3 -1
  522. package/dist/components/number-input/NumberInput.js +3 -4
  523. package/dist/components/number-input/NumberInput.js.map +1 -1
  524. package/dist/components/number-input/NumberInputStepper.d.ts +10 -11
  525. package/dist/components/number-input/NumberInputStepper.js +4 -5
  526. package/dist/components/number-input/NumberInputStepper.js.map +1 -1
  527. package/dist/components/number-input-field/NumberInputField.d.ts +5 -5
  528. package/dist/components/number-input-field/NumberInputField.js +2 -2
  529. package/dist/components/number-input-field/NumberInputField.js.map +1 -1
  530. package/dist/components/pagination/{pagination-context/PaginationContext.d.ts → Pagination.context.d.ts} +1 -1
  531. package/dist/components/pagination/{pagination-context/PaginationContext.js → Pagination.context.js} +4 -4
  532. package/dist/components/pagination/Pagination.context.js.map +1 -0
  533. package/dist/components/pagination/Pagination.js +2 -2
  534. package/dist/components/pagination/Pagination.js.map +1 -1
  535. package/dist/components/pagination/PaginationItems.js.map +1 -1
  536. package/dist/components/pagination/PaginationNextButton.d.ts +8 -9
  537. package/dist/components/pagination/PaginationNextButton.js.map +1 -1
  538. package/dist/components/pagination/PaginationPage.js.map +1 -1
  539. package/dist/components/pagination/PaginationPopover.d.ts +1 -1
  540. package/dist/components/pagination/PaginationPopover.js +2 -2
  541. package/dist/components/pagination/PaginationPopover.js.map +1 -1
  542. package/dist/components/pagination/PaginationPreviousButton.d.ts +8 -9
  543. package/dist/components/pagination/PaginationPreviousButton.js.map +1 -1
  544. package/dist/components/pagination/pagination.constants.js.map +1 -1
  545. package/dist/components/pagination/pagination.helper.d.ts +1 -1
  546. package/dist/components/pagination/pagination.helper.js.map +1 -1
  547. package/dist/components/pagination/types.d.ts +3 -3
  548. package/dist/components/pagination/usePagination.js +1 -1
  549. package/dist/components/pagination/usePagination.js.map +1 -1
  550. package/dist/components/password-field/PasswordField.d.ts +6 -6
  551. package/dist/components/password-field/PasswordField.js +2 -2
  552. package/dist/components/password-field/PasswordField.js.map +1 -1
  553. package/dist/components/password-input/PasswordInput.d.ts +2 -2
  554. package/dist/components/password-input/PasswordInput.js +3 -4
  555. package/dist/components/password-input/PasswordInput.js.map +1 -1
  556. package/dist/components/popover/Popover.d.ts +4 -4
  557. package/dist/components/popover/Popover.js +1 -1
  558. package/dist/components/popover/Popover.js.map +1 -1
  559. package/dist/components/popover/PopoverContent.d.ts +3 -5
  560. package/dist/components/popover/PopoverContent.js +2 -2
  561. package/dist/components/popover/PopoverContent.js.map +1 -1
  562. package/dist/components/progress-bar/ProgressBar.d.ts +7 -9
  563. package/dist/components/progress-bar/ProgressBar.js +3 -3
  564. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  565. package/dist/components/radio-button/RadioButton.d.ts +7 -11
  566. package/dist/components/radio-button/RadioButton.js +10 -9
  567. package/dist/components/radio-button/RadioButton.js.map +1 -1
  568. package/dist/components/radio-button/RadioButtonGroup.d.ts +2 -4
  569. package/dist/components/radio-button/RadioButtonGroup.js +1 -1
  570. package/dist/components/radio-button/RadioButtonGroup.js.map +1 -1
  571. package/dist/components/radio-button-field/RadioButtonField.d.ts +7 -11
  572. package/dist/components/radio-button-field/RadioButtonField.js +3 -3
  573. package/dist/components/radio-button-field/RadioButtonField.js.map +1 -1
  574. package/dist/components/radio-button-field/RadioField.d.ts +6 -6
  575. package/dist/components/radio-button-field/RadioField.js +2 -2
  576. package/dist/components/radio-button-field/RadioField.js.map +1 -1
  577. package/dist/components/radio-card/RadioCard.d.ts +2 -4
  578. package/dist/components/radio-card/RadioCard.js.map +1 -1
  579. package/dist/components/radio-card/RadioCardGroup.js.map +1 -1
  580. package/dist/components/search-field/SearchField.d.ts +6 -6
  581. package/dist/components/search-field/SearchField.js +2 -2
  582. package/dist/components/search-field/SearchField.js.map +1 -1
  583. package/dist/components/search-input/SearchInput.d.ts +2 -2
  584. package/dist/components/search-input/SearchInput.js +8 -14
  585. package/dist/components/search-input/SearchInput.js.map +1 -1
  586. package/dist/components/section-message/{SectionMessageContext.d.ts → SectionMessage.context.d.ts} +1 -1
  587. package/dist/components/section-message/{SectionMessageContext.js → SectionMessage.context.js} +9 -9
  588. package/dist/components/section-message/SectionMessage.context.js.map +1 -0
  589. package/dist/components/section-message/SectionMessage.d.ts +17 -19
  590. package/dist/components/section-message/SectionMessage.js +10 -8
  591. package/dist/components/section-message/SectionMessage.js.map +1 -1
  592. package/dist/components/section-message/SectionMessageDescription.d.ts +1 -1
  593. package/dist/components/section-message/SectionMessageDescription.js.map +1 -1
  594. package/dist/components/section-message/SectionMessageDismiss.js +1 -1
  595. package/dist/components/section-message/SectionMessageDismiss.js.map +1 -1
  596. package/dist/components/section-message/SectionMessageIcon.js +1 -1
  597. package/dist/components/section-message/SectionMessageIcon.js.map +1 -1
  598. package/dist/components/section-message/SectionMessageLayout.d.ts +3 -5
  599. package/dist/components/section-message/SectionMessageLayout.js.map +1 -1
  600. package/dist/components/section-message/SectionMessageTitle.d.ts +3 -3
  601. package/dist/components/section-message/SectionMessageTitle.js.map +1 -1
  602. package/dist/components/segmented-control/{SegmentedControlContext.js → SegmentedControl.context.js} +2 -2
  603. package/dist/components/segmented-control/SegmentedControl.context.js.map +1 -0
  604. package/dist/components/segmented-control/SegmentedControl.d.ts +26 -44
  605. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  606. package/dist/components/segmented-control/SegmentedControlBadge.d.ts +1 -1
  607. package/dist/components/segmented-control/SegmentedControlBadge.js +3 -3
  608. package/dist/components/segmented-control/SegmentedControlBadge.js.map +1 -1
  609. package/dist/components/segmented-control/SegmentedControlContent.d.ts +1 -3
  610. package/dist/components/segmented-control/SegmentedControlContent.js +1 -0
  611. package/dist/components/segmented-control/SegmentedControlContent.js.map +1 -1
  612. package/dist/components/segmented-control/SegmentedControlDescription.d.ts +8 -14
  613. package/dist/components/segmented-control/SegmentedControlDescription.js +2 -2
  614. package/dist/components/segmented-control/SegmentedControlDescription.js.map +1 -1
  615. package/dist/components/segmented-control/SegmentedControlHeading.d.ts +8 -14
  616. package/dist/components/segmented-control/SegmentedControlHeading.js +2 -2
  617. package/dist/components/segmented-control/SegmentedControlHeading.js.map +1 -1
  618. package/dist/components/segmented-control/SegmentedControlIcon.d.ts +1 -1
  619. package/dist/components/segmented-control/SegmentedControlIcon.js +1 -1
  620. package/dist/components/segmented-control/SegmentedControlIcon.js.map +1 -1
  621. package/dist/components/segmented-control/SegmentedControlItem.d.ts +6 -6
  622. package/dist/components/segmented-control/SegmentedControlItem.js +5 -6
  623. package/dist/components/segmented-control/SegmentedControlItem.js.map +1 -1
  624. package/dist/components/segmented-control/SegmentedControlItemList.js +1 -1
  625. package/dist/components/segmented-control/SegmentedControlItemList.js.map +1 -1
  626. package/dist/components/segmented-control/SegmentedControlRoot.d.ts +15 -7
  627. package/dist/components/segmented-control/SegmentedControlRoot.js +9 -9
  628. package/dist/components/segmented-control/SegmentedControlRoot.js.map +1 -1
  629. package/dist/components/select/Select.d.ts +7 -10
  630. package/dist/components/select/Select.js +9 -7
  631. package/dist/components/select/Select.js.map +1 -1
  632. package/dist/components/select-field/SelectField.d.ts +6 -6
  633. package/dist/components/select-field/SelectField.js +2 -2
  634. package/dist/components/select-field/SelectField.js.map +1 -1
  635. package/dist/components/select-menu/{SelectMenuContext.js → SelectMenu.context.js} +2 -2
  636. package/dist/components/select-menu/SelectMenu.context.js.map +1 -0
  637. package/dist/components/select-menu/SelectMenu.d.ts +7 -9
  638. package/dist/components/select-menu/SelectMenu.js +4 -4
  639. package/dist/components/select-menu/SelectMenu.js.map +1 -1
  640. package/dist/components/select-menu/SelectMenuContent.d.ts +3 -1
  641. package/dist/components/select-menu/SelectMenuContent.js +4 -5
  642. package/dist/components/select-menu/SelectMenuContent.js.map +1 -1
  643. package/dist/components/select-menu/SelectMenuItem.d.ts +3 -1
  644. package/dist/components/select-menu/SelectMenuItem.js +5 -6
  645. package/dist/components/select-menu/SelectMenuItem.js.map +1 -1
  646. package/dist/components/select-menu/SelectMenuLabel.d.ts +4 -4
  647. package/dist/components/select-menu/SelectMenuLabel.js +2 -2
  648. package/dist/components/select-menu/SelectMenuLabel.js.map +1 -1
  649. package/dist/components/select-menu/SelectMenuSeparator.d.ts +1 -3
  650. package/dist/components/select-menu/SelectMenuSeparator.js +1 -1
  651. package/dist/components/select-menu/SelectMenuSeparator.js.map +1 -1
  652. package/dist/components/select-menu/SelectMenuTrigger.d.ts +1 -1
  653. package/dist/components/select-menu/SelectMenuTrigger.js +5 -6
  654. package/dist/components/select-menu/SelectMenuTrigger.js.map +1 -1
  655. package/dist/components/select-menu-field/SelectMenuField.d.ts +5 -5
  656. package/dist/components/select-menu-field/SelectMenuField.js +2 -2
  657. package/dist/components/select-menu-field/SelectMenuField.js.map +1 -1
  658. package/dist/components/side-bar/{SideBarContext.js → SideBar.context.js} +2 -2
  659. package/dist/components/side-bar/SideBar.context.js.map +1 -0
  660. package/dist/components/side-bar/SideBar.d.ts +24 -35
  661. package/dist/components/side-bar/SideBar.js +14 -12
  662. package/dist/components/side-bar/SideBar.js.map +1 -1
  663. package/dist/components/side-bar/SideBarComponents.d.ts +20 -28
  664. package/dist/components/side-bar/SideBarComponents.js +2 -1
  665. package/dist/components/side-bar/SideBarComponents.js.map +1 -1
  666. package/dist/components/skeleton-loader/Skeleton.d.ts +1 -3
  667. package/dist/components/skeleton-loader/Skeleton.js.map +1 -1
  668. package/dist/components/skeleton-loader/SkeletonBarChart.d.ts +1 -1
  669. package/dist/components/skeleton-loader/SkeletonBarChart.js.map +1 -1
  670. package/dist/components/skeleton-loader/SkeletonButton.d.ts +2 -2
  671. package/dist/components/skeleton-loader/SkeletonButton.js.map +1 -1
  672. package/dist/components/skeleton-loader/SkeletonCard.d.ts +1 -1
  673. package/dist/components/skeleton-loader/SkeletonCard.js.map +1 -1
  674. package/dist/components/skeleton-loader/SkeletonColumnChart.d.ts +1 -1
  675. package/dist/components/skeleton-loader/SkeletonColumnChart.js.map +1 -1
  676. package/dist/components/skeleton-loader/SkeletonDoughnutChart.d.ts +1 -1
  677. package/dist/components/skeleton-loader/SkeletonDoughnutChart.js.map +1 -1
  678. package/dist/components/skeleton-loader/SkeletonHeading.d.ts +2 -2
  679. package/dist/components/skeleton-loader/SkeletonHeading.js.map +1 -1
  680. package/dist/components/skeleton-loader/SkeletonPanelList.d.ts +1 -1
  681. package/dist/components/skeleton-loader/SkeletonPanelList.js.map +1 -1
  682. package/dist/components/skeleton-loader/SkeletonSubjectList.d.ts +1 -1
  683. package/dist/components/skeleton-loader/SkeletonSubjectList.js.map +1 -1
  684. package/dist/components/skeleton-loader/SkeletonTable.d.ts +1 -1
  685. package/dist/components/skeleton-loader/SkeletonTable.js +21 -23
  686. package/dist/components/skeleton-loader/SkeletonTable.js.map +1 -1
  687. package/dist/components/skeleton-loader/SkeletonTabs.d.ts +1 -1
  688. package/dist/components/skeleton-loader/SkeletonTabs.js.map +1 -1
  689. package/dist/components/skeleton-loader/index.js +1 -1
  690. package/dist/components/slider/Slider.d.ts +10 -12
  691. package/dist/components/slider/Slider.js +7 -6
  692. package/dist/components/slider/Slider.js.map +1 -1
  693. package/dist/components/slider/SliderSteps.js.map +1 -1
  694. package/dist/components/slider/SliderValue.js +4 -6
  695. package/dist/components/slider/SliderValue.js.map +1 -1
  696. package/dist/components/slider-field/SliderField.d.ts +9 -9
  697. package/dist/components/slider-field/SliderField.js +4 -4
  698. package/dist/components/slider-field/SliderField.js.map +1 -1
  699. package/dist/components/sortable/Handle.d.ts +12 -11
  700. package/dist/components/sortable/Handle.js +10 -13
  701. package/dist/components/sortable/Handle.js.map +1 -1
  702. package/dist/components/sortable/SortableHandle.d.ts +7 -7
  703. package/dist/components/sortable/SortableHandle.js.map +1 -1
  704. package/dist/components/sortable/SortableItem.d.ts +5 -5
  705. package/dist/components/sortable/SortableItem.js.map +1 -1
  706. package/dist/components/sortable/SortableRoot.d.ts +5 -5
  707. package/dist/components/sortable/SortableRoot.js.map +1 -1
  708. package/dist/components/sortable/index.js +1 -1
  709. package/dist/components/spacer/Spacer.d.ts +1 -3
  710. package/dist/components/spacer/Spacer.js.map +1 -1
  711. package/dist/components/stepper/{stepper-context/StepperContext.d.ts → Stepper.context.d.ts} +1 -1
  712. package/dist/components/stepper/{stepper-context/StepperContext.js → Stepper.context.js} +2 -2
  713. package/dist/components/stepper/Stepper.context.js.map +1 -0
  714. package/dist/components/stepper/Stepper.d.ts +5 -5
  715. package/dist/components/stepper/Stepper.js +2 -2
  716. package/dist/components/stepper/Stepper.js.map +1 -1
  717. package/dist/components/stepper/StepperStepBack.d.ts +2 -2
  718. package/dist/components/stepper/StepperStepBack.js +1 -1
  719. package/dist/components/stepper/StepperStepBack.js.map +1 -1
  720. package/dist/components/stepper/StepperStepBullet.d.ts +2 -4
  721. package/dist/components/stepper/StepperStepBullet.js.map +1 -1
  722. package/dist/components/stepper/StepperStepContainer.d.ts +3 -5
  723. package/dist/components/stepper/StepperStepContainer.js.map +1 -1
  724. package/dist/components/stepper/StepperStepForward.d.ts +2 -2
  725. package/dist/components/stepper/StepperStepForward.js +1 -1
  726. package/dist/components/stepper/StepperStepForward.js.map +1 -1
  727. package/dist/components/stepper/StepperStepLabel.d.ts +7 -13
  728. package/dist/components/stepper/StepperStepLabel.js.map +1 -1
  729. package/dist/components/stepper/StepperSteps.d.ts +2 -2
  730. package/dist/components/stepper/StepperSteps.js +1 -1
  731. package/dist/components/stepper/StepperSteps.js.map +1 -1
  732. package/dist/components/stepper/types.d.ts +3 -3
  733. package/dist/components/stepper/types.js.map +1 -1
  734. package/dist/components/switch/Switch.d.ts +6 -8
  735. package/dist/components/switch/Switch.js.map +1 -1
  736. package/dist/components/table/Table.d.ts +15 -27
  737. package/dist/components/table/Table.js +4 -5
  738. package/dist/components/table/Table.js.map +1 -1
  739. package/dist/components/table/TableBody.d.ts +5 -7
  740. package/dist/components/table/TableBody.js.map +1 -1
  741. package/dist/components/table/TableCell.d.ts +1 -3
  742. package/dist/components/table/TableCell.js.map +1 -1
  743. package/dist/components/table/TableFooter.d.ts +1 -3
  744. package/dist/components/table/TableFooter.js.map +1 -1
  745. package/dist/components/table/TableFooterCell.d.ts +1 -3
  746. package/dist/components/table/TableFooterCell.js.map +1 -1
  747. package/dist/components/table/TableHeader.d.ts +12 -14
  748. package/dist/components/table/TableHeader.js +2 -2
  749. package/dist/components/table/TableHeader.js.map +1 -1
  750. package/dist/components/table/TableHeaderCell.d.ts +1 -3
  751. package/dist/components/table/TableHeaderCell.js.map +1 -1
  752. package/dist/components/table/TableRow.d.ts +3 -3
  753. package/dist/components/table/TableRow.js +2 -6
  754. package/dist/components/table/TableRow.js.map +1 -1
  755. package/dist/components/table/TableStickyColumnsContainer.d.ts +1 -1
  756. package/dist/components/table/TableStickyColumnsContainer.js +3 -3
  757. package/dist/components/table/TableStickyColumnsContainer.js.map +1 -1
  758. package/dist/components/table/useStickyColumnsCss.d.ts +2 -2
  759. package/dist/components/table/useStickyColumnsCss.js.map +1 -1
  760. package/dist/components/tabs/Tabs.d.ts +7 -15
  761. package/dist/components/tabs/Tabs.js +4 -4
  762. package/dist/components/tabs/Tabs.js.map +1 -1
  763. package/dist/components/tabs/TabsContent.d.ts +1 -3
  764. package/dist/components/tabs/TabsContent.js.map +1 -1
  765. package/dist/components/tabs/TabsTrigger.d.ts +4 -4
  766. package/dist/components/tabs/TabsTrigger.js +3 -4
  767. package/dist/components/tabs/TabsTrigger.js.map +1 -1
  768. package/dist/components/tabs/TabsTriggerList.d.ts +9 -11
  769. package/dist/components/tabs/TabsTriggerList.js +8 -9
  770. package/dist/components/tabs/TabsTriggerList.js.map +1 -1
  771. package/dist/components/text/Text.d.ts +6 -10
  772. package/dist/components/text/Text.js +7 -11
  773. package/dist/components/text/Text.js.map +1 -1
  774. package/dist/components/textarea/Textarea.d.ts +3 -13
  775. package/dist/components/textarea/Textarea.js +3 -9
  776. package/dist/components/textarea/Textarea.js.map +1 -1
  777. package/dist/components/textarea-field/TextareaField.d.ts +6 -6
  778. package/dist/components/textarea-field/TextareaField.js +2 -2
  779. package/dist/components/textarea-field/TextareaField.js.map +1 -1
  780. package/dist/components/tile/Tile.d.ts +8 -10
  781. package/dist/components/tile/Tile.js +5 -6
  782. package/dist/components/tile/Tile.js.map +1 -1
  783. package/dist/components/tile-interactive/TileInteractive.d.ts +12 -11
  784. package/dist/components/tile-interactive/TileInteractive.js +3 -4
  785. package/dist/components/tile-interactive/TileInteractive.js.map +1 -1
  786. package/dist/components/tile-toggle-group/TileToggleGroupItem.d.ts +12 -12
  787. package/dist/components/tile-toggle-group/TileToggleGroupItem.js.map +1 -1
  788. package/dist/components/tile-toggle-group/TileToggleGroupRoot.d.ts +4 -5
  789. package/dist/components/tile-toggle-group/TileToggleGroupRoot.js +3 -3
  790. package/dist/components/tile-toggle-group/TileToggleGroupRoot.js.map +1 -1
  791. package/dist/components/tile-toggle-group/index.d.ts +2 -2
  792. package/dist/components/tile-toggle-group/index.js +0 -1
  793. package/dist/components/tile-toggle-group/index.js.map +1 -1
  794. package/dist/components/toast/{ToastContext.d.ts → Toast.context.d.ts} +2 -2
  795. package/dist/components/toast/{ToastContext.js → Toast.context.js} +2 -2
  796. package/dist/components/toast/Toast.context.js.map +1 -0
  797. package/dist/components/toast/Toast.d.ts +3 -6
  798. package/dist/components/toast/Toast.js +7 -5
  799. package/dist/components/toast/Toast.js.map +1 -1
  800. package/dist/components/toast/ToastCloseButton.js +1 -1
  801. package/dist/components/toast/ToastCloseButton.js.map +1 -1
  802. package/dist/components/toast/ToastIcon.d.ts +1 -1
  803. package/dist/components/toast/ToastIcon.js.map +1 -1
  804. package/dist/components/toast/ToastProvider.d.ts +7 -7
  805. package/dist/components/toast/ToastProvider.js +3 -3
  806. package/dist/components/toast/ToastProvider.js.map +1 -1
  807. package/dist/components/toast/index.d.ts +12 -0
  808. package/dist/components/toast/index.js +8 -0
  809. package/dist/components/toast/index.js.map +1 -0
  810. package/dist/components/toggle-group/ToggleGroupButton.d.ts +5 -13
  811. package/dist/components/toggle-group/ToggleGroupButton.js +4 -4
  812. package/dist/components/toggle-group/ToggleGroupButton.js.map +1 -1
  813. package/dist/components/toggle-group/ToggleGroupItem.d.ts +2 -4
  814. package/dist/components/toggle-group/ToggleGroupItem.js +1 -1
  815. package/dist/components/toggle-group/ToggleGroupItem.js.map +1 -1
  816. package/dist/components/toggle-group/ToggleGroupRoot.d.ts +5 -20
  817. package/dist/components/toggle-group/ToggleGroupRoot.js +3 -3
  818. package/dist/components/toggle-group/ToggleGroupRoot.js.map +1 -1
  819. package/dist/components/toggle-group/index.d.ts +6 -25
  820. package/dist/components/toggle-group/index.js.map +1 -1
  821. package/dist/components/tooltip/Tooltip.d.ts +5 -5
  822. package/dist/components/tooltip/Tooltip.js +3 -3
  823. package/dist/components/tooltip/Tooltip.js.map +1 -1
  824. package/dist/components/tooltip/TooltipContent.d.ts +3 -5
  825. package/dist/components/tooltip/TooltipContent.js +2 -2
  826. package/dist/components/tooltip/TooltipContent.js.map +1 -1
  827. package/dist/components/top-bar/TopBar.colorscheme.config.js.map +1 -1
  828. package/dist/components/top-bar/TopBar.d.ts +23 -34
  829. package/dist/components/top-bar/TopBar.js +2 -2
  830. package/dist/components/top-bar/TopBar.js.map +1 -1
  831. package/dist/components/top-bar/TopBarActionIcon.d.ts +2 -2
  832. package/dist/components/top-bar/TopBarActionIcon.js +8 -10
  833. package/dist/components/top-bar/TopBarActionIcon.js.map +1 -1
  834. package/dist/components/top-bar/TopBarBrand.d.ts +9 -17
  835. package/dist/components/top-bar/TopBarBrand.js +5 -7
  836. package/dist/components/top-bar/TopBarBrand.js.map +1 -1
  837. package/dist/components/tree/Tree.d.ts +30 -29
  838. package/dist/components/tree/Tree.js +8 -10
  839. package/dist/components/tree/Tree.js.map +1 -1
  840. package/dist/components/tree/TreeCollapsible.d.ts +4 -4
  841. package/dist/components/tree/TreeCollapsible.js +4 -6
  842. package/dist/components/tree/TreeCollapsible.js.map +1 -1
  843. package/dist/components/tree/TreeCollapsibleContent.d.ts +5 -3
  844. package/dist/components/tree/TreeCollapsibleContent.js +4 -4
  845. package/dist/components/tree/TreeCollapsibleContent.js.map +1 -1
  846. package/dist/components/tree/TreeCollapsibleTrigger.d.ts +3 -3
  847. package/dist/components/tree/TreeCollapsibleTrigger.js +4 -4
  848. package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
  849. package/dist/components/tree/TreeIcon.d.ts +2 -2
  850. package/dist/components/tree/TreeIcon.js +2 -2
  851. package/dist/components/tree/TreeIcon.js.map +1 -1
  852. package/dist/components/tree/TreeItem.d.ts +1 -1
  853. package/dist/components/tree/TreeItem.js +4 -6
  854. package/dist/components/tree/TreeItem.js.map +1 -1
  855. package/dist/components/tree/TreeItemContent.d.ts +4 -3
  856. package/dist/components/tree/TreeItemContent.js +6 -3
  857. package/dist/components/tree/TreeItemContent.js.map +1 -1
  858. package/dist/components/tree/TreeList.d.ts +1 -3
  859. package/dist/components/tree/TreeList.js.map +1 -1
  860. package/dist/components/tree/TreeListItem.d.ts +3 -1
  861. package/dist/components/tree/TreeListItem.js +4 -4
  862. package/dist/components/tree/TreeListItem.js.map +1 -1
  863. package/dist/components/tree/TreeText.d.ts +4 -4
  864. package/dist/components/tree/TreeText.js.map +1 -1
  865. package/dist/components/video/Video.d.ts +3 -2
  866. package/dist/components/video/Video.js +4 -5
  867. package/dist/components/video/Video.js.map +1 -1
  868. package/dist/docgen.json +1 -1
  869. package/dist/experiments/color-scheme/ColorScheme.config.js +1 -1
  870. package/dist/experiments/color-scheme/ColorScheme.config.js.map +1 -1
  871. package/dist/experiments/color-scheme/ColorScheme.d.ts +7 -3
  872. package/dist/experiments/color-scheme/ColorScheme.js +3 -4
  873. package/dist/experiments/color-scheme/ColorScheme.js.map +1 -1
  874. package/dist/index.cjs.js +1919 -1817
  875. package/dist/index.cjs.js.map +1 -1
  876. package/dist/index.d.ts +1 -1
  877. package/dist/index.js +14 -13
  878. package/dist/styled.d.ts +43 -9
  879. package/dist/styled.js +9 -7
  880. package/dist/styled.js.map +1 -1
  881. package/dist/types/navigatorActions.types.d.ts +1 -1
  882. package/dist/types/polymorphicComponentProp.types.d.ts +15 -32
  883. package/dist/utilities/css-wrapper/CSSWrapper.d.ts +4 -4
  884. package/dist/utilities/css-wrapper/CSSWrapper.js.map +1 -1
  885. package/dist/utilities/event/preventEvent.js.map +1 -1
  886. package/dist/utilities/hooks/useCallbackRef.js +5 -1
  887. package/dist/utilities/hooks/useCallbackRef.js.map +1 -1
  888. package/dist/utilities/hooks/useIsMountedRef.js.map +1 -1
  889. package/dist/utilities/hooks/useResizeObserver.d.ts +3 -3
  890. package/dist/utilities/hooks/useResizeObserver.js.map +1 -1
  891. package/dist/utilities/hooks/useScrollPosition.d.ts +3 -3
  892. package/dist/utilities/hooks/useScrollPosition.js.map +1 -1
  893. package/dist/utilities/hooks/useSize.js.map +1 -1
  894. package/dist/utilities/hooks/useWindowScrollPosition.d.ts +3 -3
  895. package/dist/utilities/hooks/useWindowScrollPosition.js.map +1 -1
  896. package/dist/utilities/optional-tooltip-wrapper/OptionalTooltipWrapper.d.ts +5 -5
  897. package/dist/utilities/optional-tooltip-wrapper/OptionalTooltipWrapper.js.map +1 -1
  898. package/dist/utilities/override-styled-variant-value/overrideStyledVariantValue.js.map +1 -1
  899. package/dist/utilities/radix-overrides/toggle-group/ToggleGroupRoot.d.ts +2 -1
  900. package/dist/utilities/radix-overrides/toggle-group/ToggleGroupRoot.js +2 -2
  901. package/dist/utilities/radix-overrides/toggle-group/ToggleGroupRoot.js.map +1 -1
  902. package/dist/utilities/radix-overrides/toggle-group/index.d.ts +2 -4
  903. package/dist/utilities/radix-overrides/toggle-group/index.js.map +1 -1
  904. package/dist/utilities/style/backdrop-overlay.js.map +1 -1
  905. package/dist/utilities/style/get-icon-size.js.map +1 -1
  906. package/dist/utilities/uri/index.js +5 -3
  907. package/dist/utilities/uri/index.js.map +1 -1
  908. package/package.json +12 -14
  909. package/scripts/generate-responsive-variant-classes.mjs +1 -1
  910. package/dist/components/alert-dialog/alert-context/AlertContext.js.map +0 -1
  911. package/dist/components/avatar/AvatarContext.d.ts +0 -6
  912. package/dist/components/avatar/AvatarContext.js.map +0 -1
  913. package/dist/components/banner/BannerContext.d.ts +0 -19
  914. package/dist/components/banner/BannerContext.js.map +0 -1
  915. package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.js.map +0 -1
  916. package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.js.map +0 -1
  917. package/dist/components/data-table/DataTableContext.js.map +0 -1
  918. package/dist/components/file-drop/FileDropContext.d.ts +0 -3
  919. package/dist/components/file-drop/FileDropContext.js +0 -10
  920. package/dist/components/file-drop/FileDropContext.js.map +0 -1
  921. package/dist/components/navigation/NavigationMenuContext.js +0 -12
  922. package/dist/components/navigation/NavigationMenuContext.js.map +0 -1
  923. package/dist/components/pagination/pagination-context/PaginationContext.js.map +0 -1
  924. package/dist/components/section-message/SectionMessageContext.js.map +0 -1
  925. package/dist/components/segmented-control/SegmentedControlContext.js.map +0 -1
  926. package/dist/components/select-menu/SelectMenuContext.js.map +0 -1
  927. package/dist/components/side-bar/SideBarContext.js.map +0 -1
  928. package/dist/components/stepper/stepper-context/StepperContext.js.map +0 -1
  929. package/dist/components/toast/ToastContext.js.map +0 -1
  930. /package/dist/components/segmented-control/{SegmentedControlContext.d.ts → SegmentedControl.context.d.ts} +0 -0
  931. /package/dist/components/select-menu/{SelectMenuContext.d.ts → SelectMenu.context.d.ts} +0 -0
  932. /package/dist/components/side-bar/{SideBarContext.d.ts → SideBar.context.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './components';
2
2
  export * from './styled';
3
3
  export type { NavigatorActions } from './types/navigatorActions.types';
4
- export type { TOptionalTooltipWrapperProps } from './utilities/optional-tooltip-wrapper/OptionalTooltipWrapper';
4
+ export type { OptionalTooltipWrapperProps } from './utilities/optional-tooltip-wrapper/OptionalTooltipWrapper';
5
5
  export * from './experiments/color-scheme/ColorScheme';
package/dist/index.js CHANGED
@@ -1,15 +1,16 @@
1
1
  import { Theme, cn, createTheme, styled } from "./styled.js";
2
- import { ColorScheme } from "./experiments/color-scheme/ColorScheme.js";
3
- import { Icon } from "./components/icon/Icon.js";
4
- import { Accordion } from "./components/accordion/Accordion.js";
5
- import { Tooltip } from "./components/tooltip/Tooltip.js";
6
- import { ActionIcon } from "./components/action-icon/ActionIcon.js";
7
- import { AlertDialog } from "./components/alert-dialog/AlertDialog.js";
8
2
  import { Loader } from "./components/loader/Loader.js";
9
3
  import { Button, StyledButton } from "./components/button/Button.js";
10
4
  import { Heading } from "./components/heading/Heading.js";
11
5
  import { Text } from "./components/text/Text.js";
12
- import { AlertProvider, useAlert } from "./components/alert-dialog/alert-context/AlertContext.js";
6
+ import { AlertDialog } from "./components/alert-dialog/AlertDialog.js";
7
+ import { Icon } from "./components/icon/Icon.js";
8
+ import { useAlert } from "./components/alert-dialog/AlertDialog.context.js";
9
+ import { ColorScheme } from "./experiments/color-scheme/ColorScheme.js";
10
+ import { Accordion } from "./components/accordion/Accordion.js";
11
+ import { Tooltip } from "./components/tooltip/Tooltip.js";
12
+ import { ActionIcon } from "./components/action-icon/ActionIcon.js";
13
+ import { Link, StyledLink } from "./components/link/Link.js";
13
14
  import { Image } from "./components/image/Image.js";
14
15
  import { Avatar } from "./components/avatar/Avatar.js";
15
16
  import { Badge } from "./components/badge/Badge.js";
@@ -33,14 +34,13 @@ import { DismissibleGroup } from "./components/dismissible-group/index.js";
33
34
  import { ChipDismissibleGroup } from "./components/chip-dismissible-group/index.js";
34
35
  import { ChipToggleGroup } from "./components/chip-toggle-group/index.js";
35
36
  import { Combobox } from "./components/combobox/Combobox.js";
36
- import { Link, StyledLink } from "./components/link/Link.js";
37
37
  import { FieldWrapper } from "./components/field-wrapper/FieldWrapper.js";
38
38
  import { Input, InputBackground, InputText } from "./components/input/Input.js";
39
39
  import { PasswordInput } from "./components/password-input/PasswordInput.js";
40
40
  import { PasswordField } from "./components/password-field/PasswordField.js";
41
41
  import { CreatePasswordField } from "./components/create-password-field/CreatePasswordField.js";
42
+ import { useDataTable } from "./components/data-table/DataTable.context.js";
42
43
  import { Table } from "./components/table/Table.js";
43
- import { useDataTable } from "./components/data-table/DataTableContext.js";
44
44
  import { Divider } from "./components/divider/Divider.js";
45
45
  import { EmptyState } from "./components/empty-state/EmptyState.js";
46
46
  import { SearchInput } from "./components/search-input/SearchInput.js";
@@ -61,7 +61,7 @@ import { InputField } from "./components/input-field/InputField.js";
61
61
  import { List } from "./components/list/List.js";
62
62
  import { MarkdownContent } from "./components/markdown-content/MarkdownContent.js";
63
63
  import { NavigationMenu } from "./components/navigation/NavigationMenu.js";
64
- import { useSidebarState } from "./components/side-bar/SideBarContext.js";
64
+ import { useSidebarState } from "./components/side-bar/SideBar.context.js";
65
65
  import { NavigationMenuVertical } from "./components/navigation-menu-vertical/NavigationMenuVertical.js";
66
66
  import { NotificationBadge } from "./components/notification-badge/NotificationBadge.js";
67
67
  import { NumberInput } from "./components/number-input/NumberInput.js";
@@ -90,8 +90,8 @@ import { Textarea } from "./components/textarea/Textarea.js";
90
90
  import { TextareaField } from "./components/textarea-field/TextareaField.js";
91
91
  import { TileInteractive } from "./components/tile-interactive/TileInteractive.js";
92
92
  import { TileToggleGroup } from "./components/tile-toggle-group/index.js";
93
- import { Toast } from "./components/toast/Toast.js";
94
- import { ToastProvider, toast } from "./components/toast/ToastProvider.js";
93
+ import { toast } from "./components/toast/ToastProvider.js";
94
+ import { Toast } from "./components/toast/index.js";
95
95
  import { ToggleGroup } from "./components/toggle-group/index.js";
96
96
  import { TopBar } from "./components/top-bar/TopBar.js";
97
97
  import { Video } from "./components/video/Video.js";
@@ -99,4 +99,5 @@ import { KeyboardShortcut } from "./components/keyboard-shortcut/index.js";
99
99
  import { SegmentedControl } from "./components/segmented-control/SegmentedControl.js";
100
100
  import { FileDrop } from "./components/file-drop/FileDrop.js";
101
101
  import { useFileDrop } from "./components/file-drop/useFileDrop.js";
102
- export { Accordion, ActionIcon, AlertDialog, AlertProvider, Avatar, Badge, BannerRegular, BannerSlim, Box, Button, Carousel, Checkbox, CheckboxField, CheckboxGroup, CheckboxTree, Chip, ChipDismissibleGroup, ChipGroup, ChipToggleGroup, ColorScheme, Combobox, CreatePasswordField, DataTable, DateField, DateInput, Dialog, Dismissible, DismissibleGroup, Divider, Drawer, DropdownMenu, EmptyState, FieldWrapper, FileDrop, FileInput, Flex, Form, Grid, Heading, Icon, Image, InlineFieldWrapper, InlineMessage, Input, InputBackground, InputField, InputText, KeyboardShortcut, Label, Link, List, Loader, MarkdownContent, NavigationMenu, NavigationMenuVertical, NotificationBadge, NumberInput, NumberInputField, Pagination, PasswordField, PasswordInput, Popover, ProgressBar, RadioButton, RadioButtonField, RadioButtonGroup, RadioCard, RadioCardGroup, SearchField, SearchInput, SectionMessage, SegmentedControl, Select, SelectField, SelectMenu, SelectMenuField, SideBar, skeleton_loader_exports as Skeleton, Slider, SliderField, sortable_exports as Sortable, Spacer, Stepper, StyledButton, StyledLink, Switch, Table, Tabs, Text, Textarea, TextareaField, Theme, Tile, TileInteractive, TileToggleGroup, Toast, ToastProvider, ToggleGroup, Tooltip, TopBar, Tree, Video, cn, createTheme, styled, toast, useAlert, useCarousel, useDataTable, useFileDrop, useSidebarState };
102
+ import { Alert } from "./components/index.js";
103
+ export { Accordion, ActionIcon, Alert, AlertDialog, Avatar, Badge, BannerRegular, BannerSlim, Box, Button, Carousel, Checkbox, CheckboxField, CheckboxGroup, CheckboxTree, Chip, ChipDismissibleGroup, ChipGroup, ChipToggleGroup, ColorScheme, Combobox, CreatePasswordField, DataTable, DateField, DateInput, Dialog, Dismissible, DismissibleGroup, Divider, Drawer, DropdownMenu, EmptyState, FieldWrapper, FileDrop, FileInput, Flex, Form, Grid, Heading, Icon, Image, InlineFieldWrapper, InlineMessage, Input, InputBackground, InputField, InputText, KeyboardShortcut, Label, Link, List, Loader, MarkdownContent, NavigationMenu, NavigationMenuVertical, NotificationBadge, NumberInput, NumberInputField, Pagination, PasswordField, PasswordInput, Popover, ProgressBar, RadioButton, RadioButtonField, RadioButtonGroup, RadioCard, RadioCardGroup, SearchField, SearchInput, SectionMessage, SegmentedControl, Select, SelectField, SelectMenu, SelectMenuField, SideBar, skeleton_loader_exports as Skeleton, Slider, SliderField, sortable_exports as Sortable, Spacer, Stepper, StyledButton, StyledLink, Switch, Table, Tabs, Text, Textarea, TextareaField, Theme, Tile, TileInteractive, TileToggleGroup, Toast, ToggleGroup, Tooltip, TopBar, Tree, Video, cn, createTheme, styled, toast, useAlert, useCarousel, useDataTable, useFileDrop, useSidebarState };
package/dist/styled.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ClassValue } from 'clsx';
2
- import React, { ElementType } from 'react';
2
+ import React, { type ElementType } from 'react';
3
3
  export declare const cn: (...inputs: ClassValue[]) => string;
4
4
  type Breakpoint = '@initial' | '@sm' | '@md' | '@lg' | '@xl';
5
5
  export declare const Theme: ({ children, theme }: React.PropsWithChildren<{
@@ -33,12 +33,46 @@ type StyledConfig<V extends VariantConfig | undefined = undefined> = {
33
33
  [K in keyof V]?: VariantValueType<V[K]>;
34
34
  } : Record<string, never>;
35
35
  };
36
- export declare function styled<TElement extends ElementType, V extends VariantConfig>(el: TElement, styles: StyledConfig<V>, options: {
37
- enabledResponsiveVariants: true;
38
- }): React.ForwardRefExoticComponent<Omit<React.ComponentPropsWithRef<TElement>, keyof V> & VariantProps<V, true> & {
39
- as?: ElementType;
40
- }>;
41
- export declare function styled<TElement extends ElementType, V extends VariantConfig | undefined = undefined>(el: TElement, styles: StyledConfig<V>): React.ForwardRefExoticComponent<Omit<React.ComponentPropsWithRef<TElement>, V extends VariantConfig ? keyof V : never> & VariantProps<V, false> & {
42
- as?: ElementType;
43
- }>;
36
+ type DefaultElementProps<TDefaultElement extends ElementType, OwnProps> = OwnProps & {
37
+ as?: never;
38
+ } & Omit<React.ComponentPropsWithRef<TDefaultElement>, keyof OwnProps | 'as'>;
39
+ export interface PolymorphicComponent<TDefaultElement extends ElementType, OwnProps> {
40
+ (props: DefaultElementProps<TDefaultElement, OwnProps>): React.ReactElement | null;
41
+ <TAs extends ElementType = TDefaultElement>(props: OwnProps & {
42
+ as?: TAs;
43
+ } & Omit<React.ComponentPropsWithRef<TAs>, keyof OwnProps | 'as'>): React.ReactElement | null;
44
+ (props: DefaultElementProps<TDefaultElement, OwnProps>): React.ReactElement | null;
45
+ displayName?: string;
46
+ __isStyledComponent?: boolean;
47
+ }
48
+ export interface StyledComponent<TDefaultElement extends ElementType, OwnProps> {
49
+ (props: OwnProps & Omit<React.ComponentPropsWithRef<TDefaultElement>, keyof OwnProps | 'as'>): React.ReactElement | null;
50
+ displayName?: string;
51
+ __isStyledComponent?: boolean;
52
+ }
53
+ type PolymorphicElementProps<E extends ElementType, OwnProps> = OwnProps & {
54
+ as?: E;
55
+ } & Omit<React.ComponentPropsWithRef<E>, keyof OwnProps | 'as'>;
56
+ /**
57
+ * Extract the props a styled component accepts, optionally for a specific
58
+ * `as` element. `React.ComponentProps<typeof Box>` only describes the default
59
+ * element (with `as` unusable); use this to retarget or to build wrappers
60
+ * that re-expose polymorphism:
61
+ *
62
+ * ```tsx
63
+ * type AnchorBoxProps = StyledComponentProps<typeof Box, 'a'> // href, anchor ref…
64
+ * ```
65
+ */
66
+ export type StyledComponentProps<C, TAs extends ElementType = never> = C extends PolymorphicComponent<infer TDefault extends ElementType, infer OwnProps> ? PolymorphicElementProps<[TAs] extends [never] ? TDefault : TAs, OwnProps> : C extends ElementType ? React.ComponentPropsWithRef<[TAs] extends [never] ? C : TAs> : never;
67
+ export declare function styled<TElement extends ElementType, V extends VariantConfig | undefined = undefined>(el: TElement, styles: StyledConfig<V>, options: {
68
+ enablePolymorphism: false;
69
+ enableResponsiveVariants: true;
70
+ }): StyledComponent<TElement, VariantProps<V, true>>;
71
+ export declare function styled<TElement extends ElementType, V extends VariantConfig | undefined = undefined>(el: TElement, styles: StyledConfig<V>, options: {
72
+ enablePolymorphism: false;
73
+ }): StyledComponent<TElement, VariantProps<V, false>>;
74
+ export declare function styled<TElement extends ElementType, V extends VariantConfig | undefined = undefined>(el: TElement, styles: StyledConfig<V>, options: {
75
+ enableResponsiveVariants: true;
76
+ }): PolymorphicComponent<TElement, VariantProps<V, true>>;
77
+ export declare function styled<TElement extends ElementType, V extends VariantConfig | undefined = undefined>(el: TElement, styles: StyledConfig<V>): PolymorphicComponent<TElement, VariantProps<V, false>>;
44
78
  export {};
package/dist/styled.js CHANGED
@@ -27,15 +27,15 @@ var Theme = ({ children, theme }) => /* @__PURE__ */ jsx("div", {
27
27
  var createTheme = (config) => Object.fromEntries(Object.values(config).flatMap((tokens) => Object.entries(tokens).map(([token, value]) => [`--${token}`, value])));
28
28
  function styled(el, styles, options) {
29
29
  const variantKeys = Object.keys(styles.variants || {});
30
- const enabledResponsiveVariants = options?.enabledResponsiveVariants === true;
30
+ const enableResponsiveVariants = options?.enableResponsiveVariants === true;
31
31
  const tvFn = tv(styles);
32
- const Comp = React.forwardRef((props, ref) => {
33
- const additionalStyles = enabledResponsiveVariants ? variantKeys.map((variantKey) => {
32
+ const Comp = (props) => {
33
+ const { ref, ...propsWithoutRef } = props;
34
+ const additionalStyles = enableResponsiveVariants ? variantKeys.map((variantKey) => {
34
35
  const responsiveVariantConfig = props[variantKey];
35
36
  const variantStyles = styles.variants[variantKey];
36
37
  if (typeof responsiveVariantConfig === "object" && responsiveVariantConfig && !Array.isArray(responsiveVariantConfig)) return Object.entries(responsiveVariantConfig).flatMap(([key, val]) => {
37
- const valStr = String(val);
38
- const styleArr = variantStyles && variantStyles[valStr];
38
+ const styleArr = variantStyles && variantStyles[String(val)];
39
39
  if (styleArr && Array.isArray(styleArr)) return styleArr.flatMap((cls) => {
40
40
  if (key === "@initial") return cls;
41
41
  return `${key.replace("@", "")}:${cls}`;
@@ -60,7 +60,7 @@ function styled(el, styles, options) {
60
60
  const elementType = el;
61
61
  if (typeof el === "string") {
62
62
  const { className: _, ...restFilteredProps } = filteredProps;
63
- const finalClassName = wrapperClasses && propsClassName ? twMerge(wrapperClasses, propsClassName, mergedClassName) : wrapperClasses ? twMerge(wrapperClasses, mergedClassName, propsClassName) : propsClassName ? (() => {
63
+ const finalClassName = wrapperClasses && propsClassName ? twMerge(mergedClassName, wrapperClasses, propsClassName) : wrapperClasses ? twMerge(mergedClassName, wrapperClasses) : propsClassName ? (() => {
64
64
  if (propsClassName.split(" ").some((cls) => /^data-\[state=[^\]]+\]:/.test(cls))) return twMerge(propsClassName, mergedClassName);
65
65
  else return twMerge(mergedClassName, propsClassName);
66
66
  })() : twMerge(mergedClassName);
@@ -115,8 +115,10 @@ function styled(el, styles, options) {
115
115
  return React.cloneElement(element, cloneProps);
116
116
  }
117
117
  throw Error("Something is wrong");
118
- });
118
+ };
119
119
  Comp.__isStyledComponent = true;
120
+ const baseName = typeof el === "string" ? el : el.displayName || el.name || "Component";
121
+ Comp.displayName = baseName.startsWith("styled.") ? baseName : `styled.${baseName}`;
120
122
  return Comp;
121
123
  }
122
124
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":[],"sources":["../src/styled.tsx"],"sourcesContent":["import clsx, { type ClassValue } from 'clsx'\nimport React, { ElementType, ReactElement } from 'react'\nimport { extendTailwindMerge } from 'tailwind-merge'\nimport { defaultConfig, tv } from 'tailwind-variants'\n\ndefaultConfig.twMerge = false\n\nconst isArbitraryNumber = (value: string) =>\n /^\\[[\\d.]+\\]$/.test(value) || !Number.isNaN(Number(value))\n\nconst twMerge = extendTailwindMerge<\n 'capsize' | 'capsize-before' | 'capsize-after'\n>({\n extend: {\n classGroups: {\n capsize: [{ capsize: ['none', isArbitraryNumber] }],\n 'capsize-before': [{ 'capsize-before': [isArbitraryNumber] }],\n 'capsize-after': [{ 'capsize-after': [isArbitraryNumber] }]\n },\n conflictingClassGroups: {\n capsize: ['capsize-before', 'capsize-after'],\n 'capsize-before': ['capsize'],\n 'capsize-after': ['capsize']\n }\n }\n})\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs))\n\ntype Breakpoint = '@initial' | '@sm' | '@md' | '@lg' | '@xl'\n\nexport const Theme = ({\n children,\n theme\n}: React.PropsWithChildren<{ theme?: Record<string, string> }>) => (\n <div className=\"contents\" style={theme}>\n {children}\n </div>\n)\n\nexport const createTheme = (config: Record<string, Record<string, string>>) =>\n Object.fromEntries(\n Object.values(config).flatMap((tokens) =>\n Object.entries(tokens).map(([token, value]) => [`--${token}`, value])\n )\n )\n\n// ---------------------------------------------------------------------------\n// Local typing for styled()\n// ---------------------------------------------------------------------------\n\n// Responsive variant prop: either a single value or a per-breakpoint map\n// Each breakpoint can have a different value from the union type V\ntype ResponsiveVariant<V extends string | number | boolean> =\n | V\n | Partial<Record<Breakpoint, V>>\n\n// Helpers to derive value type from variant config keys\ntype Keys<V> = keyof V\ntype StringKeys<V> = Extract<Keys<V>, string>\ntype NumberKeys<V> = Extract<Keys<V>, number>\n// Booleans are represented as string keys \"true\"/\"false\" in our VariantConfig,\n// so we only need to detect those in StringKeys.\ntype BooleanKeys<V> = Extract<StringKeys<V>, 'true' | 'false'>\n\ntype HasBoolLikeKeys<V> =\n BooleanKeys<V> extends never\n ? Extract<StringKeys<V>, 'true' | 'false'> extends never\n ? false\n : true\n : true\n\n// If a variant's keys are boolean-like, expose the prop as boolean.\n// If it has numeric keys, allow those numbers and their string forms.\n// Otherwise use a string union of the keys.\ntype VariantValueType<V> =\n HasBoolLikeKeys<V> extends true\n ? boolean\n : [NumberKeys<V>] extends [never]\n ? StringKeys<V>\n : NumberKeys<V> | `${NumberKeys<V>}`\n\n// Shape of the `variants` section passed to styled()\ntype VariantConfig = Record<string, Record<string | number, string | string[]>>\n\n// Options for styled() function\ntype StyledOptions = {\n enabledResponsiveVariants?: boolean\n}\n\n// Helper to check if responsive variants are enabled\ntype AreResponsiveVariantsEnabled<O> = O extends {\n enabledResponsiveVariants: true\n}\n ? true\n : false\n\n// Props derived from a `variants` config\n// If enabledResponsiveVariants is true, all variants support responsive values\n// If enabledResponsiveVariants is not provided or false, variants do not support responsive values\ntype VariantProps<\n V extends VariantConfig | undefined,\n R extends boolean = false\n> = V extends VariantConfig\n ? R extends true\n ? {\n [K in keyof V]?: ResponsiveVariant<VariantValueType<V[K]>>\n }\n : {\n [K in keyof V]?: VariantValueType<V[K]>\n }\n : unknown\n\n// Typed config for our styled helper.\n// We intentionally *don't* rely on tailwind-variants' TS types here;\n// we only care about enough structure to derive props.\ntype StyledConfig<V extends VariantConfig | undefined = undefined> = {\n base?: string | string[]\n variants?: V\n compoundVariants?: Array<\n {\n class?: string | string[]\n } & (V extends VariantConfig\n ? {\n [K in keyof V]?: VariantValueType<V[K]> | VariantValueType<V[K]>[]\n }\n : Record<string, never>)\n >\n defaultVariants?: V extends VariantConfig\n ? { [K in keyof V]?: VariantValueType<V[K]> }\n : Record<string, never>\n}\n\n// Function overloads for better type inference\nexport function styled<TElement extends ElementType, V extends VariantConfig>(\n el: TElement,\n styles: StyledConfig<V>,\n options: { enabledResponsiveVariants: true }\n): React.ForwardRefExoticComponent<\n Omit<React.ComponentPropsWithRef<TElement>, keyof V> &\n VariantProps<V, true> & { as?: ElementType }\n>\n\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined\n>(\n el: TElement,\n styles: StyledConfig<V>\n): React.ForwardRefExoticComponent<\n Omit<\n React.ComponentPropsWithRef<TElement>,\n V extends VariantConfig ? keyof V : never\n > &\n VariantProps<V, false> & { as?: ElementType }\n>\n\n// Implementation\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined,\n O extends StyledOptions | undefined = undefined\n>(el: TElement, styles: StyledConfig<V>, options?: O) {\n const variantKeys = Object.keys(styles.variants || {})\n const enabledResponsiveVariants = options?.enabledResponsiveVariants === true\n const tvFn = tv(styles as any)\n\n type ResponsiveVariantsEnabled = AreResponsiveVariantsEnabled<O>\n type VariantPropsType = VariantProps<V, ResponsiveVariantsEnabled>\n type BaseProps = React.ComponentPropsWithRef<TElement>\n // Extract variant keys to omit from BaseProps so variant props override native HTML attributes\n type VariantKeys = V extends VariantConfig ? keyof V : never\n type StyledProps = Omit<BaseProps, VariantKeys> &\n VariantPropsType & { as?: ElementType }\n\n const Comp = React.forwardRef<React.ComponentRef<TElement>, StyledProps>(\n (props, ref) => {\n const additionalStyles = enabledResponsiveVariants\n ? variantKeys\n .map((variantKey) => {\n const responsiveVariantConfig:\n | Record<Breakpoint, string | number>\n | undefined = props[variantKey]\n const variantStyles: Record<string, string | string[]> =\n styles.variants![variantKey]\n\n if (\n typeof responsiveVariantConfig === 'object' &&\n responsiveVariantConfig &&\n !Array.isArray(responsiveVariantConfig)\n ) {\n return Object.entries(responsiveVariantConfig).flatMap(\n ([key, val]: [Breakpoint, string | number]) => {\n const valStr = String(val)\n const styleArr: string | string[] =\n variantStyles && variantStyles[valStr]\n\n if (styleArr && Array.isArray(styleArr)) {\n return styleArr.flatMap((cls: string) => {\n if (key === '@initial') return cls\n return `${key.replace('@', '')}:${cls}`\n })\n }\n return []\n }\n )\n }\n\n return []\n })\n .flat()\n : []\n\n // Filter out variant props that don't belong to this component before calling tvFn\n // This prevents tailwind-variants from processing props meant for wrapped components\n // Only pass props that are in this component's variant keys\n // For boolean variants, only include them if the value is explicitly true or false (not null/undefined)\n // Note: tailwind-variants treats null as \"no variant\" but undefined/missing as \"apply false variant\"\n // So we need to convert undefined to null for boolean variants to prevent default behavior\n const propsForTv =\n variantKeys.length > 0\n ? Object.fromEntries(\n Object.entries(props)\n .filter(([key]) => variantKeys.includes(key))\n .map(([key, value]) => {\n // Check if this is a boolean variant (has both 'true' and 'false' keys)\n const variantConfig = styles.variants?.[key]\n if (\n variantConfig &&\n 'true' in variantConfig &&\n 'false' in variantConfig\n ) {\n // For boolean variants, only include if value is explicitly true or false\n // Convert undefined to null to prevent tailwind-variants from applying false variant\n if (value === true || value === false) {\n return [key, value]\n }\n // For null/undefined, pass null to prevent tailwind-variants from applying defaults\n // This ensures that when a boolean prop is explicitly null/undefined, no variant is applied\n return [key, null]\n }\n // For non-boolean variants, pass value as-is (including null/undefined)\n return [key, value]\n })\n )\n : {}\n\n const cls = tvFn(propsForTv)\n\n const filteredProps = Object.fromEntries(\n Object.entries(props).filter(\n ([key]) =>\n !variantKeys.includes(key) &&\n key !== 'as' &&\n key !== '__wrapperClasses'\n )\n )\n\n const mergedClassName = clsx(cls, additionalStyles).trim()\n const propsClassName = (props as any).className\n // Check for wrapper classes passed from a parent styled component\n const wrapperClasses = (props as any).__wrapperClasses\n\n if (\n typeof el === 'string' ||\n typeof el === 'function' ||\n (el && typeof el === 'object')\n ) {\n const elementType = el as ElementType\n\n // If el is a host string ('div', 'span', etc.) we must not pass variant props to the DOM.\n if (typeof el === 'string') {\n const { className: _, ...restFilteredProps } = filteredProps as any\n // Merge order: wrapper classes (lowest priority) < component classes < user's className (highest priority)\n // This ensures variant classes from this component override base classes from wrapper\n // IMPORTANT: When propsClassName exists (could be from asChild), we need to ensure child's classes win\n // over parent classes, but user's className should still have highest priority.\n // Strategy: Only apply special merge when wrapperClasses exist (nested styled component scenario).\n // For regular cases (no wrapperClasses), use standard merge order so user's className has highest priority.\n const finalClassName =\n wrapperClasses && propsClassName\n ? twMerge(wrapperClasses, propsClassName, mergedClassName) // This component's classes win by being merged last\n : wrapperClasses\n ? twMerge(wrapperClasses, mergedClassName, propsClassName) // Standard merge when no propsClassName\n : propsClassName\n ? (() => {\n // When propsClassName comes from asChild (Radix), we want this component's classes to win\n // When propsClassName is a regular className prop, the user's className should win (highest priority)\n // We can detect asChild scenario by checking if propsClassName contains classes that look like they came from a parent component\n // (e.g., data attribute variants like data-[state=closed]:rounded-sm)\n // If it does, treat it as asChild and let component classes win. Otherwise, let user's className win.\n const hasDataAttributeVariants = propsClassName\n .split(' ')\n .some((cls) => /^data-\\[state=[^\\]]+\\]:/.test(cls))\n\n if (hasDataAttributeVariants) {\n // This is likely from asChild - component's classes should win\n return twMerge(propsClassName, mergedClassName)\n } else {\n // Regular className prop - user's className should win (highest priority)\n return twMerge(mergedClassName, propsClassName)\n }\n })()\n : twMerge(mergedClassName) // Always merge mergedClassName to resolve conflicts within it (e.g., bg-[unset] vs bg-(--base))\n\n return React.createElement(\n (props as { as?: ElementType }).as || elementType,\n {\n ...restFilteredProps,\n ref,\n className: finalClassName\n }\n )\n }\n\n // If el is a function component (including forwardRef), pass ALL props through\n // (the wrapped component may expect variant props), but ensure className and ref are forwarded.\n // We need to pass all props (not filteredProps) because the underlying component may have its own variants\n //\n // For className merging with wrapped styled components:\n // Solution: Pass wrapper's classes via __wrapperClasses prop for styled components to merge correctly.\n // For regular function components, merge wrapper classes with our classes and pass as className.\n // This ensures:\n // - Styled components can merge: wrapper classes < wrapped component classes < user's className\n // - Regular components get merged classes directly and don't receive __wrapperClasses\n // Filter out variant props and __wrapperClasses from props passed to function components\n // This prevents them from ending up in the DOM.\n // Note: We filter out variant props that belong to THIS component. Variant props that belong to\n // the wrapped component will be passed through (they're not in variantKeys), and the wrapped\n // component will filter them if it's a styled component.\n // Note: 'as' prop is filtered from filteredProps to prevent it from going to DOM for string elements,\n // but we add it back for function components since they need it for polymorphism.\n const { className: _, ...restFilteredProps } = filteredProps as any\n const asProp = (props as any).as // Extract 'as' prop separately\n // Note: __wrapperClasses is already filtered out in filteredProps, so restFilteredProps doesn't include it\n\n // For styled components: Pass wrapper classes via __wrapperClasses so they can merge correctly.\n // Styled components extract __wrapperClasses from props (before filteredProps) and filter it in filteredProps.\n // For regular function components: We merge wrapper classes into className, but also pass __wrapperClasses\n // which they may spread. To prevent it in DOM, we need to ensure it's filtered, but we can't control that.\n // However, styled components that wrap regular components will filter __wrapperClasses in their filteredProps.\n if (wrapperClasses) {\n // We have wrapper classes from parent - this is a nested styled component scenario\n // Merge order: wrapper classes (base) < this component's classes (variants) < user's className\n // This ensures variant classes override base classes via twMerge\n // IMPORTANT: When propsClassName exists (could be from asChild), we need to ensure this component's classes win.\n // Strategy: Merge wrapperClasses with propsClassName first, then merge with mergedClassName last.\n // This ensures: wrapperClasses < propsClassName < mergedClassName (this component's classes win)\n // This is critical when propsClassName contains parent classes from asChild merge.\n const finalClassName = propsClassName\n ? twMerge(wrapperClasses, propsClassName, mergedClassName) // This component's classes win by being merged last\n : twMerge(wrapperClasses, mergedClassName)\n\n // Check if the wrapped component is a styled component\n // React.forwardRef components are objects, not functions\n const isStyledComponent =\n (typeof elementType === 'function' ||\n typeof elementType === 'object') &&\n elementType !== null &&\n (elementType as any).__isStyledComponent === true\n\n const propsForComponent: any = {\n ...restFilteredProps, // Base props (filters THIS component's variant props, __wrapperClasses, 'as')\n ...(asProp ? { as: asProp } : {}), // Add 'as' prop back for function components (polymorphic support)\n // Note: We don't add variant props back - they're already filtered by filteredProps.\n ref\n }\n\n if (isStyledComponent) {\n // Wrapped component is a styled component - pass __wrapperClasses so variant classes win\n // IMPORTANT: When propsClassName exists (could be from asChild), it may contain both parent and child classes.\n // We should NOT merge propsClassName with mergedClassName here, because that would remove child classes.\n // Instead, pass propsClassName as-is (or merge only wrapperClasses with mergedClassName) so the child\n // can merge its own classes last. The child will merge: twMerge(__wrapperClasses, propsClassName, child's mergedClassName).\n // This ensures child's classes win by being merged last.\n // Merge wrapperClasses with mergedClassName to create the wrapper classes for the child\n const combinedWrapperClasses = twMerge(\n wrapperClasses,\n mergedClassName\n )\n propsForComponent.__wrapperClasses = combinedWrapperClasses\n propsForComponent.className = propsClassName || undefined\n } else {\n // Wrapped component is not a styled component - merge wrapper classes into className\n // and don't pass __wrapperClasses (it would end up in DOM)\n propsForComponent.className = finalClassName\n }\n return React.createElement(elementType, propsForComponent)\n } else {\n // No wrapper classes from parent - we're top-level\n // For function components: Pass __wrapperClasses so styled components can merge correctly.\n // Styled components extract __wrapperClasses from their props (before filteredProps) and filter it in filteredProps.\n // Regular function components will receive __wrapperClasses but should filter it out themselves.\n // We also merge wrapper classes into className for regular function components.\n // Note: We pass __wrapperClasses in props (not filteredProps) so styled components can access it,\n // but styled components filter it in their filteredProps so it won't go to DOM.\n // Regular function components that spread all props will pass __wrapperClasses to DOM, which is a problem.\n // But we can't distinguish them, so we rely on styled components filtering it.\n // Check if the wrapped component is a styled component\n // elementType is the component itself (e.g., Inner when Outer extends Inner)\n // React.forwardRef components are objects, not functions, but we can still check the flag\n const isStyledComponent =\n (typeof elementType === 'function' ||\n typeof elementType === 'object') &&\n elementType !== null &&\n (elementType as any).__isStyledComponent === true\n\n const propsForComponent: any = {\n ...restFilteredProps, // Filters out __wrapperClasses, variant props, 'as'\n ...(asProp ? { as: asProp } : {}),\n ref\n }\n\n if (isStyledComponent) {\n // Styled component - pass wrapper classes via __wrapperClasses so variant classes can take precedence\n // IMPORTANT: When propsClassName exists, we need to distinguish between:\n // 1. User's className (should win - highest priority)\n // 2. className from asChild/parent component (component's classes should win)\n // We detect asChild by checking for data attribute variants (e.g., data-[state=closed]:rounded-sm)\n const hasDataAttributeVariants = propsClassName\n ? propsClassName\n .split(' ')\n .some((cls) => /^data-\\[state=[^\\]]+\\]:/.test(cls))\n : false\n\n const mergedPropsAndComponent = propsClassName\n ? hasDataAttributeVariants\n ? // This is likely from asChild - component's classes should win\n twMerge(propsClassName, mergedClassName)\n : // Regular user className - user's className should win (highest priority)\n twMerge(mergedClassName, propsClassName)\n : mergedClassName\n propsForComponent.__wrapperClasses = mergedClassName\n propsForComponent.className = mergedPropsAndComponent || undefined\n } else {\n // Regular function component - merge wrapper classes into className\n // Standard merge order: component classes < user's className (highest priority)\n propsForComponent.className = twMerge(\n mergedClassName,\n propsClassName\n )\n }\n return React.createElement(elementType, propsForComponent)\n }\n }\n\n if (React.isValidElement(el)) {\n const element = el as ReactElement<unknown>\n // Merge existing element className, incoming filteredProps.className and our computed class\n const existingClass = (element.props as any).className\n const incomingClass = (filteredProps as any).className\n const finalClassName = cn(\n existingClass,\n incomingClass,\n mergedClassName\n ).trim()\n\n const cloneProps: any = {\n // ...element.props,\n ...filteredProps,\n as:\n (props as { as?: ElementType }).as ||\n (element.props as { as?: ElementType }).as,\n className: finalClassName\n }\n\n // Forward the ref if provided\n if (ref) {\n cloneProps.ref = ref\n }\n\n return React.cloneElement(element, cloneProps)\n }\n\n throw Error('Something is wrong')\n }\n )\n\n // Mark the component as a styled component so we can detect it later\n ;(Comp as any).__isStyledComponent = true\n\n return Comp\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"styled.js","names":[],"sources":["../src/styled.tsx"],"sourcesContent":["import clsx, { type ClassValue } from 'clsx'\nimport React, { type ElementType, type ReactElement } from 'react'\nimport { extendTailwindMerge } from 'tailwind-merge'\nimport { defaultConfig, tv } from 'tailwind-variants'\n\ndefaultConfig.twMerge = false\n\nconst isArbitraryNumber = (value: string) =>\n /^\\[[\\d.]+\\]$/.test(value) || !Number.isNaN(Number(value))\n\nconst twMerge = extendTailwindMerge<\n 'capsize' | 'capsize-before' | 'capsize-after'\n>({\n extend: {\n classGroups: {\n capsize: [{ capsize: ['none', isArbitraryNumber] }],\n 'capsize-before': [{ 'capsize-before': [isArbitraryNumber] }],\n 'capsize-after': [{ 'capsize-after': [isArbitraryNumber] }]\n },\n conflictingClassGroups: {\n capsize: ['capsize-before', 'capsize-after'],\n 'capsize-before': ['capsize'],\n 'capsize-after': ['capsize']\n }\n }\n})\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs))\n\ntype Breakpoint = '@initial' | '@sm' | '@md' | '@lg' | '@xl'\n\nexport const Theme = ({\n children,\n theme\n}: React.PropsWithChildren<{ theme?: Record<string, string> }>) => (\n <div className=\"contents\" style={theme}>\n {children}\n </div>\n)\n\nexport const createTheme = (config: Record<string, Record<string, string>>) =>\n Object.fromEntries(\n Object.values(config).flatMap((tokens) =>\n Object.entries(tokens).map(([token, value]) => [`--${token}`, value])\n )\n )\n\n// ---------------------------------------------------------------------------\n// Local typing for styled()\n// ---------------------------------------------------------------------------\n\n// Responsive variant prop: either a single value or a per-breakpoint map\n// Each breakpoint can have a different value from the union type V\ntype ResponsiveVariant<V extends string | number | boolean> =\n | V\n | Partial<Record<Breakpoint, V>>\n\n// Helpers to derive value type from variant config keys\ntype Keys<V> = keyof V\ntype StringKeys<V> = Extract<Keys<V>, string>\ntype NumberKeys<V> = Extract<Keys<V>, number>\n// Booleans are represented as string keys \"true\"/\"false\" in our VariantConfig,\n// so we only need to detect those in StringKeys.\ntype BooleanKeys<V> = Extract<StringKeys<V>, 'true' | 'false'>\n\ntype HasBoolLikeKeys<V> =\n BooleanKeys<V> extends never\n ? Extract<StringKeys<V>, 'true' | 'false'> extends never\n ? false\n : true\n : true\n\n// If a variant's keys are boolean-like, expose the prop as boolean.\n// If it has numeric keys, allow those numbers and their string forms.\n// Otherwise use a string union of the keys.\ntype VariantValueType<V> =\n HasBoolLikeKeys<V> extends true\n ? boolean\n : [NumberKeys<V>] extends [never]\n ? StringKeys<V>\n : NumberKeys<V> | `${NumberKeys<V>}`\n\n// Shape of the `variants` section passed to styled()\ntype VariantConfig = Record<string, Record<string | number, string | string[]>>\n\n// Options for styled() function\ntype StyledOptions = {\n enableResponsiveVariants?: boolean\n enablePolymorphism?: boolean\n}\n\n// Helper to check if responsive variants are enabled\ntype AreResponsiveVariantsEnabled<O> = O extends {\n enableResponsiveVariants: true\n}\n ? true\n : false\n\n// Props derived from a `variants` config\n// If enableResponsiveVariants is true, all variants support responsive values\n// If enableResponsiveVariants is not provided or false, variants do not support responsive values\ntype VariantProps<\n V extends VariantConfig | undefined,\n R extends boolean = false\n> = V extends VariantConfig\n ? R extends true\n ? {\n [K in keyof V]?: ResponsiveVariant<VariantValueType<V[K]>>\n }\n : {\n [K in keyof V]?: VariantValueType<V[K]>\n }\n : unknown\n\n// Typed config for our styled helper.\n// We intentionally *don't* rely on tailwind-variants' TS types here;\n// we only care about enough structure to derive props.\ntype StyledConfig<V extends VariantConfig | undefined = undefined> = {\n base?: string | string[]\n variants?: V\n compoundVariants?: Array<\n {\n class?: string | string[]\n } & (V extends VariantConfig\n ? {\n [K in keyof V]?: VariantValueType<V[K]> | VariantValueType<V[K]>[]\n }\n : Record<string, never>)\n >\n defaultVariants?: V extends VariantConfig\n ? { [K in keyof V]?: VariantValueType<V[K]> }\n : Record<string, never>\n}\n\n// Props of the default element. `as` is typed `never` so JSX usage with `as`\n// can only resolve through the generic polymorphic signature — signatures\n// built from this can never accept calls the generic one would reject.\ntype DefaultElementProps<\n TDefaultElement extends ElementType,\n OwnProps\n> = OwnProps & { as?: never } & Omit<\n React.ComponentPropsWithRef<TDefaultElement>,\n keyof OwnProps | 'as'\n >\n\n// Polymorphic component type: `as` prop narrows accepted props and ref type.\n//\n// The non-generic default-element signature appears twice on purpose. Tooling\n// that inspects call signatures disagrees on which one to read: props-table\n// generation (react-docgen-typescript) reads the FIRST, while type-level\n// inference (React.ComponentProps and friends) reads the LAST. If either\n// tool lands on the generic signature instead, TAs erases to its ElementType\n// constraint and the props collapse to `any` (docgen then also loses every\n// element-specific prop, e.g. Radix's asChild).\nexport interface PolymorphicComponent<\n TDefaultElement extends ElementType,\n OwnProps\n> {\n (\n props: DefaultElementProps<TDefaultElement, OwnProps>\n ): React.ReactElement | null\n <TAs extends ElementType = TDefaultElement>(\n props: OwnProps & { as?: TAs } & Omit<\n React.ComponentPropsWithRef<TAs>,\n keyof OwnProps | 'as'\n >\n ): React.ReactElement | null\n (\n props: DefaultElementProps<TDefaultElement, OwnProps>\n ): React.ReactElement | null\n displayName?: string\n __isStyledComponent?: boolean\n}\n\n// Non-polymorphic component type: no `as` prop. Single concrete call\n// signature, so React.ComponentProps and react-docgen-typescript both read\n// it directly — no sandwich needed.\nexport interface StyledComponent<\n TDefaultElement extends ElementType,\n OwnProps\n> {\n (\n props: OwnProps &\n Omit<React.ComponentPropsWithRef<TDefaultElement>, keyof OwnProps | 'as'>\n ): React.ReactElement | null\n displayName?: string\n __isStyledComponent?: boolean\n}\n\ntype PolymorphicElementProps<E extends ElementType, OwnProps> = OwnProps & {\n as?: E\n} & Omit<React.ComponentPropsWithRef<E>, keyof OwnProps | 'as'>\n\n/**\n * Extract the props a styled component accepts, optionally for a specific\n * `as` element. `React.ComponentProps<typeof Box>` only describes the default\n * element (with `as` unusable); use this to retarget or to build wrappers\n * that re-expose polymorphism:\n *\n * ```tsx\n * type AnchorBoxProps = StyledComponentProps<typeof Box, 'a'> // href, anchor ref…\n * ```\n */\nexport type StyledComponentProps<C, TAs extends ElementType = never> =\n C extends PolymorphicComponent<\n infer TDefault extends ElementType,\n infer OwnProps\n >\n ? PolymorphicElementProps<[TAs] extends [never] ? TDefault : TAs, OwnProps>\n : C extends ElementType\n ? React.ComponentPropsWithRef<[TAs] extends [never] ? C : TAs>\n : never\n\n// Function overloads for better type inference\n\n// enablePolymorphism: false — no `as` prop\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined\n>(\n el: TElement,\n styles: StyledConfig<V>,\n options: { enablePolymorphism: false; enableResponsiveVariants: true }\n): StyledComponent<TElement, VariantProps<V, true>>\n\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined\n>(\n el: TElement,\n styles: StyledConfig<V>,\n options: { enablePolymorphism: false }\n): StyledComponent<TElement, VariantProps<V, false>>\n\n// enablePolymorphism: true (default) — `as` prop available\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined\n>(\n el: TElement,\n styles: StyledConfig<V>,\n options: { enableResponsiveVariants: true }\n): PolymorphicComponent<TElement, VariantProps<V, true>>\n\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined\n>(\n el: TElement,\n styles: StyledConfig<V>\n): PolymorphicComponent<TElement, VariantProps<V, false>>\n\n// Implementation\nexport function styled<\n TElement extends ElementType,\n V extends VariantConfig | undefined = undefined,\n O extends StyledOptions | undefined = undefined\n>(el: TElement, styles: StyledConfig<V>, options?: O) {\n const variantKeys = Object.keys(styles.variants || {})\n const enableResponsiveVariants = options?.enableResponsiveVariants === true\n const tvFn = tv(styles as any)\n\n type ResponsiveVariantsEnabled = AreResponsiveVariantsEnabled<O>\n type VariantPropsType = VariantProps<V, ResponsiveVariantsEnabled>\n type BaseProps = React.ComponentPropsWithRef<TElement>\n // Extract variant keys to omit from BaseProps so variant props override native HTML attributes\n type VariantKeys = V extends VariantConfig ? keyof V : never\n type StyledProps = Omit<BaseProps, VariantKeys> &\n VariantPropsType & {\n as?: ElementType\n ref?: React.Ref<React.ComponentRef<TElement>>\n className?: string\n /** @internal wrapper classes passed between nested styled components */\n __wrapperClasses?: string\n }\n\n const Comp = (props: StyledProps) => {\n const { ref, ...propsWithoutRef } = props\n const additionalStyles = enableResponsiveVariants\n ? variantKeys\n .map((variantKey) => {\n const responsiveVariantConfig:\n | Record<Breakpoint, string | number>\n | undefined = props[variantKey]\n const variantStyles: Record<string, string | string[]> =\n styles.variants![variantKey]\n\n if (\n typeof responsiveVariantConfig === 'object' &&\n responsiveVariantConfig &&\n !Array.isArray(responsiveVariantConfig)\n ) {\n return Object.entries(responsiveVariantConfig).flatMap(\n ([key, val]) => {\n const valStr = String(val)\n const styleArr: string | string[] =\n variantStyles && variantStyles[valStr]\n\n if (styleArr && Array.isArray(styleArr)) {\n return styleArr.flatMap((cls: string) => {\n if (key === '@initial') return cls\n return `${key.replace('@', '')}:${cls}`\n })\n }\n return []\n }\n )\n }\n\n return []\n })\n .flat()\n : []\n\n // Filter out variant props that don't belong to this component before calling tvFn\n // This prevents tailwind-variants from processing props meant for wrapped components\n // Only pass props that are in this component's variant keys\n // For boolean variants, only include them if the value is explicitly true or false (not null/undefined)\n // Note: tailwind-variants treats null as \"no variant\" but undefined/missing as \"apply false variant\"\n // So we need to convert undefined to null for boolean variants to prevent default behavior\n const propsForTv =\n variantKeys.length > 0\n ? Object.fromEntries(\n Object.entries(props as Record<string, unknown>)\n .filter(([key]) => variantKeys.includes(key))\n .map(([key, value]) => {\n // Check if this is a boolean variant (has both 'true' and 'false' keys)\n const variantConfig = styles.variants?.[key]\n if (\n variantConfig &&\n 'true' in variantConfig &&\n 'false' in variantConfig\n ) {\n // For boolean variants, only include if value is explicitly true or false\n // Convert undefined to null to prevent tailwind-variants from applying false variant\n if (value === true || value === false) {\n return [key, value]\n }\n // For null/undefined, pass null to prevent tailwind-variants from applying defaults\n // This ensures that when a boolean prop is explicitly null/undefined, no variant is applied\n return [key, null]\n }\n // For non-boolean variants, pass value as-is (including null/undefined)\n return [key, value]\n })\n )\n : {}\n\n const cls = tvFn(propsForTv)\n\n const filteredProps = Object.fromEntries(\n Object.entries(props).filter(\n ([key]) =>\n !variantKeys.includes(key) &&\n key !== 'as' &&\n key !== '__wrapperClasses'\n )\n )\n\n const mergedClassName = clsx(cls, additionalStyles).trim()\n const propsClassName = props.className\n // Check for wrapper classes passed from a parent styled component\n const wrapperClasses = props.__wrapperClasses\n\n if (\n typeof el === 'string' ||\n typeof el === 'function' ||\n (el && typeof el === 'object')\n ) {\n const elementType = el as ElementType\n\n // If el is a host string ('div', 'span', etc.) we must not pass variant props to the DOM.\n if (typeof el === 'string') {\n const { className: _, ...restFilteredProps } = filteredProps as any\n // Merge order: wrapper classes (lowest priority) < component classes < user's className (highest priority)\n // This ensures variant classes from this component override base classes from wrapper\n // IMPORTANT: When propsClassName exists (could be from asChild), we need to ensure child's classes win\n // over parent classes, but user's className should still have highest priority.\n // Strategy: Only apply special merge when wrapperClasses exist (nested styled component scenario).\n // For regular cases (no wrapperClasses), use standard merge order so user's className has highest priority.\n const finalClassName =\n wrapperClasses && propsClassName\n ? twMerge(mergedClassName, wrapperClasses, propsClassName) // wrapper overrides base, user className wins\n : wrapperClasses\n ? twMerge(mergedClassName, wrapperClasses) // wrapper overrides base\n : propsClassName\n ? (() => {\n // When propsClassName comes from asChild (Radix), we want this component's classes to win\n // When propsClassName is a regular className prop, the user's className should win (highest priority)\n // We can detect asChild scenario by checking if propsClassName contains classes that look like they came from a parent component\n // (e.g., data attribute variants like data-[state=closed]:rounded-sm)\n // If it does, treat it as asChild and let component classes win. Otherwise, let user's className win.\n const hasDataAttributeVariants = propsClassName\n .split(' ')\n .some((cls) => /^data-\\[state=[^\\]]+\\]:/.test(cls))\n\n if (hasDataAttributeVariants) {\n // This is likely from asChild - component's classes should win\n return twMerge(propsClassName, mergedClassName)\n } else {\n // Regular className prop - user's className should win (highest priority)\n return twMerge(mergedClassName, propsClassName)\n }\n })()\n : twMerge(mergedClassName) // Always merge mergedClassName to resolve conflicts within it (e.g., bg-[unset] vs bg-(--base))\n\n return React.createElement(props.as || elementType, {\n ...restFilteredProps,\n ref,\n className: finalClassName\n })\n }\n\n // If el is a function component (including forwardRef), pass ALL props through\n // (the wrapped component may expect variant props), but ensure className and ref are forwarded.\n // We need to pass all props (not filteredProps) because the underlying component may have its own variants\n //\n // For className merging with wrapped styled components:\n // Solution: Pass wrapper's classes via __wrapperClasses prop for styled components to merge correctly.\n // For regular function components, merge wrapper classes with our classes and pass as className.\n // This ensures:\n // - Styled components can merge: wrapper classes < wrapped component classes < user's className\n // - Regular components get merged classes directly and don't receive __wrapperClasses\n // Filter out variant props and __wrapperClasses from props passed to function components\n // This prevents them from ending up in the DOM.\n // Note: We filter out variant props that belong to THIS component. Variant props that belong to\n // the wrapped component will be passed through (they're not in variantKeys), and the wrapped\n // component will filter them if it's a styled component.\n // Note: 'as' prop is filtered from filteredProps to prevent it from going to DOM for string elements,\n // but we add it back for function components since they need it for polymorphism.\n const { className: _, ...restFilteredProps } = filteredProps as any\n const asProp = props.as // Extract 'as' prop separately\n // Note: __wrapperClasses is already filtered out in filteredProps, so restFilteredProps doesn't include it\n\n // For styled components: Pass wrapper classes via __wrapperClasses so they can merge correctly.\n // Styled components extract __wrapperClasses from props (before filteredProps) and filter it in filteredProps.\n // For regular function components: We merge wrapper classes into className, but also pass __wrapperClasses\n // which they may spread. To prevent it in DOM, we need to ensure it's filtered, but we can't control that.\n // However, styled components that wrap regular components will filter __wrapperClasses in their filteredProps.\n if (wrapperClasses) {\n // We have wrapper classes from parent - this is a nested styled component scenario\n // Merge order: wrapper classes (base) < this component's classes (variants) < user's className\n // This ensures variant classes override base classes via twMerge\n // IMPORTANT: When propsClassName exists (could be from asChild), we need to ensure this component's classes win.\n // Strategy: Merge wrapperClasses with propsClassName first, then merge with mergedClassName last.\n // This ensures: wrapperClasses < propsClassName < mergedClassName (this component's classes win)\n // This is critical when propsClassName contains parent classes from asChild merge.\n const finalClassName = propsClassName\n ? twMerge(wrapperClasses, propsClassName, mergedClassName) // This component's classes win by being merged last\n : twMerge(wrapperClasses, mergedClassName)\n\n // Check if the wrapped component is a styled component\n // React.forwardRef components are objects, not functions\n const isStyledComponent =\n (typeof elementType === 'function' ||\n typeof elementType === 'object') &&\n elementType !== null &&\n (elementType as any).__isStyledComponent === true\n\n const propsForComponent: any = {\n ...restFilteredProps, // Base props (filters THIS component's variant props, __wrapperClasses, 'as')\n ...(asProp ? { as: asProp } : {}), // Add 'as' prop back for function components (polymorphic support)\n // Note: We don't add variant props back - they're already filtered by filteredProps.\n ref\n }\n\n if (isStyledComponent) {\n // Wrapped component is a styled component - pass __wrapperClasses so variant classes win\n // IMPORTANT: When propsClassName exists (could be from asChild), it may contain both parent and child classes.\n // We should NOT merge propsClassName with mergedClassName here, because that would remove child classes.\n // Instead, pass propsClassName as-is (or merge only wrapperClasses with mergedClassName) so the child\n // can merge its own classes last. The child will merge: twMerge(__wrapperClasses, propsClassName, child's mergedClassName).\n // This ensures child's classes win by being merged last.\n // Merge wrapperClasses with mergedClassName to create the wrapper classes for the child\n const combinedWrapperClasses = twMerge(\n wrapperClasses,\n mergedClassName\n )\n propsForComponent.__wrapperClasses = combinedWrapperClasses\n propsForComponent.className = propsClassName || undefined\n } else {\n // Wrapped component is not a styled component - merge wrapper classes into className\n // and don't pass __wrapperClasses (it would end up in DOM)\n propsForComponent.className = finalClassName\n }\n return React.createElement(elementType, propsForComponent)\n } else {\n // No wrapper classes from parent - we're top-level\n // For function components: Pass __wrapperClasses so styled components can merge correctly.\n // Styled components extract __wrapperClasses from their props (before filteredProps) and filter it in filteredProps.\n // Regular function components will receive __wrapperClasses but should filter it out themselves.\n // We also merge wrapper classes into className for regular function components.\n // Note: We pass __wrapperClasses in props (not filteredProps) so styled components can access it,\n // but styled components filter it in their filteredProps so it won't go to DOM.\n // Regular function components that spread all props will pass __wrapperClasses to DOM, which is a problem.\n // But we can't distinguish them, so we rely on styled components filtering it.\n // Check if the wrapped component is a styled component\n // elementType is the component itself (e.g., Inner when Outer extends Inner)\n // React.forwardRef components are objects, not functions, but we can still check the flag\n const isStyledComponent =\n (typeof elementType === 'function' ||\n typeof elementType === 'object') &&\n elementType !== null &&\n (elementType as any).__isStyledComponent === true\n\n const propsForComponent: any = {\n ...restFilteredProps, // Filters out __wrapperClasses, variant props, 'as'\n ...(asProp ? { as: asProp } : {}),\n ref\n }\n\n if (isStyledComponent) {\n // Styled component - pass wrapper classes via __wrapperClasses so variant classes can take precedence\n // IMPORTANT: When propsClassName exists, we need to distinguish between:\n // 1. User's className (should win - highest priority)\n // 2. className from asChild/parent component (component's classes should win)\n // We detect asChild by checking for data attribute variants (e.g., data-[state=closed]:rounded-sm)\n const hasDataAttributeVariants = propsClassName\n ? propsClassName\n .split(' ')\n .some((cls) => /^data-\\[state=[^\\]]+\\]:/.test(cls))\n : false\n\n const mergedPropsAndComponent = propsClassName\n ? hasDataAttributeVariants\n ? // This is likely from asChild - component's classes should win\n twMerge(propsClassName, mergedClassName)\n : // Regular user className - user's className should win (highest priority)\n twMerge(mergedClassName, propsClassName)\n : mergedClassName\n propsForComponent.__wrapperClasses = mergedClassName\n propsForComponent.className = mergedPropsAndComponent || undefined\n } else {\n // Regular function component - merge wrapper classes into className\n // Standard merge order: component classes < user's className (highest priority)\n propsForComponent.className = twMerge(mergedClassName, propsClassName)\n }\n return React.createElement(elementType, propsForComponent)\n }\n }\n\n if (React.isValidElement(el)) {\n const element = el as ReactElement<unknown>\n // Merge existing element className, incoming filteredProps.className and our computed class\n const existingClass = (element.props as any).className\n const incomingClass = (filteredProps as any).className\n const finalClassName = cn(\n existingClass,\n incomingClass,\n mergedClassName\n ).trim()\n\n const cloneProps: any = {\n // ...element.props,\n ...filteredProps,\n as: props.as || (element.props as { as?: ElementType }).as,\n className: finalClassName\n }\n\n // Forward the ref if provided\n if (ref) {\n cloneProps.ref = ref\n }\n\n return React.cloneElement(element, cloneProps)\n }\n\n throw Error('Something is wrong')\n }\n\n // Mark the component as a styled component so we can detect it later\n ;(Comp as any).__isStyledComponent = true\n\n // Name the component for DevTools and error component stacks — without\n // this every styled component reads as the inner function name, \"Comp\"\n const baseName =\n typeof el === 'string'\n ? el\n : (el as any).displayName || (el as any).name || 'Component'\n Comp.displayName = baseName.startsWith('styled.')\n ? baseName\n : `styled.${baseName}`\n\n return Comp\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type * as React from 'react';
2
2
  export type NavigatorActions = {
3
3
  onClick?: React.MouseEventHandler<HTMLElement>;
4
4
  href?: string;
@@ -9,51 +9,34 @@
9
9
  * If you pass `as="button"` instead, it should not accept `href` and the `ref`
10
10
  * should be of type `HTMLButtonElement`.
11
11
  *
12
- *
13
- * Taken from:
14
- * https://blog.logrocket.com/build-strongly-typed-polymorphic-components-react-typescript/
15
- */
16
- /**
17
- * A generic that is used to capture the `as` prop value
18
- */
19
- type AsProp<C extends React.ElementType> = {
20
- as?: C;
21
- };
22
- /**
23
- * A type of the `as` prop, plus any custom defined props.
24
- */
25
- type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
26
- /**
27
- * Adds a typed `as` prop to a list of props.
12
+ * React 19: ref is a regular prop included in ComponentProps, so we use
13
+ * ComponentProps directly instead of the old ComponentPropsWithoutRef + manual ref.
28
14
  */
29
- type PolymorphicComponentProp<C extends React.ElementType, Props = Record<string, unknown>> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
30
15
  /**
31
16
  * Type to capture the `ref` prop type from the element type
32
17
  * passed into the `as` prop.
33
18
  */
34
19
  export type PolymorphicRef<C extends React.ElementType> = React.ComponentPropsWithRef<C>['ref'];
35
20
  /**
21
+ * Polymorphic component props that include the `as` prop, element-specific
22
+ * props (including ref), and any custom props.
23
+ *
36
24
  * Usage example:
37
25
  *
38
26
  * ```tsx
39
- * type MyComponentProps<C extends React.ElementType> = PolymorphicComponentPropWithRef<
27
+ * type MyComponentProps<C extends React.ElementType> = PolymorphicComponentProps<
40
28
  * C,
41
29
  * { myProp: string }
42
30
  * >
43
31
  *
44
- * const MyComponent: <C extends React.ElementType = 'span'>(
45
- * props: MyComponentProps<C>
46
- * ) => React.ReactElement | null = React.forwardRef(
47
- * <C extends React.ElementType = 'span'>(
48
- * { children, as, myProp }: MyComponentProps<C>,
49
- * ref?: MyComponentProps<C>['ref']
50
- * ) => {
51
- * ...
52
- * }
53
- * )
32
+ * const MyComponent = <C extends React.ElementType = 'span'>(
33
+ * { children, as, myProp, ref, ...rest }: MyComponentProps<C>
34
+ * ) => {
35
+ * const Component = as || 'span'
36
+ * return <Component ref={ref} {...rest}>{children}</Component>
37
+ * }
54
38
  * ```
55
39
  */
56
- export type PolymorphicComponentPropWithRef<C extends React.ElementType, Props = Record<string, unknown>> = PolymorphicComponentProp<C, Props> & {
57
- ref?: PolymorphicRef<C>;
58
- };
59
- export {};
40
+ export type PolymorphicComponentProps<C extends React.ElementType, Props = Record<string, unknown>> = React.PropsWithChildren<Props & {
41
+ as?: C;
42
+ }> & Omit<React.ComponentProps<C>, keyof Props | 'as'>;
@@ -3,8 +3,8 @@ type CssWrapperProps = {
3
3
  className?: string;
4
4
  children: React.ReactNode;
5
5
  };
6
- export declare const CSSWrapper: {
7
- ({ className, children }: CssWrapperProps): React.ReactElement<unknown>;
8
- displayName: string;
9
- };
6
+ export declare function CSSWrapper({ className, children }: CssWrapperProps): React.ReactElement<unknown>;
7
+ export declare namespace CSSWrapper {
8
+ var displayName: string;
9
+ }
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CSSWrapper.js","names":[],"sources":["../../../src/utilities/css-wrapper/CSSWrapper.tsx"],"sourcesContent":["import * as React from 'react'\n\ntype CssWrapperProps = {\n className?: string\n children: React.ReactNode\n}\n\nexport const CSSWrapper = ({\n className,\n children\n}: CssWrapperProps): React.ReactElement<unknown> =>\n className ? (\n <div className={className}>{children}</div>\n ) : (\n // children could be multiple elements/components,\n // so we need a fragment here.\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>{children}</>\n )\n\nCSSWrapper.displayName = 'CSSWrapper'\n"],"mappings":";;;AAOA,IAAa,cAAc,EACzB,WACA,eAEA,YACE,oBAAC,OAAD;CAAgB;CAAY;CAAe,CAAA,GAK3C,oBAAA,UAAA,EAAG,UAAY,CAAA;AAGnB,WAAW,cAAc"}
1
+ {"version":3,"file":"CSSWrapper.js","names":[],"sources":["../../../src/utilities/css-wrapper/CSSWrapper.tsx"],"sourcesContent":["import * as React from 'react'\n\ntype CssWrapperProps = {\n className?: string\n children: React.ReactNode\n}\n\nexport const CSSWrapper = ({\n className,\n children\n}: CssWrapperProps): React.ReactElement<unknown> =>\n className ? (\n <div className={className}>{children}</div>\n ) : (\n // children could be multiple elements/components,\n // so we need a fragment here.\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>{children}</>\n )\n\nCSSWrapper.displayName = 'CSSWrapper'\n"],"mappings":";;;AAOA,IAAa,cAAc,EACzB,WACA,eAEA,YACE,oBAAC,OAAD;CAAgB;CAAY;AAAc,CAAA,IAK1C,oBAAA,UAAA,EAAG,SAAW,CAAA;AAGlB,WAAW,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"preventEvent.js","names":[],"sources":["../../../src/utilities/event/preventEvent.ts"],"sourcesContent":["/*\nUsed to block default radix hover to open menu behaviour\nProps: https://github.com/radix-ui/primitives/issues/1630\n*/\nexport const preventEvent = (\n event: React.PointerEvent | Event | React.SyntheticEvent\n): void => {\n const e = event as Event\n e.preventDefault()\n}\n"],"mappings":";AAIA,IAAa,gBACX,UACS;AACC,OACR,gBAAgB"}
1
+ {"version":3,"file":"preventEvent.js","names":[],"sources":["../../../src/utilities/event/preventEvent.ts"],"sourcesContent":["/*\nUsed to block default radix hover to open menu behaviour\nProps: https://github.com/radix-ui/primitives/issues/1630\n*/\nexport const preventEvent = (\n event: React.PointerEvent | Event | React.SyntheticEvent\n): void => {\n const e = event as Event\n e.preventDefault()\n}\n"],"mappings":";AAIA,IAAa,gBACX,UACS;CAET,MAAE,eAAe;AACnB"}
@@ -8,8 +8,12 @@ var useCallbackRef = () => {
8
8
  };
9
9
  var useCallbackRefState = () => {
10
10
  const [elRef, setElRef] = React$1.useState(null);
11
+ const hasElement = React$1.useRef(false);
11
12
  return [elRef, React$1.useCallback((el) => {
12
- if (el) setElRef((prev) => prev === el ? prev : el);
13
+ if (el && !hasElement.current) {
14
+ hasElement.current = true;
15
+ setElRef(el);
16
+ }
13
17
  }, [])];
14
18
  };
15
19
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"useCallbackRef.js","names":[],"sources":["../../../src/utilities/hooks/useCallbackRef.ts"],"sourcesContent":["import * as React from 'react'\n\nexport const useCallbackRef: () => [\n React.MutableRefObject<HTMLElement | null>,\n (HTMLElement) => void\n] = () => {\n const elRef = React.useRef<HTMLElement | null>(null)\n\n const setElRefCallback = React.useCallback((el) => {\n if (el) elRef.current = el\n }, [])\n\n return [elRef, setElRefCallback]\n}\n\nexport const useCallbackRefState: () => [\n HTMLElement | null,\n (HTMLElement) => void\n] = () => {\n const [elRef, setElRef] = React.useState<HTMLElement | null>(null)\n\n const setElRefCallback = React.useCallback((el) => {\n if (el) setElRef((prev) => (prev === el ? prev : el))\n }, [])\n\n return [elRef, setElRefCallback]\n}\n"],"mappings":";;AAEA,IAAa,uBAGH;CACR,MAAM,QAAQ,QAAM,OAA2B,KAAK;AAMpD,QAAO,CAAC,OAJiB,QAAM,aAAa,OAAO;AACjD,MAAI,GAAI,OAAM,UAAU;IACvB,EAAE,CAAC,CAE0B;;AAGlC,IAAa,4BAGH;CACR,MAAM,CAAC,OAAO,YAAY,QAAM,SAA6B,KAAK;AAMlE,QAAO,CAAC,OAJiB,QAAM,aAAa,OAAO;AACjD,MAAI,GAAI,WAAU,SAAU,SAAS,KAAK,OAAO,GAAI;IACpD,EAAE,CAAC,CAE0B"}
1
+ {"version":3,"file":"useCallbackRef.js","names":[],"sources":["../../../src/utilities/hooks/useCallbackRef.ts"],"sourcesContent":["import * as React from 'react'\n\nexport const useCallbackRef: () => [\n React.MutableRefObject<HTMLElement | null>,\n (HTMLElement) => void\n] = () => {\n const elRef = React.useRef<HTMLElement | null>(null)\n\n const setElRefCallback = React.useCallback((el) => {\n if (el) elRef.current = el\n }, [])\n\n return [elRef, setElRefCallback]\n}\n\nexport const useCallbackRefState: () => [\n HTMLElement | null,\n (HTMLElement) => void\n] = () => {\n const [elRef, setElRef] = React.useState<HTMLElement | null>(null)\n const hasElement = React.useRef(false)\n\n const setElRefCallback = React.useCallback((el) => {\n // Commit the attached node to state exactly once — the first time one\n // becomes available — and never again. Under React 19 concurrent rendering\n // with heavy CPU contention, renders get interrupted and re-run, so the DOM\n // node attached via the callback ref churns: React commits and replaces the\n // node, firing this callback with a fresh identity each time. The previous\n // `prev === el ? prev : el` guard couldn't catch that — a new identity is\n // never `=== prev` — so every churn scheduled another render, which churned\n // the node again: an unbounded \"Maximum update depth exceeded\" loop.\n //\n // A one-shot setState makes the returned element reference stable and the\n // loop structurally impossible (later invocations are no-ops). All consumers\n // attach this to a single, always-mounted element, so the first node is the\n // node — there is no element swap to miss.\n if (el && !hasElement.current) {\n hasElement.current = true\n setElRef(el)\n }\n }, [])\n\n return [elRef, setElRefCallback]\n}\n"],"mappings":";;AAEA,IAAa,uBAGH;CACR,MAAM,QAAQ,QAAM,OAA2B,IAAI;CAMnD,OAAO,CAAC,OAJiB,QAAM,aAAa,OAAO;EACjD,IAAI,IAAI,MAAM,UAAU;CAC1B,GAAG,CAAC,CAEW,CAAgB;AACjC;AAEA,IAAa,4BAGH;CACR,MAAM,CAAC,OAAO,YAAY,QAAM,SAA6B,IAAI;CACjE,MAAM,aAAa,QAAM,OAAO,KAAK;CAsBrC,OAAO,CAAC,OApBiB,QAAM,aAAa,OAAO;EAcjD,IAAI,MAAM,CAAC,WAAW,SAAS;GAC7B,WAAW,UAAU;GACrB,SAAS,EAAE;EACb;CACF,GAAG,CAAC,CAEW,CAAgB;AACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMountedRef.js","names":[],"sources":["../../../src/utilities/hooks/useIsMountedRef.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport const useIsMountedRef = () => {\n const isMountedRef = useRef<boolean | undefined>(undefined)\n\n useEffect(() => {\n isMountedRef.current = true\n return () => {\n isMountedRef.current = false\n }\n })\n\n return isMountedRef\n}\n"],"mappings":";;AAEA,IAAa,wBAAwB;CACnC,MAAM,eAAe,OAA4B,KAAA,EAAU;AAE3D,iBAAgB;AACd,eAAa,UAAU;AACvB,eAAa;AACX,gBAAa,UAAU;;GAEzB;AAEF,QAAO"}
1
+ {"version":3,"file":"useIsMountedRef.js","names":[],"sources":["../../../src/utilities/hooks/useIsMountedRef.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport const useIsMountedRef = () => {\n const isMountedRef = useRef<boolean | undefined>(undefined)\n\n useEffect(() => {\n isMountedRef.current = true\n return () => {\n isMountedRef.current = false\n }\n })\n\n return isMountedRef\n}\n"],"mappings":";;AAEA,IAAa,wBAAwB;CACnC,MAAM,eAAe,OAA4B,KAAA,CAAS;CAE1D,gBAAgB;EACd,aAAa,UAAU;EACvB,aAAa;GACX,aAAa,UAAU;EACzB;CACF,CAAC;CAED,OAAO;AACT"}
@@ -1,8 +1,8 @@
1
- type TUseResizeObserverOptions = {
1
+ type UseResizeObserverOptions = {
2
2
  elements: (HTMLElement | undefined | null)[];
3
3
  onResize: (entries: ResizeObserverEntry[]) => void;
4
4
  delay?: number;
5
5
  };
6
- type TUseResizeObserverOutput = ResizeObserver | null;
7
- export declare const useResizeObserver: ({ delay, elements, onResize }: TUseResizeObserverOptions) => TUseResizeObserverOutput;
6
+ type UseResizeObserverOutput = ResizeObserver | null;
7
+ export declare const useResizeObserver: ({ delay, elements, onResize }: UseResizeObserverOptions) => UseResizeObserverOutput;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.js","names":[],"sources":["../../../src/utilities/hooks/useResizeObserver.ts"],"sourcesContent":["import * as React from 'react'\nimport { debounce } from 'throttle-debounce'\n\ntype TUseResizeObserverOptions = {\n elements: (HTMLElement | undefined | null)[]\n onResize: (entries: ResizeObserverEntry[]) => void\n delay?: number\n}\n\ntype TUseResizeObserverOutput = ResizeObserver | null\n\nconst createResizeObserver = (\n callback: (entries: ResizeObserverEntry[]) => void\n) => {\n try {\n return new ResizeObserver(callback)\n } catch {\n return null\n }\n}\n\nexport const useResizeObserver = ({\n delay = 500,\n elements,\n onResize\n}: TUseResizeObserverOptions): TUseResizeObserverOutput => {\n // Keep the latest `onResize` in a ref so the observer is only recreated when\n // `delay` changes. Otherwise a callback whose identity changes on render (e.g.\n // `useSize`'s `handleResize`, which depends on `element`) would recreate and\n // re-subscribe the observer, and `ResizeObserver` fires its initial callback\n // on every `observe()` — a measure → setState → re-render → re-subscribe loop\n // that surfaces as \"Maximum update depth exceeded\".\n const onResizeRef = React.useRef(onResize)\n React.useLayoutEffect(() => {\n onResizeRef.current = onResize\n })\n\n const observer = React.useMemo(\n () =>\n createResizeObserver(\n debounce(delay, (entries: ResizeObserverEntry[]) =>\n onResizeRef.current(entries)\n )\n ),\n [delay]\n )\n\n React.useEffect(() => {\n elements.forEach((element) => {\n if (element) {\n observer?.observe(element)\n }\n })\n\n return () => {\n elements.forEach((element) => element && observer?.unobserve(element))\n }\n }, [observer, elements])\n\n return observer\n}\n"],"mappings":";;;AAWA,IAAM,wBACJ,aACG;AACH,KAAI;AACF,SAAO,IAAI,eAAe,SAAS;SAC7B;AACN,SAAO;;;AAIX,IAAa,qBAAqB,EAChC,QAAQ,KACR,UACA,eACyD;CAOzD,MAAM,cAAc,QAAM,OAAO,SAAS;AAC1C,SAAM,sBAAsB;AAC1B,cAAY,UAAU;GACtB;CAEF,MAAM,WAAW,QAAM,cAEnB,qBACE,SAAS,QAAQ,YACf,YAAY,QAAQ,QAAQ,CAC7B,CACF,EACH,CAAC,MAAM,CACR;AAED,SAAM,gBAAgB;AACpB,WAAS,SAAS,YAAY;AAC5B,OAAI,QACF,WAAU,QAAQ,QAAQ;IAE5B;AAEF,eAAa;AACX,YAAS,SAAS,YAAY,WAAW,UAAU,UAAU,QAAQ,CAAC;;IAEvE,CAAC,UAAU,SAAS,CAAC;AAExB,QAAO"}
1
+ {"version":3,"file":"useResizeObserver.js","names":[],"sources":["../../../src/utilities/hooks/useResizeObserver.ts"],"sourcesContent":["import * as React from 'react'\nimport { debounce } from 'throttle-debounce'\n\ntype UseResizeObserverOptions = {\n elements: (HTMLElement | undefined | null)[]\n onResize: (entries: ResizeObserverEntry[]) => void\n delay?: number\n}\n\ntype UseResizeObserverOutput = ResizeObserver | null\n\nconst createResizeObserver = (\n callback: (entries: ResizeObserverEntry[]) => void\n) => {\n try {\n return new ResizeObserver(callback)\n } catch {\n return null\n }\n}\n\nexport const useResizeObserver = ({\n delay = 500,\n elements,\n onResize\n}: UseResizeObserverOptions): UseResizeObserverOutput => {\n // Keep the latest `onResize` in a ref so the observer is only recreated when\n // `delay` changes. Otherwise a callback whose identity changes on render (e.g.\n // `useSize`'s `handleResize`, which depends on `element`) would recreate and\n // re-subscribe the observer, and `ResizeObserver` fires its initial callback\n // on every `observe()` — a measure → setState → re-render → re-subscribe loop\n // that surfaces as \"Maximum update depth exceeded\".\n const onResizeRef = React.useRef(onResize)\n React.useLayoutEffect(() => {\n onResizeRef.current = onResize\n })\n\n const observer = React.useMemo(\n () =>\n createResizeObserver(\n debounce(delay, (entries: ResizeObserverEntry[]) =>\n onResizeRef.current(entries)\n )\n ),\n [delay]\n )\n\n React.useEffect(() => {\n elements.forEach((element) => {\n if (element) {\n observer?.observe(element)\n }\n })\n\n return () => {\n elements.forEach((element) => element && observer?.unobserve(element))\n }\n }, [observer, elements])\n\n return observer\n}\n"],"mappings":";;;AAWA,IAAM,wBACJ,aACG;CACH,IAAI;EACF,OAAO,IAAI,eAAe,QAAQ;CACpC,QAAQ;EACN,OAAO;CACT;AACF;AAEA,IAAa,qBAAqB,EAChC,QAAQ,KACR,UACA,eACuD;CAOvD,MAAM,cAAc,QAAM,OAAO,QAAQ;CACzC,QAAM,sBAAsB;EAC1B,YAAY,UAAU;CACxB,CAAC;CAED,MAAM,WAAW,QAAM,cAEnB,qBACE,SAAS,QAAQ,YACf,YAAY,QAAQ,OAAO,CAC7B,CACF,GACF,CAAC,KAAK,CACR;CAEA,QAAM,gBAAgB;EACpB,SAAS,SAAS,YAAY;GAC5B,IAAI,SACF,UAAU,QAAQ,OAAO;EAE7B,CAAC;EAED,aAAa;GACX,SAAS,SAAS,YAAY,WAAW,UAAU,UAAU,OAAO,CAAC;EACvE;CACF,GAAG,CAAC,UAAU,QAAQ,CAAC;CAEvB,OAAO;AACT"}
@@ -1,11 +1,11 @@
1
- type TUseScrollPositionOptions = {
1
+ type UseScrollPositionOptions = {
2
2
  element?: HTMLElement | null;
3
3
  delay?: number;
4
4
  delayMethod?: 'throttle' | 'debounce';
5
5
  };
6
- type TUseScrollPositionOutput = {
6
+ type UseScrollPositionOutput = {
7
7
  left: number;
8
8
  top: number;
9
9
  };
10
- export declare const useScrollPosition: ({ element, delay, delayMethod }: TUseScrollPositionOptions) => TUseScrollPositionOutput;
10
+ export declare const useScrollPosition: ({ element, delay, delayMethod }: UseScrollPositionOptions) => UseScrollPositionOutput;
11
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollPosition.js","names":[],"sources":["../../../src/utilities/hooks/useScrollPosition.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { debounce, throttle } from 'throttle-debounce'\n\ntype TUseScrollPositionOptions = {\n element?: HTMLElement | null\n delay?: number\n delayMethod?: 'throttle' | 'debounce'\n}\n\ntype TUseScrollPositionOutput = {\n left: number\n top: number\n}\n\nexport const useScrollPosition = ({\n element,\n delay = 500,\n delayMethod = 'throttle'\n}: TUseScrollPositionOptions): TUseScrollPositionOutput => {\n const [scrollPosition, setScrollPosition] = useState({ left: 0, top: 0 })\n\n const delayMethodFn = useMemo(\n () => (delayMethod === 'debounce' ? debounce : throttle),\n [delayMethod]\n )\n\n useEffect(() => {\n if (!element) return\n\n const handleScroll = delayMethodFn(delay, () => {\n setScrollPosition((prev) =>\n prev.left === element.scrollLeft && prev.top === element.scrollTop\n ? prev\n : { left: element.scrollLeft, top: element.scrollTop }\n )\n })\n\n element.addEventListener('scroll', handleScroll)\n\n return () => {\n element.removeEventListener('scroll', handleScroll)\n }\n }, [element, delayMethodFn, delay])\n\n return scrollPosition\n}\n"],"mappings":";;;AAcA,IAAa,qBAAqB,EAChC,SACA,QAAQ,KACR,cAAc,iBAC2C;CACzD,MAAM,CAAC,gBAAgB,qBAAqB,SAAS;EAAE,MAAM;EAAG,KAAK;EAAG,CAAC;CAEzE,MAAM,gBAAgB,cACb,gBAAgB,aAAa,WAAW,UAC/C,CAAC,YAAY,CACd;AAED,iBAAgB;AACd,MAAI,CAAC,QAAS;EAEd,MAAM,eAAe,cAAc,aAAa;AAC9C,sBAAmB,SACjB,KAAK,SAAS,QAAQ,cAAc,KAAK,QAAQ,QAAQ,YACrD,OACA;IAAE,MAAM,QAAQ;IAAY,KAAK,QAAQ;IAAW,CACzD;IACD;AAEF,UAAQ,iBAAiB,UAAU,aAAa;AAEhD,eAAa;AACX,WAAQ,oBAAoB,UAAU,aAAa;;IAEpD;EAAC;EAAS;EAAe;EAAM,CAAC;AAEnC,QAAO"}
1
+ {"version":3,"file":"useScrollPosition.js","names":[],"sources":["../../../src/utilities/hooks/useScrollPosition.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { debounce, throttle } from 'throttle-debounce'\n\ntype UseScrollPositionOptions = {\n element?: HTMLElement | null\n delay?: number\n delayMethod?: 'throttle' | 'debounce'\n}\n\ntype UseScrollPositionOutput = {\n left: number\n top: number\n}\n\nexport const useScrollPosition = ({\n element,\n delay = 500,\n delayMethod = 'throttle'\n}: UseScrollPositionOptions): UseScrollPositionOutput => {\n const [scrollPosition, setScrollPosition] = useState({ left: 0, top: 0 })\n\n const delayMethodFn = useMemo(\n () => (delayMethod === 'debounce' ? debounce : throttle),\n [delayMethod]\n )\n\n useEffect(() => {\n if (!element) return\n\n const handleScroll = delayMethodFn(delay, () => {\n setScrollPosition((prev) =>\n prev.left === element.scrollLeft && prev.top === element.scrollTop\n ? prev\n : { left: element.scrollLeft, top: element.scrollTop }\n )\n })\n\n element.addEventListener('scroll', handleScroll)\n\n return () => {\n element.removeEventListener('scroll', handleScroll)\n }\n }, [element, delayMethodFn, delay])\n\n return scrollPosition\n}\n"],"mappings":";;;AAcA,IAAa,qBAAqB,EAChC,SACA,QAAQ,KACR,cAAc,iBACyC;CACvD,MAAM,CAAC,gBAAgB,qBAAqB,SAAS;EAAE,MAAM;EAAG,KAAK;CAAE,CAAC;CAExE,MAAM,gBAAgB,cACb,gBAAgB,aAAa,WAAW,UAC/C,CAAC,WAAW,CACd;CAEA,gBAAgB;EACd,IAAI,CAAC,SAAS;EAEd,MAAM,eAAe,cAAc,aAAa;GAC9C,mBAAmB,SACjB,KAAK,SAAS,QAAQ,cAAc,KAAK,QAAQ,QAAQ,YACrD,OACA;IAAE,MAAM,QAAQ;IAAY,KAAK,QAAQ;GAAU,CACzD;EACF,CAAC;EAED,QAAQ,iBAAiB,UAAU,YAAY;EAE/C,aAAa;GACX,QAAQ,oBAAoB,UAAU,YAAY;EACpD;CACF,GAAG;EAAC;EAAS;EAAe;CAAK,CAAC;CAElC,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSize.js","names":[],"sources":["../../../src/utilities/hooks/useSize.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\n\nimport { useResizeObserver } from './useResizeObserver'\n\ninterface Size {\n width: number | undefined\n height: number | undefined\n}\n\nexport const useSize = ({\n element,\n delay = 500\n}: {\n element?: HTMLElement | null\n delay?: number\n}): Size => {\n const [size, setSize] = useState<Size>({\n width: undefined,\n height: undefined\n })\n\n const handleResize = useCallback(() => {\n const width = element?.clientWidth\n const height = element?.clientHeight\n setSize((prev) =>\n prev.width === width && prev.height === height ? prev : { width, height }\n )\n }, [element])\n\n const elements = useMemo(() => [element], [element])\n\n useResizeObserver({\n delay,\n elements: elements,\n onResize: handleResize\n })\n\n return size\n}\n"],"mappings":";;;AASA,IAAa,WAAW,EACtB,SACA,QAAQ,UAIE;CACV,MAAM,CAAC,MAAM,WAAW,SAAe;EACrC,OAAO,KAAA;EACP,QAAQ,KAAA;EACT,CAAC;CAEF,MAAM,eAAe,kBAAkB;EACrC,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,SAAS;AACxB,WAAS,SACP,KAAK,UAAU,SAAS,KAAK,WAAW,SAAS,OAAO;GAAE;GAAO;GAAQ,CAC1E;IACA,CAAC,QAAQ,CAAC;AAIb,mBAAkB;EAChB;EACU,UAJK,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;EAKlD,UAAU;EACX,CAAC;AAEF,QAAO"}
1
+ {"version":3,"file":"useSize.js","names":[],"sources":["../../../src/utilities/hooks/useSize.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\n\nimport { useResizeObserver } from './useResizeObserver'\n\ninterface Size {\n width: number | undefined\n height: number | undefined\n}\n\nexport const useSize = ({\n element,\n delay = 500\n}: {\n element?: HTMLElement | null\n delay?: number\n}): Size => {\n const [size, setSize] = useState<Size>({\n width: undefined,\n height: undefined\n })\n\n const handleResize = useCallback(() => {\n const width = element?.clientWidth\n const height = element?.clientHeight\n setSize((prev) =>\n prev.width === width && prev.height === height ? prev : { width, height }\n )\n }, [element])\n\n const elements = useMemo(() => [element], [element])\n\n useResizeObserver({\n delay,\n elements: elements,\n onResize: handleResize\n })\n\n return size\n}\n"],"mappings":";;;AASA,IAAa,WAAW,EACtB,SACA,QAAQ,UAIE;CACV,MAAM,CAAC,MAAM,WAAW,SAAe;EACrC,OAAO,KAAA;EACP,QAAQ,KAAA;CACV,CAAC;CAED,MAAM,eAAe,kBAAkB;EACrC,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,SAAS;EACxB,SAAS,SACP,KAAK,UAAU,SAAS,KAAK,WAAW,SAAS,OAAO;GAAE;GAAO;EAAO,CAC1E;CACF,GAAG,CAAC,OAAO,CAAC;CAIZ,kBAAkB;EAChB;EACU,UAJK,cAAc,CAAC,OAAO,GAAG,CAAC,OAAO,CAItC;EACV,UAAU;CACZ,CAAC;CAED,OAAO;AACT"}
@@ -1,10 +1,10 @@
1
- type TUseWindowScrollPositionOptions = {
1
+ type UseWindowScrollPositionOptions = {
2
2
  delay?: number;
3
3
  delayMethod?: 'throttle' | 'debounce';
4
4
  };
5
- type TUseWindowScrollPositionOutput = {
5
+ type UseWindowScrollPositionOutput = {
6
6
  x: number;
7
7
  y: number;
8
8
  };
9
- export declare const useWindowScrollPosition: ({ delay, delayMethod }?: TUseWindowScrollPositionOptions) => TUseWindowScrollPositionOutput;
9
+ export declare const useWindowScrollPosition: ({ delay, delayMethod }?: UseWindowScrollPositionOptions) => UseWindowScrollPositionOutput;
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowScrollPosition.js","names":[],"sources":["../../../src/utilities/hooks/useWindowScrollPosition.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { debounce, throttle } from 'throttle-debounce'\n\ntype TUseWindowScrollPositionOptions = {\n delay?: number\n delayMethod?: 'throttle' | 'debounce'\n}\n\ntype TUseWindowScrollPositionOutput = {\n x: number\n y: number\n}\n\nexport const useWindowScrollPosition = ({\n delay = 500,\n delayMethod = 'throttle'\n}: TUseWindowScrollPositionOptions = {}): TUseWindowScrollPositionOutput => {\n const [scrollPosition, setScrollPosition] = useState({ x: 0, y: 0 })\n\n const delayMethodFn = useMemo(\n () => (delayMethod === 'debounce' ? debounce : throttle),\n [delayMethod]\n )\n\n useEffect(() => {\n const handleScroll = delayMethodFn(delay, () => {\n setScrollPosition({ x: window.scrollX, y: window.scrollY })\n })\n\n window.addEventListener('scroll', handleScroll)\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n }, [delayMethodFn, delay])\n\n return scrollPosition\n}\n"],"mappings":";;;AAaA,IAAa,2BAA2B,EACtC,QAAQ,KACR,cAAc,eACqB,EAAE,KAAqC;CAC1E,MAAM,CAAC,gBAAgB,qBAAqB,SAAS;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAEpE,MAAM,gBAAgB,cACb,gBAAgB,aAAa,WAAW,UAC/C,CAAC,YAAY,CACd;AAED,iBAAgB;EACd,MAAM,eAAe,cAAc,aAAa;AAC9C,qBAAkB;IAAE,GAAG,OAAO;IAAS,GAAG,OAAO;IAAS,CAAC;IAC3D;AAEF,SAAO,iBAAiB,UAAU,aAAa;AAE/C,eAAa;AACX,UAAO,oBAAoB,UAAU,aAAa;;IAEnD,CAAC,eAAe,MAAM,CAAC;AAE1B,QAAO"}
1
+ {"version":3,"file":"useWindowScrollPosition.js","names":[],"sources":["../../../src/utilities/hooks/useWindowScrollPosition.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { debounce, throttle } from 'throttle-debounce'\n\ntype UseWindowScrollPositionOptions = {\n delay?: number\n delayMethod?: 'throttle' | 'debounce'\n}\n\ntype UseWindowScrollPositionOutput = {\n x: number\n y: number\n}\n\nexport const useWindowScrollPosition = ({\n delay = 500,\n delayMethod = 'throttle'\n}: UseWindowScrollPositionOptions = {}): UseWindowScrollPositionOutput => {\n const [scrollPosition, setScrollPosition] = useState({ x: 0, y: 0 })\n\n const delayMethodFn = useMemo(\n () => (delayMethod === 'debounce' ? debounce : throttle),\n [delayMethod]\n )\n\n useEffect(() => {\n const handleScroll = delayMethodFn(delay, () => {\n setScrollPosition({ x: window.scrollX, y: window.scrollY })\n })\n\n window.addEventListener('scroll', handleScroll)\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n }, [delayMethodFn, delay])\n\n return scrollPosition\n}\n"],"mappings":";;;AAaA,IAAa,2BAA2B,EACtC,QAAQ,KACR,cAAc,eACoB,CAAC,MAAqC;CACxE,MAAM,CAAC,gBAAgB,qBAAqB,SAAS;EAAE,GAAG;EAAG,GAAG;CAAE,CAAC;CAEnE,MAAM,gBAAgB,cACb,gBAAgB,aAAa,WAAW,UAC/C,CAAC,WAAW,CACd;CAEA,gBAAgB;EACd,MAAM,eAAe,cAAc,aAAa;GAC9C,kBAAkB;IAAE,GAAG,OAAO;IAAS,GAAG,OAAO;GAAQ,CAAC;EAC5D,CAAC;EAED,OAAO,iBAAiB,UAAU,YAAY;EAE9C,aAAa;GACX,OAAO,oBAAoB,UAAU,YAAY;EACnD;CACF,GAAG,CAAC,eAAe,KAAK,CAAC;CAEzB,OAAO;AACT"}
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { Tooltip } from '../../components/tooltip/Tooltip';
3
- export type TOptionalTooltipWrapperProps = {
3
+ export type OptionalTooltipWrapperProps = {
4
4
  hasTooltip?: boolean;
5
5
  label?: React.ReactNode;
6
6
  tooltipSide?: React.ComponentProps<typeof Tooltip.Content>['side'];
7
7
  };
8
- export declare const OptionalTooltipWrapper: {
9
- ({ hasTooltip, label, tooltipSide, children }: React.PropsWithChildren<TOptionalTooltipWrapperProps>): React.JSX.Element;
10
- displayName: string;
11
- };
8
+ export declare function OptionalTooltipWrapper({ hasTooltip, label, tooltipSide, children }: React.PropsWithChildren<OptionalTooltipWrapperProps>): React.JSX.Element;
9
+ export declare namespace OptionalTooltipWrapper {
10
+ var displayName: string;
11
+ }