altum 0.0.1 → 0.0.3

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 (553) hide show
  1. package/CHANGELOG.md +44 -4
  2. package/README.md +10 -10
  3. package/dist/base/As/As.js +1 -0
  4. package/dist/base/ButtonBase/ButtonBase.js +1 -1
  5. package/dist/base/ButtonBase/ButtonBase.module.css.js +1 -1
  6. package/dist/base/ChartBase/ChartBase.js +1 -1
  7. package/dist/base/ChartBase/ChartBase.module.css.js +1 -1
  8. package/dist/base/ChartBase/ChartCartesian.js +1 -0
  9. package/dist/base/ChartBase/ChartHoverBubble.js +1 -0
  10. package/dist/base/ChartBase/ChartHoverBubble.module.css.js +1 -0
  11. package/dist/base/ChartBase/ChartLegend.js +1 -0
  12. package/dist/base/ChartBase/ChartLegend.module.css.js +1 -0
  13. package/dist/base/ChartBase/ChartPlot.module.css.js +1 -0
  14. package/dist/base/ChartBase/ChartYGrid.js +1 -0
  15. package/dist/base/ChartBase/cartesian.js +1 -0
  16. package/dist/base/ChartBase/colors.js +1 -0
  17. package/dist/base/ChartBase/useChartWidth.js +1 -0
  18. package/dist/base/ChevronButton/ChevronButton.js +1 -0
  19. package/dist/base/DialogBase/DialogBase.js +1 -1
  20. package/dist/base/DialogBase/DialogBase.module.css.js +1 -1
  21. package/dist/base/FieldBase/FieldBase.js +1 -1
  22. package/dist/base/FieldBase/FieldBase.module.css.js +1 -1
  23. package/dist/base/FieldPopup/FieldPopup.js +1 -0
  24. package/dist/base/FieldPopup/FieldPopup.module.css.js +1 -0
  25. package/dist/base/Flex/Flex.js +1 -0
  26. package/dist/base/Flex/Flex.module.css.js +1 -0
  27. package/dist/base/PeriodHeader/PeriodHeader.js +1 -0
  28. package/dist/base/TextControl/TextControl.js +1 -0
  29. package/dist/base/ToggleControlBase/ToggleControlBase.js +1 -1
  30. package/dist/base/ToggleControlBase/ToggleControlBase.module.css.js +1 -1
  31. package/dist/base/ToggleGroupBase/ToggleGroupBase.js +1 -0
  32. package/dist/base/Type/Type.js +1 -0
  33. package/dist/components/Accordion/Accordion.js +1 -1
  34. package/dist/components/Accordion/Accordion.module.css.js +1 -1
  35. package/dist/components/ActionList/ActionList.js +1 -1
  36. package/dist/components/ActionList/ActionList.module.css.js +1 -1
  37. package/dist/components/ActionSheetTrigger/ActionSheetTrigger.js +1 -1
  38. package/dist/components/ActionSheetTrigger/ActionSheetTrigger.module.css.js +1 -1
  39. package/dist/components/Alert/Alert.js +1 -1
  40. package/dist/components/Alert/Alert.module.css.js +1 -1
  41. package/dist/components/AspectRatio/AspectRatio.js +1 -1
  42. package/dist/components/AspectRatio/AspectRatio.module.css.js +1 -1
  43. package/dist/components/Attachment/Attachment.js +1 -1
  44. package/dist/components/Attachment/Attachment.module.css.js +1 -1
  45. package/dist/components/Avatar/Avatar.js +1 -1
  46. package/dist/components/Avatar/Avatar.module.css.js +1 -1
  47. package/dist/components/Backdrop/Backdrop.js +1 -1
  48. package/dist/components/Backdrop/Backdrop.module.css.js +1 -1
  49. package/dist/components/Badge/Badge.js +1 -1
  50. package/dist/components/Badge/Badge.module.css.js +1 -1
  51. package/dist/components/BarChart/BarChart.js +1 -1
  52. package/dist/components/BarChart/BarChart.module.css.js +1 -1
  53. package/dist/components/Box/Box.js +1 -1
  54. package/dist/components/Box/Box.module.css.js +1 -1
  55. package/dist/components/Bubble/Bubble.js +1 -1
  56. package/dist/components/Bubble/Bubble.module.css.js +1 -1
  57. package/dist/components/Button/Button.js +1 -1
  58. package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
  59. package/dist/components/ButtonGroup/ButtonGroup.module.css.js +1 -1
  60. package/dist/components/ButtonIcon/ButtonIcon.js +1 -1
  61. package/dist/components/Calendar/Calendar.context.js +1 -1
  62. package/dist/components/Calendar/Calendar.module.css.js +1 -1
  63. package/dist/components/Calendar/Calendar.slots.js +1 -1
  64. package/dist/components/Calendar/Calendar.types.js +1 -1
  65. package/dist/components/Calendar/Calendar.utils.js +1 -1
  66. package/dist/components/Calendar/Calendar.views.js +1 -1
  67. package/dist/components/CalendarBoard/CalendarBoard.Event.js +1 -0
  68. package/dist/components/CalendarBoard/CalendarBoard.Event.module.css.js +1 -0
  69. package/dist/components/CalendarBoard/CalendarBoard.MonthView.js +1 -1
  70. package/dist/components/CalendarBoard/CalendarBoard.Schedule.js +1 -1
  71. package/dist/components/CalendarBoard/CalendarBoard.Schedule.module.css.js +1 -1
  72. package/dist/components/CalendarBoard/CalendarBoard.TaskChip.js +1 -1
  73. package/dist/components/CalendarBoard/CalendarBoard.YearView.js +2 -1
  74. package/dist/components/CalendarBoard/CalendarBoard.chrome.js +1 -1
  75. package/dist/components/CalendarBoard/CalendarBoard.context.js +1 -1
  76. package/dist/components/CalendarBoard/CalendarBoard.module.css.js +1 -1
  77. package/dist/components/CalendarBoard/calendar.schedule.js +1 -0
  78. package/dist/components/Card/Card.js +1 -1
  79. package/dist/components/Card/Card.module.css.js +1 -1
  80. package/dist/components/Checkbox/Checkbox.js +1 -1
  81. package/dist/components/Checkbox/Checkbox.module.css.js +1 -0
  82. package/dist/components/Chip/Chip.js +1 -1
  83. package/dist/components/Chip/Chip.module.css.js +1 -1
  84. package/dist/components/Collapse/Collapse.js +1 -1
  85. package/dist/components/Collapse/Collapse.module.css.js +1 -1
  86. package/dist/components/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  87. package/dist/components/ColorSwatchGroup/ColorSwatchGroup.module.css.js +1 -1
  88. package/dist/components/CommandPalette/CommandPalette.js +1 -1
  89. package/dist/components/CommandPalette/CommandPalette.module.css.js +1 -1
  90. package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
  91. package/dist/components/Container/Container.js +1 -1
  92. package/dist/components/Container/Container.module.css.js +1 -1
  93. package/dist/components/CustomSelect/CustomSelect.Filter.js +1 -1
  94. package/dist/components/CustomSelect/CustomSelect.List.js +1 -1
  95. package/dist/components/CustomSelect/CustomSelect.Shell.js +1 -1
  96. package/dist/components/CustomSelect/CustomSelect.Shell.module.css.js +1 -1
  97. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  98. package/dist/components/CustomSelect/CustomSelect.module.css.js +1 -1
  99. package/dist/components/DatePicker/DatePicker.js +1 -1
  100. package/dist/components/DatePicker/DatePicker.utils.js +1 -1
  101. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  102. package/dist/components/DateRangePicker/DateRangePicker.module.css.js +1 -1
  103. package/dist/components/DayStripCalendar/DayStripCalendar.js +1 -1
  104. package/dist/components/DayStripCalendar/DayStripCalendar.module.css.js +1 -1
  105. package/dist/components/DescriptionList/DescriptionList.js +1 -1
  106. package/dist/components/DescriptionList/DescriptionList.module.css.js +1 -1
  107. package/dist/components/DonutChart/DonutChart.js +1 -1
  108. package/dist/components/DonutChart/DonutChart.module.css.js +1 -1
  109. package/dist/components/Dropdown/Dropdown.js +1 -1
  110. package/dist/components/Dropdown/Dropdown.module.css.js +1 -1
  111. package/dist/components/Dropdown/DropdownMobileSheet.js +1 -1
  112. package/dist/components/EmptyState/EmptyState.js +1 -1
  113. package/dist/components/EmptyState/EmptyState.module.css.js +1 -1
  114. package/dist/components/FieldLabel/FieldLabel.js +1 -1
  115. package/dist/components/FieldLabel/FieldLabel.module.css.js +1 -1
  116. package/dist/components/Fieldset/Fieldset.js +1 -1
  117. package/dist/components/Fieldset/Fieldset.module.css.js +1 -1
  118. package/dist/components/FileList/FileList.js +1 -1
  119. package/dist/components/FileList/FileList.module.css.js +1 -1
  120. package/dist/components/FormMessage/FormMessage.js +1 -1
  121. package/dist/components/GrabHandle/GrabHandle.module.css.js +1 -1
  122. package/dist/components/Grid/Grid.js +1 -1
  123. package/dist/components/Grid/Grid.module.css.js +1 -1
  124. package/dist/components/Grid/Grid.utils.js +1 -1
  125. package/dist/components/ImageCrop/ImageCrop.js +1 -1
  126. package/dist/components/ImageCrop/ImageCrop.module.css.js +1 -1
  127. package/dist/components/ImageGallery/ImageGallery.js +1 -1
  128. package/dist/components/ImageGallery/ImageGallery.module.css.js +1 -1
  129. package/dist/components/ImageLightbox/ImageLightbox.js +1 -1
  130. package/dist/components/ImageLightbox/ImageLightbox.module.css.js +1 -1
  131. package/dist/components/Item/Item.js +1 -1
  132. package/dist/components/Item/Item.module.css.js +1 -1
  133. package/dist/components/Kbd/Kbd.js +1 -1
  134. package/dist/components/Kbd/Kbd.module.css.js +1 -1
  135. package/dist/components/Layout/ControlRow.js +1 -1
  136. package/dist/components/Layout/Inline.js +1 -1
  137. package/dist/components/Layout/Layout.js +1 -1
  138. package/dist/components/Layout/Layout.module.css.js +1 -1
  139. package/dist/components/Layout/LayoutItem.js +1 -1
  140. package/dist/components/Layout/Split.js +1 -1
  141. package/dist/components/Layout/Stack.js +1 -1
  142. package/dist/components/LineChart/LineChart.js +1 -1
  143. package/dist/components/LineChart/LineChart.module.css.js +1 -1
  144. package/dist/components/Link/Link.js +1 -1
  145. package/dist/components/Link/Link.module.css.js +1 -1
  146. package/dist/components/Listbox/Listbox.js +1 -1
  147. package/dist/components/Listbox/Listbox.module.css.js +1 -1
  148. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  149. package/dist/components/Marker/Marker.js +1 -1
  150. package/dist/components/Marker/Marker.module.css.js +1 -1
  151. package/dist/components/MaskedField/MaskedField.js +1 -1
  152. package/dist/components/MaskedField/MaskedField.module.css.js +1 -1
  153. package/dist/components/Media/Media.js +1 -1
  154. package/dist/components/Media/Media.module.css.js +1 -1
  155. package/dist/components/Menu/Menu.js +1 -0
  156. package/dist/components/Menu/Menu.module.css.js +1 -0
  157. package/dist/components/Modal/Modal.js +1 -1
  158. package/dist/components/Modal/Modal.module.css.js +1 -1
  159. package/dist/components/Notification/Notification.js +1 -1
  160. package/dist/components/Notification/Notification.module.css.js +1 -1
  161. package/dist/components/Notification/toast.js +1 -1
  162. package/dist/components/NumberField/NumberField.js +1 -1
  163. package/dist/components/NumberField/NumberField.module.css.js +1 -1
  164. package/dist/components/Overflow/Overflow.js +1 -0
  165. package/dist/components/Overflow/Overflow.module.css.js +1 -0
  166. package/dist/components/Overflow/OverflowActionsMode.js +1 -0
  167. package/dist/components/Overflow/OverflowMeasure.js +1 -0
  168. package/dist/components/Overflow/OverflowMore.js +1 -0
  169. package/dist/components/Overlay/Overlay.Dismiss.js +1 -1
  170. package/dist/components/Overlay/Overlay.Positioner.js +1 -1
  171. package/dist/components/Overlay/Overlay.js +1 -1
  172. package/dist/components/Overlay/Overlay.module.css.js +1 -1
  173. package/dist/components/Overlay/Overlay.types.js +1 -1
  174. package/dist/components/Pagination/Pagination.js +1 -1
  175. package/dist/components/Pagination/Pagination.module.css.js +1 -1
  176. package/dist/components/PasswordField/PasswordField.js +1 -1
  177. package/dist/components/PasswordField/PasswordField.module.css.js +1 -1
  178. package/dist/components/PinInput/PinInput.js +1 -1
  179. package/dist/components/PinInput/PinInput.module.css.js +1 -1
  180. package/dist/components/Popover/Popover.js +1 -1
  181. package/dist/components/Popover/Popover.module.css.js +1 -1
  182. package/dist/components/Progress/Progress.js +1 -1
  183. package/dist/components/Progress/Progress.module.css.js +1 -1
  184. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  185. package/dist/components/PullToRefresh/PullToRefresh.module.css.js +1 -1
  186. package/dist/components/Radio/Radio.js +1 -1
  187. package/dist/components/Radio/Radio.module.css.js +1 -0
  188. package/dist/components/Rating/Rating.js +1 -1
  189. package/dist/components/Rating/Rating.module.css.js +1 -1
  190. package/dist/components/RelativeTime/RelativeTime.js +1 -1
  191. package/dist/components/SafeArea/SafeArea.module.css.js +1 -1
  192. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  193. package/dist/components/ScrollArea/ScrollArea.module.css.js +1 -1
  194. package/dist/components/SearchField/SearchField.js +1 -1
  195. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  196. package/dist/components/Select/Select.js +1 -1
  197. package/dist/components/Select/Select.module.css.js +1 -1
  198. package/dist/components/SelectionGroup/SelectionGroup.js +1 -1
  199. package/dist/components/Separator/Separator.js +1 -1
  200. package/dist/components/Separator/Separator.module.css.js +1 -1
  201. package/dist/components/Sheet/Sheet.js +1 -1
  202. package/dist/components/Sheet/Sheet.module.css.js +1 -1
  203. package/dist/components/Sidebar/Sidebar.js +1 -1
  204. package/dist/components/Sidebar/Sidebar.module.css.js +1 -1
  205. package/dist/components/Skeleton/Skeleton.js +1 -1
  206. package/dist/components/Skeleton/Skeleton.module.css.js +1 -1
  207. package/dist/components/SkipLink/SkipLink.module.css.js +1 -1
  208. package/dist/components/Slider/Slider.js +1 -1
  209. package/dist/components/Slider/Slider.module.css.js +1 -1
  210. package/dist/components/SortableList/SortableList.js +1 -1
  211. package/dist/components/SortableList/SortableList.module.css.js +1 -1
  212. package/dist/components/Spinner/Spinner.js +1 -1
  213. package/dist/components/Spinner/Spinner.module.css.js +1 -1
  214. package/dist/components/StatBadge/StatBadge.js +1 -1
  215. package/dist/components/StatBadge/StatBadge.module.css.js +1 -1
  216. package/dist/components/Steps/Steps.js +1 -1
  217. package/dist/components/Steps/Steps.module.css.js +1 -1
  218. package/dist/components/SuggestField/SuggestField.js +1 -1
  219. package/dist/components/SuggestField/useSuggestInput.js +1 -0
  220. package/dist/components/SwipeToAction/SwipeToAction.js +1 -1
  221. package/dist/components/SwipeToAction/SwipeToAction.module.css.js +1 -1
  222. package/dist/components/Switch/Switch.js +1 -1
  223. package/dist/components/Switch/Switch.module.css.js +1 -1
  224. package/dist/components/Table/Table.js +1 -1
  225. package/dist/components/Table/Table.module.css.js +1 -1
  226. package/dist/components/Table/TableRow.js +1 -1
  227. package/dist/components/Table/TableRowActions.js +1 -1
  228. package/dist/components/Table/TableView.js +1 -1
  229. package/dist/components/Tabs/Tabs.js +1 -1
  230. package/dist/components/Tabs/Tabs.module.css.js +1 -1
  231. package/dist/components/Text/Text.js +1 -1
  232. package/dist/components/Text/Text.module.css.js +1 -1
  233. package/dist/components/TextField/TextField.js +1 -1
  234. package/dist/components/TextareaField/TextareaField.js +1 -1
  235. package/dist/components/ThemeProvider/ThemeProvider.module.css.js +1 -1
  236. package/dist/components/TimePicker/TimePicker.js +1 -1
  237. package/dist/components/TimePicker/TimePicker.module.css.js +1 -1
  238. package/dist/components/Timeline/Timeline.js +1 -1
  239. package/dist/components/Timeline/Timeline.module.css.js +1 -1
  240. package/dist/components/Title/Title.js +1 -1
  241. package/dist/components/Title/Title.module.css.js +1 -1
  242. package/dist/components/Tooltip/Tooltip.js +1 -1
  243. package/dist/components/Tooltip/Tooltip.module.css.js +1 -1
  244. package/dist/components/UploadZone/UploadZone.js +1 -1
  245. package/dist/components/UploadZone/UploadZone.module.css.js +1 -1
  246. package/dist/components/VirtualList/VirtualList.js +1 -1
  247. package/dist/components/VirtualList/VirtualList.module.css.js +1 -1
  248. package/dist/components/VirtualList/VirtualList.utils.js +1 -1
  249. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
  250. package/dist/entries/hooks.js +1 -1
  251. package/dist/entries/icons.js +1 -1
  252. package/dist/entries/utils.js +1 -1
  253. package/dist/hooks/useAutoResize.js +1 -0
  254. package/dist/hooks/useDigitMask.js +1 -0
  255. package/dist/hooks/useFallbackId.js +1 -0
  256. package/dist/hooks/useFieldControl.js +1 -0
  257. package/dist/hooks/useFileDrop.js +1 -0
  258. package/dist/hooks/useNow.js +1 -0
  259. package/dist/hooks/useOtpInputs.js +1 -0
  260. package/dist/hooks/useOverflowEdges.js +1 -0
  261. package/dist/hooks/usePresence.js +1 -0
  262. package/dist/hooks/useRequiredContext.js +1 -0
  263. package/dist/hooks/useRovingList.js +1 -0
  264. package/dist/hooks/useScrollFocusedChildIntoView.js +1 -0
  265. package/dist/hooks/useTrackThumb.js +1 -0
  266. package/dist/icons/createIcon.js +1 -0
  267. package/dist/icons/icons/IconAlarm.js +1 -10
  268. package/dist/icons/icons/IconAlignCenter.js +1 -3
  269. package/dist/icons/icons/IconAlignJustify.js +1 -3
  270. package/dist/icons/icons/IconAlignLeft.js +1 -3
  271. package/dist/icons/icons/IconAlignRight.js +1 -3
  272. package/dist/icons/icons/IconAnchor.js +1 -5
  273. package/dist/icons/icons/IconArchive.js +1 -5
  274. package/dist/icons/icons/IconArrowDown.js +1 -3
  275. package/dist/icons/icons/IconArrowLeft.js +1 -3
  276. package/dist/icons/icons/IconArrowRight.js +1 -3
  277. package/dist/icons/icons/IconArrowThinDown.js +1 -3
  278. package/dist/icons/icons/IconArrowThinLeft.js +1 -2
  279. package/dist/icons/icons/IconArrowThinRight.js +1 -3
  280. package/dist/icons/icons/IconArrowThinUp.js +1 -2
  281. package/dist/icons/icons/IconArrowUp.js +1 -3
  282. package/dist/icons/icons/IconArticle.js +1 -4
  283. package/dist/icons/icons/IconBackspace.js +1 -3
  284. package/dist/icons/icons/IconBasket.js +1 -4
  285. package/dist/icons/icons/IconBasketball.js +1 -7
  286. package/dist/icons/icons/IconBatteryEmpty.js +1 -2
  287. package/dist/icons/icons/IconBatteryFull.js +1 -4
  288. package/dist/icons/icons/IconBatteryLow.js +1 -3
  289. package/dist/icons/icons/IconBatteryMedium.js +1 -3
  290. package/dist/icons/icons/IconBell.js +1 -8
  291. package/dist/icons/icons/IconBlog.js +1 -4
  292. package/dist/icons/icons/IconBluetooth.js +1 -4
  293. package/dist/icons/icons/IconBold.js +1 -3
  294. package/dist/icons/icons/IconBookmark.js +1 -3
  295. package/dist/icons/icons/IconBookmarks.js +1 -4
  296. package/dist/icons/icons/IconBox.js +1 -5
  297. package/dist/icons/icons/IconBriefcase.js +1 -4
  298. package/dist/icons/icons/IconBrightnessLow.js +1 -10
  299. package/dist/icons/icons/IconBrightnessMax.js +1 -9
  300. package/dist/icons/icons/IconBrightnessMedium.js +1 -9
  301. package/dist/icons/icons/IconBroadcast.js +1 -10
  302. package/dist/icons/icons/IconBrowser.js +1 -2
  303. package/dist/icons/icons/IconBrowserUpload.js +1 -5
  304. package/dist/icons/icons/IconBrush.js +1 -7
  305. package/dist/icons/icons/IconCalendar.js +1 -4
  306. package/dist/icons/icons/IconCamcorder.js +1 -3
  307. package/dist/icons/icons/IconCamera.js +1 -8
  308. package/dist/icons/icons/IconCard.js +1 -3
  309. package/dist/icons/icons/IconCart.js +1 -6
  310. package/dist/icons/icons/IconChecklist.js +1 -6
  311. package/dist/icons/icons/IconCheckmark.js +1 -2
  312. package/dist/icons/icons/IconChevronDown.js +1 -2
  313. package/dist/icons/icons/IconChevronLeft.js +1 -2
  314. package/dist/icons/icons/IconChevronRight.js +1 -2
  315. package/dist/icons/icons/IconChevronUp.js +1 -2
  316. package/dist/icons/icons/IconClipboard.js +1 -4
  317. package/dist/icons/icons/IconClock.js +1 -3
  318. package/dist/icons/icons/IconClockwise.js +1 -4
  319. package/dist/icons/icons/IconCloud.js +1 -6
  320. package/dist/icons/icons/IconCloudDownload.js +1 -9
  321. package/dist/icons/icons/IconCloudUpload.js +1 -9
  322. package/dist/icons/icons/IconCode.js +1 -4
  323. package/dist/icons/icons/IconContract.js +1 -8
  324. package/dist/icons/icons/IconContract2.js +1 -4
  325. package/dist/icons/icons/IconConversation.js +1 -7
  326. package/dist/icons/icons/IconCopy.js +1 -5
  327. package/dist/icons/icons/IconCrop.js +1 -6
  328. package/dist/icons/icons/IconCross.js +1 -3
  329. package/dist/icons/icons/IconCrosshair.js +1 -4
  330. package/dist/icons/icons/IconCutlery.js +1 -7
  331. package/dist/icons/icons/IconDeviceDesktop.js +1 -4
  332. package/dist/icons/icons/IconDeviceMobile.js +1 -3
  333. package/dist/icons/icons/IconDeviceTablet.js +1 -3
  334. package/dist/icons/icons/IconDirection.js +1 -3
  335. package/dist/icons/icons/IconDisc.js +1 -8
  336. package/dist/icons/icons/IconDocument.js +1 -5
  337. package/dist/icons/icons/IconDocumentDelete.js +1 -5
  338. package/dist/icons/icons/IconDocumentEdit.js +1 -4
  339. package/dist/icons/icons/IconDocumentNew.js +1 -2
  340. package/dist/icons/icons/IconDocumentRemove.js +1 -3
  341. package/dist/icons/icons/IconDot.js +1 -2
  342. package/dist/icons/icons/IconDots2.js +1 -4
  343. package/dist/icons/icons/IconDots3.js +1 -5
  344. package/dist/icons/icons/IconDownload.js +1 -3
  345. package/dist/icons/icons/IconDragHandle.js +1 -1
  346. package/dist/icons/icons/IconDuplicate.js +1 -3
  347. package/dist/icons/icons/IconEnter.js +1 -4
  348. package/dist/icons/icons/IconExit.js +1 -4
  349. package/dist/icons/icons/IconExpand.js +1 -8
  350. package/dist/icons/icons/IconExpand2.js +1 -4
  351. package/dist/icons/icons/IconExperiment.js +1 -7
  352. package/dist/icons/icons/IconExport.js +1 -6
  353. package/dist/icons/icons/IconFeed.js +1 -6
  354. package/dist/icons/icons/IconFlag.js +1 -6
  355. package/dist/icons/icons/IconFlashlight.js +1 -4
  356. package/dist/icons/icons/IconFolder.js +1 -2
  357. package/dist/icons/icons/IconFolderOpen.js +1 -3
  358. package/dist/icons/icons/IconForward.js +1 -5
  359. package/dist/icons/icons/IconGaming.js +1 -14
  360. package/dist/icons/icons/IconGear.js +1 -21
  361. package/dist/icons/icons/IconGraduation.js +1 -6
  362. package/dist/icons/icons/IconGraphBar.js +1 -3
  363. package/dist/icons/icons/IconGraphLine.js +1 -4
  364. package/dist/icons/icons/IconGraphPie.js +1 -4
  365. package/dist/icons/icons/IconHeadset.js +1 -8
  366. package/dist/icons/icons/IconHeart.js +1 -8
  367. package/dist/icons/icons/IconHelp.js +1 -12
  368. package/dist/icons/icons/IconHome.js +1 -4
  369. package/dist/icons/icons/IconHourglass.js +1 -6
  370. package/dist/icons/icons/IconInbox.js +1 -6
  371. package/dist/icons/icons/IconInformation.js +1 -6
  372. package/dist/icons/icons/IconItalic.js +1 -3
  373. package/dist/icons/icons/IconJewel.js +1 -4
  374. package/dist/icons/icons/IconLifting.js +1 -3
  375. package/dist/icons/icons/IconLightbulb.js +1 -7
  376. package/dist/icons/icons/IconLink.js +1 -6
  377. package/dist/icons/icons/IconLinkBroken.js +1 -8
  378. package/dist/icons/icons/IconList.js +1 -7
  379. package/dist/icons/icons/IconLoading.js +1 -12
  380. package/dist/icons/icons/IconLocation.js +1 -5
  381. package/dist/icons/icons/IconLock.js +1 -2
  382. package/dist/icons/icons/IconLockOpen.js +1 -3
  383. package/dist/icons/icons/IconMail.js +1 -9
  384. package/dist/icons/icons/IconMap.js +1 -8
  385. package/dist/icons/icons/IconMediaLoop.js +1 -3
  386. package/dist/icons/icons/IconMediaNext.js +1 -3
  387. package/dist/icons/icons/IconMediaPause.js +1 -2
  388. package/dist/icons/icons/IconMediaPlay.js +1 -2
  389. package/dist/icons/icons/IconMediaPrevious.js +1 -3
  390. package/dist/icons/icons/IconMediaRecord.js +1 -3
  391. package/dist/icons/icons/IconMediaShuffle.js +1 -8
  392. package/dist/icons/icons/IconMediaStop.js +1 -2
  393. package/dist/icons/icons/IconMedical.js +1 -4
  394. package/dist/icons/icons/IconMenu.js +1 -3
  395. package/dist/icons/icons/IconMessage.js +1 -5
  396. package/dist/icons/icons/IconMeter.js +1 -5
  397. package/dist/icons/icons/IconMicrophone.js +1 -8
  398. package/dist/icons/icons/IconMinus.js +1 -1
  399. package/dist/icons/icons/IconMonitor.js +1 -2
  400. package/dist/icons/icons/IconMove.js +1 -7
  401. package/dist/icons/icons/IconMusic.js +1 -8
  402. package/dist/icons/icons/IconNetwork1.js +1 -6
  403. package/dist/icons/icons/IconNetwork2.js +1 -6
  404. package/dist/icons/icons/IconNetwork3.js +1 -8
  405. package/dist/icons/icons/IconNetwork4.js +1 -7
  406. package/dist/icons/icons/IconNetwork5.js +1 -4
  407. package/dist/icons/icons/IconPamphlet.js +1 -6
  408. package/dist/icons/icons/IconPaperclip.js +1 -5
  409. package/dist/icons/icons/IconPencil.js +1 -4
  410. package/dist/icons/icons/IconPhone.js +1 -7
  411. package/dist/icons/icons/IconPhoto.js +1 -4
  412. package/dist/icons/icons/IconPhotoGroup.js +1 -6
  413. package/dist/icons/icons/IconPill.js +1 -8
  414. package/dist/icons/icons/IconPin.js +1 -8
  415. package/dist/icons/icons/IconPlus.js +1 -2
  416. package/dist/icons/icons/IconPower.js +1 -4
  417. package/dist/icons/icons/IconPreview.js +1 -8
  418. package/dist/icons/icons/IconPreviewOff.js +1 -8
  419. package/dist/icons/icons/IconPrint.js +1 -5
  420. package/dist/icons/icons/IconPulse.js +1 -4
  421. package/dist/icons/icons/IconQuestion.js +1 -6
  422. package/dist/icons/icons/IconReply.js +1 -4
  423. package/dist/icons/icons/IconReplyAll.js +1 -6
  424. package/dist/icons/icons/IconReturn.js +1 -3
  425. package/dist/icons/icons/IconRetweet.js +1 -5
  426. package/dist/icons/icons/IconRocket.js +1 -11
  427. package/dist/icons/icons/IconScale.js +1 -6
  428. package/dist/icons/icons/IconSearch.js +1 -6
  429. package/dist/icons/icons/IconShoppingBag.js +1 -3
  430. package/dist/icons/icons/IconSkip.js +1 -5
  431. package/dist/icons/icons/IconStack.js +1 -5
  432. package/dist/icons/icons/IconStar.js +1 -5
  433. package/dist/icons/icons/IconStopwatch.js +1 -6
  434. package/dist/icons/icons/IconStore.js +1 -6
  435. package/dist/icons/icons/IconSuitcase.js +1 -3
  436. package/dist/icons/icons/IconSwap.js +1 -5
  437. package/dist/icons/icons/IconTag.js +1 -4
  438. package/dist/icons/icons/IconTagDelete.js +1 -5
  439. package/dist/icons/icons/IconTags.js +1 -7
  440. package/dist/icons/icons/IconThumbsDown.js +1 -7
  441. package/dist/icons/icons/IconThumbsUp.js +1 -7
  442. package/dist/icons/icons/IconTicket.js +1 -8
  443. package/dist/icons/icons/IconTimeReverse.js +1 -5
  444. package/dist/icons/icons/IconToDo.js +1 -5
  445. package/dist/icons/icons/IconToggles.js +1 -9
  446. package/dist/icons/icons/IconTrash.js +1 -6
  447. package/dist/icons/icons/IconTrophy.js +1 -7
  448. package/dist/icons/icons/IconUpload.js +1 -4
  449. package/dist/icons/icons/IconUser.js +1 -5
  450. package/dist/icons/icons/IconUserGroup.js +1 -9
  451. package/dist/icons/icons/IconUserId.js +1 -7
  452. package/dist/icons/icons/IconVibrate.js +1 -7
  453. package/dist/icons/icons/IconViewApps.js +1 -14
  454. package/dist/icons/icons/IconViewList.js +1 -5
  455. package/dist/icons/icons/IconViewListLarge.js +1 -6
  456. package/dist/icons/icons/IconViewThumb.js +1 -6
  457. package/dist/icons/icons/IconVolumeFull.js +1 -8
  458. package/dist/icons/icons/IconVolumeLow.js +1 -5
  459. package/dist/icons/icons/IconVolumeMedium.js +1 -6
  460. package/dist/icons/icons/IconVolumeOff.js +1 -6
  461. package/dist/icons/icons/IconWallet.js +1 -5
  462. package/dist/icons/icons/IconWarning.js +1 -4
  463. package/dist/icons/icons/IconWeb.js +1 -12
  464. package/dist/icons/icons/IconWeight.js +1 -3
  465. package/dist/icons/icons/IconWifi.js +1 -7
  466. package/dist/icons/icons/IconWrong.js +1 -3
  467. package/dist/icons/icons/IconZoomIn.js +1 -5
  468. package/dist/icons/icons/IconZoomOut.js +1 -4
  469. package/dist/index.js +1 -1
  470. package/dist/locales/en.js +1 -1
  471. package/dist/locales/localeContext.js +1 -1
  472. package/dist/locales/messages.js +1 -0
  473. package/dist/locales/ru.js +1 -1
  474. package/dist/locales/translate.js +1 -1
  475. package/dist/styles/ControlTrack.module.css.js +1 -0
  476. package/dist/styles/MediaItem.module.css.js +1 -0
  477. package/dist/styles/calendarChrome.module.css.js +1 -0
  478. package/dist/styles/chartSeries.module.css.js +1 -0
  479. package/dist/styles/fieldMessage.module.css.js +1 -0
  480. package/dist/styles/flexChild.module.css.js +1 -0
  481. package/dist/styles/overlayClose.module.css.js +1 -0
  482. package/dist/styles/scroll.module.css.js +1 -0
  483. package/dist/styles/srOnly.module.css.js +1 -0
  484. package/dist/styles/status.module.css.js +1 -0
  485. package/dist/styles/textLink.module.css.js +1 -0
  486. package/dist/styles/toggleBox.module.css.js +1 -0
  487. package/dist/styles/toggleGroup.module.css.js +1 -0
  488. package/dist/styles/type.module.css.js +1 -0
  489. package/dist/styles/unstyledControl.module.css.js +1 -0
  490. package/dist/utils/a11y.js +1 -1
  491. package/dist/utils/clamp.js +1 -0
  492. package/dist/utils/commitMaskedValue.js +1 -0
  493. package/dist/utils/controlTrack.js +1 -1
  494. package/dist/utils/fieldPlaceholder.js +1 -0
  495. package/dist/utils/formatBytes.js +1 -0
  496. package/dist/utils/implicitAs.js +1 -0
  497. package/dist/utils/injectCss.js +1 -0
  498. package/dist/utils/keyboardShortcut.js +1 -1
  499. package/dist/utils/keyboardShortcut.match.js +1 -0
  500. package/dist/utils/liveStatus.js +1 -0
  501. package/dist/utils/overlayPurpose.js +1 -1
  502. package/dist/utils/preventWhen.js +1 -0
  503. package/dist/utils/renderChildren.js +1 -1
  504. package/dist/utils/slot.js +1 -1
  505. package/dist/utils/toggleSet.js +1 -0
  506. package/dist/utils/visitElementTree.js +1 -0
  507. package/docs/COMPONENTS.md +55 -66
  508. package/docs/ICONS.md +6 -5
  509. package/docs/LAYOUT.md +5 -5
  510. package/docs/THEMING.md +37 -29
  511. package/package.json +5 -5
  512. package/types/entries/hooks.d.ts +8 -230
  513. package/types/entries/icons.d.ts +209 -1415
  514. package/types/entries/utils.d.ts +20 -364
  515. package/types/index.d.ts +541 -3957
  516. package/dist/base/ChartBase/ChartBase.utils.js +0 -1
  517. package/dist/base/ListOptionBase/ListOptionBase.js +0 -1
  518. package/dist/base/ListOptionBase/ListOptionBase.module.css.js +0 -1
  519. package/dist/base/MediaRowBase/MediaRowBase.js +0 -1
  520. package/dist/base/MediaRowBase/MediaRowBase.module.css.js +0 -1
  521. package/dist/components/Button/Button.module.css.js +0 -1
  522. package/dist/components/ButtonIcon/ButtonIcon.module.css.js +0 -1
  523. package/dist/components/Calendar/calendar.schedule.js +0 -1
  524. package/dist/components/CalendarBoard/CalendarBoard.EventBar.js +0 -1
  525. package/dist/components/CalendarBoard/CalendarBoard.EventBar.module.css.js +0 -1
  526. package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.js +0 -1
  527. package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.module.css.js +0 -1
  528. package/dist/components/ConfirmDialog/ConfirmDialog.module.css.js +0 -1
  529. package/dist/components/ContextMenu/ContextMenu.js +0 -1
  530. package/dist/components/ContextMenu/ContextMenu.module.css.js +0 -1
  531. package/dist/components/DropdownMenu/DropdownMenu.js +0 -1
  532. package/dist/components/FormMessage/FormMessage.module.css.js +0 -1
  533. package/dist/components/Layout/Layout.types.js +0 -1
  534. package/dist/components/Layout/flexPrimitives.module.css.js +0 -1
  535. package/dist/components/Layout/layoutClasses.js +0 -1
  536. package/dist/components/OverflowActions/OverflowActions.js +0 -1
  537. package/dist/components/OverflowActions/OverflowActions.module.css.js +0 -1
  538. package/dist/components/OverflowGroup/OverflowGroup.js +0 -1
  539. package/dist/components/OverflowGroup/OverflowGroup.module.css.js +0 -1
  540. package/dist/components/Overlay/Overlay.Focus.js +0 -1
  541. package/dist/components/Overlay/Overlay.Root.js +0 -1
  542. package/dist/components/SearchField/SearchField.module.css.js +0 -1
  543. package/dist/components/SegmentedControl/SegmentedControl.module.css.js +0 -1
  544. package/dist/components/SelectionGroup/SelectionGroup.module.css.js +0 -1
  545. package/dist/components/SuggestField/SuggestField.module.css.js +0 -1
  546. package/dist/components/Table/Table.slots.js +0 -1
  547. package/dist/components/Table/TableContext.js +0 -1
  548. package/dist/components/TextField/TextField.module.css.js +0 -1
  549. package/dist/components/TextareaField/TextareaField.module.css.js +0 -1
  550. package/dist/components/VirtualList/VirtualListInner.js +0 -1
  551. package/dist/components/VirtualList/VirtualListItemCell.js +0 -1
  552. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +0 -1
  553. package/dist/utils/controlTrack.module.css.js +0 -1
