altum 0.0.2 → 0.0.4

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 (546) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/base/As/As.js +1 -0
  3. package/dist/base/ButtonBase/ButtonBase.js +1 -1
  4. package/dist/base/ButtonBase/ButtonBase.module.css.js +1 -1
  5. package/dist/base/ChartBase/ChartBase.js +1 -1
  6. package/dist/base/ChartBase/ChartBase.module.css.js +1 -1
  7. package/dist/base/ChartBase/ChartCartesian.js +1 -0
  8. package/dist/base/ChartBase/ChartHoverBubble.js +1 -0
  9. package/dist/base/ChartBase/ChartHoverBubble.module.css.js +1 -0
  10. package/dist/base/ChartBase/ChartLegend.js +1 -0
  11. package/dist/base/ChartBase/ChartLegend.module.css.js +1 -0
  12. package/dist/base/ChartBase/ChartPlot.module.css.js +1 -0
  13. package/dist/base/ChartBase/ChartYGrid.js +1 -0
  14. package/dist/base/ChartBase/cartesian.js +1 -0
  15. package/dist/base/ChartBase/colors.js +1 -0
  16. package/dist/base/ChartBase/useChartWidth.js +1 -0
  17. package/dist/base/ChevronButton/ChevronButton.js +1 -0
  18. package/dist/base/DialogBase/DialogBase.js +1 -1
  19. package/dist/base/DialogBase/DialogBase.module.css.js +1 -1
  20. package/dist/base/FieldBase/FieldBase.js +1 -1
  21. package/dist/base/FieldBase/FieldBase.module.css.js +1 -1
  22. package/dist/base/FieldPopup/FieldPopup.js +1 -0
  23. package/dist/base/FieldPopup/FieldPopup.module.css.js +1 -0
  24. package/dist/base/Flex/Flex.js +1 -0
  25. package/dist/base/Flex/Flex.module.css.js +1 -0
  26. package/dist/base/PeriodHeader/PeriodHeader.js +1 -0
  27. package/dist/base/TextControl/TextControl.js +1 -0
  28. package/dist/base/ToggleControlBase/ToggleControlBase.js +1 -1
  29. package/dist/base/ToggleControlBase/ToggleControlBase.module.css.js +1 -1
  30. package/dist/base/ToggleGroupBase/ToggleGroupBase.js +1 -0
  31. package/dist/base/Type/Type.js +1 -0
  32. package/dist/components/Accordion/Accordion.js +1 -1
  33. package/dist/components/Accordion/Accordion.module.css.js +1 -1
  34. package/dist/components/ActionList/ActionList.js +1 -1
  35. package/dist/components/ActionList/ActionList.module.css.js +1 -1
  36. package/dist/components/ActionSheetTrigger/ActionSheetTrigger.js +1 -1
  37. package/dist/components/ActionSheetTrigger/ActionSheetTrigger.module.css.js +1 -1
  38. package/dist/components/Alert/Alert.js +1 -1
  39. package/dist/components/Alert/Alert.module.css.js +1 -1
  40. package/dist/components/AspectRatio/AspectRatio.js +1 -1
  41. package/dist/components/AspectRatio/AspectRatio.module.css.js +1 -1
  42. package/dist/components/Attachment/Attachment.js +1 -1
  43. package/dist/components/Attachment/Attachment.module.css.js +1 -1
  44. package/dist/components/Avatar/Avatar.js +1 -1
  45. package/dist/components/Avatar/Avatar.module.css.js +1 -1
  46. package/dist/components/Backdrop/Backdrop.js +1 -1
  47. package/dist/components/Backdrop/Backdrop.module.css.js +1 -1
  48. package/dist/components/Badge/Badge.js +1 -1
  49. package/dist/components/Badge/Badge.module.css.js +1 -1
  50. package/dist/components/BarChart/BarChart.js +1 -1
  51. package/dist/components/BarChart/BarChart.module.css.js +1 -1
  52. package/dist/components/Box/Box.js +1 -1
  53. package/dist/components/Box/Box.module.css.js +1 -1
  54. package/dist/components/Bubble/Bubble.js +1 -1
  55. package/dist/components/Bubble/Bubble.module.css.js +1 -1
  56. package/dist/components/Button/Button.js +1 -1
  57. package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/components/ButtonGroup/ButtonGroup.module.css.js +1 -1
  59. package/dist/components/ButtonIcon/ButtonIcon.js +1 -1
  60. package/dist/components/Calendar/Calendar.context.js +1 -1
  61. package/dist/components/Calendar/Calendar.module.css.js +1 -1
  62. package/dist/components/Calendar/Calendar.slots.js +1 -1
  63. package/dist/components/Calendar/Calendar.types.js +1 -1
  64. package/dist/components/Calendar/Calendar.utils.js +1 -1
  65. package/dist/components/Calendar/Calendar.views.js +1 -1
  66. package/dist/components/CalendarBoard/CalendarBoard.Event.js +1 -0
  67. package/dist/components/CalendarBoard/CalendarBoard.Event.module.css.js +1 -0
  68. package/dist/components/CalendarBoard/CalendarBoard.MonthView.js +1 -1
  69. package/dist/components/CalendarBoard/CalendarBoard.Schedule.js +1 -1
  70. package/dist/components/CalendarBoard/CalendarBoard.Schedule.module.css.js +1 -1
  71. package/dist/components/CalendarBoard/CalendarBoard.TaskChip.js +1 -1
  72. package/dist/components/CalendarBoard/CalendarBoard.YearView.js +2 -1
  73. package/dist/components/CalendarBoard/CalendarBoard.chrome.js +1 -1
  74. package/dist/components/CalendarBoard/CalendarBoard.context.js +1 -1
  75. package/dist/components/CalendarBoard/CalendarBoard.module.css.js +1 -1
  76. package/dist/components/CalendarBoard/calendar.schedule.js +1 -0
  77. package/dist/components/Card/Card.js +1 -1
  78. package/dist/components/Card/Card.module.css.js +1 -1
  79. package/dist/components/Checkbox/Checkbox.js +1 -1
  80. package/dist/components/Checkbox/Checkbox.module.css.js +1 -0
  81. package/dist/components/Chip/Chip.js +1 -1
  82. package/dist/components/Chip/Chip.module.css.js +1 -1
  83. package/dist/components/Collapse/Collapse.js +1 -1
  84. package/dist/components/Collapse/Collapse.module.css.js +1 -1
  85. package/dist/components/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  86. package/dist/components/ColorSwatchGroup/ColorSwatchGroup.module.css.js +1 -1
  87. package/dist/components/CommandPalette/CommandPalette.js +1 -1
  88. package/dist/components/CommandPalette/CommandPalette.module.css.js +1 -1
  89. package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
  90. package/dist/components/Container/Container.js +1 -1
  91. package/dist/components/Container/Container.module.css.js +1 -1
  92. package/dist/components/CustomSelect/CustomSelect.Filter.js +1 -1
  93. package/dist/components/CustomSelect/CustomSelect.List.js +1 -1
  94. package/dist/components/CustomSelect/CustomSelect.Shell.js +1 -1
  95. package/dist/components/CustomSelect/CustomSelect.Shell.module.css.js +1 -1
  96. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  97. package/dist/components/CustomSelect/CustomSelect.module.css.js +1 -1
  98. package/dist/components/DateField/DateField.js +1 -0
  99. package/dist/components/DateField/DateField.utils.js +1 -0
  100. package/dist/components/DateRangeField/DateRangeField.js +1 -0
  101. package/dist/components/DateRangeField/DateRangeField.module.css.js +1 -0
  102. package/dist/components/DayStripCalendar/DayStripCalendar.js +1 -1
  103. package/dist/components/DayStripCalendar/DayStripCalendar.module.css.js +1 -1
  104. package/dist/components/DescriptionList/DescriptionList.js +1 -1
  105. package/dist/components/DescriptionList/DescriptionList.module.css.js +1 -1
  106. package/dist/components/DonutChart/DonutChart.js +1 -1
  107. package/dist/components/DonutChart/DonutChart.module.css.js +1 -1
  108. package/dist/components/Dropdown/Dropdown.js +1 -1
  109. package/dist/components/Dropdown/Dropdown.module.css.js +1 -1
  110. package/dist/components/Dropdown/DropdownMobileSheet.js +1 -1
  111. package/dist/components/EmptyState/EmptyState.js +1 -1
  112. package/dist/components/EmptyState/EmptyState.module.css.js +1 -1
  113. package/dist/components/FieldLabel/FieldLabel.js +1 -1
  114. package/dist/components/FieldLabel/FieldLabel.module.css.js +1 -1
  115. package/dist/components/Fieldset/Fieldset.js +1 -1
  116. package/dist/components/Fieldset/Fieldset.module.css.js +1 -1
  117. package/dist/components/FileList/FileList.js +1 -1
  118. package/dist/components/FileList/FileList.module.css.js +1 -1
  119. package/dist/components/FormMessage/FormMessage.js +1 -1
  120. package/dist/components/GrabHandle/GrabHandle.module.css.js +1 -1
  121. package/dist/components/Grid/Grid.js +1 -1
  122. package/dist/components/Grid/Grid.module.css.js +1 -1
  123. package/dist/components/Grid/Grid.utils.js +1 -1
  124. package/dist/components/ImageCrop/ImageCrop.js +1 -1
  125. package/dist/components/ImageCrop/ImageCrop.module.css.js +1 -1
  126. package/dist/components/ImageGallery/ImageGallery.js +1 -1
  127. package/dist/components/ImageGallery/ImageGallery.module.css.js +1 -1
  128. package/dist/components/ImageLightbox/ImageLightbox.js +1 -1
  129. package/dist/components/ImageLightbox/ImageLightbox.module.css.js +1 -1
  130. package/dist/components/Item/Item.js +1 -1
  131. package/dist/components/Item/Item.module.css.js +1 -1
  132. package/dist/components/Kbd/Kbd.js +1 -1
  133. package/dist/components/Kbd/Kbd.module.css.js +1 -1
  134. package/dist/components/Layout/ControlRow.js +1 -1
  135. package/dist/components/Layout/Inline.js +1 -1
  136. package/dist/components/Layout/Layout.js +1 -1
  137. package/dist/components/Layout/Layout.module.css.js +1 -1
  138. package/dist/components/Layout/LayoutItem.js +1 -1
  139. package/dist/components/Layout/Split.js +1 -1
  140. package/dist/components/Layout/Stack.js +1 -1
  141. package/dist/components/LineChart/LineChart.js +1 -1
  142. package/dist/components/LineChart/LineChart.module.css.js +1 -1
  143. package/dist/components/Link/Link.js +1 -1
  144. package/dist/components/Link/Link.module.css.js +1 -1
  145. package/dist/components/Listbox/Listbox.js +1 -1
  146. package/dist/components/Listbox/Listbox.module.css.js +1 -1
  147. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  148. package/dist/components/Marker/Marker.js +1 -1
  149. package/dist/components/Marker/Marker.module.css.js +1 -1
  150. package/dist/components/MaskedField/MaskedField.js +1 -1
  151. package/dist/components/MaskedField/MaskedField.module.css.js +1 -1
  152. package/dist/components/Media/Media.js +1 -1
  153. package/dist/components/Media/Media.module.css.js +1 -1
  154. package/dist/components/Menu/Menu.js +1 -1
  155. package/dist/components/Menu/Menu.module.css.js +1 -1
  156. package/dist/components/Modal/Modal.js +1 -1
  157. package/dist/components/Modal/Modal.module.css.js +1 -1
  158. package/dist/components/Notification/Notification.js +1 -1
  159. package/dist/components/Notification/Notification.module.css.js +1 -1
  160. package/dist/components/Notification/toast.js +1 -1
  161. package/dist/components/NumberField/NumberField.js +1 -1
  162. package/dist/components/NumberField/NumberField.module.css.js +1 -1
  163. package/dist/components/Overflow/Overflow.js +1 -1
  164. package/dist/components/Overflow/Overflow.module.css.js +1 -1
  165. package/dist/components/Overflow/OverflowActionsMode.js +1 -1
  166. package/dist/components/Overflow/OverflowMeasure.js +1 -1
  167. package/dist/components/Overflow/OverflowMore.js +1 -0
  168. package/dist/components/Overlay/Overlay.Dismiss.js +1 -1
  169. package/dist/components/Overlay/Overlay.Positioner.js +1 -1
  170. package/dist/components/Overlay/Overlay.js +1 -1
  171. package/dist/components/Overlay/Overlay.module.css.js +1 -1
  172. package/dist/components/Overlay/Overlay.types.js +1 -1
  173. package/dist/components/Pagination/Pagination.js +1 -1
  174. package/dist/components/Pagination/Pagination.module.css.js +1 -1
  175. package/dist/components/PasswordField/PasswordField.js +1 -1
  176. package/dist/components/PasswordField/PasswordField.module.css.js +1 -1
  177. package/dist/components/PinInput/PinInput.js +1 -1
  178. package/dist/components/PinInput/PinInput.module.css.js +1 -1
  179. package/dist/components/Popover/Popover.js +1 -1
  180. package/dist/components/Popover/Popover.module.css.js +1 -1
  181. package/dist/components/Progress/Progress.js +1 -1
  182. package/dist/components/Progress/Progress.module.css.js +1 -1
  183. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  184. package/dist/components/PullToRefresh/PullToRefresh.module.css.js +1 -1
  185. package/dist/components/Radio/Radio.js +1 -1
  186. package/dist/components/Radio/Radio.module.css.js +1 -0
  187. package/dist/components/Rating/Rating.js +1 -1
  188. package/dist/components/Rating/Rating.module.css.js +1 -1
  189. package/dist/components/RelativeTime/RelativeTime.js +1 -1
  190. package/dist/components/SafeArea/SafeArea.module.css.js +1 -1
  191. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  192. package/dist/components/ScrollArea/ScrollArea.module.css.js +1 -1
  193. package/dist/components/SearchField/SearchField.js +1 -1
  194. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  195. package/dist/components/Select/Select.js +1 -1
  196. package/dist/components/Select/Select.module.css.js +1 -1
  197. package/dist/components/SelectionGroup/SelectionGroup.js +1 -1
  198. package/dist/components/Separator/Separator.js +1 -1
  199. package/dist/components/Separator/Separator.module.css.js +1 -1
  200. package/dist/components/Sheet/Sheet.js +1 -1
  201. package/dist/components/Sheet/Sheet.module.css.js +1 -1
  202. package/dist/components/Sidebar/Sidebar.js +1 -1
  203. package/dist/components/Sidebar/Sidebar.module.css.js +1 -1
  204. package/dist/components/Skeleton/Skeleton.js +1 -1
  205. package/dist/components/Skeleton/Skeleton.module.css.js +1 -1
  206. package/dist/components/SkipLink/SkipLink.module.css.js +1 -1
  207. package/dist/components/Slider/Slider.js +1 -1
  208. package/dist/components/Slider/Slider.module.css.js +1 -1
  209. package/dist/components/SortableList/SortableList.js +1 -1
  210. package/dist/components/SortableList/SortableList.module.css.js +1 -1
  211. package/dist/components/Spinner/Spinner.js +1 -1
  212. package/dist/components/Spinner/Spinner.module.css.js +1 -1
  213. package/dist/components/StatBadge/StatBadge.js +1 -1
  214. package/dist/components/StatBadge/StatBadge.module.css.js +1 -1
  215. package/dist/components/Steps/Steps.js +1 -1
  216. package/dist/components/Steps/Steps.module.css.js +1 -1
  217. package/dist/components/SuggestField/SuggestField.js +1 -1
  218. package/dist/components/SuggestField/useSuggestInput.js +1 -0
  219. package/dist/components/SwipeToAction/SwipeToAction.js +1 -1
  220. package/dist/components/SwipeToAction/SwipeToAction.module.css.js +1 -1
  221. package/dist/components/Switch/Switch.js +1 -1
  222. package/dist/components/Switch/Switch.module.css.js +1 -1
  223. package/dist/components/Table/Table.js +1 -1
  224. package/dist/components/Table/Table.module.css.js +1 -1
  225. package/dist/components/Table/TableRow.js +1 -1
  226. package/dist/components/Table/TableView.js +1 -1
  227. package/dist/components/Tabs/Tabs.js +1 -1
  228. package/dist/components/Tabs/Tabs.module.css.js +1 -1
  229. package/dist/components/Text/Text.js +1 -1
  230. package/dist/components/Text/Text.module.css.js +1 -1
  231. package/dist/components/TextField/TextField.js +1 -1
  232. package/dist/components/TextareaField/TextareaField.js +1 -1
  233. package/dist/components/ThemeProvider/ThemeProvider.module.css.js +1 -1
  234. package/dist/components/TimeField/TimeField.js +1 -0
  235. package/dist/components/TimeField/TimeField.module.css.js +1 -0
  236. package/dist/components/Timeline/Timeline.js +1 -1
  237. package/dist/components/Timeline/Timeline.module.css.js +1 -1
  238. package/dist/components/Title/Title.js +1 -1
  239. package/dist/components/Title/Title.module.css.js +1 -1
  240. package/dist/components/Tooltip/Tooltip.js +1 -1
  241. package/dist/components/Tooltip/Tooltip.module.css.js +1 -1
  242. package/dist/components/UploadZone/UploadZone.js +1 -1
  243. package/dist/components/UploadZone/UploadZone.module.css.js +1 -1
  244. package/dist/components/VirtualList/VirtualList.js +1 -1
  245. package/dist/components/VirtualList/VirtualList.module.css.js +1 -1
  246. package/dist/components/VirtualList/VirtualList.utils.js +1 -1
  247. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
  248. package/dist/components/WheelTimePicker/WheelTimePicker.js +1 -0
  249. package/dist/components/WheelTimePicker/WheelTimePicker.module.css.js +1 -0
  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 -1
  476. package/dist/styles/MediaItem.module.css.js +1 -1
  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/fieldPlaceholder.js +1 -0
  494. package/dist/utils/formatBytes.js +1 -0
  495. package/dist/utils/implicitAs.js +1 -0
  496. package/dist/utils/injectCss.js +1 -0
  497. package/dist/utils/keyboardShortcut.js +1 -1
  498. package/dist/utils/keyboardShortcut.match.js +1 -0
  499. package/dist/utils/liveStatus.js +1 -0
  500. package/dist/utils/overlayPurpose.js +1 -1
  501. package/dist/utils/preventWhen.js +1 -0
  502. package/dist/utils/renderChildren.js +1 -1
  503. package/dist/utils/slot.js +1 -1
  504. package/dist/utils/toggleSet.js +1 -0
  505. package/dist/utils/visitElementTree.js +1 -0
  506. package/docs/COMPONENTS.md +49 -56
  507. package/docs/ICONS.md +1 -1
  508. package/docs/LAYOUT.md +3 -3
  509. package/docs/THEMING.md +15 -17
  510. package/package.json +1 -1
  511. package/types/entries/hooks.d.ts +8 -230
  512. package/types/entries/icons.d.ts +209 -1415
  513. package/types/entries/utils.d.ts +20 -364
  514. package/types/index.d.ts +487 -3710
  515. package/dist/base/ChartBase/ChartBase.utils.js +0 -1
  516. package/dist/components/Button/Button.module.css.js +0 -1
  517. package/dist/components/ButtonIcon/ButtonIcon.module.css.js +0 -1
  518. package/dist/components/Calendar/calendar.schedule.js +0 -1
  519. package/dist/components/CalendarBoard/CalendarBoard.EventBar.js +0 -1
  520. package/dist/components/CalendarBoard/CalendarBoard.EventBar.module.css.js +0 -1
  521. package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.js +0 -1
  522. package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.module.css.js +0 -1
  523. package/dist/components/ConfirmDialog/ConfirmDialog.module.css.js +0 -1
  524. package/dist/components/DatePicker/DatePicker.js +0 -1
  525. package/dist/components/DatePicker/DatePicker.utils.js +0 -1
  526. package/dist/components/DateRangePicker/DateRangePicker.js +0 -1
  527. package/dist/components/DateRangePicker/DateRangePicker.module.css.js +0 -1
  528. package/dist/components/FormMessage/FormMessage.module.css.js +0 -1
  529. package/dist/components/Layout/Layout.types.js +0 -1
  530. package/dist/components/Layout/flexPrimitives.module.css.js +0 -1
  531. package/dist/components/Layout/layoutClasses.js +0 -1
  532. package/dist/components/Overlay/Overlay.Focus.js +0 -1
  533. package/dist/components/Overlay/Overlay.Root.js +0 -1
  534. package/dist/components/SearchField/SearchField.module.css.js +0 -1
  535. package/dist/components/SegmentedControl/SegmentedControl.module.css.js +0 -1
  536. package/dist/components/SelectionGroup/SelectionGroup.module.css.js +0 -1
  537. package/dist/components/SuggestField/SuggestField.module.css.js +0 -1
  538. package/dist/components/Table/Table.slots.js +0 -1
  539. package/dist/components/Table/TableContext.js +0 -1
  540. package/dist/components/TextField/TextField.module.css.js +0 -1
  541. package/dist/components/TextareaField/TextareaField.module.css.js +0 -1
  542. package/dist/components/TimePicker/TimePicker.js +0 -1
  543. package/dist/components/TimePicker/TimePicker.module.css.js +0 -1
  544. package/dist/components/VirtualList/VirtualListInner.js +0 -1
  545. package/dist/components/VirtualList/VirtualListItemCell.js +0 -1
  546. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +0 -1
