altum 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -4
- package/README.md +10 -10
- 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/DatePicker/DatePicker.js +1 -1
- package/dist/components/DatePicker/DatePicker.utils.js +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.css.js +1 -1
- 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 -0
- package/dist/components/Menu/Menu.module.css.js +1 -0
- 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 -0
- package/dist/components/Overflow/Overflow.module.css.js +1 -0
- package/dist/components/Overflow/OverflowActionsMode.js +1 -0
- package/dist/components/Overflow/OverflowMeasure.js +1 -0
- 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/TableRowActions.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/TimePicker/TimePicker.js +1 -1
- package/dist/components/TimePicker/TimePicker.module.css.js +1 -1
- 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/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 -0
- package/dist/styles/MediaItem.module.css.js +1 -0
- 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/controlTrack.js +1 -1
- 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 +55 -66
- package/docs/ICONS.md +6 -5
- package/docs/LAYOUT.md +5 -5
- package/docs/THEMING.md +37 -29
- package/package.json +5 -5
- 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 +541 -3957
- package/dist/base/ChartBase/ChartBase.utils.js +0 -1
- package/dist/base/ListOptionBase/ListOptionBase.js +0 -1
- package/dist/base/ListOptionBase/ListOptionBase.module.css.js +0 -1
- package/dist/base/MediaRowBase/MediaRowBase.js +0 -1
- package/dist/base/MediaRowBase/MediaRowBase.module.css.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/ContextMenu/ContextMenu.js +0 -1
- package/dist/components/ContextMenu/ContextMenu.module.css.js +0 -1
- package/dist/components/DropdownMenu/DropdownMenu.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/OverflowActions/OverflowActions.js +0 -1
- package/dist/components/OverflowActions/OverflowActions.module.css.js +0 -1
- package/dist/components/OverflowGroup/OverflowGroup.js +0 -1
- package/dist/components/OverflowGroup/OverflowGroup.module.css.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/VirtualList/VirtualListInner.js +0 -1
- package/dist/components/VirtualList/VirtualListItemCell.js +0 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +0 -1
- package/dist/utils/controlTrack.module.css.js +0 -1
package/docs/COMPONENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Компоненты altum
|
|
1
|
+
# Компоненты altum
|
|
2
2
|
|
|
3
3
|
Краткий справочник публичного API. Установка и точки входа — [README](../README.md). Токены — [THEMING.md](./THEMING.md). Раскладка — [LAYOUT.md](./LAYOUT.md). Иконки — [ICONS.md](./ICONS.md).
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Link:** единственный элемент-потомок получает стили через Slot (роутерный `Link`). Смена HTML-тега у кнопок — `as` (`button` | `a`). **`Dropdown`** / **`Popover`**: якорь — `renderTrigger(props, ref)`; **`Tooltip`**: элемент-child или render-prop. Без пропа `asChild`.
|
|
6
6
|
|
|
7
7
|
Оверлеи: кнопки — в `Modal.Footer` / `Modal.FormFooter` / `Sheet.Footer`, sibling к `Body`, не внутри скролла.
|
|
8
8
|
|
|
@@ -12,16 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
| Компонент | Описание |
|
|
14
14
|
|-----------|----------|
|
|
15
|
-
| **
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
18
|
-
| **
|
|
19
|
-
| **
|
|
20
|
-
| **
|
|
21
|
-
| **
|
|
22
|
-
| **ActionList** | Клавиатурный список действий на **Listbox** + **SearchField**: группы, сочетание клавиш, `onAction`. |
|
|
23
|
-
| **OverflowGroup** | Лишние потомки по ширине уходят за ⋯ в `Dropdown`. `fit` `content` \| `container`, `gap`, `size`, `maxVisible`. |
|
|
24
|
-
| **ActionSheetTrigger** | Долгое нажатие → OverflowActions; `showOverflowTrigger` (по умолчанию `false`) — на touch+mobile ⋯ скрыт; пульс при срабатывании. |
|
|
15
|
+
| **Button** | Кнопка: `variant` (`primary` / `tinted` / `secondary` / `ghost` / `link`) × `status` (`default` / `danger`), иконки, `loading`, `fullWidth`, `shortcut`. |
|
|
16
|
+
| **ButtonIcon** | Иконка-кнопка; `circle` / `square`; по умолчанию `variant="ghost"`. |
|
|
17
|
+
| **ButtonGroup** | Составная группа (`ButtonGroup` + `ButtonGroup.Item`): `mode` `button` (независимые, выбранность через `active` на Item) / `toggle` (один выбранный, слайдер) / `multi_toggle` (несколько); `itemFit` `equal` \| `content`; `width` `auto` \| `full`; `variant` / `status` / `size` / `borderless` на Root. |
|
|
18
|
+
| **SegmentedControl** | Обёртка над `ButtonGroup` (`mode="toggle"`, `width="full"`): `options` + `value` / `onChange`; `itemFit` `equal` \| `content`; варианты `primary` / `tinted` / `secondary` (по умолчанию) / `ghost` / `plain`. |
|
|
19
|
+
| **Overflow** | Лишние пункты за ⋯ в `Dropdown`. `Overflow.Item` — панель действий; прочие дети — измерение ширины. `longPress` открывает меню долгим нажатием (хост — **`ActionSheetTrigger`**). |
|
|
20
|
+
| **ActionList** | Список действий: `items` / `groups` (`groupId`), `filterable`, `onAction`. |
|
|
21
|
+
| **ActionSheetTrigger** | Хост long-press → `Overflow` на тач-экранах; опциональная кнопка ⋯ на десктопе (`showOverflowTrigger`). |
|
|
25
22
|
|
|
26
23
|
---
|
|
27
24
|
|
|
@@ -29,8 +26,7 @@
|
|
|
29
26
|
|
|
30
27
|
| Компонент | Описание |
|
|
31
28
|
|-----------|----------|
|
|
32
|
-
| **
|
|
33
|
-
| **TextField** | Однострочное поле на **FieldBase**. |
|
|
29
|
+
| **TextField** | Однострочное поле. `keepPlaceholder` — не скрывать placeholder при фокусе пустого поля. |
|
|
34
30
|
| **PasswordField** | Пароль на базе TextField: показать/скрыть, опциональный индикатор сложности. |
|
|
35
31
|
| **SearchField** | Обёртка над `TextField` с `labelPlacement="none"` по умолчанию и иконкой поиска (`onClear` от TextField). |
|
|
36
32
|
| **TextareaField** | Многострочное поле на **FieldBase**; авто-рост высоты. |
|
|
@@ -38,25 +34,23 @@
|
|
|
38
34
|
| **MaskedField** | Поле с маской ввода (телефон, дата и т.п.) на базе `TextField`; опционально `maskAsPlaceholder`. Не переопределяйте `padding` / `font-size` на inner `input`. |
|
|
39
35
|
| **PinInput** | PIN / OTP (2FA, код из SMS). |
|
|
40
36
|
| **Rating** | Оценка звёздами. |
|
|
41
|
-
| **FormMessage**
|
|
42
|
-
| **
|
|
43
|
-
| **CustomSelect** | Составной примитив select/combobox (`Root` / `Filter` / `List` / `Shell`): Dropdown + Listbox; `groups` + `groupId`; `selectionMode`: `single` \| `multiple` \| `path`; `value` / `onChange`. |
|
|
44
|
-
| **Select** | Составной select на CustomSelect: `Root` / `Trigger` / `Panel` / `Filter` / `List`; `value` / `onChange`; множественный выбор — `Chips` / `Chip`. |
|
|
37
|
+
| **FormMessage** | Подсказка / ошибка / успех под полем; `variant` `hint` / `error` / `success`. |
|
|
38
|
+
| **Select** | Поле выбора: `options`, `value` / `onChange`, `label`, `filterable`; `selectionMode="multiple"` рисует chips. |
|
|
45
39
|
| **SuggestField** | Автодополнение на TextField; chrome от **`FieldBaseProps`** (`label`, `onClear`, `prefix`, …). |
|
|
46
|
-
| **Checkbox** | `size`, `labelSide`, `indeterminate`, `mode` (`default` \| `task`), `align
|
|
47
|
-
| **Switch** | `size`, `labelSide`. |
|
|
40
|
+
| **Checkbox** | `size`, `labelSide`, `indeterminate`, `mode` (`default` \| `task`), `align`, `labelVisibility`, `onCheckedChange(checked)` (native `onChange` сохраняется). |
|
|
41
|
+
| **Switch** | `size`, `labelSide`; `onChange(checked)` и алиас `onCheckedChange`. |
|
|
48
42
|
| **CheckboxGroup** | Группа чекбоксов с управляемым `value: string[]`. |
|
|
49
|
-
| **Radio** / **RadioGroup** | Радиокнопка и
|
|
43
|
+
| **Radio** / **RadioGroup** | Радиокнопка и группа; `labelSide`, `onCheckedChange` на `Radio`. |
|
|
44
|
+
| **SelectionGroup** | Без собственного chrome: составной `Root` / `List` / `Item` / `Panel` (roving focus). На нём собраны **Tabs** и **ColorSwatchGroup**. Внешний вид — через `className`. |
|
|
50
45
|
| **Slider** | Ползунок: `value: number` или диапазон `value: [from, to]` (два thumb). |
|
|
51
|
-
| **DatePicker** | Выбор даты: MaskedField + календарь; по умолчанию prefix — `
|
|
52
|
-
| **DateRangePicker** | Диапазон дат (`value`/`onChange` как `{ start?, end? }`
|
|
53
|
-
| **TimePicker**
|
|
54
|
-
| **Calendar** | Составной: `Provider` / `Root` / `Header` / `Title` / `Nav` / `Body`. `selectionMode` `single` \| `range` на Provider.
|
|
55
|
-
| **DayStripCalendar** | Горизонтальная полоса
|
|
46
|
+
| **DatePicker** | Выбор даты: MaskedField + календарь; по умолчанию prefix — `FieldBaseIcon` + календарь; chrome от **`FieldBaseProps`**. |
|
|
47
|
+
| **DateRangePicker** | Диапазон дат (`value`/`onChange` как `{ start?, end? }`); chrome от **`FieldBaseProps`**; `layout` `single` / `split`. |
|
|
48
|
+
| **TimePicker** | Поле времени с маской `HH:MM` и выпадающей панелью; по умолчанию prefix — иконка часов. |
|
|
49
|
+
| **Calendar** | Составной: `Provider` / `Root` / `Header` / `Title` / `Nav` / `Body`. `selectionMode` `single` \| `range` на Provider. `value` — `Date` или `DateRangeValue`. |
|
|
50
|
+
| **DayStripCalendar** | Горизонтальная полоса дней: `daysCount`, prev/next выбирают соседний день, `value` / `onChange`, `renderDay`. |
|
|
56
51
|
| **ColorSwatchGroup** | Выбор цвета из набора цветных точек. |
|
|
57
52
|
| **UploadZone** | Зона перетаскивания файлов для загрузки. |
|
|
58
|
-
| **Fieldset** |
|
|
59
|
-
| **FieldLabel** | Лейбл + контент: `layout` vertical / horizontal; `align` start / center / baseline; `justify` start / between. |
|
|
53
|
+
| **Fieldset** | Группа полей: `legend` / `description` / `hint` / `footer` / `gap`; содержимое — `children`. Варианты `default` / `card` / `plain`. |
|
|
60
54
|
|
|
61
55
|
---
|
|
62
56
|
|
|
@@ -64,18 +58,15 @@
|
|
|
64
58
|
|
|
65
59
|
| Компонент | Описание |
|
|
66
60
|
|-----------|----------|
|
|
67
|
-
| **
|
|
68
|
-
| **
|
|
69
|
-
| **
|
|
70
|
-
| **
|
|
71
|
-
| **
|
|
72
|
-
| **
|
|
73
|
-
| **
|
|
74
|
-
| **
|
|
75
|
-
| **
|
|
76
|
-
| **Tooltip** | Подсказка на **`Overlay`** (`variant="popover"`, `triggerMode="hover"`); триггер через `renderChildren` (`asChild` / render-prop); `openDelay` / `closeDelay`, wrap, arrow. Мьютекс наведения: не больше одной подсказки одновременно при быстром переходе между триггерами. |
|
|
77
|
-
| **Popover** | Плавающий слой на **`Overlay`** (`variant="popover"`). Составной: `Trigger` (`asChild` / render-prop) + `Content` (`panel`/`tooltip`/`plain`, `arrow`); `trigger` click/hover/manual. |
|
|
78
|
-
| **CommandPalette** | Палитра Cmd+K: явный `ActionList` в `List` (без автосбора команд). |
|
|
61
|
+
| **Modal** | Составной диалог: `Header` / `Title` / `Close` / `Body` / `Footer` / **`FormFooter`**. `open` / `onOpenChange`. |
|
|
62
|
+
| **ConfirmDialog** | Готовый диалог на **`Modal`**: отмена + подтверждение, `confirmLabel`, `secondaryAction`, `status="danger"`, `onOpenChange`. |
|
|
63
|
+
| **Sheet** | Панель: `Header` / `Title` / `Close` / `Body` / `Footer`; `mode` / `direction` / `backdrop` / `showHandle`. `open` / `onOpenChange`. |
|
|
64
|
+
| **ImageLightbox** | Полноэкранный просмотр; `open` / `onOpenChange`. |
|
|
65
|
+
| **Dropdown** | Выпадающая панель. Якорь — `renderTrigger(props, ref)`; содержимое — `children`. `align` `start` \| `center` \| `end` \| `auto` (`left`/`right` — алиасы). `triggerMode` `toggle` \| `combobox`. `open` / `onOpenChange`. На мобильных — нижний Sheet. |
|
|
66
|
+
| **Menu** | Меню действий: клик по `trigger` (Dropdown + ActionList) или `trigger="context"` (ПКМ / Shift+F10 у курсора). |
|
|
67
|
+
| **Tooltip** | Подсказка при наведении / фокусе; триггер — элемент-child или render-prop; `side` (алиас `position`), `openDelay` / `closeDelay`, wrap, arrow. |
|
|
68
|
+
| **Popover** | Плавающий слой. Якорь — `renderTrigger`; содержимое — `children`. `trigger` click/hover/manual; `variant` panel/plain, `side` / `align` / delays, стрелка `arrow`. Подсказки — **Tooltip**. |
|
|
69
|
+
| **CommandPalette** | Палитра Cmd+K: `items` / `groups`, фильтр — **`ActionList`** с `filterable`. |
|
|
79
70
|
|
|
80
71
|
---
|
|
81
72
|
|
|
@@ -83,10 +74,10 @@
|
|
|
83
74
|
|
|
84
75
|
| Компонент | Описание |
|
|
85
76
|
|-----------|----------|
|
|
86
|
-
| **Pagination** |
|
|
77
|
+
| **Pagination** | Постраничная навигация. Без `children` — `Controls`; опционально `totalItems` / `pageSize` / `onPageSizeChange`. Составной: `Summary`, `Controls`, `PageSize`. |
|
|
87
78
|
| **Sidebar** | Составной: `Root`, `Header`, `Title`, `Collapse`, `Content`, `Group`, `GroupLabel`, `Item`, `Footer`, `MobileTrigger`; `value` / `onChange`; десктопный rail + мобильный Sheet. |
|
|
88
79
|
| **Steps** | Мастер: горизонтальный/вертикальный, статус шага, `onStepClick`. |
|
|
89
|
-
| **Tabs** | Составные вкладки: `Tabs.List` / `Tabs.Trigger` / `Tabs.Panel`; `value` / `defaultValue` / `onChange
|
|
80
|
+
| **Tabs** | Составные вкладки: `Tabs.List` / `Tabs.Trigger` / `Tabs.Panel`; `value` / `defaultValue` / `onChange` (без `defaultValue` вкладка не выбирается сама); `line` / `pill`, горизонтальные/вертикальные и бейдж на Trigger. |
|
|
90
81
|
|
|
91
82
|
---
|
|
92
83
|
|
|
@@ -94,13 +85,13 @@
|
|
|
94
85
|
|
|
95
86
|
| Компонент | Описание |
|
|
96
87
|
|-----------|----------|
|
|
97
|
-
| **Table** |
|
|
98
|
-
| **Timeline** | Вертикальный/горизонтальный, сворачиваемые
|
|
99
|
-
| **Card** | `variant` outlined/elevated/ghost;
|
|
100
|
-
| **Accordion** |
|
|
101
|
-
| **Badge** | `size` sm/md, `position` overlay/standalone, `variant` включая `error`; overlay — `--altum-badge-overhang`. Числовой `label`
|
|
88
|
+
| **Table** | Один компонент: `columns` / `data` / `rowKey`, плюс `toolbar`, `loading`, `empty` (`title` / `description` / `action`) и `footer` (пагинация). Сортировка (клиент/сервер), выбор строк, раскрытие, липкие колонки, `density`, resize и `rowActions` (`ActionListItem[]`). |
|
|
89
|
+
| **Timeline** | Вертикальный/горизонтальный, сворачиваемые подробности (`<details>`), `currentId`. |
|
|
90
|
+
| **Card** | `variant` outlined/elevated/ghost; радиус по умолчанию `lg`; `header` / `media` / `actions` (ReactNode), `children` — body; `loading`. |
|
|
91
|
+
| **Accordion** | `Accordion.Item` с `title` и содержимым в `children`; `flush` (по умолчанию) / `bordered`; `multiple`, отключённый пункт. |
|
|
92
|
+
| **Badge** | `size` sm/md, `position` overlay/standalone, `variant` включая `error`; overlay — `--altum-badge-overhang`. Числовой `label` ограничивается через `max`; `children` — якорь overlay. |
|
|
102
93
|
| **Avatar** / **AvatarGroup** | Размеры `xs`…`xl`, кольцо статуса, запасная иконка; группа с наложением. |
|
|
103
|
-
| **Chip** | Тег / фильтр: `mode` `chip` \| `tag
|
|
94
|
+
| **Chip** | Тег / фильтр: `mode` `chip` \| `tag` \| `toggle` (`as` — deprecated-алиас), `size`, `onRemove` / `onClick`. **`ChipGroup`**: `mode` `chip` \| `tag`, `layout` `wrap` \| `scrollX`. |
|
|
104
95
|
| **StatBadge** | Компактный блок статистики: число + подпись; `variant` `default` / `success` / `warning` / `error`; `size` `md` / `sm`. |
|
|
105
96
|
| **EmptyState** | Пустое состояние: иконка (`--altum-color-empty-icon`), заголовок, описание, действие; `size` для вложенных панелей. |
|
|
106
97
|
| **DescriptionList** | Список «ключ — значение» (`stacked` / `inline`, колонки). |
|
|
@@ -115,9 +106,9 @@
|
|
|
115
106
|
|
|
116
107
|
| Компонент | Описание |
|
|
117
108
|
|-----------|----------|
|
|
118
|
-
| **Title** | Заголовки уровней `h1`–`h4`; цвет `--altum-color-type
|
|
109
|
+
| **Title** | Заголовки уровней `h1`–`h4`; цвет `--altum-color-type`. |
|
|
119
110
|
| **Text** | Текстовый примитив (`--altum-type-*`). Дефолт `as="span"` (inline); для блочного copy — `as="p"` / `as="div"`, иначе соседние `Text` склеятся в одну строку. |
|
|
120
|
-
| **Link** | Ссылка: `variant` `primary`\|`secondary`\|`muted`, `status` `danger`, `size` `xs`–`xl` (или inherit), `--altum-color-link-*`. |
|
|
111
|
+
| **Link** | Ссылка: `variant` `primary`\|`secondary`\|`muted`, `status` `danger`, `size` `xs`–`xl` (или inherit), `--altum-color-link-*`. Единственный элемент-child — Slot (роутерный Link). |
|
|
121
112
|
| **Kbd** / **KbdGroup** | Отображение клавиш и сочетаний клавиатуры. |
|
|
122
113
|
|
|
123
114
|
---
|
|
@@ -126,17 +117,17 @@
|
|
|
126
117
|
|
|
127
118
|
| Компонент | Описание |
|
|
128
119
|
|-----------|----------|
|
|
129
|
-
| **Layout** | Панель: скролл на корне; `Header` / `Footer` sticky; алиасы `
|
|
120
|
+
| **Layout** | Панель: скролл на корне; `Header` / `Footer` sticky; алиасы `Inline` / `Split` / `ControlRow` / `Item`. |
|
|
130
121
|
| **Stack** / **Inline** / **Split** / **ControlRow** / **LayoutItem** | Flex-примитивы (вертикаль / чипы / края / ряд контролов / `grow`). |
|
|
131
122
|
| **Grid** / **GridItem** | CSS Grid; `GRID_BREAKPOINTS`. |
|
|
132
123
|
| **Container** / **Page** | Колонка с max-width (`sm`…`xl` / `full`) и оболочка страницы. |
|
|
133
|
-
| **Box** | Поверхность (`outlined` / `elevated` / `floating` / `tinted` / `secondary` / `muted` / `glass` / `overlay` / `ghost` / `plain`). |
|
|
134
|
-
| **Collapse** | Плавное сворачивание по
|
|
135
|
-
| **Separator**
|
|
136
|
-
| **Item** |
|
|
124
|
+
| **Box** | Поверхность (`outlined` / `elevated` / `floating` / `tinted` / `secondary` / `muted` / `glass` / `overlay` / `ghost` / `plain`). Красит только себя; потомки остаются на глобальных токенах. |
|
|
125
|
+
| **Collapse** | Плавное сворачивание по высоте (CSS `grid-template-rows`). |
|
|
126
|
+
| **Separator** | Разделитель: `orientation` horizontal \| vertical, текст (`children`), отступы `start` / `end`. |
|
|
127
|
+
| **Item** | Строка: `media` / `mediaVariant`, `title`, `description`, `actions`; поверхность — `Box`. |
|
|
137
128
|
| **AspectRatio** | Обёртка с `aspect-ratio` (16:9 / 1:1). |
|
|
138
|
-
| **Media** | img/video-превью
|
|
139
|
-
| **ScrollArea** | Стилизованный скролл (`orientation` y/x/both)
|
|
129
|
+
| **Media** | img/video-превью с `aspect-ratio`. |
|
|
130
|
+
| **ScrollArea** | Стилизованный скролл (`orientation` y/x/both); `maxHeight` / `maxWidth` без дефолта. |
|
|
140
131
|
|
|
141
132
|
---
|
|
142
133
|
|
|
@@ -144,10 +135,10 @@
|
|
|
144
135
|
|
|
145
136
|
| Компонент | Описание |
|
|
146
137
|
|-----------|----------|
|
|
147
|
-
| **ImageGallery** |
|
|
138
|
+
| **ImageGallery** | Галерея: `images`, chrome `default` \| `none`, `showNav` / `showThumbnails` / `showCounter`. |
|
|
148
139
|
| **ImageCrop** | Обрезка изображения. |
|
|
149
|
-
| **FileList** | Список загрузок на **`
|
|
150
|
-
| **Attachment** | Карточка
|
|
140
|
+
| **FileList** | Список загрузок на **`Item`**: progress / retry / remove через `FileList.Item`. |
|
|
141
|
+
| **Attachment** | Карточка файла: `Item` + статус загрузки (`idle` / `uploading` / `error` / `done`). Действия в слоте — **`ButtonIcon`**. |
|
|
151
142
|
|
|
152
143
|
---
|
|
153
144
|
|
|
@@ -166,7 +157,7 @@
|
|
|
166
157
|
| Компонент | Описание |
|
|
167
158
|
|-----------|----------|
|
|
168
159
|
| **Bubble** | Пузырь сообщения: `variant` default/outgoing/incoming/system, `align`, `group`, `reactions`, `collapsible`. |
|
|
169
|
-
| **Marker** | Системная заметка / status / bordered row / labeled separator
|
|
160
|
+
| **Marker** | Системная заметка / status / bordered row / labeled separator; `icon`, `shimmer`, `children`. |
|
|
170
161
|
|
|
171
162
|
---
|
|
172
163
|
|
|
@@ -176,7 +167,6 @@
|
|
|
176
167
|
|-----------|----------|
|
|
177
168
|
| **SafeArea** | Отступы под notch / home-indicator (`env(safe-area-inset-*)`). |
|
|
178
169
|
| **PullToRefresh** | Жест «потянуть, чтобы обновить» для контейнера с прокруткой. |
|
|
179
|
-
| **GrabHandle** | Ручка захвата в стиле iOS. |
|
|
180
170
|
| **SwipeToAction** | Сенсорная обёртка: свайп раскрывает действия (iOS). |
|
|
181
171
|
|
|
182
172
|
---
|
|
@@ -186,10 +176,10 @@
|
|
|
186
176
|
| Компонент | Описание |
|
|
187
177
|
|-----------|----------|
|
|
188
178
|
| **Spinner** | Индикатор загрузки: `spin` \| `dots` \| `pulse` \| `typing`; размеры `sm` \| `md` \| `lg`. |
|
|
189
|
-
| **Skeleton** |
|
|
179
|
+
| **Skeleton** | Плейсхолдер; `variant` `block` / `text` / `avatar` / `card` / `table`. |
|
|
190
180
|
| **Progress** / **ProgressCircle** | `size`, `variant` (auto → success при 100%), `showValueText`, indeterminate, labels; у круга `diameter` перекрывает токен размера. |
|
|
191
|
-
| **Alert** |
|
|
192
|
-
| **Notification** |
|
|
181
|
+
| **Alert** | `title`, `icon` (`null` скрывает), `actions`, `onClose`; `children` — текст; `variant`, `size`, `layout` block/inline. |
|
|
182
|
+
| **Notification** | Карточка: `title`, `description`, `actions`. Императивно: `NotificationProvider` + `notify()`. Декларативно: `Notification.Viewport`. |
|
|
193
183
|
|
|
194
184
|
---
|
|
195
185
|
|
|
@@ -202,6 +192,5 @@
|
|
|
202
192
|
| **useLocale** / **useT** | Хук `{ locale, messages, t }` / только `t`. |
|
|
203
193
|
| **ru** / **en** | Встроенные словари. |
|
|
204
194
|
| **useTheme** | Хук `{ theme, setTheme, toggleTheme }` внутри `ThemeProvider`. |
|
|
205
|
-
| **FocusTrap** | Ловушка фокуса для доступности в модальных окнах. |
|
|
206
195
|
| **VisuallyHidden** | Контент только для скринридеров (скрыт визуально). |
|
|
207
196
|
| **SkipLink** | «Перейти к содержимому» (виден при фокусе). |
|
package/docs/ICONS.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Иконки в altum
|
|
1
|
+
# Иконки в altum
|
|
2
2
|
|
|
3
3
|
Компоненты принимают иконку как `ReactNode` — свой SVG или элемент из набора библиотеки.
|
|
4
4
|
|
|
5
5
|
```tsx
|
|
6
|
-
import {ButtonIcon} from 'altum
|
|
7
|
-
import {IconSearch} from 'altum
|
|
6
|
+
import {ButtonIcon} from 'altum';
|
|
7
|
+
import {IconSearch} from 'altum/icons';
|
|
8
8
|
|
|
9
9
|
<ButtonIcon aria-label="Поиск" icon={<IconSearch />} />
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Набор **не** входит в главный barrel — только `altum
|
|
12
|
+
Набор **не** входит в главный barrel — только `altum/icons`. Просмотр: Storybook → **Icons**. Каталог собран через `createIcon` (`IconProps` тот же: `size`, `color`).
|
|
13
13
|
|
|
14
14
|
### Контракт для кастомных SVG
|
|
15
15
|
|
|
@@ -18,5 +18,6 @@ import {IconSearch} from 'altum-ui/icons';
|
|
|
18
18
|
| Размер | `width` / `height` или проп `size` (16–24 px для кнопок) |
|
|
19
19
|
| Цвет | `fill="currentColor"` |
|
|
20
20
|
| Доступность | На `ButtonIcon` всегда `aria-label` |
|
|
21
|
+
| Sidebar | Тот же набор, один вес; не emoji и не цветные «игрушки» |
|
|
21
22
|
|
|
22
|
-
Продуктовые иконки лучше держать в приложении — так не раздувается бандл, если набор `altum
|
|
23
|
+
Продуктовые иконки лучше держать в приложении — так не раздувается бандл, если набор `altum/icons` не нужен целиком.
|
package/docs/LAYOUT.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Layout-компоненты altum
|
|
1
|
+
# Layout-компоненты altum
|
|
2
2
|
|
|
3
3
|
Гайд: **что выбрать** и **зачем**, для панели `Layout` и flex-примитивов (`Stack`, `Inline`, `Split`, `ControlRow`, `LayoutItem`).
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
Grid,
|
|
17
17
|
Container,
|
|
18
18
|
Page,
|
|
19
|
-
} from 'altum
|
|
19
|
+
} from 'altum';
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Связанные: **FieldBase** — см. [COMPONENTS.md](./COMPONENTS.md).
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
| Слева заголовок, справа действия | **Split** |
|
|
34
34
|
| Поля + Chip + Button в одной строке фильтров | **ControlRow** |
|
|
35
35
|
| Одному ребёнку — `flex: 1` или «не сжимать» | **LayoutItem** (`ControlRow.Item` / `Layout.Item`) |
|
|
36
|
-
| Колонки сетки | **Grid**
|
|
36
|
+
| Колонки сетки | **Grid** |
|
|
37
37
|
| Оболочка input (label / prefix / clear) | **FieldBase** |
|
|
38
38
|
|
|
39
39
|
---
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
|
|
103
103
|
### Namespace
|
|
104
104
|
|
|
105
|
-
На `Layout` также висят алиасы: `Layout.
|
|
105
|
+
На `Layout` также висят алиасы: `Layout.Inline`, `.Split`, `.ControlRow`, `.Item`.
|
|
106
106
|
|
|
107
107
|
В приложении предпочтительны **именованные импорты**; `Layout.*` удобен, когда вы уже внутри панели.
|
|
108
108
|
|
|
@@ -262,7 +262,7 @@ Flex-ячейка внутри Stack / Inline / Split / ControlRow.
|
|
|
262
262
|
<SearchField label="Поиск" width="full" />
|
|
263
263
|
</ControlRow.Item>
|
|
264
264
|
<Inline gap="sm">
|
|
265
|
-
<Chip
|
|
265
|
+
<Chip mode="toggle">Все</Chip>
|
|
266
266
|
<Chip>Активные</Chip>
|
|
267
267
|
</Inline>
|
|
268
268
|
</ControlRow>
|
package/docs/THEMING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Темизация altum
|
|
1
|
+
# Темизация altum
|
|
2
2
|
|
|
3
|
-
altum
|
|
3
|
+
altum использует **CSS custom properties** для всех дизайн-токенов. Компоненты ссылаются на переменные вроде `var(--altum-color-brand)` и `var(--altum-color-field-border)` — цвета темы никогда не хардкодятся.
|
|
4
4
|
|
|
5
5
|
## Быстрый старт
|
|
6
6
|
|
|
@@ -63,12 +63,13 @@ return (
|
|
|
63
63
|
| `--altum-g-radius-md` | Алиас `--altum-g-radius` |
|
|
64
64
|
| `--altum-g-radius-lg` | Большой радиус (12px) |
|
|
65
65
|
| `--altum-g-radius-pill` | Радиус «пилюли» / тега (9999px) |
|
|
66
|
-
| `--altum-transition-smooth` | Стандартный переход (`
|
|
66
|
+
| `--altum-transition-smooth` | Стандартный переход (`color/background/border/shadow/opacity` 0.16s spring) |
|
|
67
67
|
| `--altum-motion-overlay` | Длительность появления/скрытия оверлея (0.2s) |
|
|
68
68
|
| `--altum-control-height-xs` / `sm` / `md` / `lg` | 28 / 32 / 44 / 52 — лестница высот; публичный `size` контролов — **`sm` \| `md` \| `lg`** (токен `xs` только для раскладки / легаси) |
|
|
69
69
|
| `--altum-control-inset` | 2px — внутренний отступ трека SegmentedControl |
|
|
70
70
|
| `--altum-control-icon-size-sm` / `md` / `lg` | 14 / 18 / 22 — аффиксы полей + иконки ButtonGroup |
|
|
71
71
|
| `--altum-field-pad-top-*` / `--altum-field-pad-bottom-*` | Оптические отступы плавающего лейбла (sm…lg) |
|
|
72
|
+
| `--altum-field-width-default` | Макс. ширина поля при `width="md"` (320px) |
|
|
72
73
|
| `--altum-badge-size-sm` / `md` / `--altum-badge-font-size` / `--altum-badge-font-size-sm` | Компактный chrome счётчика (Badge / Tabs); sm-кегль для числового standalone |
|
|
73
74
|
| `--altum-g-space-1` … `--altum-g-space-9` | Шкала отступов (4px … 36px) |
|
|
74
75
|
| `--altum-shadow-sm` / `--altum-shadow-md` / `--altum-shadow-lg` | Лестница теней (алиасы `--altum-shadow-surface` / `--altum-shadow-dropdown` / deep) |
|
|
@@ -90,8 +91,6 @@ return (
|
|
|
90
91
|
| `--altum-g-font-size-3xl` | 24px | Display (`Title` h2) |
|
|
91
92
|
| `--altum-g-font-size-4xl` | 32px | Display (`Title` h1) |
|
|
92
93
|
| `--altum-g-font-weight-normal` … `--altum-g-font-weight-bold` | 400–700 | Начертания |
|
|
93
|
-
| `--altum-g-line-height-snug` / `--altum-g-line-height-relaxed` | → xs / base | Алиасы |
|
|
94
|
-
|
|
95
94
|
В компонентах: `font-size: var(--altum-g-font-size-sm); line-height: var(--altum-g-line-height-sm);`.
|
|
96
95
|
|
|
97
96
|
### Диалог / список / опция
|
|
@@ -123,14 +122,14 @@ return (
|
|
|
123
122
|
| `--altum-toggle-task-check-height` | 7px | Высота галочки в режиме task |
|
|
124
123
|
| `--altum-toggle-radio-dot*` | sm/md/lg | Размер внутренней точки Radio |
|
|
125
124
|
| `--altum-toggle-align-nudge` | `0.15em` | Оптическое выравнивание бокса тоггла относительно лейбла |
|
|
126
|
-
| `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер
|
|
125
|
+
| `--altum-rating-size-sm` / `md` / `lg` | 16 / 22 / 28 | Размер звезды Rating |
|
|
127
126
|
| `--altum-command-palette-max-width` / `height` | 560 / 520 | Ограничение панели CommandPalette |
|
|
128
127
|
| `--altum-button-group-item-min-sm` / `md` / `lg` | space-6 / 7 / 8 | Мин. ширина ButtonGroup.Item |
|
|
129
128
|
| `--altum-focus-ring-width` | 2px | Толщина outline-фокуса (навигация / тогглы / выбор) |
|
|
130
|
-
| `--altum-focus-ring-offset` | 1px | Смещение outline-фокуса (согласовано с
|
|
131
|
-
| `--altum-focus-ring-color` | → `--altum-color-input-border-focus` | Общий цвет outline-фокуса |
|
|
132
|
-
| `--altum-button-focus-inner` / `--altum-button-focus-outer` | 1px / 3px | Ширины двойного кольца кнопки
|
|
133
|
-
| `--altum-opacity-disabled` | 0.5 | Отключённые
|
|
129
|
+
| `--altum-focus-ring-offset` | light 1px / dark 2px | Смещение outline-фокуса (согласовано с зазором кольца кнопки) |
|
|
130
|
+
| `--altum-focus-ring-color` | light → `--altum-color-input-border-focus`; dark `rgba(248,250,252,0.55)` | Общий цвет outline-фокуса (в dark — светлая hairline, не заливка CTA) |
|
|
131
|
+
| `--altum-button-focus-inner` / `--altum-button-focus-outer` | light 1px / 3px; dark 2px / 4px | Ширины двойного кольца кнопки |
|
|
132
|
+
| `--altum-opacity-disabled` | 0.5 | Отключённые контролы; **Button** — та же заливка × opacity |
|
|
134
133
|
| `--altum-field-disabled-opacity` | 0.8 | Chrome отключённого поля (текст остаётся читаемым) |
|
|
135
134
|
| `--altum-field-label-gap` / `--altum-field-message-gap` | `--altum-g-space-1` | Зазор внешнего лейбла / helper+ошибка |
|
|
136
135
|
| `--altum-form-helper-indent` | `--altum-g-space-1` | Левый отступ helper / ошибки |
|
|
@@ -138,9 +137,15 @@ return (
|
|
|
138
137
|
| `--altum-switch-track-width/height/thumb-size-*` | sm/md/lg | Геометрия Switch (из toggle-box + inset) |
|
|
139
138
|
| `--altum-switch-track-off` | смесь ink на ctrl-bg | Заливка трека выключенного Switch |
|
|
140
139
|
| `--altum-overlay-close-size` | 28px | Хит-зона закрытия Overlay / Alert / Notification |
|
|
141
|
-
| `--altum-overlay-close-
|
|
140
|
+
| `--altum-overlay-close-icon-size` | 16px | Кегль × в overlay-close |
|
|
141
|
+
| `--altum-overlay-close-fg` / `--altum-overlay-close-fg-hover` / `--altum-overlay-close-bg` / `--altum-overlay-close-bg-hover` | тема | Голый крестик overlay (Modal / Sheet, `ButtonIcon` `diskClose`); chrome только на hover |
|
|
142
142
|
| `--altum-overlay-arrow-size` | 8px | Стрелка Popover / tooltip |
|
|
143
143
|
| `--altum-badge-overhang` | `space-1` + `control-inset` (6px) | Запас раскладки + смещение overlay-бейджа |
|
|
144
|
+
| `--altum-badge-digit-nudge` | `0.5px` | Сдвиг цифры в круглом **Badge** вниз (оптический центр) |
|
|
145
|
+
| `--altum-slider-track-height` | `3px` | Высота трека **Slider** |
|
|
146
|
+
| `--altum-slider-thumb-size` | `12px` | Диаметр заполненного thumb **Slider** |
|
|
147
|
+
| `--altum-slider-track` | `12%` ink | Idle-заливка трека **Slider** |
|
|
148
|
+
| `--altum-pagination-active-bar` | `2px` | Нижняя полоса активной страницы **Pagination** |
|
|
144
149
|
|
|
145
150
|
### Статусы (`--altum-color-status-*`)
|
|
146
151
|
|
|
@@ -161,6 +166,7 @@ return (
|
|
|
161
166
|
| `--altum-overlay-scrim-strong` | Затемнение ImageLightbox (`Backdrop variant="strong"`) |
|
|
162
167
|
| `--altum-overlay-on-scrim` | Текст/иконки на тёмном scrim |
|
|
163
168
|
| `--altum-overlay-control-bg` / `--altum-overlay-control-border` | Контролы на scrim |
|
|
169
|
+
| `--altum-overlay-media-shadow` | Тень фото в **ImageLightbox** |
|
|
164
170
|
|
|
165
171
|
### Слои z-index (`--altum-g-z-*`)
|
|
166
172
|
|
|
@@ -169,7 +175,7 @@ return (
|
|
|
169
175
|
| Переменная | По умолчанию | Кто использует |
|
|
170
176
|
|------------|--------------|----------------|
|
|
171
177
|
| `--altum-g-z-below` | `-1` | Линия-коннектор Steps |
|
|
172
|
-
| `--altum-g-z-raised` | `1` | Слайдер SegmentedControl |
|
|
178
|
+
| `--altum-g-z-raised` | `1` | Слайдер ButtonGroup / SegmentedControl |
|
|
173
179
|
| `--altum-g-z-raised-above` | `2` | Контент кнопки, контролы NumberField |
|
|
174
180
|
| `--altum-g-z-control` | `5` | Бегунок Slider |
|
|
175
181
|
| `--altum-g-z-local` | `10` | Badge, липкий заголовок таблицы, маска TextField |
|
|
@@ -187,7 +193,7 @@ return (
|
|
|
187
193
|
|---------|---------|------------|
|
|
188
194
|
| `tooltip` | `--altum-g-z-tooltip` | `--altum-overlay-offset-tooltip` (8px) |
|
|
189
195
|
| `popover` | `--altum-g-z-dropdown` | `--altum-overlay-offset-popover` (8px) |
|
|
190
|
-
| `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (
|
|
196
|
+
| `dropdown` | `--altum-g-z-dropdown` | `--altum-overlay-offset-dropdown` (8px) |
|
|
191
197
|
| `modal` | `--altum-g-z-modal` | — |
|
|
192
198
|
| `sheet` | `--altum-g-z-overlay` | — |
|
|
193
199
|
| `lightbox` | `--altum-g-z-lightbox` | — |
|
|
@@ -205,22 +211,21 @@ return (
|
|
|
205
211
|
| `--altum-color-brand-hover` | `#334155` |
|
|
206
212
|
| `--altum-color-brand-active` | `#1e293b` |
|
|
207
213
|
| `--altum-color-brand-text` | `#ffffff` |
|
|
208
|
-
| `--altum-color-brand-disabled` / `--altum-color-brand-text-disabled` | Заливка/лейбл отключённой primary (не смывка opacity) |
|
|
209
214
|
|
|
210
215
|
### Тонированный (`--altum-color-brand-tint-*`)
|
|
211
216
|
|
|
212
|
-
Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~
|
|
217
|
+
Приглушённый акцентный вариант (Apple-style Tinted / Light): заливка ~16% от акцента, текст остаётся ярким и контрастным. Pressed заметно плотнее hover. Используется в `Button` / `Chip` / `SegmentedControl` с `variant="tinted"`.
|
|
213
218
|
|
|
214
219
|
| Переменная | Назначение |
|
|
215
220
|
|------------|------------|
|
|
216
|
-
| `--altum-color-brand-tint` | Фон заливки (~
|
|
221
|
+
| `--altum-color-brand-tint` | Фон заливки (~16% accent) |
|
|
217
222
|
| `--altum-color-brand-tint-hover` | Hover |
|
|
218
223
|
| `--altum-color-brand-tint-active` | Active / pressed |
|
|
219
224
|
| `--altum-color-brand-tint-text` | Контрастный акцентный текст |
|
|
220
225
|
| `--altum-color-brand-tint-border` | Рамка |
|
|
221
226
|
| `--altum-color-button-border-tinted` | Рамка кнопки |
|
|
222
227
|
|
|
223
|
-
Светлая заливка деструктивной кнопки
|
|
228
|
+
Светлая заливка деструктивной кнопки — mix red-700 со slate (`--altum-color-danger-bg-solid`), тот же регистр пыли, что статусы; AA на белом тексте.
|
|
224
229
|
|
|
225
230
|
### Вторичный (`--altum-color-surface`, `--altum-color-border`)
|
|
226
231
|
|
|
@@ -228,7 +233,8 @@ return (
|
|
|
228
233
|
|
|
229
234
|
| Переменная | Назначение |
|
|
230
235
|
|------------|------------|
|
|
231
|
-
| `--altum-color-surface` | Фон поверхности |
|
|
236
|
+
| `--altum-color-surface` | Фон поверхности (карточка) |
|
|
237
|
+
| `--altum-color-surface-elevated` | На ступень выше surface (`Box` `elevated`; dark: `#262628`) |
|
|
232
238
|
| `--altum-color-border` | Рамки |
|
|
233
239
|
| `--altum-color-text-secondary` | Приглушённый текст |
|
|
234
240
|
|
|
@@ -248,30 +254,32 @@ TextField, Checkbox (`mode="task"`), Switch, Radio. Примитивы — ис
|
|
|
248
254
|
|
|
249
255
|
| Переменная | Назначение |
|
|
250
256
|
|------------|------------|
|
|
251
|
-
| `--altum-color-input-bg` | Фон поля |
|
|
257
|
+
| `--altum-color-input-bg` | Фон поля (dark: overlay `#2b2b2e`, не surface) |
|
|
252
258
|
| `--altum-color-input-text` | Текст поля |
|
|
253
259
|
| `--altum-color-input-border` | Рамка по умолчанию |
|
|
254
260
|
| `--altum-color-input-border-focus` | Рамка в фокусе |
|
|
255
|
-
| `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#
|
|
261
|
+
| `--altum-color-muted` | Плавающий лейбл (light: `#64748b`, dark: `#A8A8B3`) |
|
|
256
262
|
| `--altum-color-control-bg` | Фон checkbox/radio |
|
|
257
263
|
| `--altum-color-control-bg-checked` | Состояние checked |
|
|
258
264
|
| `--altum-color-control-text-color` | Текст лейбла контрола |
|
|
259
265
|
|
|
260
266
|
### Chrome элементов (`--altum-field-*`, `--altum-color-button-*`, `--altum-color-chip-*`, `--altum-color-segmented-*`, `--altum-color-panel-*`, `--altum-type-*`, `--altum-color-link-*`)
|
|
261
267
|
|
|
262
|
-
Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов
|
|
268
|
+
Компоненты читают токены **элементов**. Значения по умолчанию — алиасы примитивов выше. `Box` красит только себя: вложенные кнопки, чипы, поля и текст остаются на этой глобальной палитре на любой заливке.
|
|
263
269
|
|
|
264
270
|
| Группа | Примеры |
|
|
265
271
|
|--------|---------|
|
|
266
272
|
| Поле | `--altum-color-field-bg`, `--altum-color-field-border`, `--altum-color-border-hover`, `--altum-color-field-text`, `--altum-field-label` |
|
|
267
|
-
| Кнопка (secondary / tinted / ghost) | `--altum-color-button-secondary-bg`, `--altum-color-button-tinted-border`, `--altum-color-button-ghost-hover-bg` |
|
|
273
|
+
| Кнопка (secondary / tinted / ghost) | `--altum-color-button-secondary-bg`, `--altum-color-button-tinted-border`, `--altum-color-button-ghost-text` (muted, не secondary), `--altum-color-button-ghost-hover-bg` |
|
|
268
274
|
| Chip | `--altum-color-chip-secondary-bg`, `--altum-color-chip-tinted-text` |
|
|
269
|
-
| Segmented | `--altum-color-segmented
|
|
275
|
+
| Segmented | `--altum-color-segmented-*`: колодец (`*-track-bg`) + приглушённый thumb (`*-slider-bg`, `--altum-color-segmented-slider-shadow`). Один thumb на secondary / tinted / ghost |
|
|
270
276
|
| Панель | `--altum-color-panel-bg`, `--altum-color-panel-border`, `--altum-color-panel-bg-hover` |
|
|
271
|
-
| Типографика | `--altum-color-type`, `--altum-color-type-secondary`, `--altum-color-type-muted` (`Title` / `Text`) |
|
|
277
|
+
| Типографика | `--altum-color-type`, `--altum-color-type-secondary`, `--altum-color-type-tertiary`, `--altum-color-type-muted` (`Title` / `Text`) |
|
|
272
278
|
| Ссылка | `--altum-color-link-color`, `--altum-color-link-secondary`, `--altum-color-link-muted`, `--altum-color-link-danger`, `--altum-color-link-focus-ring` |
|
|
279
|
+
| Tooltip | `--altum-color-tooltip-bg` / `--altum-color-tooltip-fg` (инверсия ink, не brand-кнопка) |
|
|
280
|
+
| Индикатор Tabs / Pagination | `--altum-color-tabs-indicator` |
|
|
273
281
|
|
|
274
|
-
Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger
|
|
282
|
+
Primary- и danger-кнопки остаются на `--altum-color-brand-*` / `--altum-color-danger-*`.
|
|
275
283
|
|
|
276
284
|
### Поверхности
|
|
277
285
|
|
|
@@ -279,10 +287,10 @@ Primary- и danger-кнопки остаются на `--altum-color-brand-*` /
|
|
|
279
287
|
|------------|------------|
|
|
280
288
|
| `--altum-color-bg` | Фон страницы |
|
|
281
289
|
| `--altum-color-text` | Текст страницы |
|
|
282
|
-
| `--altum-color-dropdown-bg` | Modal
|
|
290
|
+
| `--altum-color-dropdown-bg` | Modal / Sheet / выпадающие панели (dark: elevated, не overlay полей) |
|
|
283
291
|
| `--altum-color-option-hover` | Фоны при наведении |
|
|
284
292
|
| `--altum-color-selection-fill` / `--altum-color-selection-fill-fg` / `--altum-color-selection-fill-emphasis` | Акцентный выбранный chrome (Segmented primary, Chip primary/tinted active) |
|
|
285
|
-
| `--altum-color-selection-neutral-fill` / `--altum-color-selection-neutral-border` / `--altum-color-selection-neutral-slider` | Мягкий выбранный chrome
|
|
293
|
+
| `--altum-color-selection-neutral-fill` / `--altum-color-selection-neutral-border` / `--altum-color-selection-neutral-slider` | Мягкий выбранный chrome: Chip secondary active; slider — приподнятый thumb Segmented / ButtonGroup |
|
|
286
294
|
| `--altum-color-empty-icon` | Чернила иллюстрации EmptyState (`--altum-color-text-secondary`) |
|
|
287
295
|
|
|
288
296
|
## Тёмная тема
|
|
@@ -290,7 +298,7 @@ Primary- и danger-кнопки остаются на `--altum-color-brand-*` /
|
|
|
290
298
|
`ThemeProvider` поставляется с классом `.dark`, который перемапливает все токены. Переключение через хук:
|
|
291
299
|
|
|
292
300
|
```tsx
|
|
293
|
-
import { useTheme } from 'altum
|
|
301
|
+
import { useTheme } from 'altum';
|
|
294
302
|
|
|
295
303
|
function ThemeToggle() {
|
|
296
304
|
const { theme, toggleTheme } = useTheme();
|
|
@@ -305,4 +313,4 @@ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
305
313
|
<ThemeProvider initialTheme={prefersDark ? 'dark' : 'light'} />
|
|
306
314
|
```
|
|
307
315
|
|
|
308
|
-
Тёмная
|
|
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.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Библиотека React + TypeScript UI-компонентов: CSS Modules, токены ThemeProvider, адаптация overlay/sheet.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Alexander <azeeson@gmail.com>",
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
"scaffold": "node scripts/scaffold-component.mjs"
|
|
72
72
|
},
|
|
73
73
|
"browserslist": [
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"not
|
|
74
|
+
"chrome >= 100",
|
|
75
|
+
"firefox >= 100",
|
|
76
|
+
"safari >= 16",
|
|
77
|
+
"not dead"
|
|
78
78
|
],
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|