@@ -1,8 +1,8 @@
1
- # Компоненты altum-ui
1
+ # Компоненты altum
2
2
 
3
3
  Краткий справочник публичного API. Установка и точки входа — [README](../README.md). Токены — [THEMING.md](./THEMING.md). Раскладка — [LAYOUT.md](./LAYOUT.md). Иконки — [ICONS.md](./ICONS.md).
4
4
 
5
- **Button / Link `asChild`:** единственный потомок получает стили и обработчики через Slot.
5
+ **Link:** единственный элемент-потомок получает стили через Slot (роутерный `Link`). Смена HTML-тега у кнопок — `as` (`button` | `a`). **`Dropdown`** / **`Popover`**: якорь — `renderTrigger(props, ref)`; **`Tooltip`**: элемент-child или render-prop. Без пропа `asChild`.
6
6
 
7
7
  Оверлеи: кнопки — в `Modal.Footer` / `Modal.FormFooter` / `Sheet.Footer`, sibling к `Body`, не внутри скролла.
8
8
 
@@ -12,16 +12,13 @@
12
12
 
13
13
  | Компонент | Описание |
14
14
  |-----------|----------|
15
- | **ButtonBase** | Примитив кнопки: `variant` (`primary` / `tinted` / `secondary` / `ghost` / `link`) × `status` (`default` / `danger`), `size`, опциональный `active`. |
16
- | **Button** | Кнопка на **ButtonBase**: иконки, `loading`, `fullWidth`, `shortcut`. |
17
- | **ButtonIcon** | Иконка-кнопка на **ButtonBase**; `circle` / `square`; по умолчанию `variant="ghost"`. |
18
- | **ButtonGroup** | Составная группа (`ButtonGroup` + `ButtonGroup.Item`): высота = `--altum-control-height-*`; `width` `auto` \| `full` (full — колонка формы); `variant` / `status` / `size` / `borderless` на Root; переключение через `active` на Item; циклический клавиатурный фокус. |
19
- | **SegmentedControl** | Переключатель сегментов (на **SelectionGroup**): `itemFit` `equal` \| `content`; варианты `primary` / `tinted` / `secondary` / `ghost` / `plain`. |
20
- | **SelectionGroup** | Составной (`Root` / `List` / `Item` / `Panel`): взаимоисключающий выбор + циклический клавиатурный фокус; `value` / `onChange`. База для SegmentedControl и Tabs. |
21
- | **OverflowActions** | Составной: видимые действия + лишние в `Dropdown` (⋯). `visibleCount`, `display` (`icon` \| `icon-label`), `showOverflowTrigger`, `Item`. |
22
- | **ActionList** | Клавиатурный список действий на **Listbox** + **SearchField**: группы, сочетание клавиш, `onAction`. |
23
- | **OverflowGroup** | Лишние потомки по ширине уходят за ⋯ в `Dropdown`. `fit` `content` \| `container`, `gap`, `size`, `maxVisible`. |
24
- | **ActionSheetTrigger** | Долгое нажатие → OverflowActions; `showOverflowTrigger` (по умолчанию `false`) — на touch+mobile ⋯ скрыт; пульс при срабатывании. |
15
+ | **Button** | Кнопка: `variant` (`primary` / `tinted` / `secondary` / `ghost` / `link`) × `status` (`default` / `danger`), иконки, `loading`, `fullWidth`, `shortcut`. |
16
+ | **ButtonIcon** | Иконка-кнопка; `circle` / `square`; по умолчанию `variant="ghost"`. |
17
+ | **ButtonGroup** | Составная группа (`ButtonGroup` + `ButtonGroup.Item`): `mode` `button` (независимые, выбранность через `active` на Item) / `toggle` (один выбранный, слайдер) / `multi_toggle` (несколько); `itemFit` `equal` \| `content`; `width` `auto` \| `full`; `variant` / `status` / `size` / `borderless` на Root. |
18
+ | **SegmentedControl** | Обёртка над `ButtonGroup` (`mode="toggle"`, `width="full"`): `options` + `value` / `onChange`; `itemFit` `equal` \| `content`; варианты `primary` / `tinted` / `secondary` (по умолчанию) / `ghost` / `plain`. |
19
+ | **Overflow** | Лишние пункты за ⋯ в `Dropdown`. `Overflow.Item` — панель действий; прочие дети — измерение ширины. `longPress` открывает меню долгим нажатием (хост — **`ActionSheetTrigger`**). |
20
+ | **ActionList** | Список действий: `items` / `groups` (`groupId`), `filterable`, `onAction`. |
21
+ | **ActionSheetTrigger** | Хост long-press → `Overflow` на тач-экранах; опциональная кнопка ⋯ на десктопе (`showOverflowTrigger`). |
25
22
 