package/docs/THEMING.md CHANGED
@@ -91,8 +91,6 @@ return (
91
91
  | `--altum-g-font-size-3xl` | 24px | Display (`Title` h2) |
92
92
  | `--altum-g-font-size-4xl` | 32px | Display (`Title` h1) |
93
93
  | `--altum-g-font-weight-normal` … `--altum-g-font-weight-bold` | 400–700 | Начертания |
94
- | `--altum-g-line-height-snug` / `--altum-g-line-height-relaxed` | → xs / base | Алиасы |
95
-
96
94
  В компонентах: `font-size: var(--altum-g-font-size-sm); line-height: var(--altum-g-line-height-sm);`.
97
95
 
98
96
  ### Диалог / список / опция
@@ -124,13 +122,13 @@ return (
124
122
  | `--altum-toggle-task-check-height` | 7px | Высота галочки в режиме task |
125
123
  | `--altum-toggle-radio-dot*` | sm/md/lg | Размер внутренней точки Radio |
126
124
  | `--altum-toggle-align-nudge` | `0.15em` | Оптическое выравнивание бокса тоггла относительно лейбла |
127
- | `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер SVG-звезды Rating |
125
+ | `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер звезды Rating |
128
126
  | `--altum-command-palette-max-width` / `height` | 560 / 520 | Ограничение панели CommandPalette |
129
127
  | `--altum-button-group-item-min-sm` / `md` / `lg` | space-6 / 7 / 8 | Мин. ширина ButtonGroup.Item |
130
128
  | `--altum-focus-ring-width` | 2px | Толщина outline-фокуса (навигация / тогглы / выбор) |
131
129
  | `--altum-focus-ring-offset` | light 1px / dark 2px | Смещение outline-фокуса (согласовано с зазором кольца кнопки) |
132
130
  | `--altum-focus-ring-color` | light → `--altum-color-input-border-focus`; dark `rgba(248,250,252,0.55)` | Общий цвет outline-фокуса (в dark — светлая hairline, не заливка CTA) |
133
- | `--altum-button-focus-inner` / `--altum-button-focus-outer` | light 1px / 3px; dark 2px / 4px | Ширины двойного кольца кнопки (алиасы `--altum-color-button-focus-*`) |
131
+ | `--altum-button-focus-inner` / `--altum-button-focus-outer` | light 1px / 3px; dark 2px / 4px | Ширины двойного кольца кнопки |
134
132
  | `--altum-opacity-disabled` | 0.5 | Отключённые контролы; **Button** — та же заливка × opacity |
135
133
  | `--altum-field-disabled-opacity` | 0.8 | Chrome отключённого поля (текст остаётся читаемым) |
136
134
  | `--altum-field-label-gap` / `--altum-field-message-gap` | `--altum-g-space-1` | Зазор внешнего лейбла / helper+ошибка |
@@ -177,7 +175,7 @@ return (
177
175
  | Переменная | По умолчанию | Кто использует |
178
176
  |------------|--------------|----------------|
179
177
  | `--altum-g-z-below` | `-1` | Линия-коннектор Steps |
180
- | `--altum-g-z-raised` | `1` | Слайдер SegmentedControl |
178
+ | `--altum-g-z-raised` | `1` | Слайдер ButtonGroup / SegmentedControl |
181
179
  | `--altum-g-z-raised-above` | `2` | Контент кнопки, контролы NumberField |
182
180
  | `--altum-g-z-control` | `5` | Бегунок Slider |
183
181
  | `--altum-g-z-local` | `10` | Badge, липкий заголовок таблицы, маска TextField |
@@ -195,7 +193,7 @@ return (
195
193
  |---------|---------|------------|
196
194
  | `tooltip` | `--altum-g-z-tooltip` | `--altum-overlay-offset-tooltip` (8px) |
197
195
  | `popover` | `--altum-g-z-dropdown` | `--altum-overlay-offset-popover` (8px) |
198
- | `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (4px) |
196
+ | `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (8px) |
199
197
  | `modal` | `--altum-g-z-modal` | — |
200
198
  | `sheet` | `--altum-g-z-overlay` | — |
201
199
  | `lightbox` | `--altum-g-z-lightbox` | — |
@@ -216,7 +214,7 @@ return (
216
214
 
217
215
  ### Тонированный (`--altum-color-brand-tint-*`)
218
216
 
219
- Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~16% от акцента, текст остаётся ярким и контрастным. Используется в `Button` / `Chip` / `SegmentedControl` с `variant="tinted"`.
217
+ Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~16% от акцента, текст остаётся ярким и контрастным. Pressed заметно плотнее hover. Используется в `Button` / `Chip` / `SegmentedControl` с `variant="tinted"`.
220
218
 
221
219
  | Переменная | Назначение |
222
220
  |------------|------------|
@@ -227,7 +225,7 @@ return (
227
225
  | `--altum-color-brand-tint-border` | Рамка |
228
226
  | `--altum-color-button-border-tinted` | Рамка кнопки |
229
227
 
230
- Светлая заливка деструктивной кнопки использует `--altum-color-danger-bg-solid: #b91c1c` (WCAG AA с белым текстом).
228
+ Светлая заливка деструктивной кнопки mix red-700 со slate (`--altum-color-danger-bg-solid`), тот же регистр пыли, что статусы; AA на белом тексте.
231
229
 
232
230
  ### Вторичный (`--altum-color-surface`, `--altum-color-border`)
233
231
 
@@ -236,7 +234,7 @@ return (
236
234
  | Переменная | Назначение |
237
235
  |------------|------------|
238
236
  | `--altum-color-surface` | Фон поверхности (карточка) |
239
- | `--altum-color-surface-elevated` | На ступень выше surface (`Box` `elevated`; dark: `#1a1e27`) |
237
+ | `--altum-color-surface-elevated` | На ступень выше surface (`Box` `elevated`; dark: `#262628`) |
240
238
  | `--altum-color-border` | Рамки |
241
239
  | `--altum-color-text-secondary` | Приглушённый текст |
242
240
 
@@ -256,32 +254,32 @@ TextField, Checkbox (`mode="task"`), Switch, Radio. Примитивы — ис
256
254
 
257
255
  | Переменная | Назначение |
258
256
  |------------|------------|
259
- | `--altum-color-input-bg` | Фон поля (dark: overlay `#242c3f`, не surface) |
257
+ | `--altum-color-input-bg` | Фон поля (dark: overlay `#2b2b2e`, не surface) |
260
258
  | `--altum-color-input-text` | Текст поля |
261
259
  | `--altum-color-input-border` | Рамка по умолчанию |
262
260
  | `--altum-color-input-border-focus` | Рамка в фокусе |
263
- | `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#a3b0c2`) |
261
+ | `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#A8A8B3`) |
264
262
  | `--altum-color-control-bg` | Фон checkbox/radio |
265
263
  | `--altum-color-control-bg-checked` | Состояние checked |
266
264
  | `--altum-color-control-text-color` | Текст лейбла контрола |
267
265
 
268
266
  ### Chrome элементов (`--altum-field-*`, `--altum-color-button-*`, `--altum-color-chip-*`, `--altum-color-segmented-*`, `--altum-color-panel-*`, `--altum-type-*`, `--altum-color-link-*`)
269
267
 
270
- Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше. Адаптивные варианты `Box` (`outlined` / `elevated` / `tinted` / `secondary` / `muted` / `glass` / `overlay`) переопределяют кнопки, чипы и панели для потомков через CSS-каскад. Поля и тогглы в dark оставляют глобальный overlay-fill (lift над карточкой); `overlay` по-прежнему даёт frosted chrome.
268
+ Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше. `Box` красит только себя: вложенные кнопки, чипы, поля и текст остаются на этой глобальной палитре на любой заливке.
271
269
 
272
270
  | Группа | Примеры |
273
271
  |--------|---------|
274
272
  | Поле | `--altum-color-field-bg`, `--altum-color-field-border`, `--altum-color-border-hover`, `--altum-color-field-text`, `--altum-field-label` |
275
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` |
276
274
  | Chip | `--altum-color-chip-secondary-bg`, `--altum-color-chip-tinted-text` |
277
- | 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 |
278
276
  | Панель | `--altum-color-panel-bg`, `--altum-color-panel-border`, `--altum-color-panel-bg-hover` |
279
- | Типографика | `--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`) |
280
278
  | Ссылка | `--altum-color-link-color`, `--altum-color-link-secondary`, `--altum-color-link-muted`, `--altum-color-link-danger`, `--altum-color-link-focus-ring` |
281
279
  | Tooltip | `--altum-color-tooltip-bg` / `--altum-color-tooltip-fg` (инверсия ink, не brand-кнопка) |
282
280
  | Индикатор Tabs / Pagination | `--altum-color-tabs-indicator` |
283
281
 
284
- Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger-*` (Box их не перемапливает). Ремап типографики/ссылок сильнее всего на `tinted` и `overlay`.
282
+ Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger-*`.
285
283
 
286
284
  ### Поверхности
287
285
 
@@ -292,7 +290,7 @@ Primary- и danger-кнопки остаются на `--altum-color-brand-*` /
292
290
  | `--altum-color-dropdown-bg` | Modal / Sheet / выпадающие панели (dark: elevated, не overlay полей) |
293
291
  | `--altum-color-option-hover` | Фоны при наведении |
294
292
  | `--altum-color-selection-fill` / `--altum-color-selection-fill-fg` / `--altum-color-selection-fill-emphasis` | Акцентный выбранный chrome (Segmented primary, Chip primary/tinted active) |
295
- | `--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 |
296
294
  | `--altum-color-empty-icon` | Чернила иллюстрации EmptyState (`--altum-color-text-secondary`) |
297
295
 
298
296
  ## Тёмная тема
@@ -315,4 +313,4 @@ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
315
313
  <ThemeProvider initialTheme={prefersDark ? 'dark' : 'light'} />
316
314
  ```
317
315
 
318
- Тёмная primary — плотный steel (`--altum-color-brand: #4e6480`, hover `#5d7694`, текст `--altum-g-color-slate-50`), без инверсии светлой заливки и без мытого `#6b7f98` на CTA. Ссылки в dark — `--altum-color-link-color` `#cbd5e1` (ярче Ghost/muted `#a3b0c2`); `Button` `link` / `Link` — idle underline 1px при ~45% currentColor, полная на hover. Ghost — muted, метрика кнопки, hover-смывка. Лестница поверхностей: canvas `--altum-color-bg` `#11151c` (navy) → surface `#151920` → elevated / диалоги `#1a1e27` (приглушённый холодный серо-navy) → overlay/поля `#242c3f`; hover опции `#2f374d`; pressed `--altum-color-surface-active` `#11151a`. Скрам оверлея — navy `rgba(11, 15, 24, 0.72)`, не чистый чёрный. Инпут — заливка overlay `#242c3f` (не surface; поле ≠ карточка), idle-рамка `color-mix(#ffffff 26%)`; фокус поля — `--altum-color-input-border-focus` (`#6b7f98`). Кольцо Tab — `--altum-focus-ring-color` `rgba(248,250,252,0.55)` 2px / offset 2px, не steel-заливка. Tinted — смывка `#94a3b8` ~22%, текст `#cbd5e1`. Статусы в dark — чуть чище пыль (success `#53b689`, info `#6594be`, warning `#d1a54e`, error `#cf7379`); Alert / Chip — mix 14% на surface + hairline 26%, fg = пигмент; hover чипа — `--altum-color-status-*-bg-hover` на surface. Danger secondary / tinted в dark — едва тёплый подтон на surface (~9–16%), не twin обычного secondary и не неон. Выбранная строка / день — `--altum-color-selection-fill` (brand 42% на overlay), светлые чернила. Tooltip — `--altum-color-tooltip-bg` `#293244`, не brand-кнопка. Рамки Checkbox / Radio — `--altum-color-control-border` → `--altum-color-input-border`; галочка на заливке — `#f1f5f9`. Overlay close — ghost без диска.
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.2",
3
+ "version": "0.0.4",
4
4
  "description": "Библиотека React + TypeScript UI-компонентов: CSS Modules, токены ThemeProvider, адаптация overlay/sheet.",
5
5
  "license": "MIT",
6
6
  "author": "Alexander <azeeson@gmail.com>",
@@ -1,255 +1,69 @@
1
1
  import * as react from 'react';
2
2
  import { RefObject, PointerEvent, MouseEvent as MouseEvent$1 } from 'react';
3
3
 
4
- /**
5
- * Опции хука `useOutsideClick`.
6
- */
7
4
  interface UseOutsideClickOptions {
8
- /** Подписываться только пока `true` (`true` по умолчанию) */
9
5
  enabled?: boolean;
10
6
  }
11
7
  type OutsideClickTarget = RefObject<HTMLElement | null>;
12
- /**
13
- * Вызывает callback при mousedown/touchstart вне одного или нескольких ref.
14
- * Игнорирует клики, пока активен «suppress overlay dismiss» (см. `overlayDismiss`).
15
- * Подписка снимается при `enabled: false` и при размонтировании.
16
- *
17
- * @param refs - Контейнер(ы), клик внутри которых не считается «снаружи».
18
- * @param callback - Обработчик внешнего клика.
19
- * @param options.enabled - Выключить слушатели без размонтирования.
20
- *
21
- * @returns Ничего — подписка на mousedown/touchstart вне ref.
22
- *
23
- * @example
24
- * const panelRef = useRef<HTMLDivElement>(null);
25
- * useOutsideClick(panelRef, () => setOpen(false), {enabled: open});
26
- */
27
8
  declare function useOutsideClick(refs: OutsideClickTarget | OutsideClickTarget[], callback: (event: MouseEvent | TouchEvent) => void, options?: UseOutsideClickOptions): void;
28
9
 
29
- /**
30
- * Публичный тип `DocumentKeyDownTarget`.
31
- */
32
10
  type DocumentKeyDownTarget = 'document' | 'window';
33
- /**
34
- * Опции хука `useDocumentKeyDown`.
35
- */
36
11
  interface UseDocumentKeyDownOptions {
37
- /** Слушать события только пока `true` (`true` по умолчанию) */
38
12
  enabled?: boolean;
39
- /** `document` или `window` — где вешать `keydown` (`document` по умолчанию) */
40
13
  target?: DocumentKeyDownTarget;
41
14
  }
42
- /**
43
- * Подписка на глобальный `keydown` с актуальным handler через ref
44
- * (не нужно мемоизировать handler ради стабильности подписки).
45
- *
46
- * @param handler - Обработчик клавиатуры.
47
- * @param options - `enabled` / `target`.
48
- *
49
- * @returns Ничего — подписка на глобальный keydown.
50
- *
51
- * @example
52
- * useDocumentKeyDown((event) => {
53
- * if (event.key === 'ArrowDown') moveFocus(1);
54
- * }, {enabled: isOpen});
55
- */
56
15
  declare function useDocumentKeyDown(handler: (event: KeyboardEvent) => void, options?: UseDocumentKeyDownOptions): void;
57
16
 
58
- /**
59
- * Опции хука `useEscapeKey`.
60
- */
61
17
  interface UseEscapeKeyOptions {
62
18
  enabled?: boolean;
63
19
  target?: DocumentKeyDownTarget;
64
- /**
65
- * Участвовать в стеке overlay: Escape закрывает только верхний слой.
66
- * @default true
67
- */
68
20
  layered?: boolean;
69
21
  }
70
- /**
71
- * Вызывает `onEscape` на клавишу Escape (с `preventDefault`).
72
- * При `layered` (дефолт) закрывается только верхний overlay в стеке.
73
- *
74
- * @param onEscape - Действие закрытия.
75
- * @param options.enabled - Пока `false`, слушатель не активен.
76
- *
77
- * @example
78
- * useEscapeKey(() => setOpen(false), {enabled: open});
79
- */
80
22
  declare function useEscapeKey(onEscape: () => void, options?: UseEscapeKeyOptions): void;
81
23
 
82
- /**
83
- * Блокирует scroll `document.body` со счётчиком вложений
84
- * (несколько Modal / Sheet / ImageCrop одновременно).
85
- * Снимает lock при `locked === false` и при размонтировании.
86
- *
87
- * @param locked - Активна ли блокировка для этого экземпляра.
88
- *
89
- * @returns Ничего — lock scroll на document.body.
90
- *
91
- * @example
92
- * useBodyScrollLock(isOpen);
93
- */
94
24
  declare function useBodyScrollLock(locked: boolean): void;
95
25
 
96
- /**
97
- * Контролируемое / неконтролируемое состояние для компонентов с опциональными `value` + `defaultValue`.
98
- *
99
- * @returns `[value, setValue, isControlled]`
100
- */
101
26
  declare function useControlledState<T>(controlled: T | undefined, defaultValue: T): [T, (next: T) => void, boolean];
102
- /**
103
- * Контролируемое / неконтролируемое состояние с колбэком при изменении (onChange / onOpenChange).
104
- */
105
27
  declare function useControlledStateWithCallback<T>(controlled: T | undefined, defaultValue: T, onChange?: (next: T) => void): [T, (next: T) => void, boolean];
106
28
 
107
- /**
108
- * Опции хука `useOverlay`.
109
- */
29
+ declare function useNow(intervalMs: number): Date;
30
+
110
31
  interface UseOverlayOptions {
111
- /** Overlay открыт. */
112
32
  open: boolean;
113
- /** Закрытие по Escape. @default true */
114
33
  closeOnEscape?: boolean;
115
- /** Блокировать scroll body. @default true */
116
34
  lockScroll?: boolean;
117
- /** Корень портала для inert фона. */
118
35
  rootRef?: RefObject<HTMLElement | null>;
119
- /** Возврат фокуса при закрытии. @default true */
120
36
  restoreFocus?: boolean;
121
37
  }
122
- /**
123
- * Композиция overlay-паттерна: scroll lock + Escape + inert + restore focus.
124
- * Используется в Modal, Sheet, CommandPalette, ImageLightbox, ImageCrop.
125
- */
126
38
  declare function useOverlay(onClose: () => void, { open, closeOnEscape, lockScroll, rootRef: rootRefProp, restoreFocus, }: UseOverlayOptions): void;
127
39
 
128
- /**
129
- * Сохраняет фокус при активации (в `useLayoutEffect` — до ловушек в `useEffect`)
130
- * и возвращает его только при переходе `true` → `false`.
131
- * Используйте для overlay, где FocusTrap сам restore не делает.
132
- *
133
- * @param active - Панель открыта.
134
- *
135
- * @returns Ничего — сохранение и возврат фокуса.
136
- *
137
- * @example
138
- * useFocusRestore(isOpen);
139
- */
140
40
  declare function useFocusRestore(active: boolean): void;
141
41
 
142
- /**
143
- * Помечает соседние узлы родителя `rootRef` как `inert`,
144
- * пока overlay-панель открыта (фон недоступен для фокуса / AT).
145
- * Снимает `inert` при деактивации / размонтировании (если атрибут ставил этот хук).
146
- *
147
- * @param active - Панель открыта.
148
- * @param rootRef - Корень портала панели (sibling'и получают `inert`).
149
- *
150
- * @returns Ничего — атрибут inert на соседних узлах.
151
- *
152
- * @example
153
- * useInertSiblings(isOpen, portalRootRef);
154
- */
155
42
  declare function useInertSiblings(active: boolean, rootRef: RefObject<HTMLElement | null>): void;
156
43
 
157
- /**
158
- * Опции хука `useOverlayPanel`.
159
- */
160
44
  interface UseOverlayPanelOptions {
161
45
  active: boolean;
162
- /** Корень портала панели (sibling'и родителя получат `inert`) */
163
46
  rootRef: RefObject<HTMLElement | null>;
164
- /**
165
- * Возврат фокуса при закрытии.
166
- * Выключайте, если restore уже делает FocusTrap / useFocusTrap.
167
- * @default true
168
- */
169
47
  restoreFocus?: boolean;
170
48
  }
171
- /**
172
- * Единый паттерн для overlay-панелей: inert фона + опционально restore focus.
173
- * Комбинирует `useInertSiblings` и `useFocusRestore`.
174
- *
175
- * @param options.active - Панель открыта.
176
- * @param options.rootRef - Корень портала.
177
- * @param options.restoreFocus - Возврат фокуса при закрытии (`true` по умолчанию).
178
- *
179
- * @returns Ничего — inert фона и опциональный restore focus.
180
- *
181
- * @example
182
- * useOverlayPanel({active: isOpen, rootRef, restoreFocus: true});
183
- */
184
49
  declare function useOverlayPanel({ active, rootRef, restoreFocus, }: UseOverlayPanelOptions): void;
185
50
 
186
- /**
187
- * Опции хука `useFocusTrap`.
188
- */
189
51
  interface UseFocusTrapOptions {
190
52
  active: boolean;
191
- /** Контейнер, внутри которого крутится Tab */
192
53
  containerRef: RefObject<HTMLElement | null>;
193
- /** Элемент для начального фокуса (иначе — первый focusable) */
194
54
  initialFocusRef?: RefObject<HTMLElement | null>;
195
- /** Куда вернуть фокус при деактивации (иначе — элемент до активации) */
196
55
  returnFocusRef?: RefObject<HTMLElement | null>;
197
- /**
198
- * Возвращать фокус при деактивации.
199
- * Выключайте, если restore делает `useOverlayPanel` / `useFocusRestore`.
200
- * @default true
201
- */
202
56
  restoreFocus?: boolean;
203
- /** Escape внутри ловушки */
204
57
  onEscape?: () => void;
205
58
  }
206
- /**
207
- * Ловушка фокуса без обёртки-компонента: Tab циклится внутри `containerRef`.
208
- * Подходит для уже существующего DOM (CommandPalette, кастомные панели).
209
- * Escape опционально через `onEscape`.
210
- *
211
- * @param options - `active`, `containerRef`, focus refs, `restoreFocus`, `onEscape`.
212
- *
213
- * @returns Ничего — ловушка Tab и опциональный Escape.
214
- *
215
- * @example
216
- * useFocusTrap({
217
- * active: open,
218
- * containerRef,
219
- * initialFocusRef: inputRef,
220
- * onEscape: () => setOpen(false),
221
- * });
222
- */
223
59
  declare function useFocusTrap({ active, containerRef, initialFocusRef, returnFocusRef, restoreFocus, onEscape, }: UseFocusTrapOptions): void;
224
60
 
225
- /**
226
- * Media query для «мобильной» ширины (breakpoint 768px).
227
- * Используйте с `useMediaQuery(MOBILE_MEDIA_QUERY)`.
228
- */
229
61
  declare const MOBILE_MEDIA_QUERY = "(max-width: 768px)";
230
- /**
231
- * Подписка на CSS media query через `matchMedia`.
232
- * На SSR / первом кадре может быть `false`, пока нет `window`.
233
- *
234
- * @param query - Строка media query (например `(min-width: 1024px)`).
235
- * @returns `true`, если query сейчас совпадает.
236
- *
237
- * @example
238
- * const isMobile = useMediaQuery(MOBILE_MEDIA_QUERY);
239
- * if (isMobile) return <Sheet />;
240
- */
241
62
  declare function useMediaQuery(query: string): boolean;
242
63
 
243
64
  interface UseLongPressOptions {
244
- /** Задержка до срабатывания, мс. @default 500 */
245
65
  delay?: number;
246
- /** Не запускать long-press. */
247
66
  disabled?: boolean;
248
- /**
249
- * Смещение (px), после которого жест отменяется.
250
- * Слушается на `window`, чтобы срабатывать даже при nested touch/swipe.
251
- * @default 10
252
- */
253
67
  moveThreshold?: number;
254
68
  }
255
69
  interface UseLongPressHandlers {
@@ -258,62 +72,26 @@ interface UseLongPressHandlers {
258
72
  onPointerCancel: (event: PointerEvent) => void;
259
73
  onContextMenu: (event: MouseEvent$1) => void;
260
74
  onClick: (event: MouseEvent$1) => void;
261
- /** Сбросить таймер (например, при начале горизонтального свайпа). */
262
75
  cancel: () => void;
263
76
  }
264
- /**
265
- * Long-press (удержание): вызывает `onLongPress` после `delay` мс.
266
- * Движение отслеживается на `window` (pointer + touch), чтобы nested
267
- * `touchmove` / `preventDefault` у свайпа не оставляли таймер живым.
268
- * После срабатывания подавляет следующий `click` (capture + `onClick`).
269
- */
270
77
  declare function useLongPress(onLongPress: () => void, options?: UseLongPressOptions): UseLongPressHandlers;
271
78
 
272
- /** CSS media query для `prefers-reduced-motion: reduce`. */
273
79
  declare const REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
274
- /**
275
- * Отслеживает системную настройку «уменьшить движение».
276
- * Подписывается на `matchMedia` через `useMediaQuery`.
277
- *
278
- * @returns `true`, если пользователь просит уменьшить анимации.
279
- *
280
- * @example
281
- * const reduceMotion = usePrefersReducedMotion();
282
- * <motion.div animate={reduceMotion ? false : {opacity: 1}} />
283
- */
284
80
  declare function usePrefersReducedMotion(): boolean;
285
81
 
286
- /**
287
- * Правила валидации поля формы для `useForm.register`.
288
- * При нескольких правилах ошибка берётся по приоритету: required → pattern → validate.
289
- */
82
+ declare function usePresence(open: boolean, durationMs: number): {
83
+ shouldRender: boolean;
84
+ presented: boolean;
85
+ };
86
+
290
87
  interface ValidationRules {
291
- /** Текст ошибки, если значение пустое (`undefined` / `null` / `''`; `0` — не пустое) */
292
88
  required?: string;
293
89
  pattern?: {
294
90
  value: RegExp;
295
91
  message: string;
296
92
  };
297
- /**
298
- * Верните строку ошибки, `true` (ок) или `false`.
299
- * `false` — провал: текст `required`, иначе `'Invalid'`.
300
- */
301
93
  validate?: (val: unknown) => string | boolean;
302
94
  }
303
- /**
304
- * Лёгкий хелпер контролируемых форм: хранит values/errors и фабрику `register`.
305
- * Не делает submit — только локальный стейт и валидацию на change.
306
- *
307
- * @template T - Форма как объект полей (ключи → значения).
308
- * @param initialValues - Начальные значения; ключи = имена полей.
309
- * @returns `values`, `errors`, `register`, `hasErrors`, `setValues`.
310
- *
311
- * @example
312
- * import {useForm} from 'altum/hooks';
313
- *
314
- * const {values, errors, register, hasErrors} = useForm({email: ''});
315
- * <TextField {...register('email', {required: 'Обязательно'})} error={errors.email} />
316
- */
317
95
  declare function useForm<T extends Record<string, unknown>>(initialValues: T): {
318
96
  values: T;
319
97
  errors: Record<string, string>;
@@ -325,5 +103,5 @@ declare function useForm<T extends Record<string, unknown>>(initialValues: T): {
325
103
  setValues: react.Dispatch<react.SetStateAction<T>>;
326
104
  };
327
105
 
328
- export { MOBILE_MEDIA_QUERY, REDUCED_MOTION_QUERY, useBodyScrollLock, useControlledState, useControlledStateWithCallback, useDocumentKeyDown, useEscapeKey, useFocusRestore, useFocusTrap, useForm, useInertSiblings, useLongPress, useMediaQuery, useOutsideClick, useOverlay, useOverlayPanel, usePrefersReducedMotion };
106
+ export { MOBILE_MEDIA_QUERY, REDUCED_MOTION_QUERY, useBodyScrollLock, useControlledState, useControlledStateWithCallback, useDocumentKeyDown, useEscapeKey, useFocusRestore, useFocusTrap, useForm, useInertSiblings, useLongPress, useMediaQuery, useNow, useOutsideClick, useOverlay, useOverlayPanel, usePrefersReducedMotion, usePresence };
329
107
  export type { DocumentKeyDownTarget, UseDocumentKeyDownOptions, UseEscapeKeyOptions, UseFocusTrapOptions, UseLongPressHandlers, UseLongPressOptions, UseOutsideClickOptions, UseOverlayOptions, UseOverlayPanelOptions, ValidationRules };