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.
- package/CHANGELOG.md +27 -0
- package/dist/base/As/As.js +1 -0
- package/dist/base/ButtonBase/ButtonBase.js +1 -1
- package/dist/base/ButtonBase/ButtonBase.module.css.js +1 -1
- package/dist/base/ChartBase/ChartBase.js +1 -1
- package/dist/base/ChartBase/ChartBase.module.css.js +1 -1
- package/dist/base/ChartBase/ChartCartesian.js +1 -0
- package/dist/base/ChartBase/ChartHoverBubble.js +1 -0
- package/dist/base/ChartBase/ChartHoverBubble.module.css.js +1 -0
- package/dist/base/ChartBase/ChartLegend.js +1 -0
- package/dist/base/ChartBase/ChartLegend.module.css.js +1 -0
- package/dist/base/ChartBase/ChartPlot.module.css.js +1 -0
- package/dist/base/ChartBase/ChartYGrid.js +1 -0
- package/dist/base/ChartBase/cartesian.js +1 -0
- package/dist/base/ChartBase/colors.js +1 -0
- package/dist/base/ChartBase/useChartWidth.js +1 -0
- package/dist/base/ChevronButton/ChevronButton.js +1 -0
- package/dist/base/DialogBase/DialogBase.js +1 -1
- package/dist/base/DialogBase/DialogBase.module.css.js +1 -1
- package/dist/base/FieldBase/FieldBase.js +1 -1
- package/dist/base/FieldBase/FieldBase.module.css.js +1 -1
- package/dist/base/FieldPopup/FieldPopup.js +1 -0
- package/dist/base/FieldPopup/FieldPopup.module.css.js +1 -0
- package/dist/base/Flex/Flex.js +1 -0
- package/dist/base/Flex/Flex.module.css.js +1 -0
- package/dist/base/PeriodHeader/PeriodHeader.js +1 -0
- package/dist/base/TextControl/TextControl.js +1 -0
- package/dist/base/ToggleControlBase/ToggleControlBase.js +1 -1
- package/dist/base/ToggleControlBase/ToggleControlBase.module.css.js +1 -1
- package/dist/base/ToggleGroupBase/ToggleGroupBase.js +1 -0
- package/dist/base/Type/Type.js +1 -0
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.module.css.js +1 -1
- package/dist/components/ActionList/ActionList.js +1 -1
- package/dist/components/ActionList/ActionList.module.css.js +1 -1
- package/dist/components/ActionSheetTrigger/ActionSheetTrigger.js +1 -1
- package/dist/components/ActionSheetTrigger/ActionSheetTrigger.module.css.js +1 -1
- package/dist/components/Alert/Alert.js +1 -1
- package/dist/components/Alert/Alert.module.css.js +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/components/AspectRatio/AspectRatio.module.css.js +1 -1
- package/dist/components/Attachment/Attachment.js +1 -1
- package/dist/components/Attachment/Attachment.module.css.js +1 -1
- package/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/Avatar/Avatar.module.css.js +1 -1
- package/dist/components/Backdrop/Backdrop.js +1 -1
- package/dist/components/Backdrop/Backdrop.module.css.js +1 -1
- package/dist/components/Badge/Badge.js +1 -1
- package/dist/components/Badge/Badge.module.css.js +1 -1
- package/dist/components/BarChart/BarChart.js +1 -1
- package/dist/components/BarChart/BarChart.module.css.js +1 -1
- package/dist/components/Box/Box.js +1 -1
- package/dist/components/Box/Box.module.css.js +1 -1
- package/dist/components/Bubble/Bubble.js +1 -1
- package/dist/components/Bubble/Bubble.module.css.js +1 -1
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.module.css.js +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.js +1 -1
- package/dist/components/Calendar/Calendar.context.js +1 -1
- package/dist/components/Calendar/Calendar.module.css.js +1 -1
- package/dist/components/Calendar/Calendar.slots.js +1 -1
- package/dist/components/Calendar/Calendar.types.js +1 -1
- package/dist/components/Calendar/Calendar.utils.js +1 -1
- package/dist/components/Calendar/Calendar.views.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.Event.js +1 -0
- package/dist/components/CalendarBoard/CalendarBoard.Event.module.css.js +1 -0
- package/dist/components/CalendarBoard/CalendarBoard.MonthView.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.Schedule.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.Schedule.module.css.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.TaskChip.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.YearView.js +2 -1
- package/dist/components/CalendarBoard/CalendarBoard.chrome.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.context.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.module.css.js +1 -1
- package/dist/components/CalendarBoard/calendar.schedule.js +1 -0
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Card/Card.module.css.js +1 -1
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/Checkbox/Checkbox.module.css.js +1 -0
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.module.css.js +1 -1
- package/dist/components/Collapse/Collapse.js +1 -1
- package/dist/components/Collapse/Collapse.module.css.js +1 -1
- package/dist/components/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/ColorSwatchGroup/ColorSwatchGroup.module.css.js +1 -1
- package/dist/components/CommandPalette/CommandPalette.js +1 -1
- package/dist/components/CommandPalette/CommandPalette.module.css.js +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
- package/dist/components/Container/Container.js +1 -1
- package/dist/components/Container/Container.module.css.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.Filter.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.List.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.Shell.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.Shell.module.css.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.module.css.js +1 -1
- package/dist/components/DateField/DateField.js +1 -0
- package/dist/components/DateField/DateField.utils.js +1 -0
- package/dist/components/DateRangeField/DateRangeField.js +1 -0
- package/dist/components/DateRangeField/DateRangeField.module.css.js +1 -0
- package/dist/components/DayStripCalendar/DayStripCalendar.js +1 -1
- package/dist/components/DayStripCalendar/DayStripCalendar.module.css.js +1 -1
- package/dist/components/DescriptionList/DescriptionList.js +1 -1
- package/dist/components/DescriptionList/DescriptionList.module.css.js +1 -1
- package/dist/components/DonutChart/DonutChart.js +1 -1
- package/dist/components/DonutChart/DonutChart.module.css.js +1 -1
- package/dist/components/Dropdown/Dropdown.js +1 -1
- package/dist/components/Dropdown/Dropdown.module.css.js +1 -1
- package/dist/components/Dropdown/DropdownMobileSheet.js +1 -1
- package/dist/components/EmptyState/EmptyState.js +1 -1
- package/dist/components/EmptyState/EmptyState.module.css.js +1 -1
- package/dist/components/FieldLabel/FieldLabel.js +1 -1
- package/dist/components/FieldLabel/FieldLabel.module.css.js +1 -1
- package/dist/components/Fieldset/Fieldset.js +1 -1
- package/dist/components/Fieldset/Fieldset.module.css.js +1 -1
- package/dist/components/FileList/FileList.js +1 -1
- package/dist/components/FileList/FileList.module.css.js +1 -1
- package/dist/components/FormMessage/FormMessage.js +1 -1
- package/dist/components/GrabHandle/GrabHandle.module.css.js +1 -1
- package/dist/components/Grid/Grid.js +1 -1
- package/dist/components/Grid/Grid.module.css.js +1 -1
- package/dist/components/Grid/Grid.utils.js +1 -1
- package/dist/components/ImageCrop/ImageCrop.js +1 -1
- package/dist/components/ImageCrop/ImageCrop.module.css.js +1 -1
- package/dist/components/ImageGallery/ImageGallery.js +1 -1
- package/dist/components/ImageGallery/ImageGallery.module.css.js +1 -1
- package/dist/components/ImageLightbox/ImageLightbox.js +1 -1
- package/dist/components/ImageLightbox/ImageLightbox.module.css.js +1 -1
- package/dist/components/Item/Item.js +1 -1
- package/dist/components/Item/Item.module.css.js +1 -1
- package/dist/components/Kbd/Kbd.js +1 -1
- package/dist/components/Kbd/Kbd.module.css.js +1 -1
- package/dist/components/Layout/ControlRow.js +1 -1
- package/dist/components/Layout/Inline.js +1 -1
- package/dist/components/Layout/Layout.js +1 -1
- package/dist/components/Layout/Layout.module.css.js +1 -1
- package/dist/components/Layout/LayoutItem.js +1 -1
- package/dist/components/Layout/Split.js +1 -1
- package/dist/components/Layout/Stack.js +1 -1
- package/dist/components/LineChart/LineChart.js +1 -1
- package/dist/components/LineChart/LineChart.module.css.js +1 -1
- package/dist/components/Link/Link.js +1 -1
- package/dist/components/Link/Link.module.css.js +1 -1
- package/dist/components/Listbox/Listbox.js +1 -1
- package/dist/components/Listbox/Listbox.module.css.js +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/components/Marker/Marker.js +1 -1
- package/dist/components/Marker/Marker.module.css.js +1 -1
- package/dist/components/MaskedField/MaskedField.js +1 -1
- package/dist/components/MaskedField/MaskedField.module.css.js +1 -1
- package/dist/components/Media/Media.js +1 -1
- package/dist/components/Media/Media.module.css.js +1 -1
- package/dist/components/Menu/Menu.js +1 -1
- package/dist/components/Menu/Menu.module.css.js +1 -1
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/Modal/Modal.module.css.js +1 -1
- package/dist/components/Notification/Notification.js +1 -1
- package/dist/components/Notification/Notification.module.css.js +1 -1
- package/dist/components/Notification/toast.js +1 -1
- package/dist/components/NumberField/NumberField.js +1 -1
- package/dist/components/NumberField/NumberField.module.css.js +1 -1
- package/dist/components/Overflow/Overflow.js +1 -1
- package/dist/components/Overflow/Overflow.module.css.js +1 -1
- package/dist/components/Overflow/OverflowActionsMode.js +1 -1
- package/dist/components/Overflow/OverflowMeasure.js +1 -1
- package/dist/components/Overflow/OverflowMore.js +1 -0
- package/dist/components/Overlay/Overlay.Dismiss.js +1 -1
- package/dist/components/Overlay/Overlay.Positioner.js +1 -1
- package/dist/components/Overlay/Overlay.js +1 -1
- package/dist/components/Overlay/Overlay.module.css.js +1 -1
- package/dist/components/Overlay/Overlay.types.js +1 -1
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/Pagination/Pagination.module.css.js +1 -1
- package/dist/components/PasswordField/PasswordField.js +1 -1
- package/dist/components/PasswordField/PasswordField.module.css.js +1 -1
- package/dist/components/PinInput/PinInput.js +1 -1
- package/dist/components/PinInput/PinInput.module.css.js +1 -1
- package/dist/components/Popover/Popover.js +1 -1
- package/dist/components/Popover/Popover.module.css.js +1 -1
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Progress/Progress.module.css.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.module.css.js +1 -1
- package/dist/components/Radio/Radio.js +1 -1
- package/dist/components/Radio/Radio.module.css.js +1 -0
- package/dist/components/Rating/Rating.js +1 -1
- package/dist/components/Rating/Rating.module.css.js +1 -1
- package/dist/components/RelativeTime/RelativeTime.js +1 -1
- package/dist/components/SafeArea/SafeArea.module.css.js +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +1 -1
- package/dist/components/ScrollArea/ScrollArea.module.css.js +1 -1
- package/dist/components/SearchField/SearchField.js +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Select/Select.module.css.js +1 -1
- package/dist/components/SelectionGroup/SelectionGroup.js +1 -1
- package/dist/components/Separator/Separator.js +1 -1
- package/dist/components/Separator/Separator.module.css.js +1 -1
- package/dist/components/Sheet/Sheet.js +1 -1
- package/dist/components/Sheet/Sheet.module.css.js +1 -1
- package/dist/components/Sidebar/Sidebar.js +1 -1
- package/dist/components/Sidebar/Sidebar.module.css.js +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Skeleton/Skeleton.module.css.js +1 -1
- package/dist/components/SkipLink/SkipLink.module.css.js +1 -1
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Slider/Slider.module.css.js +1 -1
- package/dist/components/SortableList/SortableList.js +1 -1
- package/dist/components/SortableList/SortableList.module.css.js +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.module.css.js +1 -1
- package/dist/components/StatBadge/StatBadge.js +1 -1
- package/dist/components/StatBadge/StatBadge.module.css.js +1 -1
- package/dist/components/Steps/Steps.js +1 -1
- package/dist/components/Steps/Steps.module.css.js +1 -1
- package/dist/components/SuggestField/SuggestField.js +1 -1
- package/dist/components/SuggestField/useSuggestInput.js +1 -0
- package/dist/components/SwipeToAction/SwipeToAction.js +1 -1
- package/dist/components/SwipeToAction/SwipeToAction.module.css.js +1 -1
- package/dist/components/Switch/Switch.js +1 -1
- package/dist/components/Switch/Switch.module.css.js +1 -1
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/Table.module.css.js +1 -1
- package/dist/components/Table/TableRow.js +1 -1
- package/dist/components/Table/TableView.js +1 -1
- package/dist/components/Tabs/Tabs.js +1 -1
- package/dist/components/Tabs/Tabs.module.css.js +1 -1
- package/dist/components/Text/Text.js +1 -1
- package/dist/components/Text/Text.module.css.js +1 -1
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextareaField/TextareaField.js +1 -1
- package/dist/components/ThemeProvider/ThemeProvider.module.css.js +1 -1
- package/dist/components/TimeField/TimeField.js +1 -0
- package/dist/components/TimeField/TimeField.module.css.js +1 -0
- package/dist/components/Timeline/Timeline.js +1 -1
- package/dist/components/Timeline/Timeline.module.css.js +1 -1
- package/dist/components/Title/Title.js +1 -1
- package/dist/components/Title/Title.module.css.js +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tooltip/Tooltip.module.css.js +1 -1
- package/dist/components/UploadZone/UploadZone.js +1 -1
- package/dist/components/UploadZone/UploadZone.module.css.js +1 -1
- package/dist/components/VirtualList/VirtualList.js +1 -1
- package/dist/components/VirtualList/VirtualList.module.css.js +1 -1
- package/dist/components/VirtualList/VirtualList.utils.js +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/components/WheelTimePicker/WheelTimePicker.js +1 -0
- package/dist/components/WheelTimePicker/WheelTimePicker.module.css.js +1 -0
- package/dist/entries/hooks.js +1 -1
- package/dist/entries/icons.js +1 -1
- package/dist/entries/utils.js +1 -1
- package/dist/hooks/useAutoResize.js +1 -0
- package/dist/hooks/useDigitMask.js +1 -0
- package/dist/hooks/useFallbackId.js +1 -0
- package/dist/hooks/useFieldControl.js +1 -0
- package/dist/hooks/useFileDrop.js +1 -0
- package/dist/hooks/useNow.js +1 -0
- package/dist/hooks/useOtpInputs.js +1 -0
- package/dist/hooks/useOverflowEdges.js +1 -0
- package/dist/hooks/usePresence.js +1 -0
- package/dist/hooks/useRequiredContext.js +1 -0
- package/dist/hooks/useRovingList.js +1 -0
- package/dist/hooks/useScrollFocusedChildIntoView.js +1 -0
- package/dist/hooks/useTrackThumb.js +1 -0
- package/dist/icons/createIcon.js +1 -0
- package/dist/icons/icons/IconAlarm.js +1 -10
- package/dist/icons/icons/IconAlignCenter.js +1 -3
- package/dist/icons/icons/IconAlignJustify.js +1 -3
- package/dist/icons/icons/IconAlignLeft.js +1 -3
- package/dist/icons/icons/IconAlignRight.js +1 -3
- package/dist/icons/icons/IconAnchor.js +1 -5
- package/dist/icons/icons/IconArchive.js +1 -5
- package/dist/icons/icons/IconArrowDown.js +1 -3
- package/dist/icons/icons/IconArrowLeft.js +1 -3
- package/dist/icons/icons/IconArrowRight.js +1 -3
- package/dist/icons/icons/IconArrowThinDown.js +1 -3
- package/dist/icons/icons/IconArrowThinLeft.js +1 -2
- package/dist/icons/icons/IconArrowThinRight.js +1 -3
- package/dist/icons/icons/IconArrowThinUp.js +1 -2
- package/dist/icons/icons/IconArrowUp.js +1 -3
- package/dist/icons/icons/IconArticle.js +1 -4
- package/dist/icons/icons/IconBackspace.js +1 -3
- package/dist/icons/icons/IconBasket.js +1 -4
- package/dist/icons/icons/IconBasketball.js +1 -7
- package/dist/icons/icons/IconBatteryEmpty.js +1 -2
- package/dist/icons/icons/IconBatteryFull.js +1 -4
- package/dist/icons/icons/IconBatteryLow.js +1 -3
- package/dist/icons/icons/IconBatteryMedium.js +1 -3
- package/dist/icons/icons/IconBell.js +1 -8
- package/dist/icons/icons/IconBlog.js +1 -4
- package/dist/icons/icons/IconBluetooth.js +1 -4
- package/dist/icons/icons/IconBold.js +1 -3
- package/dist/icons/icons/IconBookmark.js +1 -3
- package/dist/icons/icons/IconBookmarks.js +1 -4
- package/dist/icons/icons/IconBox.js +1 -5
- package/dist/icons/icons/IconBriefcase.js +1 -4
- package/dist/icons/icons/IconBrightnessLow.js +1 -10
- package/dist/icons/icons/IconBrightnessMax.js +1 -9
- package/dist/icons/icons/IconBrightnessMedium.js +1 -9
- package/dist/icons/icons/IconBroadcast.js +1 -10
- package/dist/icons/icons/IconBrowser.js +1 -2
- package/dist/icons/icons/IconBrowserUpload.js +1 -5
- package/dist/icons/icons/IconBrush.js +1 -7
- package/dist/icons/icons/IconCalendar.js +1 -4
- package/dist/icons/icons/IconCamcorder.js +1 -3
- package/dist/icons/icons/IconCamera.js +1 -8
- package/dist/icons/icons/IconCard.js +1 -3
- package/dist/icons/icons/IconCart.js +1 -6
- package/dist/icons/icons/IconChecklist.js +1 -6
- package/dist/icons/icons/IconCheckmark.js +1 -2
- package/dist/icons/icons/IconChevronDown.js +1 -2
- package/dist/icons/icons/IconChevronLeft.js +1 -2
- package/dist/icons/icons/IconChevronRight.js +1 -2
- package/dist/icons/icons/IconChevronUp.js +1 -2
- package/dist/icons/icons/IconClipboard.js +1 -4
- package/dist/icons/icons/IconClock.js +1 -3
- package/dist/icons/icons/IconClockwise.js +1 -4
- package/dist/icons/icons/IconCloud.js +1 -6
- package/dist/icons/icons/IconCloudDownload.js +1 -9
- package/dist/icons/icons/IconCloudUpload.js +1 -9
- package/dist/icons/icons/IconCode.js +1 -4
- package/dist/icons/icons/IconContract.js +1 -8
- package/dist/icons/icons/IconContract2.js +1 -4
- package/dist/icons/icons/IconConversation.js +1 -7
- package/dist/icons/icons/IconCopy.js +1 -5
- package/dist/icons/icons/IconCrop.js +1 -6
- package/dist/icons/icons/IconCross.js +1 -3
- package/dist/icons/icons/IconCrosshair.js +1 -4
- package/dist/icons/icons/IconCutlery.js +1 -7
- package/dist/icons/icons/IconDeviceDesktop.js +1 -4
- package/dist/icons/icons/IconDeviceMobile.js +1 -3
- package/dist/icons/icons/IconDeviceTablet.js +1 -3
- package/dist/icons/icons/IconDirection.js +1 -3
- package/dist/icons/icons/IconDisc.js +1 -8
- package/dist/icons/icons/IconDocument.js +1 -5
- package/dist/icons/icons/IconDocumentDelete.js +1 -5
- package/dist/icons/icons/IconDocumentEdit.js +1 -4
- package/dist/icons/icons/IconDocumentNew.js +1 -2
- package/dist/icons/icons/IconDocumentRemove.js +1 -3
- package/dist/icons/icons/IconDot.js +1 -2
- package/dist/icons/icons/IconDots2.js +1 -4
- package/dist/icons/icons/IconDots3.js +1 -5
- package/dist/icons/icons/IconDownload.js +1 -3
- package/dist/icons/icons/IconDragHandle.js +1 -1
- package/dist/icons/icons/IconDuplicate.js +1 -3
- package/dist/icons/icons/IconEnter.js +1 -4
- package/dist/icons/icons/IconExit.js +1 -4
- package/dist/icons/icons/IconExpand.js +1 -8
- package/dist/icons/icons/IconExpand2.js +1 -4
- package/dist/icons/icons/IconExperiment.js +1 -7
- package/dist/icons/icons/IconExport.js +1 -6
- package/dist/icons/icons/IconFeed.js +1 -6
- package/dist/icons/icons/IconFlag.js +1 -6
- package/dist/icons/icons/IconFlashlight.js +1 -4
- package/dist/icons/icons/IconFolder.js +1 -2
- package/dist/icons/icons/IconFolderOpen.js +1 -3
- package/dist/icons/icons/IconForward.js +1 -5
- package/dist/icons/icons/IconGaming.js +1 -14
- package/dist/icons/icons/IconGear.js +1 -21
- package/dist/icons/icons/IconGraduation.js +1 -6
- package/dist/icons/icons/IconGraphBar.js +1 -3
- package/dist/icons/icons/IconGraphLine.js +1 -4
- package/dist/icons/icons/IconGraphPie.js +1 -4
- package/dist/icons/icons/IconHeadset.js +1 -8
- package/dist/icons/icons/IconHeart.js +1 -8
- package/dist/icons/icons/IconHelp.js +1 -12
- package/dist/icons/icons/IconHome.js +1 -4
- package/dist/icons/icons/IconHourglass.js +1 -6
- package/dist/icons/icons/IconInbox.js +1 -6
- package/dist/icons/icons/IconInformation.js +1 -6
- package/dist/icons/icons/IconItalic.js +1 -3
- package/dist/icons/icons/IconJewel.js +1 -4
- package/dist/icons/icons/IconLifting.js +1 -3
- package/dist/icons/icons/IconLightbulb.js +1 -7
- package/dist/icons/icons/IconLink.js +1 -6
- package/dist/icons/icons/IconLinkBroken.js +1 -8
- package/dist/icons/icons/IconList.js +1 -7
- package/dist/icons/icons/IconLoading.js +1 -12
- package/dist/icons/icons/IconLocation.js +1 -5
- package/dist/icons/icons/IconLock.js +1 -2
- package/dist/icons/icons/IconLockOpen.js +1 -3
- package/dist/icons/icons/IconMail.js +1 -9
- package/dist/icons/icons/IconMap.js +1 -8
- package/dist/icons/icons/IconMediaLoop.js +1 -3
- package/dist/icons/icons/IconMediaNext.js +1 -3
- package/dist/icons/icons/IconMediaPause.js +1 -2
- package/dist/icons/icons/IconMediaPlay.js +1 -2
- package/dist/icons/icons/IconMediaPrevious.js +1 -3
- package/dist/icons/icons/IconMediaRecord.js +1 -3
- package/dist/icons/icons/IconMediaShuffle.js +1 -8
- package/dist/icons/icons/IconMediaStop.js +1 -2
- package/dist/icons/icons/IconMedical.js +1 -4
- package/dist/icons/icons/IconMenu.js +1 -3
- package/dist/icons/icons/IconMessage.js +1 -5
- package/dist/icons/icons/IconMeter.js +1 -5
- package/dist/icons/icons/IconMicrophone.js +1 -8
- package/dist/icons/icons/IconMinus.js +1 -1
- package/dist/icons/icons/IconMonitor.js +1 -2
- package/dist/icons/icons/IconMove.js +1 -7
- package/dist/icons/icons/IconMusic.js +1 -8
- package/dist/icons/icons/IconNetwork1.js +1 -6
- package/dist/icons/icons/IconNetwork2.js +1 -6
- package/dist/icons/icons/IconNetwork3.js +1 -8
- package/dist/icons/icons/IconNetwork4.js +1 -7
- package/dist/icons/icons/IconNetwork5.js +1 -4
- package/dist/icons/icons/IconPamphlet.js +1 -6
- package/dist/icons/icons/IconPaperclip.js +1 -5
- package/dist/icons/icons/IconPencil.js +1 -4
- package/dist/icons/icons/IconPhone.js +1 -7
- package/dist/icons/icons/IconPhoto.js +1 -4
- package/dist/icons/icons/IconPhotoGroup.js +1 -6
- package/dist/icons/icons/IconPill.js +1 -8
- package/dist/icons/icons/IconPin.js +1 -8
- package/dist/icons/icons/IconPlus.js +1 -2
- package/dist/icons/icons/IconPower.js +1 -4
- package/dist/icons/icons/IconPreview.js +1 -8
- package/dist/icons/icons/IconPreviewOff.js +1 -8
- package/dist/icons/icons/IconPrint.js +1 -5
- package/dist/icons/icons/IconPulse.js +1 -4
- package/dist/icons/icons/IconQuestion.js +1 -6
- package/dist/icons/icons/IconReply.js +1 -4
- package/dist/icons/icons/IconReplyAll.js +1 -6
- package/dist/icons/icons/IconReturn.js +1 -3
- package/dist/icons/icons/IconRetweet.js +1 -5
- package/dist/icons/icons/IconRocket.js +1 -11
- package/dist/icons/icons/IconScale.js +1 -6
- package/dist/icons/icons/IconSearch.js +1 -6
- package/dist/icons/icons/IconShoppingBag.js +1 -3
- package/dist/icons/icons/IconSkip.js +1 -5
- package/dist/icons/icons/IconStack.js +1 -5
- package/dist/icons/icons/IconStar.js +1 -5
- package/dist/icons/icons/IconStopwatch.js +1 -6
- package/dist/icons/icons/IconStore.js +1 -6
- package/dist/icons/icons/IconSuitcase.js +1 -3
- package/dist/icons/icons/IconSwap.js +1 -5
- package/dist/icons/icons/IconTag.js +1 -4
- package/dist/icons/icons/IconTagDelete.js +1 -5
- package/dist/icons/icons/IconTags.js +1 -7
- package/dist/icons/icons/IconThumbsDown.js +1 -7
- package/dist/icons/icons/IconThumbsUp.js +1 -7
- package/dist/icons/icons/IconTicket.js +1 -8
- package/dist/icons/icons/IconTimeReverse.js +1 -5
- package/dist/icons/icons/IconToDo.js +1 -5
- package/dist/icons/icons/IconToggles.js +1 -9
- package/dist/icons/icons/IconTrash.js +1 -6
- package/dist/icons/icons/IconTrophy.js +1 -7
- package/dist/icons/icons/IconUpload.js +1 -4
- package/dist/icons/icons/IconUser.js +1 -5
- package/dist/icons/icons/IconUserGroup.js +1 -9
- package/dist/icons/icons/IconUserId.js +1 -7
- package/dist/icons/icons/IconVibrate.js +1 -7
- package/dist/icons/icons/IconViewApps.js +1 -14
- package/dist/icons/icons/IconViewList.js +1 -5
- package/dist/icons/icons/IconViewListLarge.js +1 -6
- package/dist/icons/icons/IconViewThumb.js +1 -6
- package/dist/icons/icons/IconVolumeFull.js +1 -8
- package/dist/icons/icons/IconVolumeLow.js +1 -5
- package/dist/icons/icons/IconVolumeMedium.js +1 -6
- package/dist/icons/icons/IconVolumeOff.js +1 -6
- package/dist/icons/icons/IconWallet.js +1 -5
- package/dist/icons/icons/IconWarning.js +1 -4
- package/dist/icons/icons/IconWeb.js +1 -12
- package/dist/icons/icons/IconWeight.js +1 -3
- package/dist/icons/icons/IconWifi.js +1 -7
- package/dist/icons/icons/IconWrong.js +1 -3
- package/dist/icons/icons/IconZoomIn.js +1 -5
- package/dist/icons/icons/IconZoomOut.js +1 -4
- package/dist/index.js +1 -1
- package/dist/locales/en.js +1 -1
- package/dist/locales/localeContext.js +1 -1
- package/dist/locales/messages.js +1 -0
- package/dist/locales/ru.js +1 -1
- package/dist/locales/translate.js +1 -1
- package/dist/styles/ControlTrack.module.css.js +1 -1
- package/dist/styles/MediaItem.module.css.js +1 -1
- package/dist/styles/calendarChrome.module.css.js +1 -0
- package/dist/styles/chartSeries.module.css.js +1 -0
- package/dist/styles/fieldMessage.module.css.js +1 -0
- package/dist/styles/flexChild.module.css.js +1 -0
- package/dist/styles/overlayClose.module.css.js +1 -0
- package/dist/styles/scroll.module.css.js +1 -0
- package/dist/styles/srOnly.module.css.js +1 -0
- package/dist/styles/status.module.css.js +1 -0
- package/dist/styles/textLink.module.css.js +1 -0
- package/dist/styles/toggleBox.module.css.js +1 -0
- package/dist/styles/toggleGroup.module.css.js +1 -0
- package/dist/styles/type.module.css.js +1 -0
- package/dist/styles/unstyledControl.module.css.js +1 -0
- package/dist/utils/a11y.js +1 -1
- package/dist/utils/clamp.js +1 -0
- package/dist/utils/commitMaskedValue.js +1 -0
- package/dist/utils/fieldPlaceholder.js +1 -0
- package/dist/utils/formatBytes.js +1 -0
- package/dist/utils/implicitAs.js +1 -0
- package/dist/utils/injectCss.js +1 -0
- package/dist/utils/keyboardShortcut.js +1 -1
- package/dist/utils/keyboardShortcut.match.js +1 -0
- package/dist/utils/liveStatus.js +1 -0
- package/dist/utils/overlayPurpose.js +1 -1
- package/dist/utils/preventWhen.js +1 -0
- package/dist/utils/renderChildren.js +1 -1
- package/dist/utils/slot.js +1 -1
- package/dist/utils/toggleSet.js +1 -0
- package/dist/utils/visitElementTree.js +1 -0
- package/docs/COMPONENTS.md +49 -56
- package/docs/ICONS.md +1 -1
- package/docs/LAYOUT.md +3 -3
- package/docs/THEMING.md +15 -17
- package/package.json +1 -1
- package/types/entries/hooks.d.ts +8 -230
- package/types/entries/icons.d.ts +209 -1415
- package/types/entries/utils.d.ts +20 -364
- package/types/index.d.ts +487 -3710
- package/dist/base/ChartBase/ChartBase.utils.js +0 -1
- package/dist/components/Button/Button.module.css.js +0 -1
- package/dist/components/ButtonIcon/ButtonIcon.module.css.js +0 -1
- package/dist/components/Calendar/calendar.schedule.js +0 -1
- package/dist/components/CalendarBoard/CalendarBoard.EventBar.js +0 -1
- package/dist/components/CalendarBoard/CalendarBoard.EventBar.module.css.js +0 -1
- package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.js +0 -1
- package/dist/components/CalendarBoard/CalendarBoard.TimedEvent.module.css.js +0 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.module.css.js +0 -1
- package/dist/components/DatePicker/DatePicker.js +0 -1
- package/dist/components/DatePicker/DatePicker.utils.js +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.css.js +0 -1
- package/dist/components/FormMessage/FormMessage.module.css.js +0 -1
- package/dist/components/Layout/Layout.types.js +0 -1
- package/dist/components/Layout/flexPrimitives.module.css.js +0 -1
- package/dist/components/Layout/layoutClasses.js +0 -1
- package/dist/components/Overlay/Overlay.Focus.js +0 -1
- package/dist/components/Overlay/Overlay.Root.js +0 -1
- package/dist/components/SearchField/SearchField.module.css.js +0 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.css.js +0 -1
- package/dist/components/SelectionGroup/SelectionGroup.module.css.js +0 -1
- package/dist/components/SuggestField/SuggestField.module.css.js +0 -1
- package/dist/components/Table/Table.slots.js +0 -1
- package/dist/components/Table/TableContext.js +0 -1
- package/dist/components/TextField/TextField.module.css.js +0 -1
- package/dist/components/TextareaField/TextareaField.module.css.js +0 -1
- package/dist/components/TimePicker/TimePicker.js +0 -1
- package/dist/components/TimePicker/TimePicker.module.css.js +0 -1
- package/dist/components/VirtualList/VirtualListInner.js +0 -1
- package/dist/components/VirtualList/VirtualListItemCell.js +0 -1
- 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 | Размер
|
|
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 | Ширины двойного кольца кнопки
|
|
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` (
|
|
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
|
-
Светлая заливка деструктивной кнопки
|
|
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: `#
|
|
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 `#
|
|
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: `#
|
|
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
|
-
Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше.
|
|
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
|
|
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
|
|
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
|
|
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` `#
|
|
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
package/types/entries/hooks.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
288
|
-
|
|
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 };
|