26
23
  ---
27
24
 
@@ -29,8 +26,7 @@
29
26
 
30
27
  | Компонент | Описание |
31
28
  |-----------|----------|
32
- | **FieldBase** | Составная оболочка полей: `Root` / `Label` / `Prefix` / `Control` / `Postfix` / `Button` / `Icon` / `Clear` / `Helper` / `Error`. `Clear` рендерится внутри `Postfix`. |
33
- | **TextField** | Однострочное поле на **FieldBase**. |
29
+ | **TextField** | Однострочное поле. `keepPlaceholder` — не скрывать placeholder при фокусе пустого поля. |
34
30
  | **PasswordField** | Пароль на базе TextField: показать/скрыть, опциональный индикатор сложности. |
35
31
  | **SearchField** | Обёртка над `TextField` с `labelPlacement="none"` по умолчанию и иконкой поиска (`onClear` от TextField). |
36
32
  | **TextareaField** | Многострочное поле на **FieldBase**; авто-рост высоты. |
@@ -38,25 +34,23 @@
38
34
  | **MaskedField** | Поле с маской ввода (телефон, дата и т.п.) на базе `TextField`; опционально `maskAsPlaceholder`. Не переопределяйте `padding` / `font-size` на inner `input`. |
39
35
  | **PinInput** | PIN / OTP (2FA, код из SMS). |
