@cube-dev/ui-kit 0.120.1 → 0.121.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/dist/CHANGELOG.md +20 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +1 -0
  20. package/dist/components/actions/Button/Button.js +34 -14
  21. package/dist/components/actions/Button/Button.js.map +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +47 -0
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +105 -0
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -0
  26. package/dist/components/actions/ButtonSplit/context.d.ts +18 -0
  27. package/dist/components/actions/ButtonSplit/context.js +12 -0
  28. package/dist/components/actions/ButtonSplit/context.js.map +1 -0
  29. package/dist/components/actions/ButtonSplit/index.d.ts +3 -0
  30. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  31. package/dist/components/actions/CommandMenu/styled.js +1 -1
  32. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  33. package/dist/components/actions/ItemActionContext.js +1 -1
  34. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  35. package/dist/components/actions/Link/Link.js +1 -1
  36. package/dist/components/actions/Menu/Menu.d.ts +2 -2
  37. package/dist/components/actions/Menu/Menu.js +1 -1
  38. package/dist/components/actions/Menu/MenuItem.js +1 -1
  39. package/dist/components/actions/Menu/MenuSection.js +1 -1
  40. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  41. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  42. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  43. package/dist/components/actions/Menu/context.js +1 -1
  44. package/dist/components/actions/Menu/styled.js +1 -1
  45. package/dist/components/actions/index.d.ts +8 -3
  46. package/dist/components/actions/index.js +10 -5
  47. package/dist/components/actions/index.js.map +1 -1
  48. package/dist/components/actions/use-action.d.ts +1 -0
  49. package/dist/components/actions/use-action.js +21 -18
  50. package/dist/components/actions/use-action.js.map +1 -1
  51. package/dist/components/actions/use-anchored-menu.js +1 -1
  52. package/dist/components/actions/use-context-menu.js +1 -1
  53. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  54. package/dist/components/content/Alert/Alert.js +1 -1
  55. package/dist/components/content/Alert/use-alert.js +1 -1
  56. package/dist/components/content/Avatar/Avatar.js +1 -1
  57. package/dist/components/content/Badge/Badge.js +2 -1
  58. package/dist/components/content/Badge/Badge.js.map +1 -1
  59. package/dist/components/content/Card/Card.js +1 -1
  60. package/dist/components/content/Content.js +1 -1
  61. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  62. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/dist/components/content/Disclosure/Disclosure.js +5 -2
  64. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  65. package/dist/components/content/Divider.js +1 -1
  66. package/dist/components/content/Footer.js +1 -1
  67. package/dist/components/content/Header.js +1 -1
  68. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  69. package/dist/components/content/Item/Item.js +1 -1
  70. package/dist/components/content/ItemBadge/ItemBadge.js +3 -2
  71. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  72. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  73. package/dist/components/content/Layout/GridLayout.js +1 -1
  74. package/dist/components/content/Layout/Layout.js +1 -1
  75. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  76. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  77. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  78. package/dist/components/content/Layout/LayoutContent.js +1 -1
  79. package/dist/components/content/Layout/LayoutContext.js +1 -1
  80. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  81. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  82. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  83. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  84. package/dist/components/content/Layout/LayoutPane.js +1 -1
  85. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  86. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  87. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  88. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/dist/components/content/Layout/index.js +1 -1
  90. package/dist/components/content/Layout/utils.js +1 -1
  91. package/dist/components/content/Paragraph.js +1 -1
  92. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  93. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  94. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  95. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  96. package/dist/components/content/Result/Result.js +1 -1
  97. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  98. package/dist/components/content/Tag/Tag.js +2 -1
  99. package/dist/components/content/Tag/Tag.js.map +1 -1
  100. package/dist/components/content/Text.js +1 -1
  101. package/dist/components/content/TextItem/TextItem.js +1 -1
  102. package/dist/components/content/Title.js +1 -1
  103. package/dist/components/content/highlightText.js +1 -1
  104. package/dist/components/content/use-auto-tooltip.js +1 -1
  105. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  106. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  107. package/dist/components/fields/Checkbox/context.js +1 -1
  108. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  109. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  110. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  111. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  112. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  113. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  116. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  117. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  118. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  119. package/dist/components/fields/DatePicker/intl.js +1 -1
  120. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  121. package/dist/components/fields/DatePicker/props.js +1 -1
  122. package/dist/components/fields/DatePicker/utils.js +1 -1
  123. package/dist/components/fields/FileInput/FileInput.js +1 -1
  124. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  125. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -2
  126. package/dist/components/fields/Input/Input.js +1 -1
  127. package/dist/components/fields/ListBox/ListBox.js +1 -1
  128. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  129. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  130. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  131. package/dist/components/fields/Picker/Picker.js +2 -2
  132. package/dist/components/fields/RadioGroup/Radio.js +3 -1
  133. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  134. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  135. package/dist/components/fields/RadioGroup/context.js +1 -1
  136. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  137. package/dist/components/fields/Select/Select.d.ts +8 -2
  138. package/dist/components/fields/Select/Select.js +1 -1
  139. package/dist/components/fields/Select/Select.js.map +1 -1
  140. package/dist/components/fields/Slider/Gradation.js +1 -1
  141. package/dist/components/fields/Slider/HueSlider.js +1 -1
  142. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  143. package/dist/components/fields/Slider/Slider.js +1 -1
  144. package/dist/components/fields/Slider/SliderBase.js +1 -1
  145. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  146. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  147. package/dist/components/fields/Slider/elements.js +1 -1
  148. package/dist/components/fields/Slider/index.js +1 -1
  149. package/dist/components/fields/Switch/Switch.js +1 -1
  150. package/dist/components/fields/TextArea/TextArea.js +1 -1
  151. package/dist/components/fields/TextInput/TextInput.js +1 -1
  152. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  153. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  154. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  155. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  156. package/dist/components/form/Form/Field.js +1 -1
  157. package/dist/components/form/Form/Form.js +1 -1
  158. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  159. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  160. package/dist/components/form/Form/SubmitError.js +1 -1
  161. package/dist/components/form/Form/index.js +1 -1
  162. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  163. package/dist/components/form/Form/use-field/use-field.js +1 -1
  164. package/dist/components/form/Form/use-form.js +1 -1
  165. package/dist/components/form/Form/validation.js +1 -1
  166. package/dist/components/form/Label.js +1 -1
  167. package/dist/components/form/wrapper.js +1 -1
  168. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  169. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  170. package/dist/components/layout/Flex.js +1 -1
  171. package/dist/components/layout/Flow.js +1 -1
  172. package/dist/components/layout/Grid.js +1 -1
  173. package/dist/components/layout/Panel.js +1 -1
  174. package/dist/components/layout/Prefix.js +1 -1
  175. package/dist/components/layout/ResizablePanel.js +1 -1
  176. package/dist/components/layout/Space.js +1 -1
  177. package/dist/components/layout/Suffix.js +1 -1
  178. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  179. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  180. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  181. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  182. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  183. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  184. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  185. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  186. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  187. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  188. package/dist/components/navigation/Tabs/styled.js +3 -1
  189. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  190. package/dist/components/navigation/Tabs/types.d.ts +2 -2
  191. package/dist/components/navigation/Tabs/types.js +1 -1
  192. package/dist/components/navigation/Tabs/types.js.map +1 -1
  193. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  194. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  195. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  196. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  197. package/dist/components/other/Calendar/Calendar.js +1 -1
  198. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  199. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  200. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  201. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  202. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  203. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  204. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  205. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  206. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  207. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  208. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  209. package/dist/components/overlays/Dialog/context.js +1 -1
  210. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  211. package/dist/components/overlays/Modal/Modal.js +1 -1
  212. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  213. package/dist/components/overlays/Modal/Overlay.js +1 -1
  214. package/dist/components/overlays/Modal/Popover.js +1 -1
  215. package/dist/components/overlays/Modal/Tray.js +1 -1
  216. package/dist/components/overlays/Modal/Underlay.js +1 -1
  217. package/dist/components/overlays/Notifications/Notification.js +1 -1
  218. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  219. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  220. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  221. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  222. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  223. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  224. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  225. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  226. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  227. package/dist/components/overlays/Notifications/index.js +1 -1
  228. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  229. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  230. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  231. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  232. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  233. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  234. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  235. package/dist/components/overlays/Toast/index.js +1 -1
  236. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  237. package/dist/components/overlays/Toast/useToast.js +1 -1
  238. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  239. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  240. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  241. package/dist/components/overlays/Tooltip/context.js +1 -1
  242. package/dist/components/portal/Portal.js +1 -1
  243. package/dist/components/portal/PortalProvider.js +1 -1
  244. package/dist/components/portal/usePortal.js +1 -1
  245. package/dist/components/shared/InvalidIcon.js +1 -1
  246. package/dist/components/shared/ValidIcon.js +1 -1
  247. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  248. package/dist/components/status/Spin/Cube.js +1 -1
  249. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  250. package/dist/components/status/Spin/Spin.js +1 -1
  251. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  252. package/dist/data/item-themes.js +6 -6
  253. package/dist/data/item-themes.js.map +1 -1
  254. package/dist/data/themes.js +1 -1
  255. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  256. package/dist/icons/AdjustmentsIcon.js +1 -1
  257. package/dist/icons/AiIcon.js +1 -1
  258. package/dist/icons/AreaChartIcon.js +1 -1
  259. package/dist/icons/BackwardIcon.js +1 -1
  260. package/dist/icons/BarChartIcon.js +1 -1
  261. package/dist/icons/BellFilledIcon.js +1 -1
  262. package/dist/icons/BellIcon.js +1 -1
  263. package/dist/icons/BooleanIcon.js +1 -1
  264. package/dist/icons/CalendarEditIcon.js +1 -1
  265. package/dist/icons/CalendarIcon.js +1 -1
  266. package/dist/icons/CaretDownIcon.js +1 -1
  267. package/dist/icons/CaretUpIcon.js +1 -1
  268. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  269. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  270. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  271. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  272. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  273. package/dist/icons/ChartBarLineIcon.js +1 -1
  274. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  275. package/dist/icons/ChartBarStackedIcon.js +1 -1
  276. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  277. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  278. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  279. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  280. package/dist/icons/ChartBubbleIcon.js +1 -1
  281. package/dist/icons/ChartDonut2Icon.js +1 -1
  282. package/dist/icons/ChartFunnelIcon.js +1 -1
  283. package/dist/icons/ChartHeatmapIcon.js +1 -1
  284. package/dist/icons/ChartKPIIcon.js +1 -1
  285. package/dist/icons/ChartPie2Icon.js +1 -1
  286. package/dist/icons/ChartScatterIcon.js +1 -1
  287. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  288. package/dist/icons/CheckCircleIcon.js +1 -1
  289. package/dist/icons/CheckIcon.js +1 -1
  290. package/dist/icons/CircleFilledIcon.js +1 -1
  291. package/dist/icons/ClearIcon.js +1 -1
  292. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  293. package/dist/icons/CloseCircleIcon.js +1 -1
  294. package/dist/icons/CloseIcon.js +1 -1
  295. package/dist/icons/CodeIcon.js +1 -1
  296. package/dist/icons/ColumnTotalIcon.js +1 -1
  297. package/dist/icons/CopyIcon.js +1 -1
  298. package/dist/icons/CountIcon.js +1 -1
  299. package/dist/icons/CubeIcon.js +1 -1
  300. package/dist/icons/CubePauseIcon.js +1 -1
  301. package/dist/icons/CubePlayIcon.js +1 -1
  302. package/dist/icons/CurrencyDollarIcon.js +1 -1
  303. package/dist/icons/DangerIcon.js +1 -1
  304. package/dist/icons/DashboardIcon.js +1 -1
  305. package/dist/icons/DatabaseIcon.js +1 -1
  306. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  307. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  308. package/dist/icons/DirectionIcon.js +1 -1
  309. package/dist/icons/DonutIcon.js +1 -1
  310. package/dist/icons/DownIcon.js +1 -1
  311. package/dist/icons/EditIcon.js +1 -1
  312. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  313. package/dist/icons/ExclamationCircleIcon.js +1 -1
  314. package/dist/icons/ExclamationIcon.js +1 -1
  315. package/dist/icons/EyeIcon.js +1 -1
  316. package/dist/icons/EyeInvisibleIcon.js +1 -1
  317. package/dist/icons/FilterIcon.js +1 -1
  318. package/dist/icons/FolderFilledIcon.js +1 -1
  319. package/dist/icons/FolderIcon.js +1 -1
  320. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  321. package/dist/icons/FolderOpenIcon.js +1 -1
  322. package/dist/icons/ForwardIcon.js +1 -1
  323. package/dist/icons/HierarchyIcon.js +1 -1
  324. package/dist/icons/HierarchyOpenIcon.js +1 -1
  325. package/dist/icons/Icon.js +1 -1
  326. package/dist/icons/InfoCircleIcon.js +1 -1
  327. package/dist/icons/InfoIcon.js +1 -1
  328. package/dist/icons/KeyIcon.js +1 -1
  329. package/dist/icons/LeftIcon.js +1 -1
  330. package/dist/icons/LineChartIcon.js +1 -1
  331. package/dist/icons/LoadingIcon.js +1 -1
  332. package/dist/icons/LockFilledIcon.js +1 -1
  333. package/dist/icons/LockIcon.js +1 -1
  334. package/dist/icons/MoreIcon.js +1 -1
  335. package/dist/icons/NotAllowedIcon.js +1 -1
  336. package/dist/icons/Number123Icon.js +1 -1
  337. package/dist/icons/NumberIcon.js +1 -1
  338. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  339. package/dist/icons/PauseCircleIcon.js +1 -1
  340. package/dist/icons/PauseIcon.js +1 -1
  341. package/dist/icons/PercentageIcon.js +1 -1
  342. package/dist/icons/PieChartIcon.js +1 -1
  343. package/dist/icons/PlayCircleIcon.js +1 -1
  344. package/dist/icons/PlayIcon.js +1 -1
  345. package/dist/icons/PlusIcon.js +1 -1
  346. package/dist/icons/ProgressBarIcon.js +1 -1
  347. package/dist/icons/ReloadIcon.js +1 -1
  348. package/dist/icons/ReportIcon.js +1 -1
  349. package/dist/icons/ReturnIcon.js +1 -1
  350. package/dist/icons/RightIcon.js +1 -1
  351. package/dist/icons/RowTotalsIcon.js +1 -1
  352. package/dist/icons/SchemeIcon.js +1 -1
  353. package/dist/icons/SearchIcon.js +1 -1
  354. package/dist/icons/SemanticQueryIcon.js +1 -1
  355. package/dist/icons/SettingsIcon.js +1 -1
  356. package/dist/icons/ShieldFilledIcon.js +1 -1
  357. package/dist/icons/ShieldIcon.js +1 -1
  358. package/dist/icons/SlashIcon.js +1 -1
  359. package/dist/icons/SparklesIcon.js +1 -1
  360. package/dist/icons/SqlIcon.js +1 -1
  361. package/dist/icons/StatsIcon.js +1 -1
  362. package/dist/icons/StopIcon.js +1 -1
  363. package/dist/icons/StringIcon.js +1 -1
  364. package/dist/icons/SubtotalsIcon.js +1 -1
  365. package/dist/icons/SwitchIcon.js +1 -1
  366. package/dist/icons/TableIcon.js +1 -1
  367. package/dist/icons/ThumbsDownIcon.js +1 -1
  368. package/dist/icons/ThumbsUpIcon.js +1 -1
  369. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  370. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  371. package/dist/icons/ThunderboltIcon.js +1 -1
  372. package/dist/icons/TimeIcon.js +1 -1
  373. package/dist/icons/TrashIcon.js +1 -1
  374. package/dist/icons/UnlockIcon.js +1 -1
  375. package/dist/icons/UpIcon.js +1 -1
  376. package/dist/icons/UserGroupIcon.js +1 -1
  377. package/dist/icons/UserIcon.js +1 -1
  378. package/dist/icons/UserLockIcon.js +1 -1
  379. package/dist/icons/ViewIcon.js +1 -1
  380. package/dist/icons/WarningFilledIcon.js +1 -1
  381. package/dist/icons/WarningIcon.js +1 -1
  382. package/dist/icons/wrap-icon.js +1 -1
  383. package/dist/index.d.ts +6 -4
  384. package/dist/index.js +7 -5
  385. package/dist/index.js.map +1 -1
  386. package/dist/provider.js +1 -1
  387. package/dist/providers/TrackingProvider.js +1 -1
  388. package/dist/providers/navigationAdapter.default.js +1 -1
  389. package/dist/tokens/base.js +1 -1
  390. package/dist/tokens/colors.js +1 -1
  391. package/dist/tokens/index.js +1 -1
  392. package/dist/tokens/layout.js +1 -1
  393. package/dist/tokens/shadows.js +1 -1
  394. package/dist/tokens/sizes.js +1 -1
  395. package/dist/tokens/spacing.js +1 -1
  396. package/dist/utils/ResizeSensor.js +1 -1
  397. package/dist/utils/is-dev-env.js +1 -1
  398. package/dist/utils/modules.js +1 -1
  399. package/dist/utils/promise.js +1 -1
  400. package/dist/utils/raf.js +1 -1
  401. package/dist/utils/random.js +1 -1
  402. package/dist/utils/range.js +1 -1
  403. package/dist/utils/react/RenderCache.js +1 -1
  404. package/dist/utils/react/Slots.js +1 -1
  405. package/dist/utils/react/chain.js +1 -1
  406. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  407. package/dist/utils/react/index.js +1 -1
  408. package/dist/utils/react/interactions.js +1 -1
  409. package/dist/utils/react/isTextOnly.js +1 -1
  410. package/dist/utils/react/mapProps.js +1 -1
  411. package/dist/utils/react/mergeProps.js +1 -1
  412. package/dist/utils/react/nullableValue.js +1 -1
  413. package/dist/utils/react/resolveIcon.js +1 -1
  414. package/dist/utils/react/sharedStore.js +1 -1
  415. package/dist/utils/react/useCombinedRefs.js +1 -1
  416. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  417. package/dist/utils/react/useEventBus.js +1 -1
  418. package/dist/utils/react/useId.js +1 -1
  419. package/dist/utils/react/useIsDarwin.js +1 -1
  420. package/dist/utils/react/useKeySymbols.js +1 -1
  421. package/dist/utils/react/useLayoutEffect.js +1 -1
  422. package/dist/utils/react/useLocalStorage.js +1 -1
  423. package/dist/utils/react/useMergeStyles.js +1 -1
  424. package/dist/utils/react/useQaProps.js +1 -1
  425. package/dist/utils/react/useViewportSize.js +1 -1
  426. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  427. package/dist/utils/tree.js +1 -1
  428. package/dist/utils/warnings.js +1 -1
  429. package/dist/version.js +2 -2
  430. package/docs/BaseProperties.md +78 -0
  431. package/docs/ComplexLayout.md +459 -0
  432. package/docs/CreateComponent.md +410 -0
  433. package/docs/FieldProperties.md +117 -0
  434. package/docs/Introduction.md +122 -0
  435. package/docs/RenderCache.md +177 -0
  436. package/docs/Result.md +42 -0
  437. package/docs/SimpleLayout.md +26 -0
  438. package/docs/Typography.md +38 -0
  439. package/docs/components/Block.md +33 -0
  440. package/docs/components/CollectionItem.md +293 -0
  441. package/docs/components/GridProvider.md +38 -0
  442. package/docs/components/Root.md +50 -0
  443. package/docs/components/actions/Action.md +47 -0
  444. package/docs/components/actions/Banner.md +195 -0
  445. package/docs/components/actions/Button.md +209 -0
  446. package/docs/components/actions/ButtonGroup.md +46 -0
  447. package/docs/components/actions/ButtonSplit.md +199 -0
  448. package/docs/components/actions/CommandMenu.md +422 -0
  449. package/docs/components/actions/ItemAction.md +60 -0
  450. package/docs/components/actions/ItemButton.md +316 -0
  451. package/docs/components/actions/Link.md +325 -0
  452. package/docs/components/actions/Menu.md +485 -0
  453. package/docs/components/actions/MenuTrigger.md +47 -0
  454. package/docs/components/actions/SubMenuTrigger.md +38 -0
  455. package/docs/components/actions/use-anchored-menu.md +209 -0
  456. package/docs/components/actions/use-context-menu.md +218 -0
  457. package/docs/components/content/ActiveZone.md +37 -0
  458. package/docs/components/content/Alert.md +40 -0
  459. package/docs/components/content/Avatar.md +37 -0
  460. package/docs/components/content/Badge.md +194 -0
  461. package/docs/components/content/Card.md +40 -0
  462. package/docs/components/content/Content.md +44 -0
  463. package/docs/components/content/CopyPasteBlock.md +36 -0
  464. package/docs/components/content/CopySnippet.md +43 -0
  465. package/docs/components/content/Disclosure.md +181 -0
  466. package/docs/components/content/Divider.md +39 -0
  467. package/docs/components/content/Footer.md +35 -0
  468. package/docs/components/content/Header.md +35 -0
  469. package/docs/components/content/HotKeys.md +352 -0
  470. package/docs/components/content/Item.md +499 -0
  471. package/docs/components/content/ItemBadge.md +31 -0
  472. package/docs/components/content/ItemCard.md +131 -0
  473. package/docs/components/content/Layout.md +843 -0
  474. package/docs/components/content/Paragraph.md +32 -0
  475. package/docs/components/content/Placeholder.md +37 -0
  476. package/docs/components/content/PrismCode.md +36 -0
  477. package/docs/components/content/PrismDiffCode.md +29 -0
  478. package/docs/components/content/Result.md +46 -0
  479. package/docs/components/content/Skeleton.md +35 -0
  480. package/docs/components/content/Tag.md +165 -0
  481. package/docs/components/content/Text.md +54 -0
  482. package/docs/components/content/TextItem.md +217 -0
  483. package/docs/components/content/Title.md +45 -0
  484. package/docs/components/fields/Checkbox.md +176 -0
  485. package/docs/components/fields/ComboBox.md +651 -0
  486. package/docs/components/fields/DatePicker.md +227 -0
  487. package/docs/components/fields/FileInput.md +194 -0
  488. package/docs/components/fields/FilterListBox.md +726 -0
  489. package/docs/components/fields/FilterPicker.md +776 -0
  490. package/docs/components/fields/HueSlider.md +175 -0
  491. package/docs/components/fields/ListBox.md +714 -0
  492. package/docs/components/fields/NumberInput.md +180 -0
  493. package/docs/components/fields/PasswordInput.md +214 -0
  494. package/docs/components/fields/Picker.md +906 -0
  495. package/docs/components/fields/RadioGroup.md +310 -0
  496. package/docs/components/fields/SearchInput.md +224 -0
  497. package/docs/components/fields/Select.md +576 -0
  498. package/docs/components/fields/Slider.md +53 -0
  499. package/docs/components/fields/Switch.md +169 -0
  500. package/docs/components/fields/TextArea.md +61 -0
  501. package/docs/components/fields/TextInput.md +205 -0
  502. package/docs/components/fields/TextInputMapper.md +34 -0
  503. package/docs/components/form/Field.md +333 -0
  504. package/docs/components/form/Form.md +644 -0
  505. package/docs/components/form/FormInstance.md +307 -0
  506. package/docs/components/helpers/DisplayTransition.md +268 -0
  507. package/docs/components/helpers/IconSwitch.md +160 -0
  508. package/docs/components/layout/Flex.md +51 -0
  509. package/docs/components/layout/Flow.md +32 -0
  510. package/docs/components/layout/Grid.md +46 -0
  511. package/docs/components/layout/Panel.md +65 -0
  512. package/docs/components/layout/Prefix.md +37 -0
  513. package/docs/components/layout/ResizablePanel.md +69 -0
  514. package/docs/components/layout/Space.md +44 -0
  515. package/docs/components/layout/Suffix.md +39 -0
  516. package/docs/components/navigation/Tabs.md +726 -0
  517. package/docs/components/organisms/FileTabs.md +39 -0
  518. package/docs/components/organisms/StatsCard.md +40 -0
  519. package/docs/components/other/CloudLogo.md +33 -0
  520. package/docs/components/overlays/AlertDialog.md +51 -0
  521. package/docs/components/overlays/Dialog.md +200 -0
  522. package/docs/components/overlays/DialogContainer.md +201 -0
  523. package/docs/components/overlays/DialogForm.md +295 -0
  524. package/docs/components/overlays/DialogTrigger.md +191 -0
  525. package/docs/components/overlays/Notifications.md +402 -0
  526. package/docs/components/overlays/Toast.md +289 -0
  527. package/docs/components/overlays/Tooltip.md +400 -0
  528. package/docs/components/overlays/TooltipProvider.md +42 -0
  529. package/docs/components/overlays/TooltipTrigger.md +42 -0
  530. package/docs/components/overlays/UseDialogContainer.md +597 -0
  531. package/docs/components/portal/Portal.md +29 -0
  532. package/docs/components/status/LoadingAnimation.md +27 -0
  533. package/docs/components/status/Spin.md +35 -0
  534. package/docs/tasty/configuration.md +211 -0
  535. package/docs/tasty/debug.md +505 -0
  536. package/docs/tasty/injector.md +528 -0
  537. package/docs/tasty/styles.md +567 -0
  538. package/docs/tasty/tasty-static.md +376 -0
  539. package/docs/tasty/usage.md +643 -0
  540. package/package.json +5 -9
