altum 0.0.4 → 0.0.6
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 +24 -0
- package/README.md +47 -1
- package/dist/base/FieldPopup/FieldPopup.js +1 -1
- package/dist/base/PeriodHeader/PeriodHeader.js +1 -1
- package/dist/base/ToggleControlBase/ToggleControlBase.js +1 -1
- package/dist/base/ToggleControlBase/ToggleControlBase.module.css.js +1 -1
- 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/Avatar/Avatar.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/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/Button/Button.module.css.js +1 -0
- 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/ButtonIcon/ButtonIcon.module.css.js +1 -0
- package/dist/components/ButtonIcon/OverlayCloseButton.js +1 -0
- 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.utils.js +1 -1
- package/dist/components/Calendar/Calendar.views.js +1 -1
- 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.Schedule.utils.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.YearView.js +2 -2
- 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/CalendarBoard.utils.js +1 -1
- package/dist/components/CalendarBoard/calendar.schedule.js +1 -1
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Card/Card.module.css.js +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.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/DateField/DateField.js +1 -1
- package/dist/components/DateField/DateField.utils.js +1 -1
- package/dist/components/DateRangeField/DateRangeField.js +1 -1
- package/dist/components/DayStripCalendar/DayStripCalendar.js +1 -1
- package/dist/components/DialogLayout/DialogLayout.js +1 -0
- package/dist/components/DialogLayout/DialogLayout.module.css.js +1 -0
- 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/FileList/FileList.js +1 -1
- package/dist/components/Grid/Grid.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/Layout/Layout.js +1 -1
- package/dist/components/Layout/Layout.module.css.js +1 -1
- package/dist/components/Link/Link.js +1 -1
- package/dist/components/Listbox/Listbox.js +1 -1
- package/dist/components/Listbox/Listbox.module.css.js +1 -1
- package/dist/components/LiveRegion/LiveRegion.js +1 -0
- package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/components/MaskedField/MaskedField.js +1 -1
- package/dist/components/MaskedField/MaskedField.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/Overflow/Overflow.js +1 -1
- package/dist/components/Overflow/Overflow.module.css.js +1 -1
- package/dist/components/Overlay/Overlay.frame.js +1 -0
- package/dist/components/Overlay/Overlay.js +1 -1
- package/dist/components/Overlay/Overlay.module.css.js +1 -1
- package/dist/components/Pagination/Pagination.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/PopupSwitch/PopupSwitch.js +1 -0
- package/dist/components/PopupSwitch/PopupSwitch.module.css.js +1 -0
- package/dist/components/PopupSwitch/PopupSwitch.utils.js +1 -0
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/Rating/Rating.js +1 -1
- package/dist/components/RelativeTime/RelativeTime.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/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/SkipLink/SkipLink.js +1 -1
- package/dist/components/Slider/Slider.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/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/Table/Table.js +1 -1
- package/dist/components/Table/TableRowActions.js +1 -1
- package/dist/components/Table/TableView.js +1 -1
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/TextField.module.css.js +1 -0
- package/dist/components/TextareaField/TextareaField.js +1 -1
- package/dist/components/TextareaField/TextareaField.module.css.js +1 -0
- package/dist/components/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/components/ThemeProvider/ThemeProvider.module.css.js +1 -1
- package/dist/components/TimeField/TimeField.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/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 -1
- package/dist/entries/hooks.js +1 -1
- package/dist/entries/icons.js +1 -1
- package/dist/entries/locales.js +1 -0
- package/dist/entries/utils.js +1 -1
- package/dist/hooks/useAutoResize.js +1 -1
- package/dist/hooks/useForm.js +1 -1
- package/dist/hooks/useFormProvider.js +1 -0
- package/dist/hooks/useOtpInputs.js +1 -1
- package/dist/hooks/useTrackThumb.js +1 -1
- package/dist/icons/icons/IconChevronUpDown.js +1 -0
- package/dist/index.js +1 -1
- package/dist/locales/en.js +1 -1
- package/dist/locales/localeContext.js +1 -1
- package/dist/locales/ru.js +1 -1
- package/dist/locales/slices/actionList.en.js +1 -0
- package/dist/locales/slices/actionList.ru.js +1 -0
- package/dist/locales/slices/bubble.en.js +1 -0
- package/dist/locales/slices/bubble.ru.js +1 -0
- package/dist/locales/slices/buttonGroup.en.js +1 -0
- package/dist/locales/slices/buttonGroup.ru.js +1 -0
- package/dist/locales/slices/calendar.en.js +1 -0
- package/dist/locales/slices/calendar.ru.js +1 -0
- package/dist/locales/slices/calendarBoard.en.js +1 -0
- package/dist/locales/slices/calendarBoard.ru.js +1 -0
- package/dist/locales/slices/chip.en.js +1 -0
- package/dist/locales/slices/chip.ru.js +1 -0
- package/dist/locales/slices/commandPalette.en.js +1 -0
- package/dist/locales/slices/commandPalette.ru.js +1 -0
- package/dist/locales/slices/common.en.js +1 -0
- package/dist/locales/slices/common.ru.js +1 -0
- package/dist/locales/slices/confirmDialog.en.js +1 -0
- package/dist/locales/slices/confirmDialog.ru.js +1 -0
- package/dist/locales/slices/customSelect.en.js +1 -0
- package/dist/locales/slices/customSelect.ru.js +1 -0
- package/dist/locales/slices/dateRangeField.en.js +1 -0
- package/dist/locales/slices/dateRangeField.ru.js +1 -0
- package/dist/locales/slices/dayStrip.en.js +1 -0
- package/dist/locales/slices/dayStrip.ru.js +1 -0
- package/dist/locales/slices/fileList.en.js +1 -0
- package/dist/locales/slices/fileList.ru.js +1 -0
- package/dist/locales/slices/imageCrop.en.js +1 -0
- package/dist/locales/slices/imageCrop.ru.js +1 -0
- package/dist/locales/slices/imageGallery.en.js +1 -0
- package/dist/locales/slices/imageGallery.ru.js +1 -0
- package/dist/locales/slices/imageLightbox.en.js +1 -0
- package/dist/locales/slices/imageLightbox.ru.js +1 -0
- package/dist/locales/slices/listbox.en.js +1 -0
- package/dist/locales/slices/listbox.ru.js +1 -0
- package/dist/locales/slices/menu.en.js +1 -0
- package/dist/locales/slices/menu.ru.js +1 -0
- package/dist/locales/slices/modal.en.js +1 -0
- package/dist/locales/slices/modal.ru.js +1 -0
- package/dist/locales/slices/numberField.en.js +1 -0
- package/dist/locales/slices/numberField.ru.js +1 -0
- package/dist/locales/slices/overflow.en.js +1 -0
- package/dist/locales/slices/overflow.ru.js +1 -0
- package/dist/locales/slices/pagination.en.js +1 -0
- package/dist/locales/slices/pagination.ru.js +1 -0
- package/dist/locales/slices/password.en.js +1 -0
- package/dist/locales/slices/password.ru.js +1 -0
- package/dist/locales/slices/pinInput.en.js +1 -0
- package/dist/locales/slices/pinInput.ru.js +1 -0
- package/dist/locales/slices/pullToRefresh.en.js +1 -0
- package/dist/locales/slices/pullToRefresh.ru.js +1 -0
- package/dist/locales/slices/rating.en.js +1 -0
- package/dist/locales/slices/rating.ru.js +1 -0
- package/dist/locales/slices/searchField.en.js +1 -0
- package/dist/locales/slices/searchField.ru.js +1 -0
- package/dist/locales/slices/select.en.js +1 -0
- package/dist/locales/slices/select.ru.js +1 -0
- package/dist/locales/slices/sheet.en.js +1 -0
- package/dist/locales/slices/sheet.ru.js +1 -0
- package/dist/locales/slices/sidebar.en.js +1 -0
- package/dist/locales/slices/sidebar.ru.js +1 -0
- package/dist/locales/slices/skipLink.en.js +1 -0
- package/dist/locales/slices/skipLink.ru.js +1 -0
- package/dist/locales/slices/slider.en.js +1 -0
- package/dist/locales/slices/slider.ru.js +1 -0
- package/dist/locales/slices/sortable.en.js +1 -0
- package/dist/locales/slices/sortable.ru.js +1 -0
- package/dist/locales/slices/spinner.en.js +1 -0
- package/dist/locales/slices/spinner.ru.js +1 -0
- package/dist/locales/slices/steps.en.js +1 -0
- package/dist/locales/slices/steps.ru.js +1 -0
- package/dist/locales/slices/suggestField.en.js +1 -0
- package/dist/locales/slices/suggestField.ru.js +1 -0
- package/dist/locales/slices/table.en.js +1 -0
- package/dist/locales/slices/table.ru.js +1 -0
- package/dist/locales/slices/timeField.en.js +1 -0
- package/dist/locales/slices/timeField.ru.js +1 -0
- package/dist/locales/slices/upload.en.js +1 -0
- package/dist/locales/slices/upload.ru.js +1 -0
- package/dist/locales/slices/virtualList.en.js +1 -0
- package/dist/locales/slices/virtualList.ru.js +1 -0
- package/dist/locales/translate.js +1 -1
- package/dist/shared/form/Form.utils.js +1 -0
- package/dist/shared/form/formRules.js +1 -0
- package/dist/shared/form/formValues.js +1 -0
- package/dist/styles/calendarChrome.module.css.js +1 -1
- package/dist/styles/status.module.css.js +1 -1
- package/dist/styles/toggleBox.module.css.js +1 -1
- package/dist/styles/visuallyHidden.module.css.js +1 -0
- package/dist/utils/autoHeight.js +1 -1
- package/dist/utils/date.js +1 -0
- package/dist/utils/duration.js +1 -0
- package/dist/utils/eventTarget.js +1 -0
- package/dist/utils/fieldMessage.js +1 -0
- package/dist/utils/injectCss.js +1 -1
- package/dist/utils/locale.js +1 -0
- package/dist/utils/plural.js +1 -0
- package/dist/utils/timezone.js +1 -0
- package/dist/utils/visitElementTree.js +1 -1
- package/docs/COMPONENTS.md +18 -16
- package/docs/LAYOUT.md +9 -9
- package/docs/THEMING.md +9 -16
- package/package.json +6 -1
- package/types/entries/hooks.d.ts +61 -13
- package/types/entries/icons.d.ts +3 -1
- package/types/entries/locales.d.ts +275 -0
- package/types/entries/utils.d.ts +71 -8
- package/types/index.d.ts +583 -661
- package/dist/base/ButtonBase/ButtonBase.js +0 -1
- package/dist/base/ButtonBase/ButtonBase.module.css.js +0 -1
- package/dist/base/ChevronButton/ChevronButton.js +0 -1
- package/dist/base/DialogBase/DialogBase.js +0 -1
- package/dist/base/DialogBase/DialogBase.module.css.js +0 -1
- package/dist/base/FieldBase/FieldBase.js +0 -1
- package/dist/base/FieldBase/FieldBase.module.css.js +0 -1
- package/dist/base/TextControl/TextControl.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.Filter.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.List.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.Shell.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.Shell.module.css.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.context.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.js +0 -1
- package/dist/components/CustomSelect/CustomSelect.module.css.js +0 -1
- package/dist/components/CustomSelect/useCustomSelectComboboxKeyboard.js +0 -1
- package/dist/components/FocusTrap/FocusTrap.js +0 -1
- package/dist/components/Overflow/OverflowActionsMode.js +0 -1
- package/dist/components/Overflow/OverflowMeasure.js +0 -1
- package/dist/components/Overflow/OverflowMore.js +0 -1
- package/dist/components/Overlay/Overlay.Dismiss.js +0 -1
- package/dist/components/Overlay/Overlay.Positioner.js +0 -1
- package/dist/components/Overlay/Overlay.types.js +0 -1
- package/dist/components/SortableList/SortableList.types.js +0 -1
- package/dist/components/SortableList/useSortableListDnD.js +0 -1
- package/dist/components/TimeField/TimeField.module.css.js +0 -1
- package/dist/hooks/useDigitMask.js +0 -1
- package/dist/hooks/useFieldControl.js +0 -1
- package/dist/hooks/useOverflowEdges.js +0 -1
- package/dist/hooks/useScrollFocusedChildIntoView.js +0 -1
- package/dist/styles/ControlTrack.module.css.js +0 -1
- package/dist/styles/srOnly.module.css.js +0 -1
- package/dist/utils/controlTrack.js +0 -1
- package/dist/utils/fieldPlaceholder.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,28 @@
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
### Добавлено
|
|
12
|
+
- **`IconChevronUpDown`** — шеврон вверх и шеврон вниз в одной иконке.
|
|
13
|
+
- Storybook **About** — страница **Компоненты**: список с иконкой, кратким описанием и размером собственного кода, плюс сумма по всем компонентам.
|
|
14
|
+
|
|
15
|
+
### Изменено
|
|
16
|
+
- **`PopupSwitch`** — на кнопке и на выбранном пункте **`IconChevronUpDown`**.
|
|
17
|
+
- Storybook **About** — страница бренда: цветовые токены, шкала шрифта, отступы, радиусы и размеры контролов. Светлая и тёмная тема — из тулбара.
|
|
18
|
+
|
|
19
|
+
## [0.0.6] — 2026-09-27
|
|
20
|
+
|
|
21
|
+
**`DialogLayout`**, **`PopupSwitch`**, **`LiveRegion`**. **`isExistingLocalDate`** в `altum/utils`. Диалоги (**`Modal`**, **`Sheet`**, **`ImageCrop`**, **`CommandPalette`**) собраны из **`DialogLayout`**, **`Box`** и **`Layout`**. **`Select`** сам держит список, **`SuggestField`** — комбобокс на нём. **`Dropdown`** на **`Popover`**. У **`Layout`** отступы `padding` и `gap` (`sm` / `md` / `lg`): padding на секциях, промежуток у липких шапки и футера остаётся при прокрутке.
|
|
22
|
+
|
|
23
|
+
**Несовместимо.** Снят **`CustomSelect`**: выбор — **`Select`**, подсказки — **`SuggestField`**. У **`Overlay`** нет `popover` / `dropdown`. У **`Popover`** нет `wrap`, корня и стрелки; класс панели — `className`, ширина — `widthMode`. У **`Tooltip`** сторона — `side`, стрелки нет. У **`Chip`** роль — `mode`. **`Layout`** больше не отдаёт `Inline`, `Split`, `ControlRow` и `Item`. У **`Modal`** крестик и имя на корне (`showClose`, `aria-label`); заголовок — **`Title`**, кнопки — **`ControlRow`** в футере. У **`Sheet`** заголовок — **`Title`**, крестик — `showClose` на **`Sheet.Header`**. **`Sidebar.Collapse`** снят. Удалены **`DialogBase`** и неиспользуемые токены темы. `useLocale()` без провайдера возвращает ключ.
|
|
24
|
+
|
|
25
|
+
**Исправлено.** Стрелки **`ImageGallery`** листают кадр только при фокусе в галерее. Бегунок **`SegmentedControl`** при `itemFit="content"` не рвёт анимацию. Ховер кнопок внутри **`TextField`** читается на фоне поля. **`Overflow`** вызывает `onSelect` один раз. Автозакрытие **`Notification`** срабатывает и при `prefers-reduced-motion`.
|
|
26
|
+
|
|
27
|
+
## [0.0.5] — 2026-09-25
|
|
28
|
+
|
|
29
|
+
**`useForm`**: проверка через `validate` (`fieldRules`, `compose`, `required`, `pattern`, `checkedValue`), плюс `setValue`, `reset`, `handleSubmit`, `isDirty` и **`FormProvider`**. Публичные **`altum/locales`** со склонением и утилиты дат, поясов, длительности и plural.
|
|
30
|
+
|
|
31
|
+
**`TextField`** вбрал `FieldBase`: `description` вместо `helperText` / `footer`, без `labelPlacement`. **`Button`**: `prefix` / `postfix` и `danger` / `danger_tinted` вместо `status`; **`ButtonIcon`** на **`Button`**. Стили в `@layer altum` — один `className` перекрывает библиотеку. **`ThemeProvider`** при `applyTo="document"` не вешает тему на обёртку.
|
|
32
|
+
|
|
11
33
|
## [0.0.4] — 2026-09-12
|
|
12
34
|
|
|
13
35
|
`TimePicker` / `DatePicker` / `DateRangePicker` → **`TimeField`** / **`DateField`** / **`DateRangeField`** (ключи словаря `timePicker` → `timeField`, `dateRangePicker` → `dateRangeField`). Время — барабаны **`WheelTimePicker`**. **`Item`** на **`Flex`**, чище **`Attachment`**, `Flex.gap` — любой `SpacingValue`, floating-label выше, маркеры **`ImageCrop`** на углах кадра. Поля в Storybook — в **`FormField`**.
|
|
@@ -26,6 +48,8 @@
|
|
|
26
48
|
- Storybook: состояния и play по полям, чартам, календарям и оверлеям.
|
|
27
49
|
|
|
28
50
|
### Исправлено
|
|
51
|
+
- **`ActionList`** — Enter выбирает подсвеченный пункт в порядке групп, а не в сыром порядке `items`.
|
|
52
|
+
- **`VirtualList`** — видимые строки снова следуют за `renderItem` при рендере родителя (подсветка в виртуализированном **`Listbox`**).
|
|
29
53
|
- **DatePicker** / **TimePicker** / **DateRangePicker** — панель от края поля; **TextField** — кликабельная зона на всю высоту.
|
|
30
54
|
- **DonutChart** — без нативного tooltip; **Container** не вылезает за колонку; clear/affix в **FieldBase** по центру.
|
|
31
55
|
|
package/README.md
CHANGED
|
@@ -31,13 +31,59 @@ export function App() {
|
|
|
31
31
|
|--------|------------|
|
|
32
32
|
| `altum` | Компоненты, `ThemeProvider`, `LocaleProvider`, словари `ru` / `en` |
|
|
33
33
|
| `altum/hooks` | Универсальные хуки (`useMediaQuery`, `useOutsideClick`, …) |
|
|
34
|
-
| `altum/utils` | Хелперы (`cn`, `composeRefs`, listbox/якорь, стек оверлеев) |
|
|
34
|
+
| `altum/utils` | Хелперы (`cn`, `composeRefs`, `set`, таймзоны, listbox/якорь, стек оверлеев) |
|
|
35
35
|
| `altum/icons` | Каталог иконок (не реэкспортируется из главного барреля) |
|
|
36
|
+
| `altum/locales` | Словари и `translate` для строк приложения |
|
|
36
37
|
|
|
37
38
|
Стили подключаются вместе с JS-модулем. Оберните приложение в `ThemeProvider`. Для порталов (`Modal`, `Sheet`, выпадающие панели) используйте `applyTo="document"`. Императивным тостам нужен смонтированный `NotificationProvider`.
|
|
38
39
|
|
|
39
40
|
Видимость оверлея: `open` + `onOpenChange` + `onClose`. Держите компонент смонтированным (`open={false}` всё равно проигрывает выход; `{open && <Modal>}` — нет).
|
|
40
41
|
|
|
42
|
+
## Локализация
|
|
43
|
+
|
|
44
|
+
`LocaleProvider` задаёт язык встроенных строк компонентов. Свои тексты переводите через `altum/locales`: словарь по кодам `ru` / `en` и `translate`. Текущая локаль — `useLocale()`.
|
|
45
|
+
|
|
46
|
+
Строка поддерживает подстановку `{name}`. Если значение — объект `{one, few, many}`, форма выбирается по `params.count` (для английского используются `one` и `many`).
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
import {LocaleProvider} from 'altum';
|
|
50
|
+
import {translate, useLocale, type LocaleCode, type MessageTree} from 'altum/locales';
|
|
51
|
+
|
|
52
|
+
const appMessages = {
|
|
53
|
+
ru: {
|
|
54
|
+
greeting: 'Привет, {name}',
|
|
55
|
+
files: {
|
|
56
|
+
one: '{count} файл',
|
|
57
|
+
few: '{count} файла',
|
|
58
|
+
many: '{count} файлов',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
en: {
|
|
62
|
+
greeting: 'Hello, {name}',
|
|
63
|
+
files: {
|
|
64
|
+
one: '{count} file',
|
|
65
|
+
few: '{count} files',
|
|
66
|
+
many: '{count} files',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
} satisfies Record<LocaleCode, MessageTree>;
|
|
70
|
+
|
|
71
|
+
function FilesLabel() {
|
|
72
|
+
const {locale} = useLocale();
|
|
73
|
+
return <span>{translate(appMessages[locale], 'files', {count: 2}, locale)}</span>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function App() {
|
|
77
|
+
return (
|
|
78
|
+
<LocaleProvider locale="ru">
|
|
79
|
+
<FilesLabel />
|
|
80
|
+
</LocaleProvider>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Словари библиотеки — `ru`, `en` и `builtInMessages`. Точечная замена встроенных фраз — проп `messages` у `LocaleProvider`.
|
|
86
|
+
|
|
41
87
|
## Документация
|
|
42
88
|
|
|
43
89
|
- [Компоненты](docs/COMPONENTS.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{useState as n,useCallback as r,useEffect as c}from"react";import{getFormControlState as p}from"../../utils/formControl.js";import m from"./FieldPopup.module.css.js";const b=m.field;function g({disabled:s=!1,readOnly:t=!1,digitsFromValue:e}){const[a,i]=n(!1),[d,l]=n(e??""),{isInteractive:o}=p({disabled:s,readOnly:t}),f=r(()=>i(!1),[]),u=r(()=>{o&&i(!0)},[o]);return c(()=>{e!==void 0&&l(e)},[e]),{open:a,setOpen:i,close:f,openPopup:u,isInteractive:o,digits:d,setDigits:l}}function C(s){return t=>{if(!t){s(null);return}const e=t.closest("[data-field-chrome]");s(e instanceof HTMLElement?e:t)}}export{C as bindFieldChromeRef,b as fieldPopupClassName,g as useMaskedPopupField};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as
|
|
1
|
+
"use client";import{jsxs as d,jsx as e}from"react/jsx-runtime";import{ButtonIcon as o}from"../../components/ButtonIcon/ButtonIcon.js";import{IconChevronLeft as h}from"../../icons/icons/IconChevronLeft.js";import{IconChevronRight as p}from"../../icons/icons/IconChevronRight.js";import t from"../../styles/calendarChrome.module.css.js";function u({title:a,titleId:n,showTitle:r=!0,showNav:i=!0,onPrev:l,onNext:s,prevLabel:c,nextLabel:m}){return!r&&!i?null:d("div",{className:t.header,children:[i&&e(o,{variant:"ghost",size:"sm",icon:e(h,{size:16,"aria-hidden":!0}),"aria-label":c,onClick:l}),r?e("div",{id:n,className:t.title,children:a}):e("span",{className:t.titleSpacer}),i&&e(o,{variant:"ghost",size:"sm",icon:e(p,{size:16,"aria-hidden":!0}),"aria-label":m,onClick:s})]})}export{u as PeriodHeader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as
|
|
1
|
+
"use client";import{jsxs as z,jsx as n}from"react/jsx-runtime";import{forwardRef as B,useId as F}from"react";import{cn as l}from"../../utils/cn.js";import{preventWhen as r}from"../../utils/preventWhen.js";import{getFormControlState as I}from"../../utils/formControl.js";import a from"./ToggleControlBase.module.css.js";const i=B(function({id:d,size:m="md",align:c="center",boxClassName:p,labelClassName:b,inputClassName:f,labelSide:C="end",readOnly:g=!1,disabled:o,label:e,labelHidden:u=!1,boxContent:N,className:h,style:x,onChange:y,onClick:O,...T},j){const k=F(),t=d||k,{isReadOnly:s}=I({disabled:o,readOnly:g}),v=!u&&e!=null&&e!==!1&&e!=="";return z("label",{className:l(a.root,h),style:x,htmlFor:t,"data-size":m,"data-align":c,"data-label-side":C,children:[n("input",{ref:j,id:t,className:l(a.input,f),disabled:o,"aria-readonly":s||void 0,...T,onChange:r(s,y),onClick:r(s,O)}),n("span",{className:l(a.box,p),children:N}),v?n("span",{className:l(a.labelText,b),children:e}):null]})});i.displayName="ToggleControlBase";export{i as ToggleControlBase};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a=".ULs8K{align-items:center;color:var(--altum-color-control-text-color);cursor:pointer;display:inline-flex;font-family:var(--altum-g-font-family-ui);font-size:var(--altum-g-font-size-base);gap:var(--altum-toggle-label-gap);position:relative;-webkit-user-select:none;user-select:none}.ULs8K[data-align=start]{align-items:flex-start}.ULs8K[data-label-side=start]{flex-direction:row-reverse}.ULs8K[data-size=sm]{--altum-toggle-box-size:var(--altum-toggle-box-size-sm);font-size:var(--altum-g-font-size-sm);gap:var(--altum-g-space-2)}.ULs8K[data-size=lg]{--altum-toggle-box-size:var(--altum-toggle-box-size-lg);font-size:var(--altum-g-font-size-lg);gap:var(--altum-g-space-3)}.ULs8K:has(._0JKPE[aria-readonly=true]){cursor:default}.ULs8K:has(._0JKPE[aria-readonly=true]) ._0JKPE{pointer-events:none}.ULs8K:has(._0JKPE:disabled){cursor:not-allowed;opacity:var(--altum-opacity-disabled)}.ULs8K .dl3-U{flex-shrink:0}.ULs8K .YQos0{min-width:0}.ULs8K ._0JKPE{height:0;opacity:0;position:absolute;width:0}";const e={root:"ULs8K",input:"_0JKPE",box:"dl3-U",labelText:"YQos0"};t(a);export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as N}from"react/jsx-runtime";import{forwardRef as C,useId as $,createContext as
|
|
1
|
+
"use client";import{jsx as t,jsxs as N}from"react/jsx-runtime";import{forwardRef as C,useId as $,createContext as w}from"react";import D from"../../styles/unstyledControl.module.css.js";import e from"./Accordion.module.css.js";import{handleVerticalTriggerKeyDown as O}from"../../utils/keyboard.js";import{useControlledStateWithCallback as j}from"../../hooks/useControlledState.js";import{useRequiredContext as E}from"../../hooks/useRequiredContext.js";import{cn as b}from"../../utils/cn.js";import{IconChevronDown as T}from"../../icons/icons/IconChevronDown.js";import{Collapse as k}from"../Collapse/Collapse.js";const v=w(null),y=C(function({children:o,multiple:r=!1,variant:s="flush",defaultOpenIds:u,openIds:m,onOpenChange:p,className:f,...g},h){const l=$(),[n,c]=j(m,u??[],p);return t(v.Provider,{value:{openIds:n,baseId:l,toggle:i=>{const d=n.includes(i);c(d?n.filter(a=>a!==i):r?[...n,i]:[i])}},children:t("div",{ref:h,className:b(e.accordion,e[s],f),...g,children:o})})}),x=C(function({value:o,disabled:r=!1,className:s,title:u,headingLevel:m="h3",children:p,...f},g){const{openIds:h,baseId:l,toggle:n}=E(v,"Accordion.Item \u0434\u043E\u043B\u0436\u0435\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432\u043D\u0443\u0442\u0440\u0438 Accordion"),c=h.includes(o)&&!r,i=`${l}-trigger-${o}`,d=`${l}-panel-${o}`;return N("div",{ref:g,className:b(e.item,r?e.disabled:"",s),...f,children:[t(m,{className:e.heading,children:N("button",{type:"button",id:i,className:b(D.control,e.trigger),disabled:r,"aria-expanded":c,"aria-controls":d,onClick:()=>{r||n(o)},onKeyDown:a=>{const A=a.currentTarget.closest(`.${e.accordion}`),I=Array.from(A?.querySelectorAll(`:scope > .${e.item} .${e.trigger}:not(:disabled)`)??[]);O(a,I,I.indexOf(a.currentTarget),()=>{r||n(o)})},children:[u,t(T,{className:e.icon,size:"1em","aria-hidden":!0})]})}),t(k,{open:c,children:t("div",{className:e.panelInner,id:d,role:"region","aria-labelledby":i,children:p})})]})});y.displayName="Accordion",x.displayName="Accordion.Item";const q=Object.assign(y,{Item:x});export{q as Accordion};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var r=".LVhhv{display:flex;flex-direction:column}.LVhhv.P0DaU{gap:var(--altum-g-space-2)}.LVhhv.P0DaU ._7ryVk{background-color:var(--altum-color-surface);border:1px solid var(--altum-color-border);border-radius:var(--altum-g-radius)}.LVhhv.X24HB ._7ryVk{border-bottom:1px solid var(--altum-color-panel-border)}:is(.LVhhv.X24HB ._7ryVk):last-child{border-bottom:none}.LVhhv ._7ryVk{min-width:0;overflow:hidden}.x7TBB:is(.LVhhv ._7ryVk){opacity:var(--altum-opacity-disabled)}.LVhhv ._6PDIo{margin:0}.LVhhv ._9BYFY{align-items:center;color:var(--altum-color-ink-default);display:flex;font-size:var(--altum-g-font-size-base);font-weight:var(--altum-g-font-weight-semibold);justify-content:space-between;padding:var(--altum-g-space-3) var(--altum-g-space-4);text-align:left;transition:var(--altum-transition-smooth);width:100%}:is(.LVhhv ._9BYFY):focus-visible{outline-offset:-2px}:is(.LVhhv ._9BYFY):hover:not(:disabled){background-color:var(--altum-color-option-hover)}[aria-expanded=true]:is(.LVhhv ._9BYFY) .xfHxX{transform:rotate(180deg)}.LVhhv .xfHxX{color:var(--altum-field-label);flex-shrink:0;
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var r=".LVhhv{display:flex;flex-direction:column}.LVhhv.P0DaU{gap:var(--altum-g-space-2)}.LVhhv.P0DaU ._7ryVk{background-color:var(--altum-color-surface);border:1px solid var(--altum-color-border);border-radius:var(--altum-g-radius)}.LVhhv.X24HB ._7ryVk{border-bottom:1px solid var(--altum-color-panel-border)}:is(.LVhhv.X24HB ._7ryVk):last-child{border-bottom:none}.LVhhv ._7ryVk{min-width:0;overflow:hidden}.x7TBB:is(.LVhhv ._7ryVk){opacity:var(--altum-opacity-disabled)}.LVhhv ._6PDIo{margin:0}.LVhhv ._9BYFY{align-items:center;color:var(--altum-color-ink-default);display:flex;font-size:var(--altum-g-font-size-base);font-weight:var(--altum-g-font-weight-semibold);justify-content:space-between;padding:var(--altum-g-space-3) var(--altum-g-space-4);text-align:left;transition:var(--altum-transition-smooth);width:100%}:is(.LVhhv ._9BYFY):focus-visible{outline-offset:-2px}:is(.LVhhv ._9BYFY):hover:not(:disabled){background-color:var(--altum-color-option-hover)}[aria-expanded=true]:is(.LVhhv ._9BYFY) .xfHxX{transform:rotate(180deg)}.LVhhv .xfHxX{color:var(--altum-field-label);flex-shrink:0;margin-inline-start:auto;transition:var(--altum-transition-smooth)}.LVhhv .nTSIr{color:var(--altum-color-text-secondary);font-size:var(--altum-g-font-size-sm);line-height:var(--altum-g-line-height-base);padding:var(--altum-g-space-3) var(--altum-g-space-4)}@media (prefers-reduced-motion:reduce){.LVhhv ._9BYFY,.LVhhv .xfHxX{transition:none}}";const o={accordion:"LVhhv",bordered:"P0DaU",item:"_7ryVk",flush:"X24HB",disabled:"x7TBB",heading:"_6PDIo",trigger:"_9BYFY",icon:"xfHxX",panelInner:"nTSIr"};a(r);export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as
|
|
1
|
+
"use client";import{jsxs as d,jsx as r,Fragment as A}from"react/jsx-runtime";import{forwardRef as j,useRef as k,useState as O,useMemo as q,useImperativeHandle as K}from"react";import{Listbox as M}from"../Listbox/Listbox.js";import{handleListHighlightKeyDown as R}from"../../utils/keyboard.js";import{filterListboxOptions as T,getListboxOptionDomId as V}from"../../utils/listboxOptions.js";import{cn as z}from"../../utils/cn.js";import{useControlledStateWithCallback as B}from"../../hooks/useControlledState.js";import{useFallbackId as E}from"../../hooks/useFallbackId.js";import{useLocale as J}from"../../locales/localeContext.js";import{SearchField as Q}from"../SearchField/SearchField.js";import o from"./ActionList.module.css.js";import{ruSlice as W}from"../../locales/slices/actionList.ru.js";const G={actionList:W};function U(t){return[t.textValue??(typeof t.label=="string"||typeof t.label=="number"?String(t.label):t.id),...t.keywords??[],typeof t.description=="string"?t.description:""].join(" ")}function X(t){return d(A,{children:[t.icon&&r("span",{className:o.icon,"aria-hidden":!0,children:t.icon}),d("span",{className:o.itemBody,children:[r("span",{className:o.itemLabel,children:t.label}),t.description!=null&&r("span",{className:o.itemDescription,children:t.description})]}),t.shortcut!=null&&r("span",{className:o.shortcut,children:t.shortcut})]})}const u=j(function({items:t,groups:f,className:b,id:x,"aria-label":L,onAction:v,onHighlightChange:N,filterable:g=!1,filterPlaceholder:y,query:m,onQueryChange:I,emptyText:F,...H},P){const{t:a}=J(G),l=E(x),n=k(null),[s,S]=B(m,"",I),[h,C]=O(-1),D=q(()=>T({query:s,options:t.map(e=>({value:e.id,label:X(e),textValue:U(e),disabled:e.disabled,groupId:e.groupId,buttonProps:e.buttonProps}))}),[t,s]),w=e=>{const i=t.find(c=>c.id===e);i&&(i.onSelect?.(),v?.(i))};K(P,()=>{const e=()=>n.current;return{highlightNext:()=>e()?.highlightNext(),highlightPrev:()=>e()?.highlightPrev(),highlightFirst:()=>e()?.highlightFirst(),highlightLast:()=>e()?.highlightLast(),selectHighlighted:()=>{const i=e()?.selectHighlighted();return i?t.find(c=>c.id===i):void 0},getHighlightedIndex:()=>e()?.getHighlightedIndex()??-1,getActiveDescendantId:()=>e()?.getActiveDescendantId(),getListId:()=>l}},[t,l]);const p=y??a("actionList.filterPlaceholder");return d("div",{className:z(o.root,b),...H,children:[g&&r(Q,{wrapperClassName:o.filter,size:"sm",keepPlaceholder:!0,"aria-label":p,placeholder:p,value:s,autoComplete:"off",role:"combobox","aria-expanded":!0,"aria-controls":l,"aria-autocomplete":"list","aria-activedescendant":h>=0?V(l,h):void 0,autoFocus:!0,onChange:e=>S(e.target.value),onKeyDown:e=>{const i=n.current;R(e,{onNext:()=>i?.highlightNext(),onPrev:()=>i?.highlightPrev(),onFirst:()=>i?.highlightFirst(),onLast:()=>i?.highlightLast(),onSelect:()=>i?.selectHighlighted()})}}),r(M,{ref:n,id:l,className:o.list,options:D,groups:f,navigation:"highlight",highlightedIndex:h,onHighlightChange:e=>{C(e),N?.(e)},preventOptionMouseDown:g||m!==void 0,multiline:!0,noOptionsText:F??a("actionList.empty"),"aria-label":L??a("actionList.ariaLabel"),onSelect:w})]})});u.displayName="ActionList";export{u as ActionList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as t}from"../../utils/injectCss.js";var
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var e=".TM61E{background-color:var(--altum-color-dropdown-bg);display:flex;flex-direction:column;max-height:100%;min-height:0}.TM61E ._2qgo-{border-bottom:1px solid var(--altum-color-dropdown-border);flex-shrink:0;padding:var(--altum-g-space-2) var(--altum-g-space-3)}.TM61E ._2MsDw{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--altum-g-space-2)}.TM61E .-sQQx{align-items:center;color:var(--altum-color-muted);display:inline-flex;flex-shrink:0;height:var(--altum-toggle-box-size);justify-content:center;width:var(--altum-toggle-box-size)}.TM61E ._5z1Uj{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--altum-g-space-1);min-width:0}.TM61E ._6Z9Na{font-size:var(--altum-g-font-size-base);font-weight:var(--altum-g-font-weight-medium);line-height:1.3}.TM61E ._0UGgw{color:var(--altum-color-ink-muted);font-size:var(--altum-g-font-size-2xs);line-height:var(--altum-g-line-height-2xs)}.TM61E .HT3A4{color:var(--altum-color-muted);flex-shrink:0;font-size:var(--altum-g-font-size-xs);font-variant-numeric:tabular-nums}";const o={root:"TM61E",filter:"_2qgo-",list:"_2MsDw",icon:"-sQQx",itemBody:"_5z1Uj",itemLabel:"_6Z9Na",itemDescription:"_0UGgw",shortcut:"HT3A4"};t(e);export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as E}from"react/jsx-runtime";import{forwardRef as D,useState as M,useEffect as b,useMemo as k}from"react";import{useMediaQuery as x,MOBILE_MEDIA_QUERY as A}from"../../hooks/useMediaQuery.js";import{cn as O}from"../../utils/cn.js";import{composeEventHandlers as w}from"../../utils/composeEvents.js";import{ActionSheetProvider as U}from"./actionSheetContext.js";import P from"./ActionSheetTrigger.module.css.js";const S=`(hover: none) and ${A}`,I=400;function Y(){const r={disabled:!1,delay:500,move:8,fire:()=>{}};let d=0,h=0,g=0,m=!1,u=!1,p=!1,a=null,v=null;const s=()=>{window.clearTimeout(d),d=0,m=!1,a?.(),a=null},f=()=>{v?.(),v=null},T=()=>{f(),p=!0;const o=n=>{n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),p=!1,f()};window.addEventListener("click",o,!0);const i=window.setTimeout(()=>{p=!1,f()},I);v=()=>{window.removeEventListener("click",o,!0),window.clearTimeout(i)}},c=(o,i,n)=>{window.addEventListener(o,i,n);const l=a;a=()=>{l?.(),window.removeEventListener(o,i,n)}};return{opts:r,stop:s,onPointerDown:o=>{if(r.disabled||o.button>0)return;s(),u=!1,h=o.clientX,g=o.clientY,m=!0;const i=o.currentTarget;d=window.setTimeout(()=>{u=!0,d=0,m=!1,a?.(),a=null,T(),!r.disabled&&(i.classList.remove(P.pulse),i.classList.add(P.pulse),r.fire(!0))},r.delay);const n=(e,t)=>{!m||d===0||Math.hypot(e-h,t-g)>r.move&&s()},l=()=>s();c("pointermove",e=>{const t=e;n(t.clientX,t.clientY)}),c("pointerup",l),c("pointercancel",l),c("touchmove",e=>{const t=e.touches[0];t&&n(t.clientX,t.clientY)},{passive:!0}),c("touchend",l),c("touchcancel",l)},onPointerUp:s,onPointerCancel:s,onContextMenu:o=>{(u||r.disabled)&&o.preventDefault()},onClick:o=>{!p&&!u||(o.preventDefault(),o.stopPropagation(),p=!1,u=!1,f())},destroy:()=>{s(),f()}}}const L=D(function({children:r,showOverflowTrigger:d=!1,longPressMs:h=500,moveThreshold:g=8,disabled:m=!1,className:u,onPointerDown:p,onPointerUp:a,onPointerCancel:v,onContextMenu:s,onClick:f,onAnimationEnd:T,...c},o){const i=x(S),[n,l]=M(!1),[e]=M(Y);e.opts.disabled=m,e.opts.delay=h,e.opts.move=g,e.opts.fire=l;const t=d||!i;b(()=>()=>e.destroy(),[e]);const y=k(()=>({overflowOpen:n,setOverflowOpen:l,shouldShowOverflowTrigger:t,cancelLongPress:e.stop}),[n,t,e.stop]);return E(U,{value:y,children:E("div",{ref:o,...c,className:O(P.host,u),onPointerDown:w(p,e.onPointerDown),onPointerUp:w(a,e.onPointerUp),onPointerCancel:w(v,e.onPointerCancel),onContextMenu:w(s,e.onContextMenu),onClick:w(f,e.onClick),onAnimationEnd:w(T,C=>{C.target===C.currentTarget&&C.currentTarget.classList.remove(P.pulse)}),"data-action-sheet-trigger":"",children:r})})});L.displayName="ActionSheetTrigger";export{L as ActionSheetTrigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as e}from"../../utils/injectCss.js";var
|
|
1
|
+
"use client";import{injectCss as e}from"../../utils/injectCss.js";var n=".B707S{-webkit-touch-callout:none;min-width:0;width:100%}@media (hover:none),(pointer:coarse){.B707S{-webkit-user-select:none;user-select:none}}.NJ4Ii{animation:ATj1M .32s cubic-bezier(.22,1,.36,1)}@keyframes ATj1M{35%{transform:scale(.97)}70%{transform:scale(1.015)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.NJ4Ii{animation:none}}";const o={host:"B707S",pulse:"NJ4Ii"};e(n);export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as d,jsx as o}from"react/jsx-runtime";import{forwardRef as
|
|
1
|
+
"use client";import{jsxs as d,jsx as o}from"react/jsx-runtime";import{forwardRef as w}from"react";import{IconCheckmark as y}from"../../icons/icons/IconCheckmark.js";import{IconInformation as C}from"../../icons/icons/IconInformation.js";import{IconWarning as g}from"../../icons/icons/IconWarning.js";import{IconWrong as x}from"../../icons/icons/IconWrong.js";import{OverlayCloseButton as j}from"../ButtonIcon/OverlayCloseButton.js";import e from"../../styles/MediaItem.module.css.js";import r from"./Alert.module.css.js";import f from"../../styles/status.module.css.js";import{cn as i}from"../../utils/cn.js";import{useLocale as A}from"../../locales/localeContext.js";import{ruSlice as L}from"../../locales/slices/common.ru.js";const W={common:L},B={info:o(C,{size:16}),success:o(y,{size:16}),warning:o(g,{size:16}),error:o(x,{size:16})},p=w(function({variant:n="info",size:c="md",layout:u="block",className:h,role:v,title:l,icon:m,actions:s,onClose:a,closeLabel:N,children:t,...I},b){const{t:z}=A(W),k=N??z("common.close");return d("div",{ref:b,className:i(e.row,e.wrap,r.alert,r[n],f[n],f.surface,c!=="md"&&r[c],u==="inline"&&r.inline,h),role:v??(n==="error"?"alert":"status"),...I,children:[m!==null&&o("div",{className:i(e.media,r.icon),"aria-hidden":!0,children:m??B[n]}),d("div",{className:i(e.content,r.body),children:[l!=null&&l!==""&&o("div",{className:i(e.title,r.title),children:l}),t!=null&&t!==""&&o("div",{className:i(e.description,r.content),children:t}),s!=null&&o("div",{className:i(e.actions,r.actions),children:s})]}),a!=null&&o(j,{"aria-label":k,onClick:a})]})});p.displayName="Alert";export{p as Alert};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t="._7cYyI{align-items:flex-start;background-color:var(--altum-status-bg);border:1px solid var(--altum-status-border);border-radius:var(--altum-g-radius);color:var(--altum-status-fg);padding:var(--altum-g-space-3) var(--altum-g-space-4)}._7cYyI .Zg6SB{color:inherit;margin-top:var(--altum-g-space-1)}._7cYyI .abGgF{color:inherit;font-weight:var(--altum-g-font-weight-semibold
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t="._7cYyI{align-items:flex-start;background-color:var(--altum-status-bg);border:1px solid var(--altum-status-border);border-radius:var(--altum-g-radius);color:var(--altum-status-fg);padding:var(--altum-g-space-3) var(--altum-g-space-4)}._7cYyI .Zg6SB{color:inherit;margin-top:var(--altum-g-space-1)}._7cYyI .abGgF{color:inherit;font-weight:var(--altum-g-font-weight-semibold);line-height:var(--altum-g-line-height-xs)}._7cYyI .UXnmZ,._7cYyI .abGgF{font-size:var(--altum-g-font-size-sm)}._7cYyI .UXnmZ{color:var(--altum-color-muted);line-height:var(--altum-g-line-height-base)}._7cYyI .RW9lv{align-items:flex-start;flex-wrap:wrap;gap:var(--altum-g-space-2);margin-top:var(--altum-g-space-2)}._7cYyI._8W0SD{gap:var(--altum-g-space-2);padding:var(--altum-g-space-2) var(--altum-g-space-3)}._7cYyI._8W0SD .UXnmZ,._7cYyI._8W0SD .abGgF{font-size:var(--altum-g-font-size-xs)}._7cYyI.-rVFO{padding:var(--altum-g-space-4) var(--altum-g-space-5)}._7cYyI.-rVFO .abGgF{font-size:var(--altum-g-font-size-base)}._7cYyI.OCIzv{display:inline-flex;max-width:100%;vertical-align:middle;width:auto}._7cYyI.OCIzv .RW9lv{margin-left:var(--altum-g-space-2);margin-top:0}._7cYyI.OCIzv .B60Rk{align-items:center;flex-direction:row;flex-wrap:wrap;gap:var(--altum-g-space-2)}";const e={alert:"_7cYyI",icon:"Zg6SB",title:"abGgF",content:"UXnmZ",actions:"RW9lv",sm:"_8W0SD",lg:"-rVFO",inline:"OCIzv",body:"B60Rk"};a(t);export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t='._3xMuZ{--altum-avatar-size:
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t='._3xMuZ{--altum-avatar-size:var(--altum-control-height-md);align-items:center;background-color:var(--altum-color-fill-primary-bg);border:2px solid var(--altum-color-surface);border-radius:50%;color:var(--altum-color-fill-primary-fg);display:inline-flex;flex-shrink:0;font-family:inherit;font-size:calc(var(--altum-avatar-size)/2.5);font-weight:var(--altum-g-font-weight-semibold);height:var(--altum-avatar-size);justify-content:center;overflow:hidden;position:relative;width:var(--altum-avatar-size)}._3xMuZ[data-status]{overflow:visible}._3xMuZ[data-status]:after{aspect-ratio:1;background-color:var(--altum-avatar-status);border:2px solid var(--altum-color-surface);border-radius:50%;bottom:0;box-sizing:border-box;content:"";min-height:var(--altum-g-space-2);min-width:var(--altum-g-space-2);position:absolute;right:0;width:22%}._3xMuZ[data-status=online]{--altum-avatar-status:var(--altum-color-status-success)}._3xMuZ[data-status=offline]{--altum-avatar-status:var(--altum-color-border)}._3xMuZ[data-status=busy]{--altum-avatar-status:var(--altum-color-status-error)}._3xMuZ[data-status=away]{--altum-avatar-status:var(--altum-color-status-warning)}.oSaLL{--altum-avatar-size:var(--altum-g-space-6)}.sZ2bk{--altum-avatar-size:var(--altum-control-height-sm)}.pTTUA{--altum-avatar-size:var(--altum-control-height-lg)}.mW58F{--altum-avatar-size:calc(var(--altum-g-space-8)*2)}.SqXNw{border-radius:50%;height:100%;object-fit:cover;width:100%}.zRtul{align-items:center;display:inline-flex;justify-content:center;line-height:1}.zRtul:not(:has(svg)){max-width:100%;padding-inline:10%;text-align:center}.zRtul svg{height:50%;width:50%}.LHuq2{display:inline-flex;flex-direction:row}.LHuq2>*+*{margin-left:calc(var(--altum-g-space-2)*-1)}';const r={avatar:"_3xMuZ",xs:"oSaLL",sm:"sZ2bk",lg:"pTTUA",xl:"mW58F",img:"SqXNw",icon:"zRtul",group:"LHuq2"};a(t);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as
|
|
1
|
+
"use client";import{jsxs as w,jsx as b}from"react/jsx-runtime";import{forwardRef as j}from"react";import l from"./Badge.module.css.js";import o from"../../styles/status.module.css.js";import{cn as g}from"../../utils/cn.js";const h=j(function({label:r,dot:a=!1,variant:n="error",size:v="md",position:x,max:s,children:m,className:t,...d},c){const f=n==="primary"||n==="secondary",e=m!=null&&x!=="standalone",i=s===!1||typeof r!="number"||!Number.isFinite(r)?null:s??9,u=typeof r=="number"&&i!=null&&r>i?`${i}+`:r,p=r!==void 0||a,y=g(l.badge,f?l[n]:o[n],!f&&(n==="warning"&&!a?o.surface:o.fill),v==="sm"&&l.sm,a&&l.dot,e&&l.overlay,!e&&t),N=a||u==null?null:u;return e?w("div",{ref:c,className:g(l.wrap,t),...d,children:[m,p?b("span",{className:y,children:N}):null]}):p?b("span",{ref:c,className:y,...d,children:N}):null});h.displayName="Badge";export{h as Badge};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t=".yp-V3{
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t=".yp-V3{--altum-badge-outset:var(--altum-badge-overhang);display:inline-flex;margin:calc(var(--altum-badge-outset)*-1) calc(var(--altum-badge-outset)*-1) 0 0;padding:var(--altum-badge-outset) var(--altum-badge-outset) 0 0;position:relative}.RsuMz{--altum-badge-box:var(--altum-badge-size-md);--altum-badge-pad:var(--altum-g-space-1);border:2px solid var(--altum-color-surface);border-radius:var(--altum-g-radius-pill);box-sizing:border-box;display:inline-grid;font-size:var(--altum-badge-font-size);font-weight:var(--altum-g-font-weight-bold);height:var(--altum-badge-box);line-height:1;min-width:var(--altum-badge-box);padding:0 var(--altum-badge-pad);place-items:center;translate:0 var(--altum-badge-digit-nudge);vertical-align:middle}.RsuMz.cGsYh{position:absolute;right:var(--altum-badge-outset);top:var(--altum-badge-outset);transform:translate(40%,-40%);z-index:var(--altum-g-z-local)}.RsuMz.LYsCn{--altum-badge-box:var(--altum-badge-size-sm);--altum-badge-pad:var(--altum-control-inset);border-width:1px;font-size:var(--altum-badge-font-size-sm,var(--altum-badge-font-size))}.RsuMz.cGsYh.LYsCn{max-width:calc(var(--altum-badge-size-sm) + var(--altum-g-space-2));transform:translate(25%,-25%)}.RsuMz.S0WCS{background-color:var(--altum-color-brand);color:var(--altum-color-brand-text)}.RsuMz.AhhB9{background-color:var(--altum-color-text-secondary);color:var(--altum-color-surface)}.RsuMz.i0c-G{--altum-badge-box:var(--altum-g-space-2);padding:0;translate:none;width:var(--altum-badge-box)}.RsuMz.i0c-G.LYsCn{--altum-badge-box:calc(var(--altum-g-space-1) + var(--altum-control-inset))}";const e={wrap:"yp-V3",badge:"RsuMz",overlay:"cGsYh",sm:"LYsCn",primary:"S0WCS",secondary:"AhhB9",dot:"i0c-G"};a(t);export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as u}from"react/jsx-runtime";import{forwardRef as p}from"react";import o from"./Box.module.css.js";import{cn as b}from"../../utils/cn.js";const t=p(function({variant:i="outlined",border:r,borderStyle:m="solid",shadow:d,as:e="div",padding:a="none",radius:n="md",className:l,...s},f){return u(e,{ref:f,className:b(o.root,o[i],r&&o.bordered,r===!1&&o.unbordered,r!==!1&&m==="dashed"&&o.dashed,d==="none"&&o.noShadow,d&&d!=="none"&&o[`shadow_${d}`],a!=="none"&&o[`pad_${a}`],n!=="md"&&o[`radius_${n}`],l),...s,...e==="button"?{type:s.type??"button"}:null})});t.displayName="Box";export{t as Box};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as r}from"../../utils/injectCss.js";var o=".qArCi{border:1px solid #0000;border-radius:var(--altum-g-radius);box-sizing:border-box;color:var(--altum-color-input-text)}.qArCi
|
|
1
|
+
"use client";import{injectCss as r}from"../../utils/injectCss.js";var o=".qArCi{--altum-box-border-color:var(--altum-color-border);border:1px solid #0000;border-radius:var(--altum-g-radius);box-sizing:border-box;color:var(--altum-color-input-text)}.qArCi:is(.w5IF6,.BP-0Q,.nY-ng,.-vlP5,.pzfbU,._0SOwa){border-color:var(--altum-box-border-color)}.qArCi:is(.m4sbd,.pzfbU){box-shadow:var(--altum-shadow-surface)}.qArCi.w5IF6{background-color:var(--altum-color-surface)}.qArCi.m4sbd{background-color:var(--altum-color-surface-elevated)}.qArCi.BP-0Q{--altum-box-border-color:var(--altum-color-dropdown-border);background-color:var(--altum-color-fill-floating-bg);box-shadow:var(--altum-shadow-dropdown);color:var(--altum-color-fill-floating-fg)}.qArCi.nY-ng{--altum-box-border-color:var(--altum-color-brand-tint-border);background-color:var(--altum-color-brand-tint);color:var(--altum-color-brand-tint-text)}.qArCi.-vlP5{background-color:color-mix(in srgb,var(--altum-color-text-secondary) 10%,var(--altum-color-surface));color:var(--altum-color-text-secondary)}.qArCi.fZLvl{background-color:var(--altum-color-surface-active)}.qArCi.pzfbU{--altum-box-border-color:color-mix(in srgb,var(--altum-color-border) 55%,#0000);-webkit-backdrop-filter:blur(var(--altum-backdrop-blur,12px));backdrop-filter:blur(var(--altum-backdrop-blur,12px));background-color:color-mix(in srgb,var(--altum-color-surface) 62%,#0000)}.qArCi._0SOwa{--altum-box-border-color:var(--altum-overlay-content-border);background-color:var(--altum-overlay-content-bg);color:var(--altum-overlay-on-scrim)}.qArCi.ihDGT{--altum-box-border-color:#0000;border:none;border-radius:0}.qArCi._6Vf0j{border-color:var(--altum-box-border-color);border-width:1px}.qArCi.A3tye{border-color:#0000}.qArCi.uLa77{border-style:dashed}.qArCi.Q4six{box-shadow:none}.qArCi._0wr3M{box-shadow:var(--altum-shadow-surface)}.qArCi.Yx1LC{box-shadow:var(--altum-shadow-dropdown)}.qArCi.g3it5{box-shadow:var(--altum-shadow-lg)}.qArCi.MQcDi{border-radius:0}.qArCi._9oy-Z{border-radius:var(--altum-g-radius-sm)}.qArCi.eCoHt{border-radius:var(--altum-g-radius-lg,12px)}.qArCi.xpq30{padding:var(--altum-g-space-1)}.qArCi.khFW-{padding:var(--altum-g-space-2)}.qArCi.Ch4pq{padding:var(--altum-g-space-3)}.qArCi.jJ8ob{padding:var(--altum-g-space-4)}.qArCi._3AlQG{padding:var(--altum-g-space-6)}";const a={root:"qArCi",outlined:"w5IF6",floating:"BP-0Q",tinted:"nY-ng",secondary:"-vlP5",glass:"pzfbU",overlay:"_0SOwa",elevated:"m4sbd",muted:"fZLvl",plain:"ihDGT",bordered:"_6Vf0j",unbordered:"A3tye",dashed:"uLa77",noShadow:"Q4six",shadow_sm:"_0wr3M",shadow_md:"Yx1LC",shadow_lg:"g3it5",radius_none:"MQcDi",radius_sm:"_9oy-Z",radius_lg:"eCoHt",pad_xs:"xpq30",pad_sm:"khFW-",pad_md:"Ch4pq",pad_lg:"jJ8ob",pad_xl:"_3AlQG"};r(o);export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as r,jsx as a}from"react/jsx-runtime";import{forwardRef as
|
|
1
|
+
"use client";import{jsxs as r,jsx as a}from"react/jsx-runtime";import{forwardRef as w,useState as $,useId as B}from"react";import b from"../../styles/unstyledControl.module.css.js";import l from"./Bubble.module.css.js";import{cn as o}from"../../utils/cn.js";import{useLocale as S}from"../../locales/localeContext.js";import{ruSlice as A}from"../../locales/slices/bubble.ru.js";const E={bubble:A},p=w(function({children:f,variant:c="default",align:h,group:g="single",meta:s,reactions:n,collapsible:t=!1,collapsedLines:N=4,expandLabel:v,collapseLabel:x,className:j,style:u,...y},k){const{t:i}=S(E),[d,C]=$(!1),m=B(),L=h??(c==="outgoing"?"end":"start");return r("div",{ref:k,className:o(l.wrap,L==="end"?l.alignEnd:"",t?l.collapsible:"",j),style:t?{"--altum-bubble-lines":N,...u}:u,...y,children:[s&&a("div",{className:l.meta,children:s}),r("div",{className:o(l.bubble,l[c],l[`group_${g}`]),children:[a("div",{id:m,className:l.body,children:f}),t&&a("button",{type:"button",className:o(b.control,l.toggle),"aria-expanded":d,"aria-controls":m,onClick:()=>C(e=>!e),children:d?x??i("bubble.collapse"):v??i("bubble.expand")})]}),n&&n.length>0&&a("div",{className:l.reactions,role:"group","aria-label":i("bubble.reactions"),children:n.map(e=>r("button",{type:"button",className:o(b.control,l.reaction,e.active?l.reactionActive:""),onClick:e.onClick,"aria-pressed":e.active,"aria-label":e.count!=null&&e.count>0?`${e.emoji} ${e.count}`:e.emoji,children:[a("span",{"aria-hidden":!0,children:e.emoji}),e.count!=null&&e.count>0&&a("span",{className:l.reactionCount,children:e.count})]},e.emoji))})]})});p.displayName="Bubble";export{p as Bubble};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var r=".URvSq{align-items:flex-start;align-self:flex-start;display:flex;flex-direction:column;font-family:var(--altum-g-font-family-ui);gap:var(--altum-g-space-1);max-width:min(100%,420px)}.URvSq.hfCqn{align-items:flex-end;align-self:flex-end}.URvSq.hfCqn ._980gE{border-bottom-left-radius:var(--altum-g-radius-lg
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var r=".URvSq{align-items:flex-start;align-self:flex-start;display:flex;flex-direction:column;font-family:var(--altum-g-font-family-ui);gap:var(--altum-g-space-1);max-width:min(100%,420px)}.URvSq.hfCqn{align-items:flex-end;align-self:flex-end}.URvSq.hfCqn ._980gE{border-bottom-left-radius:var(--altum-g-radius-lg);border-bottom-right-radius:var(--altum-g-radius-sm)}.URvSq.hfCqn .EDs9V{border-top-left-radius:var(--altum-g-radius-lg);border-top-right-radius:var(--altum-g-radius-sm)}.URvSq.dmQu2:not(:has([aria-expanded=true])) .jHlUX{-webkit-box-orient:vertical;-webkit-line-clamp:var(--altum-bubble-lines,4);display:-webkit-box;overflow:hidden}.URvSq .rJQLB{color:var(--altum-field-label);font-size:var(--altum-g-font-size-xs);line-height:1.3;padding:0 var(--altum-g-space-2)}.URvSq .NBDS9{background-color:var(--altum-color-surface-active);border:1px solid #0000;border-radius:var(--altum-g-radius-lg);box-sizing:border-box;color:var(--altum-color-input-text);min-width:0;padding:var(--altum-g-space-2) var(--altum-g-space-3);transition:var(--altum-transition-smooth)}.URvSq .eb1YB{background-color:var(--altum-color-brand-tint);border-color:var(--altum-color-brand-tint-border);color:var(--altum-color-brand-tint-text)}.URvSq ._7qOPo{background-color:initial;border-color:var(--altum-color-border);border-style:dashed;color:var(--altum-field-label);font-size:var(--altum-g-font-size-2xs);padding:var(--altum-g-space-1) var(--altum-g-space-3)}.URvSq ._980gE{border-bottom-left-radius:var(--altum-g-radius-sm)}.URvSq ._9mEAO{border-radius:var(--altum-g-radius-sm)}.URvSq .EDs9V{border-top-left-radius:var(--altum-g-radius-sm)}.URvSq .jHlUX{font-size:var(--altum-g-font-size-base);line-height:var(--altum-g-line-height-base);margin:0;white-space:pre-wrap;word-break:break-word}.URvSq .Omawa{color:var(--altum-color-brand-tint-text);font-size:var(--altum-g-font-size-2xs);font-weight:var(--altum-g-font-weight-semibold);margin:var(--altum-g-space-1) 0 0}:is(.URvSq .Omawa):hover:not(:disabled){text-decoration:underline}.URvSq ._7eiRp{flex-wrap:wrap;margin-top:var(--altum-control-inset)}.URvSq ._7eiRp,.URvSq .m9Win{display:inline-flex;gap:var(--altum-g-space-1)}.URvSq .m9Win{align-items:center;background:var(--altum-color-panel-bg);border:1px solid var(--altum-color-panel-border);border-radius:var(--altum-g-radius-pill);color:var(--altum-color-field-text);font-size:var(--altum-g-font-size-2xs);line-height:1;min-height:var(--altum-g-space-5);padding:0 var(--altum-g-space-2);transition:var(--altum-transition-smooth)}:is(.URvSq .m9Win):hover:not(:disabled){background:var(--altum-color-panel-bg-hover)}.URvSq .v8Uhm{background:var(--altum-color-brand-tint);border-color:var(--altum-color-brand-tint-border)}.URvSq .v8Uhm,:is(.URvSq .v8Uhm) ._5gpJy{color:var(--altum-color-brand-tint-text)}.URvSq ._5gpJy{color:var(--altum-field-label);font-weight:var(--altum-g-font-weight-semibold)}";const t={wrap:"URvSq",alignEnd:"hfCqn",group_first:"_980gE",group_last:"EDs9V",collapsible:"dmQu2",body:"jHlUX",meta:"rJQLB",bubble:"NBDS9",outgoing:"eb1YB",system:"_7qOPo",group_middle:"_9mEAO",toggle:"Omawa",reactions:"_7eiRp",reaction:"m9Win",reactionActive:"v8Uhm",reactionCount:"_5gpJy"};a(r);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{forwardRef as y,createElement as h}from"react";import t from"./Button.module.css.js";import k from"../../styles/textLink.module.css.js";import{cn as N}from"../../utils/cn.js";const l=y(function({variant:a="primary",size:o="md",active:n,className:s,children:f,type:m="button",disabled:d,as:p,prefix:c,postfix:u,loading:e=!1,fullWidth:b,...v},x){const i=p==="a",r=!!(d||e);return h(i?"a":"button",{ref:x,className:N(t.btn,t[a],o!=="md"&&a!=="link"&&t[o],a==="link"&&k.link,d&&!e&&t.off,b&&t.fullWidth,s),type:i?void 0:m,disabled:i?void 0:r,"aria-disabled":i&&r?!0:void 0,tabIndex:i&&r?-1:void 0,...v,"aria-pressed":n,"aria-busy":e||void 0},!e&&c,f,u)});l.displayName="Button";export{l as Button};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a='.Fx11X{--altum-btn-border:#0000;--altum-btn-text:inherit;--altum-btn-text-hover:var(--altum-btn-text);--altum-btn-bg:#0000;--altum-btn-bg-hover:var(--altum-btn-bg);--altum-btn-bg-active:var(--altum-btn-bg-hover);--altum-btn-shadow:0 0 0 0 #0000;--altum-btn-focus-ring:var(--altum-focus-ring-color);--altum-btn-height:var(--altum-control-height-md);--altum-btn-pad-x:var(--altum-g-space-5);--altum-btn-font-size:var(--altum-g-font-size-base);--altum-btn-icon-size:var(--altum-control-icon-size-md);align-items:center;appearance:none;background:var(--altum-btn-bg);border:1px solid var(--altum-btn-border);border-radius:var(--altum-g-radius);box-shadow:var(--altum-btn-shadow);box-sizing:border-box;color:var(--altum-btn-text);cursor:pointer;display:inline-flex;font-family:var(--altum-g-font-family-ui);font-size:var(--altum-btn-font-size);font-weight:var(--altum-g-font-weight-medium);gap:var(--altum-g-space-2);height:var(--altum-btn-height);justify-content:center;outline:none;padding:0 var(--altum-btn-pad-x);transition:var(--altum-transition-smooth);-webkit-user-select:none;user-select:none}.Fx11X svg{height:var(--altum-btn-icon-size);width:var(--altum-btn-icon-size)}.Fx11X._69HBo{color:color-mix(in srgb,var(--altum-btn-text) 48%,var(--altum-color-bg));cursor:not-allowed}.Fx11X._69HBo:not(._1KINV,.Zt5hw){background:color-mix(in srgb,var(--altum-btn-bg) 36%,var(--altum-color-surface));border-color:#0000;box-shadow:none}.Fx11X[aria-disabled=true]{pointer-events:none}.Fx11X[aria-busy=true]{cursor:progress}.Fx11X[aria-busy=true]:before{animation:JvkZu .75s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;box-sizing:border-box;content:"";display:inline-block;height:var(--altum-btn-icon-size);width:var(--altum-btn-icon-size)}.Fx11X:not(:disabled,[aria-disabled=true]):hover{background-color:var(--altum-btn-bg-hover);color:var(--altum-btn-text-hover)}.Fx11X:not(:disabled,[aria-disabled=true]):active{background-color:var(--altum-btn-bg-active)}.Fx11X:focus-visible{box-shadow:var(--altum-btn-shadow),0 0 0 var(--altum-button-focus-inner) var(--altum-color-bg),0 0 0 var(--altum-button-focus-outer) var(--altum-btn-focus-ring)}.Fx11X:where(.NhG0g){--altum-btn-height:var(--altum-control-height-sm);--altum-btn-pad-x:var(--altum-g-space-3);--altum-btn-font-size:var(--altum-g-font-size-2xs);--altum-btn-icon-size:var(--altum-control-icon-size-sm)}.Fx11X:where(._2plQf){--altum-btn-height:var(--altum-control-height-lg);--altum-btn-pad-x:var(--altum-g-space-7);--altum-btn-font-size:var(--altum-g-font-size-lg);--altum-btn-icon-size:var(--altum-control-icon-size-lg)}.Fx11X.s1sM6{--altum-btn-border:var(--altum-color-button-border-primary);--altum-btn-text:var(--altum-color-brand-text);--altum-btn-bg:var(--altum-color-brand);--altum-btn-bg-hover:var(--altum-color-brand-hover);--altum-btn-bg-active:var(--altum-color-brand-active);--altum-btn-shadow:var(--altum-shadow-brand)}.Fx11X.fahpj{--altum-btn-border:var(--altum-color-button-tinted-border);--altum-btn-text:var(--altum-color-button-tinted-text);--altum-btn-bg:var(--altum-color-button-tinted-bg);--altum-btn-bg-hover:var(--altum-color-button-tinted-bg-hover);--altum-btn-bg-active:var(--altum-color-button-tinted-bg-active)}.Fx11X.R0waJ{--altum-btn-border:var(--altum-color-button-secondary-border);--altum-btn-text:var(--altum-color-button-secondary-text);--altum-btn-bg:var(--altum-color-button-secondary-bg);--altum-btn-bg-hover:var(--altum-color-button-secondary-bg-hover);--altum-btn-bg-active:var(--altum-color-button-secondary-bg-active);--altum-btn-shadow:var(--altum-color-button-secondary-shadow)}.Fx11X.V4fX8{--altum-btn-border:var(--altum-color-button-border-danger);--altum-btn-text:var(--altum-color-danger-text);--altum-btn-bg:var(--altum-color-danger-bg-solid);--altum-btn-bg-hover:var(--altum-color-danger-bg-hover);--altum-btn-bg-active:var(--altum-color-danger-bg-active);--altum-btn-shadow:var(--altum-color-danger-shadow)}.Fx11X.U-Isv{--altum-btn-border:var(--altum-color-button-border-danger-tinted);--altum-btn-text:var(--altum-color-danger-tint-text);--altum-btn-text-hover:var(--altum-color-danger-text-secondary-hover);--altum-btn-bg:var(--altum-color-danger-tint-bg);--altum-btn-bg-hover:var(--altum-color-danger-tint-bg-hover);--altum-btn-bg-active:var(--altum-color-danger-tint-bg-active)}.Fx11X.U-Isv,.Fx11X.V4fX8{--altum-btn-focus-ring:var(--altum-color-danger-bg-solid)}.Fx11X._1KINV{--altum-btn-text:var(--altum-color-button-ghost-text);--altum-btn-text-hover:var(--altum-color-button-ghost-text-hover);--altum-btn-bg-hover:var(--altum-color-button-ghost-hover-bg);--altum-btn-bg-active:var(--altum-color-button-ghost-active-bg)}.Fx11X.Zt5hw{--altum-btn-text:var(--altum-color-link-color);--altum-btn-text-hover:var(--altum-color-link-color-hover);align-self:center;border:none;border-radius:var(--altum-g-radius-sm);font-weight:var(--altum-g-font-weight-normal);height:auto;padding:0}.Fx11X.Zt5hw:not(:disabled,[aria-disabled=true]):active{color:var(--altum-color-link-color-hover)}.Fx11X[aria-pressed=false]{background-color:initial;border-color:#0000;box-shadow:none;opacity:.75}.Fx11X[aria-pressed=false]:not(:disabled,[aria-disabled=true]):hover{opacity:1}.Fx11X._36oJT{display:flex;width:100%}@media (prefers-reduced-motion:reduce){.Fx11X[aria-busy=true]:before{animation:none;border-right-color:initial;opacity:.55}}@keyframes JvkZu{to{transform:rotate(1turn)}}';const r={btn:"Fx11X",off:"_69HBo",ghost:"_1KINV",link:"Zt5hw",spin:"JvkZu",sm:"NhG0g",lg:"_2plQf",primary:"s1sM6",tinted:"fahpj",secondary:"R0waJ",danger:"V4fX8",danger_tinted:"U-Isv",fullWidth:"_36oJT"};t(a);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as q,jsxs as _}from"react/jsx-runtime";import{getFormControlState as H}from"../../utils/formControl.js";import J,{forwardRef as U,useRef as Q,useState as X,useCallback as Y,useMemo as Z,useLayoutEffect as ee,useId as te,createContext as oe}from"react";import re from"../../styles/unstyledControl.module.css.js";import e from"./ButtonGroup.module.css.js";import{cn as D}from"../../utils/cn.js";import{composeEventHandlers as S}from"../../utils/composeEvents.js";import{composeRefs as ae}from"../../utils/composeRefs.js";import{useControlledStateWithCallback as ue}from"../../hooks/useControlledState.js";import{useLocale as le}from"../../locales/localeContext.js";import{useRequiredContext as se}from"../../hooks/useRequiredContext.js";import{useRovingList as ie,ROVING_ITEM_ATTR as j}from"../../hooks/useRovingList.js";import{useTrackThumb as de}from"../../hooks/useTrackThumb.js";import{ruSlice as ne}from"../../locales/slices/buttonGroup.ru.js";const ce={buttonGroup:ne},M="data-button-group-value",V=oe(null);function me(r,t,i,d){return r==="button"||i==null?!!d:r==="toggle"?t===i:Array.isArray(t)&&t.includes(i)}const T=U(function({children:r,mode:t="button",variant:i="secondary",status:d="default",size:y="md",disabled:o=!1,readOnly:C=!1,borderless:F=!1,focusable:n=!0,width:A="auto",itemFit:O="equal",value:m,defaultValue:g,onChange:G,activateOnFocus:c=!0,"aria-label":v,className:I,onKeyDown:N,...h},k){const{t:f}=le(ce),s=Q(null),[R,w]=X(null),{isReadOnly:l}=H({disabled:o,readOnly:C}),K=t==="multi_toggle"?[]:"",[b,E]=ue(m,g??K,G),x=Y(a=>{if(o||l||t==="button")return;if(t==="toggle"){E(a);return}const u=Array.isArray(b)?b:[];E(u.includes(a)?u.filter(p=>p!==a):[...u,a])},[o,l,t,b,E]),P=Z(()=>({mode:t,disabled:o,readOnly:l,focusable:n,selected:b,selectItem:x,focusedId:R,setFocusedId:w}),[o,n,R,l,t,x,b]),B=t==="toggle",L=de(s,B?`.${e.itemActive}`:"",b),W=ie("horizontal",a=>{if(w(a.dataset.itemId??""),t==="toggle"&&c){const u=a.getAttribute(M);u&&x(u)}});return ee(()=>{if(!n||o||l)return;const a=s.current;if(!a)return;const u=Array.from(a.querySelectorAll(`[${j}]:not([disabled])`));u.length!==0&&w(p=>p&&u.some($=>$.dataset.itemId===p)?p:u[0].dataset.itemId??p)},[r,o,n,l]),q(V.Provider,{value:P,children:_("div",{ref:ae(k,s),className:D(e.group,e[i]??"",y!=="md"&&e[y],B&&e.modeToggle,d==="danger"&&e.statusDanger,F&&e.borderless,o&&e.disabled,l&&e.readOnly,A==="full"&&e.widthFull,O==="content"&&e.fitContent,I),...h,role:t==="toggle"?"radiogroup":"group","aria-label":v??f("buttonGroup.ariaLabel"),"aria-readonly":l||void 0,"aria-disabled":o||void 0,onKeyDown:S(N,n&&!o&&!l?W:void 0),children:[B&&q("div",{className:D(e.slider,L.ready&&e.sliderReady),style:L.style,"data-track-thumb":"","aria-hidden":"true"}),r]})})}),z=J.forwardRef(function({value:r,active:t,icon:i,children:d,disabled:y=!1,className:o,onClick:C,onFocus:F,"aria-label":n,...A},O){const m=te(),{mode:g,disabled:G,readOnly:c,focusable:v,selected:I,selectItem:N,focusedId:h,setFocusedId:k}=se(V,"ButtonGroup.Item \u0434\u043E\u043B\u0436\u0435\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432\u043D\u0443\u0442\u0440\u0438 ButtonGroup"),f=G||y,s=me(g,I,r,t),R=!v||f||c?!1:g==="toggle"?s||I===""&&h===m:h===m;return _("button",{ref:O,type:"button",...A,[j]:"",...r!=null?{[M]:r}:{},"data-item-id":m,className:D(re.control,e.item,s&&e.itemActive,c&&e.itemReadOnly,o),"aria-label":n??(typeof d=="string"?d:void 0),disabled:f,"aria-disabled":c||void 0,tabIndex:R?0:-1,...g==="toggle"?{role:"radio","aria-checked":s}:{"aria-pressed":s||void 0},onFocus:S(F,()=>{v&&!f&&!c&&k(m)}),onClick:S(C,()=>{f||c||r==null||N(r)}),children:[i,d]})});T.displayName="ButtonGroup",z.displayName="ButtonGroup.Item";const fe=Object.assign(T,{Root:T,Item:z});export{fe as ButtonGroup};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a=".Tgazn{--altum-button-group-spring:linear(0,0.009,0.035,0.076,0.129,0.192,0.264,0.341,0.421,0.503,0.583,0.661,0.734,0.801,0.86,0.91,0.951,0.981,1.002,1.014,1.019,1.019,1.016,1.011,1.006,1.001,0.997,0.995,0.994,0.995,0.996,0.998,1,1);--altum-button-group-height:var(--altum-control-height-md);--altum-button-group-pad:var(--altum-control-inset);--altum-button-group-font-size:var(--altum-g-font-size-base);--altum-button-group-item-min:var(--altum-button-group-item-min-md);--altum-button-group-item-pad:var(--altum-g-space-2);--altum-button-group-icon-size:var(--altum-control-icon-size-md);--altum-bg-thumb:var(--altum-color-surface-active);--altum-bg-thumb-shadow:var(--altum-color-segmented-slider-shadow);--altum-fg-item:var(--altum-color-type-secondary);--altum-fg-item-on:var(--altum-color-type);--altum-bg-item-hover:var(--altum-color-surface-hover);align-items:stretch;border-radius:var(--altum-g-radius);box-sizing:border-box;display:inline-flex;font-size:var(--altum-button-group-font-size);gap:var(--altum-g-space-1);height:var(--altum-button-group-height);max-width:100%;padding:var(--altum-button-group-pad);position:relative;transition:var(--altum-transition-smooth);vertical-align:middle}.Tgazn.rss-L{--altum-fg-item:var(--altum-color-brand-text);--altum-fg-item-on:var(--altum-color-brand-text);--altum-bg-item-hover:color-mix(in srgb,var(--altum-g-color-black) 16%,var(--altum-color-brand));--altum-bg-thumb:var(--altum-color-brand-active);--altum-bg-thumb-shadow:inset 0 0 0 1px var(--altum-color-brand-border)}.Tgazn.j78gV.rss-L{--altum-fg-item:color-mix(in srgb,var(--altum-color-brand-text) 72%,#0000)}.Tgazn._3VCs2{--altum-bg-item-hover:color-mix(in srgb,var(--altum-color-brand) 28%,#0000);--altum-bg-thumb:var(--altum-color-button-tinted-bg-active);--altum-bg-thumb-shadow:inset 0 0 0 1px var(--altum-color-button-tinted-border)}.Tgazn.g1MNC{--altum-bg-item-hover:color-mix(in srgb,var(--altum-color-text-secondary) 12%,#0000);--altum-bg-thumb:color-mix(in srgb,var(--altum-color-text-secondary) 18%,var(--altum-color-surface))}.Tgazn.Ep0ha,.Tgazn.dfR5t,.Tgazn.zBpYa{--altum-fg-item:var(--altum-color-button-ghost-text);--altum-fg-item-on:var(--altum-color-button-ghost-text-hover);--altum-bg-item-hover:var(--altum-color-button-ghost-hover-bg);--altum-bg-thumb:var(--altum-color-segmented-ghost-slider-bg)}.Tgazn.dfR5t,.Tgazn.zBpYa{gap:0;padding:0}.Tgazn.zBpYa .otlEF{bottom:0;top:0}.Tgazn.f5kUO{border:none}.Tgazn.noOCG{--altum-fg-item:var(--altum-color-danger-text);--altum-fg-item-on:var(--altum-color-danger-text);--altum-bg-thumb:var(--altum-color-danger-bg-hover);--altum-bg-thumb-shadow:var(--altum-color-danger-shadow)}.Tgazn.noOCG.rss-L{background-color:var(--altum-color-danger-bg-solid);box-shadow:var(--altum-color-danger-shadow)}.Tgazn.noOCG._3VCs2,.Tgazn.noOCG.g1MNC{--altum-fg-item:var(--altum-color-danger-text-secondary);--altum-fg-item-on:var(--altum-color-danger-text-secondary-hover);--altum-bg-thumb:var(--altum-color-danger-bg-secondary-hover);--altum-bg-thumb-shadow:var(--altum-color-danger-shadow-secondary);background-color:var(--altum-color-danger-bg-secondary);border-color:var(--altum-color-button-border-danger-secondary)}.Tgazn.noOCG.Ep0ha,.Tgazn.noOCG.dfR5t{--altum-fg-item:var(--altum-color-danger-text-secondary);--altum-fg-item-on:var(--altum-color-danger-text-secondary-hover);border-color:var(--altum-color-button-border-danger-secondary)}.Tgazn.TCMDW{display:flex;width:100%}.Tgazn.TCMDW>._-1Y6t{flex:1 1 0;min-width:0}.Tgazn.hRI2x{--altum-button-group-height:var(--altum-control-height-sm);--altum-button-group-font-size:var(--altum-g-font-size-2xs);--altum-button-group-item-min:var(--altum-button-group-item-min-sm);--altum-button-group-item-pad:var(--altum-g-space-1);--altum-button-group-icon-size:var(--altum-control-icon-size-sm)}.Tgazn._4FjZc{--altum-button-group-height:var(--altum-control-height-lg);--altum-button-group-pad:var(--altum-g-space-1);--altum-button-group-font-size:var(--altum-g-font-size-lg);--altum-button-group-item-min:var(--altum-button-group-item-min-lg);--altum-button-group-item-pad:var(--altum-g-space-3);--altum-button-group-icon-size:var(--altum-control-icon-size-lg)}.Tgazn._73VqR{cursor:not-allowed;opacity:var(--altum-opacity-disabled)}.Tgazn.j78gV{gap:var(--altum-control-inset)}.Tgazn.j78gV ._-1Y6t{overflow:hidden}:is(.Tgazn.j78gV ._-1Y6t):hover:not(:disabled):not(.nQoWy){background-color:var(--altum-bg-item-hover)}.nQoWy:is(.Tgazn.j78gV ._-1Y6t){background:#0000;box-shadow:none}:is(.Tgazn.j78gV ._-1Y6t):active:not(:disabled){transform:scale(.98)}.Tgazn.j78gV.hRI2x ._-1Y6t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Tgazn.j78gV._4FjZc ._-1Y6t{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal}.Tgazn.yscI->._-1Y6t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}._-1Y6t{align-items:center;align-self:stretch;border-radius:calc(var(--altum-g-radius) -
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a=".Tgazn{--altum-button-group-spring:linear(0,0.009,0.035,0.076,0.129,0.192,0.264,0.341,0.421,0.503,0.583,0.661,0.734,0.801,0.86,0.91,0.951,0.981,1.002,1.014,1.019,1.019,1.016,1.011,1.006,1.001,0.997,0.995,0.994,0.995,0.996,0.998,1,1);--altum-button-group-height:var(--altum-control-height-md);--altum-button-group-pad:var(--altum-control-inset);--altum-button-group-font-size:var(--altum-g-font-size-base);--altum-button-group-item-min:var(--altum-button-group-item-min-md);--altum-button-group-item-pad:var(--altum-g-space-2);--altum-button-group-icon-size:var(--altum-control-icon-size-md);--altum-bg-thumb:var(--altum-color-surface-active);--altum-bg-thumb-shadow:var(--altum-color-segmented-slider-shadow);--altum-fg-item:var(--altum-color-type-secondary);--altum-fg-item-on:var(--altum-color-type);--altum-bg-item-hover:var(--altum-color-surface-hover);align-items:stretch;border-radius:var(--altum-g-radius);box-sizing:border-box;display:inline-flex;font-size:var(--altum-button-group-font-size);gap:var(--altum-g-space-1);height:var(--altum-button-group-height);max-width:100%;padding:var(--altum-button-group-pad);position:relative;transition:var(--altum-transition-smooth);vertical-align:middle}.Tgazn.rss-L{--altum-fg-item:var(--altum-color-brand-text);--altum-fg-item-on:var(--altum-color-brand-text);--altum-bg-item-hover:color-mix(in srgb,var(--altum-g-color-black) 16%,var(--altum-color-brand));--altum-bg-thumb:var(--altum-color-brand-active);--altum-bg-thumb-shadow:inset 0 0 0 1px var(--altum-color-brand-border);background-color:var(--altum-color-brand);border:1px solid #0000;box-shadow:var(--altum-shadow-brand)}.Tgazn.j78gV.rss-L{--altum-fg-item:color-mix(in srgb,var(--altum-color-brand-text) 72%,#0000)}.Tgazn._3VCs2{--altum-bg-item-hover:color-mix(in srgb,var(--altum-color-brand) 28%,#0000);--altum-bg-thumb:var(--altum-color-button-tinted-bg-active);--altum-bg-thumb-shadow:inset 0 0 0 1px var(--altum-color-button-tinted-border);background-color:var(--altum-color-button-tinted-bg);border:1px solid var(--altum-color-button-tinted-border);box-shadow:none}.Tgazn.g1MNC{--altum-bg-item-hover:color-mix(in srgb,var(--altum-color-text-secondary) 12%,#0000);--altum-bg-thumb:color-mix(in srgb,var(--altum-color-text-secondary) 18%,var(--altum-color-surface));background-color:var(--altum-color-button-secondary-bg);border:1px solid var(--altum-color-button-secondary-border);box-shadow:none}.Tgazn.Ep0ha,.Tgazn.dfR5t,.Tgazn.zBpYa{--altum-fg-item:var(--altum-color-button-ghost-text);--altum-fg-item-on:var(--altum-color-button-ghost-text-hover);--altum-bg-item-hover:var(--altum-color-button-ghost-hover-bg);--altum-bg-thumb:var(--altum-color-segmented-ghost-slider-bg)}.Tgazn.Ep0ha{border:1px solid var(--altum-color-button-secondary-border)}.Tgazn.Ep0ha,.Tgazn.dfR5t,.Tgazn.zBpYa{background-color:initial;box-shadow:none}.Tgazn.dfR5t,.Tgazn.zBpYa{border:1px solid #0000;gap:0;padding:0}.Tgazn.zBpYa .otlEF{bottom:0;top:0}.Tgazn.f5kUO{border:none}.Tgazn.uDoMb{background-color:var(--altum-field-bg-readonly);border:1px dashed var(--altum-field-border-readonly);box-shadow:none;cursor:default}.Tgazn.noOCG{--altum-fg-item:var(--altum-color-danger-text);--altum-fg-item-on:var(--altum-color-danger-text);--altum-bg-thumb:var(--altum-color-danger-bg-hover);--altum-bg-thumb-shadow:var(--altum-color-danger-shadow)}.Tgazn.noOCG.rss-L{background-color:var(--altum-color-danger-bg-solid);box-shadow:var(--altum-color-danger-shadow)}.Tgazn.noOCG._3VCs2,.Tgazn.noOCG.g1MNC{--altum-fg-item:var(--altum-color-danger-text-secondary);--altum-fg-item-on:var(--altum-color-danger-text-secondary-hover);--altum-bg-thumb:var(--altum-color-danger-bg-secondary-hover);--altum-bg-thumb-shadow:var(--altum-color-danger-shadow-secondary);background-color:var(--altum-color-danger-bg-secondary);border-color:var(--altum-color-button-border-danger-secondary)}.Tgazn.noOCG.Ep0ha,.Tgazn.noOCG.dfR5t{--altum-fg-item:var(--altum-color-danger-text-secondary);--altum-fg-item-on:var(--altum-color-danger-text-secondary-hover);border-color:var(--altum-color-button-border-danger-secondary)}.Tgazn.TCMDW{display:flex;width:100%}.Tgazn.TCMDW>._-1Y6t{flex:1 1 0;min-width:0}.Tgazn.hRI2x{--altum-button-group-height:var(--altum-control-height-sm);--altum-button-group-font-size:var(--altum-g-font-size-2xs);--altum-button-group-item-min:var(--altum-button-group-item-min-sm);--altum-button-group-item-pad:var(--altum-g-space-1);--altum-button-group-icon-size:var(--altum-control-icon-size-sm)}.Tgazn._4FjZc{--altum-button-group-height:var(--altum-control-height-lg);--altum-button-group-pad:var(--altum-g-space-1);--altum-button-group-font-size:var(--altum-g-font-size-lg);--altum-button-group-item-min:var(--altum-button-group-item-min-lg);--altum-button-group-item-pad:var(--altum-g-space-3);--altum-button-group-icon-size:var(--altum-control-icon-size-lg)}.Tgazn._73VqR{cursor:not-allowed;opacity:var(--altum-opacity-disabled)}.Tgazn.j78gV{gap:var(--altum-control-inset)}.Tgazn.j78gV ._-1Y6t{overflow:hidden}:is(.Tgazn.j78gV ._-1Y6t):hover:not(:disabled):not(.nQoWy){background-color:var(--altum-bg-item-hover)}.nQoWy:is(.Tgazn.j78gV ._-1Y6t){background:#0000;box-shadow:none}:is(.Tgazn.j78gV ._-1Y6t):active:not(:disabled){transform:scale(.98)}.Tgazn.j78gV.hRI2x ._-1Y6t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Tgazn.j78gV._4FjZc ._-1Y6t{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal}.Tgazn.yscI->._-1Y6t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}._-1Y6t{align-items:center;align-self:stretch;border-radius:calc(var(--altum-g-radius) - var(--altum-control-inset));color:var(--altum-fg-item);display:inline-flex;font-size:var(--altum-button-group-font-size);font-weight:var(--altum-g-font-weight-medium,500);gap:var(--altum-g-space-1);height:100%;justify-content:center;line-height:1;min-height:0;min-width:var(--altum-button-group-item-min);padding:0 var(--altum-button-group-item-pad);position:relative;white-space:nowrap;z-index:var(--altum-g-z-raised-above)}._-1Y6t:hover:not(:disabled){background-color:var(--altum-bg-item-hover);color:var(--altum-fg-item-on)}._-1Y6t:disabled{opacity:var(--altum-opacity-disabled)}._-1Y6t svg{flex-shrink:0;height:var(--altum-button-group-icon-size);width:var(--altum-button-group-icon-size)}.nQoWy{background-color:var(--altum-bg-thumb);box-shadow:var(--altum-bg-thumb-shadow);color:var(--altum-fg-item-on)}.ZOyZ9{cursor:default}.otlEF{background-color:var(--altum-bg-thumb);border-radius:calc(var(--altum-g-radius) - var(--altum-control-inset));bottom:var(--altum-button-group-pad);box-shadow:var(--altum-bg-thumb-shadow);left:0;pointer-events:none;position:absolute;top:var(--altum-button-group-pad);transition:none;z-index:var(--altum-g-z-raised)}.otlEF.hd-IQ{transition:transform .45s var(--altum-button-group-spring),width .45s var(--altum-button-group-spring)}@media (prefers-reduced-motion:reduce){.otlEF.hd-IQ{transition:none}.j78gV ._-1Y6t:active:not(:disabled){transform:none}}";const o={group:"Tgazn",primary:"rss-L",modeToggle:"j78gV",tinted:"_3VCs2",secondary:"g1MNC",ghost:"Ep0ha",link:"dfR5t",plain:"zBpYa",slider:"otlEF",borderless:"f5kUO",readOnly:"uDoMb",statusDanger:"noOCG",widthFull:"TCMDW",item:"_-1Y6t",sm:"hRI2x",lg:"_4FjZc",disabled:"_73VqR",itemActive:"nQoWy",fitContent:"yscI-",itemReadOnly:"ZOyZ9",sliderReady:"hd-IQ"};t(a);export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as d}from"react/jsx-runtime";import{forwardRef as h,isValidElement as N,cloneElement as B}from"react";import{Button as g}from"../Button/Button.js";import n from"../../styles/overlayClose.module.css.js";import i from"./ButtonIcon.module.css.js";import{cn as a}from"../../utils/cn.js";function k(r){if(!N(r))return r;const e=r;return B(e,{className:a(n.icon,e.props.className),"aria-hidden":!0})}const c=h(function({variant:r="ghost",shape:e="square",appearance:s="default",icon:m,children:l,className:f,...p},u){const o=s==="diskClose",t=m??l;return d(g,{ref:u,variant:o?"ghost":r,className:a(o?n.close:r==="link"?"":i.root,!o&&e==="circle"&&i.circle,f),...p,children:o?k(t):t})});c.displayName="ButtonIcon";export{c as ButtonIcon};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a=".omUD9{--altum-btn-pad-x:0;aspect-ratio:1;width:auto}.omUD9 svg{transform:translateY(.5px)}.omUD9.z-iaD{border-radius:50%}";const o={root:"omUD9",circle:"z-iaD"};t(a);export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{forwardRef as n}from"react";import{IconCross as m}from"../../icons/icons/IconCross.js";import{useLocale as l}from"../../locales/localeContext.js";import{ButtonIcon as s}from"./ButtonIcon.js";import{ruSlice as c}from"../../locales/slices/common.ru.js";const f={common:c},r=n(function({"aria-label":e,...t},a){const{t:i}=l(f);return o(s,{ref:a,appearance:"diskClose","aria-label":e??i("common.close"),icon:o(m,{size:"var(--altum-overlay-close-icon-size)","aria-hidden":!0}),...t})});r.displayName="OverlayCloseButton";export{r as OverlayCloseButton};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as R}from"react/jsx-runtime";import{useState as
|
|
1
|
+
"use client";import{jsx as R}from"react/jsx-runtime";import{useState as C,createContext as A}from"react";import{useRequiredContext as B}from"../../hooks/useRequiredContext.js";import{useLocale as G}from"../../locales/localeContext.js";import{ruSlice as _}from"../../locales/slices/calendar.ru.js";import{YEARS_PER_PAGE as D}from"./Calendar.types.js";const j={calendar:_},w=A(null);function q(t){return B(w,`${t} \u0434\u043E\u043B\u0436\u0435\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432\u043D\u0443\u0442\u0440\u0438 Calendar.Provider`)}function i(t){return Math.floor(t/D)*D}const L={};function N(t){return t!=null&&!(t instanceof Date)}const y=({selectionMode:t="single",value:a,onChange:f,viewDate:s,onViewDateChange:p,renderDayCell:P,children:x})=>{const{messages:E,t:F}=G(j),c=t==="range"&&N(a)?a:L,h=t==="single"&&a instanceof Date?a:void 0,v=s??h??c.end??c.start??new Date,[M,V]=C(v),[d,g]=C("days"),[S,u]=C(()=>i(v.getFullYear())),m=s??M,n=m.getFullYear(),o=m.getMonth(),r=e=>{s===void 0&&V(e),p?.(e)},Y=e=>{if(d==="days"){r(new Date(n,o+e,1));return}if(d==="months"){const l=new Date(n+e,o,1);r(l),u(i(l.getFullYear()));return}u(l=>l+e*D)};return R(w.Provider,{value:{selectionMode:t,value:h,onChange:e=>f?.(e),rangeValue:c,onRangeChange:e=>f?.(e),viewDate:m,year:n,month:o,view:d,setView:e=>{e==="years"&&u(i(n)),g(e)},yearPageStart:S,setViewDate:r,shiftView:Y,selectMonth:e=>{r(new Date(n,e,1)),g("days")},selectYear:e=>{r(new Date(e,o,1)),u(i(e)),g("months")},renderDayCell:P,calendar:E.calendar,t:F},children:x})};y.displayName="Calendar.Provider";export{y as CalendarProvider,q as useCalendarContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t=".oplxF{--altum-calendar-width:280px;
|
|
1
|
+
"use client";import{injectCss as a}from"../../utils/injectCss.js";var t=".oplxF{--altum-calendar-width:280px;color:var(--altum-color-input-text);font-family:var(--altum-g-font-family-ui);max-width:100%;-webkit-user-select:none;user-select:none;width:var(--altum-calendar-width)}.oplxF .OimmF{color:var(--altum-color-ink-default);font-size:var(--altum-g-font-size-sm);font-weight:var(--altum-g-font-weight-semibold);margin-bottom:var(--altum-g-space-3)}.oplxF .jixIO{align-items:center;display:inline-flex;gap:var(--altum-g-space-1)}.oplxF ._95lLK{color:var(--altum-color-ink-default);font-size:var(--altum-g-font-size-base);font-weight:var(--altum-g-font-weight-semibold);padding:var(--altum-control-inset) var(--altum-g-space-1)}.oplxF .Afnz6{color:var(--altum-color-muted);font-size:var(--altum-g-font-size-xs);margin-bottom:var(--altum-g-space-2)}.oplxF .J-3Vr{align-content:stretch;display:grid;gap:var(--altum-g-space-1);min-height:calc(var(--altum-control-height-sm)*6);text-align:center}.oplxF .VrPnd{grid-template-columns:repeat(3,1fr)}.oplxF .vo94R{grid-template-columns:repeat(4,1fr)}.oplxF .tNYuD{font-weight:var(--altum-g-font-weight-medium);padding:var(--altum-g-space-2) var(--altum-g-space-1)}.oplxF .dF8j7,.oplxF .tNYuD{font-size:var(--altum-g-font-size-2xs);width:100%}.oplxF .dF8j7{align-items:center;aspect-ratio:1;display:inline-flex;justify-content:center}.oplxF .dF8j7.eoULr{background-color:color-mix(in srgb,var(--altum-color-brand) 16%,#0000);border-radius:0}.oplxF .dF8j7.Jusrw{border-radius:var(--altum-g-radius-sm) 0 0 var(--altum-g-radius-sm)}.H5X-t:is(.oplxF .dF8j7.Jusrw){border-radius:var(--altum-g-radius-sm)}.oplxF .dF8j7.H5X-t{border-radius:0 var(--altum-g-radius-sm) var(--altum-g-radius-sm) 0}.oplxF .zOR5-{cursor:default;pointer-events:none}@media (max-width:768px){.oplxF{width:100%}}";const r={calendar:"oplxF",calendarHeader:"OimmF",calendarTitleSplit:"jixIO",calendarTitleButton:"_95lLK",calendarWeekdays:"Afnz6",calendarPeriodGrid:"J-3Vr",calendarMonths:"VrPnd",calendarYears:"vo94R",periodCell:"tNYuD",dayCell:"dF8j7",dayInRange:"eoULr",dayRangeStart:"Jusrw",dayRangeEnd:"H5X-t",dayEmpty:"zOR5-"};a(t);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as s,jsxs as N,Fragment as B}from"react/jsx-runtime";import{forwardRef as d}from"react";import{ButtonIcon as D}from"../ButtonIcon/ButtonIcon.js";import{IconChevronLeft as E}from"../../icons/icons/IconChevronLeft.js";import{IconChevronRight as H}from"../../icons/icons/IconChevronRight.js";import{cn as p}from"../../utils/cn.js";import{composeEventHandlers as u}from"../../utils/composeEvents.js";import{useCalendarContext as y}from"./Calendar.context.js";import{CalendarDaysPanel as z,CalendarPeriodPanel as I}from"./Calendar.views.js";import{YEARS_PER_PAGE as M}from"./Calendar.types.js";import S from"../../styles/unstyledControl.module.css.js";import v from"../../styles/calendarChrome.module.css.js";import C from"./Calendar.module.css.js";const w=d(function({className:e,children:t,onClick:a,...r},l){return s("div",{ref:l,className:p(C.calendar,e),onClick:u(a,n=>{n.stopPropagation()}),...r,children:t})});w.displayName="Calendar.Root";const x=d(function({className:e,children:t,...a},r){return s("div",{ref:r,className:p(v.header,C.calendarHeader,e),...a,children:t})});x.displayName="Calendar.Header";const P=d(function({className:e,...t},a){const{calendar:r,t:l,year:n,month:o,view:i,yearPageStart:m,setView:c}=y("Calendar.Title"),f=r.months[o]??"",T=p(S.control,v.cell,C.calendarTitleButton),h=(b,g,k)=>s("button",{type:"button",className:T,onClick:()=>c(g),"aria-label":k,children:b});return N("span",{ref:a,className:p(i==="days"&&C.calendarTitleSplit,e),...t,children:[i==="years"&&`${m} \u2013 ${m+M-1}`,i==="months"&&h(n,"years",l("calendar.selectYear",{year:n})),i==="days"&&N(B,{children:[h(f,"months",l("calendar.selectMonth",{month:f})),h(n,"years",l("calendar.selectYear",{year:n}))]})]})});P.displayName="Calendar.Title";const Y=d(function({direction:e,className:t,"aria-label":a,onClick:r,...l},n){const{calendar:o,view:i,shiftView:m}=y("Calendar.Nav"),c=e==="prev",f=i==="days"?c?o.prevMonth:o.nextMonth:i==="months"?c?o.prevYear:o.nextYear:c?o.prevYears:o.nextYears;return s(D,{ref:n,variant:"ghost",size:"sm",className:t,onClick:u(r,()=>m(c?-1:1)),"aria-label":a??f,...l,icon:c?s(E,{size:16,"aria-hidden":!0}):s(H,{size:16,"aria-hidden":!0})})});Y.displayName="Calendar.Nav";const R=d(function({className:e,renderDayCell:t,...a},r){const{view:l,renderDayCell:n}=y("Calendar.Body");return l==="days"?s(z,{ref:r,className:e,renderDayCell:t??n,...a}):s(I,{ref:r,className:e,...a})});R.displayName="Calendar.Body";export{R as CalendarBody,x as CalendarHeader,Y as CalendarNav,w as CalendarRoot,P as CalendarTitle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";import{startOfDay as r,addDays as u,isSameDay as i,compareDay as n}from"../../utils/date.js";import{getWeekStart as x}from"../../utils/date.js";function f(t,e,a){return!e||!a?!1:n(t,e)>0&&n(t,a)<0}function y(t,e){const a=r(e);return!t.start||t.start&&t.end?{start:a,end:void 0}:n(a,t.start)<0?{start:a,end:r(t.start)}:{start:r(t.start),end:a}}function d(t){return i(t,new Date)}function l(t,e){const a=r(t);return Array.from({length:Math.max(1,e)},(s,o)=>u(a,o))}function D(t,e){return`${e[t.getMonth()]??""} ${t.getFullYear()}`}function c(t,e=1){return e===1?[...t]:[t[6]??"",...t.slice(0,6)]}function g(t,e=1,a){const s=c(a,e),o=e===1?t.getDay()===0?6:t.getDay()-1:t.getDay();return s[o]??""}export{u as addDays,l as buildDayStrip,n as compareDay,D as formatMonthYear,x as getWeekStart,f as isDateInRange,i as isSameDay,d as isToday,y as selectNextRange,r as startOfDay,g as weekdayLabelFor,c as weekdayLabels};
|