40
36
  | **Rating** | Оценка звёздами. |
41
- | **FormMessage** / **FieldError** | Подсказка / ошибка / успех под полем; `variant`; `FieldError` = `variant="error"`. |
42
- | **Listbox** | Список опций с клавиатурой и группами; база для Select / CustomSelect / SuggestField / ActionList. |
43
- | **CustomSelect** | Составной примитив select/combobox (`Root` / `Filter` / `List` / `Shell`): Dropdown + Listbox; `groups` + `groupId`; `selectionMode`: `single` \| `multiple` \| `path`; `value` / `onChange`. |
44
- | **Select** | Составной select на CustomSelect: `Root` / `Trigger` / `Panel` / `Filter` / `List`; `value` / `onChange`; множественный выбор — `Chips` / `Chip`. |
37
+ | **FormMessage** | Подсказка / ошибка / успех под полем; `variant` `hint` / `error` / `success`. |
38
+ | **Select** | Поле выбора: `options`, `value` / `onChange`, `label`, `filterable`; `selectionMode="multiple"` рисует chips. |
45
39
  | **SuggestField** | Автодополнение на TextField; chrome от **`FieldBaseProps`** (`label`, `onClear`, `prefix`, …). |
46
- | **Checkbox** | `size`, `labelSide`, `indeterminate`, `mode` (`default` \| `task`), `align` (`start` \| `center`; для task по умолчанию `start`), `labelVisibility` (`visible` \| `hidden` + обязательный `aria-label` / `aria-labelledby`). |
47
- | **Switch** | `size`, `labelSide`. |
40
+ | **Checkbox** | `size`, `labelSide`, `indeterminate`, `mode` (`default` \| `task`), `align`, `labelVisibility`, `onCheckedChange(checked)` (native `onChange` сохраняется). |
41
+ | **Switch** | `size`, `labelSide`; `onChange(checked)` и алиас `onCheckedChange`. |
48
42
  | **CheckboxGroup** | Группа чекбоксов с управляемым `value: string[]`. |