@@ -0,0 +1,227 @@
1
+ # DatePicker
2
+
3
+ A date picker combines a text input with a calendar interface, allowing users to select dates through typing or graphical selection. It supports various date formats, validation, and internationalization features.
4
+
5
+ ## When to Use
6
+
7
+ - Allow users to select a specific date from a calendar interface
8
+ - Provide date input with visual calendar for better user experience
9
+ - Enable date range selection for booking or filtering scenarios
10
+ - Support various date formats and locales for international applications
11
+ - Offer accessible date entry for users with different abilities
12
+
13
+ ## Component
14
+
15
+ ---
16
+
17
+ ### Properties
18
+
19
+ - **`description`** `string` — Additional descriptive text
20
+ - **`placeholder`** `string` — Placeholder text when no date is selected
21
+ - **`value`** `DateValue` — The current date value (controlled)
22
+ - **`defaultValue`** `DateValue` — The default date value (uncontrolled)
23
+ - **`placeholderValue`** `DateValue` — Date used as placeholder when calendar opens
24
+ - **`minValue`** `DateValue` — The minimum allowed date
25
+ - **`maxValue`** `DateValue` — The maximum allowed date
26
+ - **`granularity`** `'day' | 'hour' | 'minute' | 'second'` (default: `day`) — Determines the smallest selectable unit
27
+ - **`size`** `'small' | 'medium' | 'large' | (string & {})` (default: `medium`) — DatePicker size
28
+ - **`showMonthAndYearPickers`** `boolean` (default: `false`) — Whether to show month and year picker dropdowns
29
+ - **`useLocale`** `boolean` (default: `false`) — Whether to use locale-specific date formatting
30
+ - **`maxVisibleMonths`** `number` (default: `1`) — Maximum number of months to display in calendar
31
+ - **`onChange`** `(value: DateValue | null) => void` — Callback fired when the date value changes
32
+ - **`onBlur`** `(e: FocusEvent) => void` — Callback fired when the date picker loses focus
33
+ - **`onFocus`** `(e: FocusEvent) => void` — Callback fired when the date picker receives focus
34
+ - **`onOpenChange`** `(isOpen: boolean) => void` — Callback fired when the calendar opens or closes
35
+
36
+ ### Base Properties
37
+
38
+ Supports [Base properties](../../BaseProperties.md)
39
+
40
+ ### Field Properties
41
+
42
+ Supports all [Field properties](../../FieldProperties.md)
43
+
44
+ ### Styling Properties
45
+
46
+ #### styles
47
+
48
+ Customizes the root wrapper element of the component.
49
+
50
+ **Sub-elements:**
51
+ - `Prefix` - Element displayed before the input (icon area)
52
+ - `Suffix` - Element displayed after the input (calendar button area)
53
+ - `State` - Container for validation state indicators
54
+ - `InputIcon` - Icon displayed within the input area
55
+ - `ValidationIcon` - Icon displayed for validation state
56
+
57
+ #### inputStyles
58
+
59
+ Customizes the date input field specifically.
60
+
61
+ #### wrapperStyles
62
+
63
+ Customizes the input wrapper container.
64
+
65
+ #### triggerStyles
66
+
67
+ Customizes the calendar trigger button.
68
+
69
+ ### Style Properties
70
+
71
+ The DatePicker component supports all standard style properties:
72
+
73
+ `display`, `font`, `preset`, `hide`, `opacity`, `whiteSpace`, `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `reset`, `padding`, `paddingInline`, `paddingBlock`, `shadow`, `border`, `radius`, `overflow`, `scrollbar`, `outline`, `textAlign`, `color`, `fill`, `fade`, `textTransform`, `fontWeight`, `fontStyle`, `flow`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
74
+
75
+ ### Modifiers
76
+
77
+ The `mods` property accepts the following modifiers you can override:
78
+
79
+ - **`opened`** `boolean` — Whether the calendar is open
80
+ - **`focused`** `boolean` — Whether the input has focus
81
+ - **`disabled`** `boolean` — Whether the date picker is disabled
82
+ - **`invalid`** `boolean` — Whether the date picker has validation errors
83
+ - **`valid`** `boolean` — Whether the date picker is valid
84
+ - **`hovered`** `boolean` — Whether the date picker is being hovered
85
+ - **`inside-form`** `boolean` — Whether the date picker is inside a form field
86
+
87
+ ## Variants
88
+
89
+ ### Sizes
90
+
91
+ - `small` - Compact size for dense interfaces
92
+ - `medium` - Standard size
93
+ - `large` - Emphasized size for important date selections
94
+
95
+ ## Examples
96
+
97
+ ### Basic Usage
98
+
99
+ ```jsx
100
+ <DatePicker label="Select date" />
101
+ ```
102
+
103
+ ### With Default Value
104
+
105
+ ```jsx
106
+ <DatePicker
107
+ label="Appointment date"
108
+ defaultValue={today(getLocalTimeZone())}
109
+ />
110
+ ```
111
+
112
+ ### Date Range
113
+
114
+ ```jsx
115
+ <DatePicker
116
+ label="Start date"
117
+ minValue={today(getLocalTimeZone())}
118
+ maxValue={today(getLocalTimeZone()).add({months: 6})}
119
+ />
120
+ ```
121
+
122
+ ### With Time
123
+
124
+ ```jsx
125
+ <DatePicker
126
+ label="Event datetime"
127
+ granularity="minute"
128
+ defaultValue={now(getLocalTimeZone())}
129
+ />
130
+ ```
131
+
132
+ ### Custom Format
133
+
134
+ ```jsx
135
+ <DatePicker
136
+ label="Birth date"
137
+ showMonthAndYearPickers
138
+ maxValue={today(getLocalTimeZone())}
139
+ />
140
+ ```
141
+
142
+ ### With Validation
143
+
144
+ ```jsx
145
+ <DatePicker
146
+ label="Required date"
147
+ isRequired
148
+ validationState="invalid"
149
+ errorMessage="Please select a date"
150
+ />
151
+ ```
152
+
153
+ ### Disabled State
154
+
155
+ ```jsx
156
+ <DatePicker
157
+ label="Disabled date picker"
158
+ isDisabled
159
+ value={today(getLocalTimeZone())}
160
+ />
161
+ ```
162
+
163
+ ## Accessibility
164
+
165
+ ### Keyboard Navigation
166
+
167
+ - `Tab` - Moves focus to the date picker
168
+ - `Space/Enter` - Opens the calendar popup when focused on trigger button
169
+ - `Arrow Keys` - Navigate between date segments in the input
170
+ - `Arrow Keys` - Navigate calendar dates when calendar is open
171
+ - `Enter` - Selects the focused date in calendar
172
+ - `Escape` - Closes the calendar without selecting
173
+ - `Home/End` - Navigate to start/end of month in calendar
174
+ - `Page Up/Down` - Navigate to previous/next month
175
+
176
+ ### Screen Reader Support
177
+
178
+ - Component announces as "date picker" to screen readers
179
+ - Selected date and format are clearly announced
180
+ - Calendar navigation and date selection are properly communicated
181
+ - Validation errors and requirements are announced
182
+
183
+ ### ARIA Properties
184
+
185
+ - `aria-label` - Provides accessible label when no visible label exists
186
+ - `aria-labelledby` - References external label elements
187
+ - `aria-describedby` - References additional descriptive text
188
+ - `aria-expanded` - Indicates if calendar is open
189
+ - `aria-invalid` - Indicates validation state
190
+ - `aria-required` - Indicates if date selection is required
191
+
192
+ ## Best Practices
193
+
194
+ 1. **Do**: Provide clear labels and format hints
195
+ ```jsx
196
+ <DatePicker
197
+ label="Event date"
198
+ description="Format: MM/DD/YYYY"
199
+ />
200
+ ```
201
+
202
+ 2. **Don't**: Use date picker for approximate dates
203
+ ```jsx
204
+ <DatePicker label="Approximately when?" /> {/* Use text input instead */}
205
+ ```
206
+
207
+ 3. **Validation**: Set appropriate min/max values for date ranges
208
+ 4. **Format**: Use consistent date formats throughout your application
209
+ 5. **Accessibility**: Always provide meaningful labels and descriptions
210
+ 6. **Internationalization**: Support user's locale and date format preferences
211
+
212
+ ## Integration with Forms
213
+
214
+ This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
215
+
216
+ ## Suggested Improvements
217
+
218
+ - Add support for date shortcuts (today, tomorrow, next week)
219
+ - Implement preset date ranges for quick selection
220
+ - Add support for multiple date selection modes
221
+ - Consider adding time zone selection capabilities
222
+ - Implement custom calendar themes and styling
223
+
224
+ ## Related Components
225
+
226
+ - DateRangePicker - For selecting date ranges
227
+ - TimeInput - For time-only selection
@@ -0,0 +1,194 @@
1
+ # FileInput
2
+
3
+ A file input component that allows users to select and upload files through a customizable interface. It supports drag-and-drop functionality, file type restrictions, and multiple file selection.
4
+
5
+ ## When to Use
6
+
7
+ - Allow users to upload documents, images, or other files
8
+ - Provide drag-and-drop file upload functionality
9
+ - Enable multiple file selection for batch uploads
10
+ - Restrict file types and sizes for specific use cases
11
+ - Create a more accessible alternative to the native file input
12
+
13
+ ## Component
14
+
15
+ ---
16
+
17
+ ### Properties
18
+
19
+ - **`placeholder`** `string` — Text displayed when no file is selected
20
+ - **`buttonText`** `string` — Text displayed on the selection button
21
+ - **`accept`** `string` — Comma-separated list of accepted file types
22
+ - **`multiple`** `boolean` (default: `false`) — Whether multiple files can be selected
23
+ - **`capture`** `undefined | 'user' | 'environment'` — Camera to use for file capture on mobile devices
24
+ - **`type`** `'file' | 'text'` (default: `file`) — How to process the selected file(s)
25
+ - **`onChange`** `function` — Callback fired when files are selected
26
+ - **`onBlur`** `function` — Callback fired when the file input loses focus
27
+ - **`onFocus`** `function` — Callback fired when the file input receives focus
28
+
29
+ ### Base Properties
30
+
31
+ Supports [Base properties](../../BaseProperties.md)
32
+
33
+ ### Field Properties
34
+
35
+ Supports all [Field properties](../../FieldProperties.md)
36
+
37
+ ### Styling Properties
38
+
39
+ #### styles
40
+
41
+ Customizes the root element of the component.
42
+
43
+ **Sub-elements:**
44
+ - `Button` - The clickable button element for file selection
45
+ - `Placeholder` - Text shown when no file is selected
46
+ - `Value` - Text showing the selected file name(s)
47
+ - `Input` - The hidden native file input element
48
+
49
+ ### Style Properties
50
+
51
+ The FileInput component supports all standard style properties:
52
+
53
+ `display`, `font`, `preset`, `hide`, `opacity`, `whiteSpace`, `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `reset`, `padding`, `paddingInline`, `paddingBlock`, `shadow`, `border`, `radius`, `overflow`, `scrollbar`, `outline`, `textAlign`, `color`, `fill`, `fade`, `textTransform`, `fontWeight`, `fontStyle`, `flow`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
54
+
55
+ ### Modifiers
56
+
57
+ The `mods` property accepts the following modifiers you can override:
58
+
59
+ - **`drag-hover`** `boolean` — Whether files are being dragged over the component
60
+ - **`disabled`** `boolean` — Whether the file input is disabled
61
+ - **`invalid`** `boolean` — Whether the file input has validation errors
62
+ - **`valid`** `boolean` — Whether the file input is valid
63
+ - **`focused`** `boolean` — Whether the file input has focus
64
+ - **`inside-form`** `boolean` — Whether the file input is inside a form field
65
+
66
+ ## Examples
67
+
68
+ ### Basic Usage
69
+
70
+ ```jsx
71
+ <FileInput label="Upload document" />
72
+ ```
73
+
74
+ ### Multiple Files
75
+
76
+ ```jsx
77
+ <FileInput
78
+ label="Upload images"
79
+ multiple
80
+ accept="image/*"
81
+ />
82
+ ```
83
+
84
+ ### With File Type Restrictions
85
+
86
+ ```jsx
87
+ <FileInput
88
+ label="Upload PDF"
89
+ accept=".pdf"
90
+ placeholder="Select PDF file..."
91
+ />
92
+ ```
93
+
94
+ ### Custom Button Text
95
+
96
+ ```jsx
97
+ <FileInput
98
+ label="Profile picture"
99
+ buttonText="Choose Photo"
100
+ accept="image/jpeg,image/png"
101
+ />
102
+ ```
103
+
104
+ ### With Validation
105
+
106
+ ```jsx
107
+ <FileInput
108
+ label="Required document"
109
+ isRequired
110
+ validationState="invalid"
111
+ errorMessage="Please select a file"
112
+ />
113
+ ```
114
+
115
+ ### Disabled State
116
+
117
+ ```jsx
118
+ <FileInput
119
+ label="Disabled file input"
120
+ isDisabled
121
+ buttonText="Upload"
122
+ />
123
+ ```
124
+
125
+ ### Custom Placeholder
126
+
127
+ ```jsx
128
+ <FileInput
129
+ label="Document upload"
130
+ placeholder="Drag files here or click to browse..."
131
+ buttonText="Browse"
132
+ />
133
+ ```
134
+
135
+ ## Accessibility
136
+
137
+ ### Keyboard Navigation
138
+
139
+ - `Tab` - Moves focus to the file input button
140
+ - `Space/Enter` - Opens the file selection dialog
141
+ - Screen readers can access the hidden file input directly
142
+
143
+ ### Screen Reader Support
144
+
145
+ - Component announces as "button" for file selection
146
+ - Selected file names are announced when changed
147
+ - File type restrictions and requirements are communicated
148
+ - Validation errors are announced when present
149
+
150
+ ### ARIA Properties
151
+
152
+ - `aria-label` - Provides accessible label when no visible label exists
153
+ - `aria-labelledby` - References external label elements
154
+ - `aria-describedby` - References additional descriptive text
155
+ - `aria-required` - Indicates if file selection is required
156
+ - `aria-invalid` - Indicates validation state
157
+
158
+ ## Best Practices
159
+
160
+ 1. **Do**: Provide clear file type and size requirements
161
+ ```jsx
162
+ <FileInput
163
+ label="Upload resume"
164
+ accept=".pdf,.doc,.docx"
165
+ description="PDF or Word document, max 5MB"
166
+ />
167
+ ```
168
+
169
+ 2. **Don't**: Use unclear button text or placeholders
170
+ ```jsx
171
+ <FileInput buttonText="Click" /> {/* What does clicking do? */}
172
+ ```
173
+
174
+ 3. **File Types**: Always specify accepted file types for better UX
175
+ 4. **Size Limits**: Implement file size validation for uploads
176
+ 5. **Multiple Files**: Clearly indicate when multiple files are allowed
177
+ 6. **Error Handling**: Provide helpful feedback for invalid files
178
+
179
+ ## Integration with Forms
180
+
181
+ This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
182
+
183
+ ## Suggested Improvements
184
+
185
+ - Add visual progress indicators for file uploads
186
+ - Implement file preview functionality for images
187
+ - Add support for file size and type validation messages
188
+ - Consider adding file removal functionality for selected files
189
+ - Implement custom drag-and-drop visual feedback
190
+
191
+ ## Related Components
192
+
193
+ - [Button](../actions/Button.md) - For triggering file dialogs programmatically
194
+ - [Field](../form/Field.md) - For form integration and validation