49
- | **Radio** / **RadioGroup** | Радиокнопка и группа взаимоисключающих опций. |
43
+ | **Radio** / **RadioGroup** | Радиокнопка и группа; `labelSide`, `onCheckedChange` на `Radio`. |
44
+ | **SelectionGroup** | Без собственного chrome: составной `Root` / `List` / `Item` / `Panel` (roving focus). На нём собраны **Tabs** и **ColorSwatchGroup**. Внешний вид — через `className`. |
50
45
  | **Slider** | Ползунок: `value: number` или диапазон `value: [from, to]` (два thumb). |
51
- | **DatePicker** | Выбор даты: MaskedField + календарь; по умолчанию prefix — `FieldBase.Icon` + календарь; chrome от **`FieldBaseProps`**. |
52
- | **DateRangePicker** | Диапазон дат (`value`/`onChange` как `{ start?, end? }` / `DateRangeValue`); `layout` `single` / `split`. |
53
- | **TimePicker** / **TimePickerField** | Панель времени + поле с маской `HH:MM`; по умолчанию prefix — `FieldBase.Icon` + часы. |
54
- | **Calendar** | Составной: `Provider` / `Root` / `Header` / `Title` / `Nav` / `Body`. `selectionMode` `single` \| `range` на Provider. Контекст: `view` / `setView` (`CalendarViewMode`). |
55
- | **DayStripCalendar** | Горизонтальная полоса дней (недельный chrome): `daysCount`, предыдущий/следующий, `value` / `onChange`, `renderDay`. |
46
+ | **DatePicker** | Выбор даты: MaskedField + календарь; по умолчанию prefix — `FieldBaseIcon` + календарь; chrome от **`FieldBaseProps`**. |
47
+ | **DateRangePicker** | Диапазон дат (`value`/`onChange` как `{ start?, end? }`); chrome от **`FieldBaseProps`**; `layout` `single` / `split`. |
48
+ | **TimePicker** | Поле времени с маской `HH:MM` и выпадающей панелью; по умолчанию prefix — иконка часов. |
49
+ | **Calendar** | Составной: `Provider` / `Root` / `Header` / `Title` / `Nav` / `Body`. `selectionMode` `single` \| `range` на Provider. `value` — `Date` или `DateRangeValue`. |
50
+ | **DayStripCalendar** | Горизонтальная полоса дней: `daysCount`, prev/next выбирают соседний день, `value` / `onChange`, `renderDay`. |
56
51
  | **ColorSwatchGroup** | Выбор цвета из набора цветных точек. |
57
52
  | **UploadZone** | Зона перетаскивания файлов для загрузки. |
58
- | **Fieldset** | Составной: `Inner` / `Legend` / `Description` / `Hint` / `Content` / `Footer`; варианты `default` / `card` / `plain`. |
59
- | **FieldLabel** | Лейбл + контент: `layout` vertical / horizontal; `align` start / center / baseline; `justify` start / between. |
53
+ | **Fieldset** | Группа полей: `legend` / `description` / `hint` / `footer` / `gap`; содержимое — `children`. Варианты `default` / `card` / `plain`. |
60
54
 
61
55
  ---
62
56
 
@@ -64,18 +58,15 @@
64
58
 
65
59
  | Компонент | Описание |
66
60
  |-----------|----------|
67
- | **Overlay** | Примитив позиционирования без chrome: `variant` `modal` / `floating` / `sheet` / `popover` / `dropdown`. Видимость: `open` / `onOpenChange` / `onClose`. Портал + появление/скрытие; z-index / offset — `purpose` (см. [THEMING.md](./THEMING.md)). |
68
- | **Backdrop** | Затемнение под оверлеем: `variant` `default` / `strong`, `blur`, клик закрывает слой. |
69
- | **Modal** | Составной на **`Overlay`** (`variant="modal"`): `Header` / `Title` / `Close` / `Body` / `Footer` / **`FormFooter`**. |
70
- | **ConfirmDialog** | Готовый диалог на **`Modal`**: отмена + подтверждение, `confirmLabel`, `secondaryAction`, `status="danger"`, `onClose`. |
71
- | **Sheet** | Панель на **`Overlay`** (`variant="sheet"`): `Header` / `Title` / `Close` / `Body` / `Footer`; `mode` / `direction` / `backdrop` / `showHandle`. |
72
- | **ImageLightbox** | Полноэкранный просмотр на **`Overlay`** (`variant="modal"`, `purpose="lightbox"`, сильный Backdrop); внутри `ImageGallery`. |
73
- | **Dropdown** | Выпадающая панель на **`Overlay`** (`variant="dropdown"`). Составной: `Dropdown` + `Dropdown.Trigger` + `Dropdown.Content`. Trigger без лишней DOM-обёртки (`asChild` / render-prop). На мобильных — нижний Sheet. |
74
- | **DropdownMenu** | Готовое меню по клику: Dropdown (`menu`) + ActionList. |
75
- | **ContextMenu** | Контекстное меню по правому клику (ActionList у курсора). |
76
- | **Tooltip** | Подсказка на **`Overlay`** (`variant="popover"`, `triggerMode="hover"`); триггер через `renderChildren` (`asChild` / render-prop); `openDelay` / `closeDelay`, wrap, arrow. Мьютекс наведения: не больше одной подсказки одновременно при быстром переходе между триггерами. |
77
- | **Popover** | Плавающий слой на **`Overlay`** (`variant="popover"`). Составной: `Trigger` (`asChild` / render-prop) + `Content` (`panel`/`tooltip`/`plain`, `arrow`); `trigger` click/hover/manual. |
78
- | **CommandPalette** | Палитра Cmd+K: явный `ActionList` в `List` (без автосбора команд). |
61
+ | **Modal** | Составной диалог: `Header` / `Title` / `Close` / `Body` / `Footer` / **`FormFooter`**. `open` / `onOpenChange`. |
62
+ | **ConfirmDialog** | Готовый диалог на **`Modal`**: отмена + подтверждение, `confirmLabel`, `secondaryAction`, `status="danger"`, `onOpenChange`. |
63
+ | **Sheet** | Панель: `Header` / `Title` / `Close` / `Body` / `Footer`; `mode` / `direction` / `backdrop` / `showHandle`. `open` / `onOpenChange`. |
64
+ | **ImageLightbox** | Полноэкранный просмотр; `open` / `onOpenChange`. |
65
+ | **Dropdown** | Выпадающая панель. Якорь — `renderTrigger(props, ref)`; содержимое — `children`. `align` `start` \| `center` \| `end` \| `auto` (`left`/`right` — алиасы). `triggerMode` `toggle` \| `combobox`. `open` / `onOpenChange`. На мобильных — нижний Sheet. |
66
+ | **Menu** | Меню действий: клик по `trigger` (Dropdown + ActionList) или `trigger="context"` (ПКМ / Shift+F10 у курсора). |
67
+ | **Tooltip** | Подсказка при наведении / фокусе; триггер — элемент-child или render-prop; `side` (алиас `position`), `openDelay` / `closeDelay`, wrap, arrow. |
68
+ | **Popover** | Плавающий слой. Якорь — `renderTrigger`; содержимое — `children`. `trigger` click/hover/manual; `variant` panel/plain, `side` / `align` / delays, стрелка `arrow`. Подсказки — **Tooltip**. |
69
+ | **CommandPalette** | Палитра Cmd+K: `items` / `groups`, фильтр — **`ActionList`** с `filterable`. |
79
70
 
80
71
  ---
81
72
 
@@ -83,10 +74,10 @@
83
74
 
84
75
  | Компонент | Описание |
85
76
  |-----------|----------|
86
- | **Pagination** | Составной: `Summary` («N–M из K»), `Controls`, `PageSize`; многоточие при многих страницах. |
77
+ | **Pagination** | Постраничная навигация. Без `children` — `Controls`; опционально `totalItems` / `pageSize` / `onPageSizeChange`. Составной: `Summary`, `Controls`, `PageSize`. |
87
78
  | **Sidebar** | Составной: `Root`, `Header`, `Title`, `Collapse`, `Content`, `Group`, `GroupLabel`, `Item`, `Footer`, `MobileTrigger`; `value` / `onChange`; десктопный rail + мобильный Sheet. |
88
79
  | **Steps** | Мастер: горизонтальный/вертикальный, статус шага, `onStepClick`. |
89
- | **Tabs** | Составные вкладки: `Tabs.List` / `Tabs.Trigger` / `Tabs.Panel`; `value` / `defaultValue` / `onChange`; `line` / `pill`, горизонтальные/вертикальные и бейдж на Trigger. |
80
+ | **Tabs** | Составные вкладки: `Tabs.List` / `Tabs.Trigger` / `Tabs.Panel`; `value` / `defaultValue` / `onChange` (без `defaultValue` вкладка не выбирается сама); `line` / `pill`, горизонтальные/вертикальные и бейдж на Trigger. |
90
81
 
91
82
  ---
92
83
 
@@ -94,13 +85,13 @@
94
85
 
95
86
  | Компонент | Описание |
96
87
  |-----------|----------|
97
- | **Table** | Составной: `Root` / `Toolbar` / `Content` / `Loading` / `Empty` / `Footer` / `RowActions`. `Content` содержит сортировку (клиент/сервер), выбор строк, раскрытие, липкие колонки, `density`, resize и действия строки; loading, empty и пагинация собираются sibling-слотами. |
98
- | **Timeline** | Вертикальный/горизонтальный, сворачиваемые подробности, `currentId`. |
99
- | **Card** | `variant` outlined/elevated/ghost; составной `Header` / `Media` / `Body` / `Actions`; `loading`. |
100
- | **Accordion** | Составной: `Item` / `Trigger` / `Content`; `bordered` (зазор + Box) / `flush` (разделители); `multiple`, отключённый пункт. |
101
- | **Badge** | `size` sm/md, `position` overlay/standalone, `variant` включая `error`; overlay — `--altum-badge-overhang`. Числовой `label` / `BadgeCounter` ограничивается через `max`; `children` — якорь overlay. |
88
+ | **Table** | Один компонент: `columns` / `data` / `rowKey`, плюс `toolbar`, `loading`, `empty` (`title` / `description` / `action`) и `footer` (пагинация). Сортировка (клиент/сервер), выбор строк, раскрытие, липкие колонки, `density`, resize и `rowActions` (`ActionListItem[]`). |
89
+ | **Timeline** | Вертикальный/горизонтальный, сворачиваемые подробности (`<details>`), `currentId`. |
90
+ | **Card** | `variant` outlined/elevated/ghost; радиус по умолчанию `lg`; `header` / `media` / `actions` (ReactNode), `children` — body; `loading`. |
91
+ | **Accordion** | `Accordion.Item` с `title` и содержимым в `children`; `flush` (по умолчанию) / `bordered`; `multiple`, отключённый пункт. |
92
+ | **Badge** | `size` sm/md, `position` overlay/standalone, `variant` включая `error`; overlay — `--altum-badge-overhang`. Числовой `label` ограничивается через `max`; `children` — якорь overlay. |
102
93
  | **Avatar** / **AvatarGroup** | Размеры `xs`…`xl`, кольцо статуса, запасная иконка; группа с наложением. |
103
- | **Chip** | Тег / фильтр: `mode` `chip` \| `tag`, `size`, `active`, `onRemove` / `onClick`. **`ChipGroup`**: `layout` `wrap` \| `scrollX`. |
94
+ | **Chip** | Тег / фильтр: `mode` `chip` \| `tag` \| `toggle` (`as` — deprecated-алиас), `size`, `onRemove` / `onClick`. **`ChipGroup`**: `mode` `chip` \| `tag`, `layout` `wrap` \| `scrollX`. |
104
95
  | **StatBadge** | Компактный блок статистики: число + подпись; `variant` `default` / `success` / `warning` / `error`; `size` `md` / `sm`. |
105
96
  | **EmptyState** | Пустое состояние: иконка (`--altum-color-empty-icon`), заголовок, описание, действие; `size` для вложенных панелей. |
106
97
  | **DescriptionList** | Список «ключ — значение» (`stacked` / `inline`, колонки). |
@@ -115,9 +106,9 @@
115
106
 
116
107
  | Компонент | Описание |
117
108
  |-----------|----------|
118
- | **Title** | Заголовки уровней `h1`–`h4`; цвет `--altum-color-type` (адаптация в `Box`). |
109
+ | **Title** | Заголовки уровней `h1`–`h4`; цвет `--altum-color-type`. |
119
110
  | **Text** | Текстовый примитив (`--altum-type-*`). Дефолт `as="span"` (inline); для блочного copy — `as="p"` / `as="div"`, иначе соседние `Text` склеятся в одну строку. |
120
- | **Link** | Ссылка: `variant` `primary`\|`secondary`\|`muted`, `status` `danger`, `size` `xs`–`xl` (или inherit), `--altum-color-link-*`. |
111
+ | **Link** | Ссылка: `variant` `primary`\|`secondary`\|`muted`, `status` `danger`, `size` `xs`–`xl` (или inherit), `--altum-color-link-*`. Единственный элемент-child — Slot (роутерный Link). |
121
112
  | **Kbd** / **KbdGroup** | Отображение клавиш и сочетаний клавиатуры. |
122
113
 
123
114
  ---
@@ -126,17 +117,17 @@
126
117
 
127
118
  | Компонент | Описание |
128
119
  |-----------|----------|
129
- | **Layout** | Панель: скролл на корне; `Header` / `Footer` sticky; алиасы `Stack` / `Inline` / `Split` / `ControlRow` / `Item` / `Grid`. |
120
+ | **Layout** | Панель: скролл на корне; `Header` / `Footer` sticky; алиасы `Inline` / `Split` / `ControlRow` / `Item`. |
130
121
  | **Stack** / **Inline** / **Split** / **ControlRow** / **LayoutItem** | Flex-примитивы (вертикаль / чипы / края / ряд контролов / `grow`). |
131
122
  | **Grid** / **GridItem** | CSS Grid; `GRID_BREAKPOINTS`. |
132
123
  | **Container** / **Page** | Колонка с max-width (`sm`…`xl` / `full`) и оболочка страницы. |
133
- | **Box** | Поверхность (`outlined` / `elevated` / `floating` / `tinted` / `secondary` / `muted` / `glass` / `overlay` / `ghost` / `plain`). |
134
- | **Collapse** | Плавное сворачивание по высоте. |
135
- | **Separator** (`Spacer`) | Разделитель: `orientation` horizontal \| vertical, текст (`children`), отступы `start` / `end`. |
136
- | **Item** | Составная строка: `Media` / `Content` / `Title` / `Description` / `Actions`; поверхность — `Box`. |
124
+ | **Box** | Поверхность (`outlined` / `elevated` / `floating` / `tinted` / `secondary` / `muted` / `glass` / `overlay` / `ghost` / `plain`). Красит только себя; потомки остаются на глобальных токенах. |
125
+ | **Collapse** | Плавное сворачивание по высоте (CSS `grid-template-rows`). |
126
+ | **Separator** | Разделитель: `orientation` horizontal \| vertical, текст (`children`), отступы `start` / `end`. |
127
+ | **Item** | Строка: `media` / `mediaVariant`, `title`, `description`, `actions`; поверхность — `Box`. |
137
128
  | **AspectRatio** | Обёртка с `aspect-ratio` (16:9 / 1:1). |
138
- | **Media** | img/video-превью на базе **AspectRatio**. |
139
- | **ScrollArea** | Стилизованный скролл (`orientation` y/x/both). |
129
+ | **Media** | img/video-превью с `aspect-ratio`. |
130
+ | **ScrollArea** | Стилизованный скролл (`orientation` y/x/both); `maxHeight` / `maxWidth` без дефолта. |
140
131
 
141
132
  ---
142
133
 
@@ -144,10 +135,10 @@
144
135
 
145
136
  | Компонент | Описание |
146
137
  |-----------|----------|
147
- | **ImageGallery** | Составная галерея: `Root` + `Viewport` / `Image` / `Prev` / `Next` / `Thumbnails` / `Thumb` / `Counter` / `Empty`. |
138
+ | **ImageGallery** | Галерея: `images`, chrome `default` \| `none`, `showNav` / `showThumbnails` / `showCounter`. |
148
139
  | **ImageCrop** | Обрезка изображения. |
149
- | **FileList** | Список загрузок на **`Attachment`**: progress / retry / remove через `FileList.Item`. |
150
- | **Attachment** | Карточка файла/изображения (compound `Media` / `Content` / `Title` / `Description` / `Actions`). |
140
+ | **FileList** | Список загрузок на **`Item`**: progress / retry / remove через `FileList.Item`. |
141
+ | **Attachment** | Карточка файла: `Item` + статус загрузки (`idle` / `uploading` / `error` / `done`). Действия в слоте — **`ButtonIcon`**. |
151
142
 
152
143
  ---
153
144
 
@@ -166,7 +157,7 @@
166
157
  | Компонент | Описание |
167
158
  |-----------|----------|
168
159
  | **Bubble** | Пузырь сообщения: `variant` default/outgoing/incoming/system, `align`, `group`, `reactions`, `collapsible`. |
169
- | **Marker** | Системная заметка / status / bordered row / labeled separator (`Marker.Icon` + `Marker.Content`). |
160
+ | **Marker** | Системная заметка / status / bordered row / labeled separator; `icon`, `shimmer`, `children`. |
170
161
 
171
162
  ---
172
163
 
@@ -176,7 +167,6 @@
176
167
  |-----------|----------|
177
168
  | **SafeArea** | Отступы под notch / home-indicator (`env(safe-area-inset-*)`). |
178
169
  | **PullToRefresh** | Жест «потянуть, чтобы обновить» для контейнера с прокруткой. |
179
- | **GrabHandle** | Ручка захвата в стиле iOS. |
180
170
  | **SwipeToAction** | Сенсорная обёртка: свайп раскрывает действия (iOS). |
181
171
 
182
172
  ---
@@ -186,10 +176,10 @@
186
176
  | Компонент | Описание |
187
177
  |-----------|----------|
188
178
  | **Spinner** | Индикатор загрузки: `spin` \| `dots` \| `pulse` \| `typing`; размеры `sm` \| `md` \| `lg`. |
189
- | **Skeleton** | Плейсхолдер + пресеты `.Text` / `.Avatar` / `.Card` / `.Table`. |
179
+ | **Skeleton** | Плейсхолдер; `variant` `block` / `text` / `avatar` / `card` / `table`. |
190
180
  | **Progress** / **ProgressCircle** | `size`, `variant` (auto → success при 100%), `showValueText`, indeterminate, labels; у круга `diameter` перекрывает токен размера. |
191
- | **Alert** | Составной: `Icon`, `Body` (`Title`, `Content`, `Actions`), `Close`; `variant`, `size`, `layout` block/inline. |
192
- | **Notification** | Составной тост: `Provider`, `Viewport`, `Root`, `Title`, `Description`, `Actions`, `Close`. `variant` `info` / `success` / `warning` / `error`. Императивно: `NotificationProvider` + `notify()`. |
181
+ | **Alert** | `title`, `icon` (`null` скрывает), `actions`, `onClose`; `children` — текст; `variant`, `size`, `layout` block/inline. |
182
+ | **Notification** | Карточка: `title`, `description`, `actions`. Императивно: `NotificationProvider` + `notify()`. Декларативно: `Notification.Viewport`. |
193
183
 
194
184
  ---
195
185
 
@@ -202,6 +192,5 @@
202
192
  | **useLocale** / **useT** | Хук `{ locale, messages, t }` / только `t`. |
203
193
  | **ru** / **en** | Встроенные словари. |
204
194
  | **useTheme** | Хук `{ theme, setTheme, toggleTheme }` внутри `ThemeProvider`. |
205
- | **FocusTrap** | Ловушка фокуса для доступности в модальных окнах. |
206
195
  | **VisuallyHidden** | Контент только для скринридеров (скрыт визуально). |
207
196
  | **SkipLink** | «Перейти к содержимому» (виден при фокусе). |
package/docs/ICONS.md CHANGED
@@ -1,15 +1,15 @@
1
- # Иконки в altum-ui
1
+ # Иконки в altum
2
2
 
3
3
  Компоненты принимают иконку как `ReactNode` — свой SVG или элемент из набора библиотеки.
4
4
 
5
5
  ```tsx
6
- import {ButtonIcon} from 'altum-ui';
7
- import {IconSearch} from 'altum-ui/icons';
6
+ import {ButtonIcon} from 'altum';
7
+ import {IconSearch} from 'altum/icons';
8
8
 
9
9
  <ButtonIcon aria-label="Поиск" icon={<IconSearch />} />
10
10
  ```
11
11
 
12
- Набор **не** входит в главный barrel — только `altum-ui/icons`. Просмотр: Storybook → **Icons**.
12
+ Набор **не** входит в главный barrel — только `altum/icons`. Просмотр: Storybook → **Icons**. Каталог собран через `createIcon` (`IconProps` тот же: `size`, `color`).
13
13
 
14
14
  ### Контракт для кастомных SVG
15
15
 
@@ -18,5 +18,6 @@ import {IconSearch} from 'altum-ui/icons';
18
18
  | Размер | `width` / `height` или проп `size` (16–24 px для кнопок) |
19
19
  | Цвет | `fill="currentColor"` |
20
20
  | Доступность | На `ButtonIcon` всегда `aria-label` |
21
+ | Sidebar | Тот же набор, один вес; не emoji и не цветные «игрушки» |
21
22
 
22
- Продуктовые иконки лучше держать в приложении — так не раздувается бандл, если набор `altum-ui/icons` не нужен целиком.
23
+ Продуктовые иконки лучше держать в приложении — так не раздувается бандл, если набор `altum/icons` не нужен целиком.
package/docs/LAYOUT.md CHANGED
@@ -1,4 +1,4 @@
1
- # Layout-компоненты altum-ui
1
+ # Layout-компоненты altum
2
2
 
3
3
  Гайд: **что выбрать** и **зачем**, для панели `Layout` и flex-примитивов (`Stack`, `Inline`, `Split`, `ControlRow`, `LayoutItem`).
4
4
 
@@ -16,7 +16,7 @@ import {
16
16
  Grid,
17
17
  Container,
18
18
  Page,
19
- } from 'altum-ui';
19
+ } from 'altum';
20
20
  ```
21
21
 
22
22
  Связанные: **FieldBase** — см. [COMPONENTS.md](./COMPONENTS.md).
@@ -33,7 +33,7 @@ import {
33
33
  | Слева заголовок, справа действия | **Split** |
34
34
  | Поля + Chip + Button в одной строке фильтров | **ControlRow** |
35
35
  | Одному ребёнку — `flex: 1` или «не сжимать» | **LayoutItem** (`ControlRow.Item` / `Layout.Item`) |
36
- | Колонки сетки | **Grid** / `Layout.Grid` |
36
+ | Колонки сетки | **Grid** |
37
37
  | Оболочка input (label / prefix / clear) | **FieldBase** |
38
38
 
39
39
  ---
@@ -102,7 +102,7 @@ import {
102
102
 
103
103
  ### Namespace
104
104
 
105
- На `Layout` также висят алиасы: `Layout.Stack`, `.Inline`, `.Split`, `.ControlRow`, `.Item`, `.Grid`, `.GridItem`.
105
+ На `Layout` также висят алиасы: `Layout.Inline`, `.Split`, `.ControlRow`, `.Item`.
106
106
 
107
107
  В приложении предпочтительны **именованные импорты**; `Layout.*` удобен, когда вы уже внутри панели.
108
108
 
@@ -262,7 +262,7 @@ Flex-ячейка внутри Stack / Inline / Split / ControlRow.
262
262
  <SearchField label="Поиск" width="full" />
263
263
  </ControlRow.Item>
264
264
  <Inline gap="sm">
265
- <Chip active>Все</Chip>
265
+ <Chip mode="toggle">Все</Chip>
266
266
  <Chip>Активные</Chip>
267
267
  </Inline>
268
268
  </ControlRow>
package/docs/THEMING.md CHANGED
@@ -1,6 +1,6 @@
1
- # Темизация altum-ui
1
+ # Темизация altum
2
2
 
3
- altum-ui использует **CSS custom properties** для всех дизайн-токенов. Компоненты ссылаются на переменные вроде `var(--altum-color-brand)` и `var(--altum-color-field-border)` — цвета темы никогда не хардкодятся.
3
+ altum использует **CSS custom properties** для всех дизайн-токенов. Компоненты ссылаются на переменные вроде `var(--altum-color-brand)` и `var(--altum-color-field-border)` — цвета темы никогда не хардкодятся.
4
4
 
5
5
  ## Быстрый старт
6
6
 
@@ -63,12 +63,13 @@ return (
63
63
  | `--altum-g-radius-md` | Алиас `--altum-g-radius` |
64
64
  | `--altum-g-radius-lg` | Большой радиус (12px) |
65
65
  | `--altum-g-radius-pill` | Радиус «пилюли» / тега (9999px) |
66
- | `--altum-transition-smooth` | Стандартный переход (`all 0.2s` spring) |
66
+ | `--altum-transition-smooth` | Стандартный переход (`color/background/border/shadow/opacity` 0.16s spring) |
67
67
  | `--altum-motion-overlay` | Длительность появления/скрытия оверлея (0.2s) |
68
68
  | `--altum-control-height-xs` / `sm` / `md` / `lg` | 28 / 32 / 44 / 52 — лестница высот; публичный `size` контролов — **`sm` \| `md` \| `lg`** (токен `xs` только для раскладки / легаси) |
69
69
  | `--altum-control-inset` | 2px — внутренний отступ трека SegmentedControl |
70
70
  | `--altum-control-icon-size-sm` / `md` / `lg` | 14 / 18 / 22 — аффиксы полей + иконки ButtonGroup |
71
71
  | `--altum-field-pad-top-*` / `--altum-field-pad-bottom-*` | Оптические отступы плавающего лейбла (sm…lg) |
72
+ | `--altum-field-width-default` | Макс. ширина поля при `width="md"` (320px) |
72
73
  | `--altum-badge-size-sm` / `md` / `--altum-badge-font-size` / `--altum-badge-font-size-sm` | Компактный chrome счётчика (Badge / Tabs); sm-кегль для числового standalone |
73
74
  | `--altum-g-space-1` … `--altum-g-space-9` | Шкала отступов (4px … 36px) |
74
75
  | `--altum-shadow-sm` / `--altum-shadow-md` / `--altum-shadow-lg` | Лестница теней (алиасы `--altum-shadow-surface` / `--altum-shadow-dropdown` / deep) |
@@ -90,8 +91,6 @@ return (
90
91
  | `--altum-g-font-size-3xl` | 24px | Display (`Title` h2) |
91
92
  | `--altum-g-font-size-4xl` | 32px | Display (`Title` h1) |
92
93
  | `--altum-g-font-weight-normal` … `--altum-g-font-weight-bold` | 400–700 | Начертания |
93
- | `--altum-g-line-height-snug` / `--altum-g-line-height-relaxed` | → xs / base | Алиасы |
94
-
95
94
  В компонентах: `font-size: var(--altum-g-font-size-sm); line-height: var(--altum-g-line-height-sm);`.
96
95
 
97
96
  ### Диалог / список / опция
@@ -123,14 +122,14 @@ return (
123
122
  | `--altum-toggle-task-check-height` | 7px | Высота галочки в режиме task |
124
123
  | `--altum-toggle-radio-dot*` | sm/md/lg | Размер внутренней точки Radio |
125
124
  | `--altum-toggle-align-nudge` | `0.15em` | Оптическое выравнивание бокса тоггла относительно лейбла |
126
- | `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер SVG-звезды Rating |
125
+ | `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер звезды Rating |
127
126
  | `--altum-command-palette-max-width` / `height` | 560 / 520 | Ограничение панели CommandPalette |
128
127
  | `--altum-button-group-item-min-sm` / `md` / `lg` | space-6 / 7 / 8 | Мин. ширина ButtonGroup.Item |
129
128
  | `--altum-focus-ring-width` | 2px | Толщина outline-фокуса (навигация / тогглы / выбор) |
130
- | `--altum-focus-ring-offset` | 1px | Смещение outline-фокуса (согласовано с кольцом кнопки) |
131
- | `--altum-focus-ring-color` | → `--altum-color-input-border-focus` | Общий цвет outline-фокуса |
132
- | `--altum-button-focus-inner` / `--altum-button-focus-outer` | 1px / 3px | Ширины двойного кольца кнопки (алиасы `--altum-color-button-focus-*`) |
133
- | `--altum-opacity-disabled` | 0.5 | Отключённые контролы |
129
+ | `--altum-focus-ring-offset` | light 1px / dark 2px | Смещение outline-фокуса (согласовано с зазором кольца кнопки) |
130
+ | `--altum-focus-ring-color` | light → `--altum-color-input-border-focus`; dark `rgba(248,250,252,0.55)` | Общий цвет outline-фокуса (в dark — светлая hairline, не заливка CTA) |
131
+ | `--altum-button-focus-inner` / `--altum-button-focus-outer` | light 1px / 3px; dark 2px / 4px | Ширины двойного кольца кнопки |
132
+ | `--altum-opacity-disabled` | 0.5 | Отключённые контролы; **Button** — та же заливка × opacity |
134
133
  | `--altum-field-disabled-opacity` | 0.8 | Chrome отключённого поля (текст остаётся читаемым) |
135
134
  | `--altum-field-label-gap` / `--altum-field-message-gap` | `--altum-g-space-1` | Зазор внешнего лейбла / helper+ошибка |
136
135
  | `--altum-form-helper-indent` | `--altum-g-space-1` | Левый отступ helper / ошибки |
@@ -138,9 +137,15 @@ return (
138
137
  | `--altum-switch-track-width/height/thumb-size-*` | sm/md/lg | Геометрия Switch (из toggle-box + inset) |
139
138
  | `--altum-switch-track-off` | смесь ink на ctrl-bg | Заливка трека выключенного Switch |
140
139
  | `--altum-overlay-close-size` | 28px | Хит-зона закрытия Overlay / Alert / Notification |
141
- | `--altum-overlay-close-fg` / `--altum-overlay-close-bg` / `--altum-overlay-close-bg-hover` | тема | `ButtonIcon` `diskClose` idle/hover (Modal / Sheet) |
140
+ | `--altum-overlay-close-icon-size` | 16px | Кегль × в overlay-close |
141
+ | `--altum-overlay-close-fg` / `--altum-overlay-close-fg-hover` / `--altum-overlay-close-bg` / `--altum-overlay-close-bg-hover` | тема | Голый крестик overlay (Modal / Sheet, `ButtonIcon` `diskClose`); chrome только на hover |
142
142
  | `--altum-overlay-arrow-size` | 8px | Стрелка Popover / tooltip |
143
143
  | `--altum-badge-overhang` | `space-1` + `control-inset` (6px) | Запас раскладки + смещение overlay-бейджа |
144
+ | `--altum-badge-digit-nudge` | `0.5px` | Сдвиг цифры в круглом **Badge** вниз (оптический центр) |
145
+ | `--altum-slider-track-height` | `3px` | Высота трека **Slider** |
146
+ | `--altum-slider-thumb-size` | `12px` | Диаметр заполненного thumb **Slider** |
147
+ | `--altum-slider-track` | `12%` ink | Idle-заливка трека **Slider** |
148
+ | `--altum-pagination-active-bar` | `2px` | Нижняя полоса активной страницы **Pagination** |
144
149
 
145
150
  ### Статусы (`--altum-color-status-*`)
146
151
 
@@ -161,6 +166,7 @@ return (
161
166
  | `--altum-overlay-scrim-strong` | Затемнение ImageLightbox (`Backdrop variant="strong"`) |
162
167
  | `--altum-overlay-on-scrim` | Текст/иконки на тёмном scrim |
163
168
  | `--altum-overlay-control-bg` / `--altum-overlay-control-border` | Контролы на scrim |
169
+ | `--altum-overlay-media-shadow` | Тень фото в **ImageLightbox** |
164
170
 
165
171
  ### Слои z-index (`--altum-g-z-*`)
166
172
 
@@ -169,7 +175,7 @@ return (
169
175
  | Переменная | По умолчанию | Кто использует |
170
176
  |------------|--------------|----------------|
171
177
  | `--altum-g-z-below` | `-1` | Линия-коннектор Steps |
172
- | `--altum-g-z-raised` | `1` | Слайдер SegmentedControl |
178
+ | `--altum-g-z-raised` | `1` | Слайдер ButtonGroup / SegmentedControl |
173
179
  | `--altum-g-z-raised-above` | `2` | Контент кнопки, контролы NumberField |
174
180
  | `--altum-g-z-control` | `5` | Бегунок Slider |
175
181
  | `--altum-g-z-local` | `10` | Badge, липкий заголовок таблицы, маска TextField |
@@ -187,7 +193,7 @@ return (
187
193
  |---------|---------|------------|
188
194
  | `tooltip` | `--altum-g-z-tooltip` | `--altum-overlay-offset-tooltip` (8px) |
189
195
  | `popover` | `--altum-g-z-dropdown` | `--altum-overlay-offset-popover` (8px) |
190
- | `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (4px) |
196
+ | `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (8px) |
191
197
  | `modal` | `--altum-g-z-modal` | — |
192
198
  | `sheet` | `--altum-g-z-overlay` | — |
193
199
  | `lightbox` | `--altum-g-z-lightbox` | — |
@@ -205,22 +211,21 @@ return (
205
211
  | `--altum-color-brand-hover` | `#334155` |
206
212
  | `--altum-color-brand-active` | `#1e293b` |
207
213
  | `--altum-color-brand-text` | `#ffffff` |
208
- | `--altum-color-brand-disabled` / `--altum-color-brand-text-disabled` | Заливка/лейбл отключённой primary (не смывка opacity) |
209
214
 
210
215
  ### Тонированный (`--altum-color-brand-tint-*`)
211
216
 
212
- Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~12% от акцента, текст остаётся ярким и контрастным. Используется в `Button` / `Chip` / `SegmentedControl` с `variant="tinted"`.
217
+ Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~16% от акцента, текст остаётся ярким и контрастным. Pressed заметно плотнее hover. Используется в `Button` / `Chip` / `SegmentedControl` с `variant="tinted"`.
213
218
 
214
219
  | Переменная | Назначение |
215
220
  |------------|------------|
216
- | `--altum-color-brand-tint` | Фон заливки (~12% accent) |
221
+ | `--altum-color-brand-tint` | Фон заливки (~16% accent) |
217
222
  | `--altum-color-brand-tint-hover` | Hover |
218
223
  | `--altum-color-brand-tint-active` | Active / pressed |
219
224
  | `--altum-color-brand-tint-text` | Контрастный акцентный текст |
220
225
  | `--altum-color-brand-tint-border` | Рамка |
221
226
  | `--altum-color-button-border-tinted` | Рамка кнопки |
222
227
 
223
- Светлая заливка деструктивной кнопки использует `--altum-color-danger-bg-solid: #dc2626` (WCAG AA с белым текстом).
228
+ Светлая заливка деструктивной кнопки — mix red-700 со slate (`--altum-color-danger-bg-solid`), тот же регистр пыли, что статусы; AA на белом тексте.
224
229
 
225
230
  ### Вторичный (`--altum-color-surface`, `--altum-color-border`)
226
231
 
@@ -228,7 +233,8 @@ return (
228
233
 
229
234
  | Переменная | Назначение |
230
235
  |------------|------------|
231
- | `--altum-color-surface` | Фон поверхности |
236
+ | `--altum-color-surface` | Фон поверхности (карточка) |
237
+ | `--altum-color-surface-elevated` | На ступень выше surface (`Box` `elevated`; dark: `#262628`) |
232
238
  | `--altum-color-border` | Рамки |
233
239
  | `--altum-color-text-secondary` | Приглушённый текст |
234
240
 
@@ -248,30 +254,32 @@ TextField, Checkbox (`mode="task"`), Switch, Radio. Примитивы — ис
248
254
 
249
255
  | Переменная | Назначение |
250
256
  |------------|------------|
251
- | `--altum-color-input-bg` | Фон поля |
257
+ | `--altum-color-input-bg` | Фон поля (dark: overlay `#2b2b2e`, не surface) |
252
258
  | `--altum-color-input-text` | Текст поля |
253
259
  | `--altum-color-input-border` | Рамка по умолчанию |
254
260
  | `--altum-color-input-border-focus` | Рамка в фокусе |
255
- | `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#94a3b8`) |
261
+ | `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#A8A8B3`) |
256
262
  | `--altum-color-control-bg` | Фон checkbox/radio |
257
263
  | `--altum-color-control-bg-checked` | Состояние checked |
258
264
  | `--altum-color-control-text-color` | Текст лейбла контрола |
259
265
 
260
266
  ### Chrome элементов (`--altum-field-*`, `--altum-color-button-*`, `--altum-color-chip-*`, `--altum-color-segmented-*`, `--altum-color-panel-*`, `--altum-type-*`, `--altum-color-link-*`)
261
267
 
262
- Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше (визуально без изменений). Адаптивные варианты `Box` (`outlined` / `elevated` / `tinted` / `secondary` / `muted` / `glass` / `overlay`) переопределяют их для потомков через CSS-каскад, а не через React-контекст.
268
+ Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше. `Box` красит только себя: вложенные кнопки, чипы, поля и текст остаются на этой глобальной палитре на любой заливке.
263
269
 
264
270
  | Группа | Примеры |
265
271
  |--------|---------|
266
272
  | Поле | `--altum-color-field-bg`, `--altum-color-field-border`, `--altum-color-border-hover`, `--altum-color-field-text`, `--altum-field-label` |
267
- | Кнопка (secondary / tinted / ghost) | `--altum-color-button-secondary-bg`, `--altum-color-button-tinted-border`, `--altum-color-button-ghost-hover-bg` |
273
+ | Кнопка (secondary / tinted / ghost) | `--altum-color-button-secondary-bg`, `--altum-color-button-tinted-border`, `--altum-color-button-ghost-text` (muted, не secondary), `--altum-color-button-ghost-hover-bg` |
268
274
  | Chip | `--altum-color-chip-secondary-bg`, `--altum-color-chip-tinted-text` |
269
- | Segmented | `--altum-color-segmented-*` (алиасы на `--altum-color-button-*`); primary active: `--altum-color-segmented-primary-slider-bg` (в dark контрастнее трека) |
275
+ | Segmented | `--altum-color-segmented-*`: колодец (`*-track-bg`) + приглушённый thumb (`*-slider-bg`, `--altum-color-segmented-slider-shadow`). Один thumb на secondary / tinted / ghost |
270
276
  | Панель | `--altum-color-panel-bg`, `--altum-color-panel-border`, `--altum-color-panel-bg-hover` |
271
- | Типографика | `--altum-color-type`, `--altum-color-type-secondary`, `--altum-color-type-muted` (`Title` / `Text`) |
277
+ | Типографика | `--altum-color-type`, `--altum-color-type-secondary`, `--altum-color-type-tertiary`, `--altum-color-type-muted` (`Title` / `Text`) |
272
278
  | Ссылка | `--altum-color-link-color`, `--altum-color-link-secondary`, `--altum-color-link-muted`, `--altum-color-link-danger`, `--altum-color-link-focus-ring` |
279
+ | Tooltip | `--altum-color-tooltip-bg` / `--altum-color-tooltip-fg` (инверсия ink, не brand-кнопка) |
280
+ | Индикатор Tabs / Pagination | `--altum-color-tabs-indicator` |
273
281
 
274
- Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger-*` (Box их не перемапливает). Ремап типографики/ссылок сильнее всего на `tinted` и `overlay`.
282
+ Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger-*`.
275
283
 
276
284
  ### Поверхности
277
285
 
@@ -279,10 +287,10 @@ Primary- и danger-кнопки остаются на `--altum-color-brand-*` /
279
287
  |------------|------------|
280
288
  | `--altum-color-bg` | Фон страницы |
281
289
  | `--altum-color-text` | Текст страницы |
282
- | `--altum-color-dropdown-bg` | Modal, выпадающие панели |
290
+ | `--altum-color-dropdown-bg` | Modal / Sheet / выпадающие панели (dark: elevated, не overlay полей) |
283
291
  | `--altum-color-option-hover` | Фоны при наведении |
284
292
  | `--altum-color-selection-fill` / `--altum-color-selection-fill-fg` / `--altum-color-selection-fill-emphasis` | Акцентный выбранный chrome (Segmented primary, Chip primary/tinted active) |
285
- | `--altum-color-selection-neutral-fill` / `--altum-color-selection-neutral-border` / `--altum-color-selection-neutral-slider` | Мягкий выбранный chrome (Segmented secondary, Chip secondary active) |
293
+ | `--altum-color-selection-neutral-fill` / `--altum-color-selection-neutral-border` / `--altum-color-selection-neutral-slider` | Мягкий выбранный chrome: Chip secondary active; slider — приподнятый thumb Segmented / ButtonGroup |
286
294
  | `--altum-color-empty-icon` | Чернила иллюстрации EmptyState (`--altum-color-text-secondary`) |
287
295
 
288
296
  ## Тёмная тема
@@ -290,7 +298,7 @@ Primary- и danger-кнопки остаются на `--altum-color-brand-*` /
290
298
  `ThemeProvider` поставляется с классом `.dark`, который перемапливает все токены. Переключение через хук:
291
299
 
292
300
  ```tsx
293
- import { useTheme } from 'altum-ui';
301
+ import { useTheme } from 'altum';
294
302
 
295
303
  function ThemeToggle() {
296
304
  const { theme, toggleTheme } = useTheme();
@@ -305,4 +313,4 @@ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
305
313
  <ThemeProvider initialTheme={prefersDark ? 'dark' : 'light'} />
306
314
  ```
307
315
 
308
- Тёмная заливка primary (`--altum-color-brand: #6b7f98`) даёт явную affordance относительно modal/sheet (`--altum-color-dropdown-bg: #1e1e24`) и отключённого состояния (`--altum-color-brand-disabled`). Лейбл на заливке остаётся AA (`--altum-color-brand-text: #f8fafc`). Приглушённые / лейбловые чернила в dark (`--altum-color-muted` / `--altum-color-text-secondary`: `#a3b0c2`) и плейсхолдеры (mix 88%) подобраны для читаемых подписей на `--altum-color-bg`. Рамки Checkbox / Radio идут через `--altum-color-control-border` → `--altum-color-input-border`, чтобы тогглы совпадали с chrome полей.
316
+ Тёмная primary — плотный steel (`--altum-color-brand: #4e6480`, hover `#5d7694`, текст `--altum-g-color-slate-50`), без инверсии светлой заливки и без мытого `#6b7f98` на CTA. Ссылки в dark — `--altum-color-link-color` `#9aafc4` (steel, не почти-белый; Ghost/лейбл muted `#A8A8B3`, secondary `#C5C9D1`); `Button` `link` / `Link` — idle underline 1px при ~72% currentColor, полная на hover. Ghost — muted, без линии, метрика кнопки, hover-смывка. Лестница поверхностей: canvas `--altum-color-bg` `#141416` (нейтральный charcoal в климате steel) → surface `#1f1f22` → elevated / диалоги `#262628` → overlay/поля `#2b2b2e`; hover опции `#2d2d30`; pressed `--altum-color-surface-active` `#1a1a1c`. Скрам оверлея — `rgba(10, 10, 12, 0.72)`, не чистый чёрный. Контролы на оверлее — `--altum-overlay-control-bg` → input-bg, рамка → input-border, hover → option-hover. Инпут — заливка overlay `#2b2b2e` (не surface; поле ≠ карточка), idle-рамка `color-mix(#ffffff 17%)`; фокус поля — `--altum-color-input-border-focus` (`#6b7f98`). Кольцо Tab — `--altum-focus-ring-color` `rgba(248,250,252,0.72)` 2px / offset 2px, не steel-заливка. Tinted — mix brand на surface (~26 / 34 / 54% idle / hover / pressed), текст `#c8d3e4`. Статусы в dark — пыль без неона (success `#53b689`, info `#5b8cba`, warning `#c4a05e`, error `#cf7379`); Alert / Chip — mix 14% на surface + hairline 26%, fg = пигмент; hover чипа — `--altum-color-status-*-bg-hover` на surface. Danger fill в dark — пыльная роза `#8f4e53` (тот же hue, что error). Danger secondary / tinted в dark — едва тёплый подтон на surface (~9–16%), не twin обычного secondary и не неон. Выбранная строка / день — `--altum-color-selection-fill` (brand 42% на overlay), светлые чернила. Tooltip — `--altum-color-tooltip-bg` `#303033`, не brand-кнопка. Рамки Checkbox / Radio — `--altum-color-control-border` → `--altum-color-input-border`; галочка на заливке — `#f1f5f9`. Overlay close — ghost без диска. Вторичный текст `#C5C9D1`; лейблы / Ghost / muted `#A8A8B3`; `Text` tertiary / muted `#8C8C99`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "altum",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Библиотека React + TypeScript UI-компонентов: CSS Modules, токены ThemeProvider, адаптация overlay/sheet.",
5
5
  "license": "MIT",
6
6
  "author": "Alexander <azeeson@gmail.com>",
@@ -71,10 +71,10 @@
71
71
  "scaffold": "node scripts/scaffold-component.mjs"
72
72
  },
73
73
  "browserslist": [
74
- "> 0.5%",
75
- "last 2 versions",
76
- "not dead",
77
- "not op_mini all"
74
+ "chrome >= 100",
75
+ "firefox >= 100",
76
+ "safari >= 16",
77
+ "not dead"
78
78
  ],
79
79
  "publishConfig": {
80
80
  "access": "public"