altum 0.0.5 → 0.0.7
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 +18 -0
- 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/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/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/Button/Button.js +1 -1
- package/dist/components/Button/Button.module.css.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.module.css.js +1 -1
- 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.YearView.js +2 -2
- package/dist/components/CalendarBoard/CalendarBoard.chrome.js +1 -1
- package/dist/components/CalendarBoard/CalendarBoard.module.css.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/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/FieldGroup/FieldGroup.js +1 -0
- package/dist/components/FieldGroup/FieldGroup.module.css.js +1 -0
- package/dist/components/FileList/FileList.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/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/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/SuggestField/SuggestField.js +1 -1
- package/dist/components/SuggestField/SuggestField.module.css.js +1 -0
- 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 -1
- package/dist/components/TextareaField/TextareaField.js +1 -1
- package/dist/components/TextareaField/TextareaField.module.css.js +1 -1
- 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/icons.js +1 -1
- package/dist/entries/utils.js +1 -1
- package/dist/hooks/useAutoResize.js +1 -1
- 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/styles/calendarChrome.module.css.js +1 -1
- package/dist/styles/status.module.css.js +1 -1
- package/dist/styles/visuallyHidden.module.css.js +1 -0
- package/dist/utils/date.js +1 -1
- package/dist/utils/fieldMessage.js +1 -0
- package/dist/utils/visitElementTree.js +1 -1
- package/docs/COMPONENTS.md +15 -12
- package/docs/LAYOUT.md +6 -6
- package/docs/THEMING.md +5 -12
- package/package.json +3 -2
- package/types/entries/icons.d.ts +3 -1
- package/types/entries/locales.d.ts +1 -6
- package/types/entries/utils.d.ts +2 -1
- package/types/index.d.ts +534 -617
- 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/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/styles/srOnly.module.css.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,22 @@
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [0.0.7] — 2026-09-28
|
|
12
|
+
|
|
13
|
+
**`FieldGroup`** стыкует поля и кнопки одной рамкой: оболочка **`Select`** по видимому полю, высота как у кнопки и **`PopupSwitch`**, тень варианта не ложится на соседа. **`PopupSwitch`**: `width="options"` по самой длинной подписи, шеврон **`IconChevronUpDown`**. У **`Button`** `variant="link"` `size` меняет кегль и иконку. Storybook **About**: страница бренда и каталог компонентов (`npm run catalog`).
|
|
14
|
+
|
|
15
|
+
**Несовместимо.** У **`Select`** снят `combobox` (вместе с `inputRef`, `wrapperProps`, `name`, `required` и обработчиками инпута). Свой триггер — `customTrigger`: **`SuggestField`** рисует там `TextField`, **`Select`** поле не рисует.
|
|
16
|
+
|
|
17
|
+
**Исправлено.** Клик по шеврону **`Select`** открывает и закрывает список. Отступ справа от шеврона **`PopupSwitch`** как у **`Select`**.
|
|
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
|
+
|
|
11
27
|
## [0.0.5] — 2026-09-25
|
|
12
28
|
|
|
13
29
|
**`useForm`**: проверка через `validate` (`fieldRules`, `compose`, `required`, `pattern`, `checkedValue`), плюс `setValue`, `reset`, `handleSubmit`, `isDirty` и **`FormProvider`**. Публичные **`altum/locales`** со склонением и утилиты дат, поясов, длительности и plural.
|
|
@@ -32,6 +48,8 @@
|
|
|
32
48
|
- Storybook: состояния и play по полям, чартам, календарям и оверлеям.
|
|
33
49
|
|
|
34
50
|
### Исправлено
|
|
51
|
+
- **`ActionList`** — Enter выбирает подсвеченный пункт в порядке групп, а не в сыром порядке `items`.
|
|
52
|
+
- **`VirtualList`** — видимые строки снова следуют за `renderItem` при рендере родителя (подсветка в виртуализированном **`Listbox`**).
|
|
35
53
|
- **DatePicker** / **TimePicker** / **DateRangePicker** — панель от края поля; **TextField** — кликабельная зона на всю высоту.
|
|
36
54
|
- **DonutChart** — без нативного tooltip; **Container** не вылезает за колонку; clear/affix в **FieldBase** по центру.
|
|
37
55
|
|
|
@@ -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{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);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
|
|
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{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{
|
|
1
|
+
"use client";import{forwardRef as y,createElement as h}from"react";import i from"./Button.module.css.js";import N from"../../styles/textLink.module.css.js";import{cn as k}from"../../utils/cn.js";const l=y(function({variant:o="primary",size:r="md",active:s,className:n,children:f,type:m="button",disabled:d,as:p,prefix:c,postfix:u,loading:e=!1,fullWidth:b,...v},x){const t=p==="a",a=!!(d||e);return h(t?"a":"button",{ref:x,className:k(i.btn,i[o],r!=="md"&&i[r],o==="link"&&N.link,d&&!e&&i.off,b&&i.fullWidth,n),type:t?void 0:m,disabled:t?void 0:a,"aria-disabled":t&&a?!0:void 0,tabIndex:t&&a?-1:void 0,...v,"aria-pressed":s,"aria-busy":e||void 0},!e&&c,f,u)});l.displayName="Button";export{l as Button};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a=
|
|
1
|
+
"use client";import{injectCss as t}from"../../utils/injectCss.js";var a='.Fx11X{--altum-btn-border:var(--altum-field-group-stroke,#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:var(--altum-field-group-shadow,0 0 0 0 #0000);--altum-btn-focus-ring:var(--altum-focus-ring-color);--altum-btn-shape:var(--altum-btn-radius,var(--altum-g-radius));--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-field-group-radius-start,var(--altum-btn-shape)) var(--altum-field-group-radius-end,var(--altum-btn-shape)) var(--altum-field-group-radius-end,var(--altum-btn-shape)) var(--altum-field-group-radius-start,var(--altum-btn-shape));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>*{--altum-field-group-radius-start:initial;--altum-field-group-radius-end:initial}.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:var(--altum-field-group-stroke,#0000);box-shadow:var(--altum-field-group-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-field-group-stroke,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-field-group-shadow,var(--altum-shadow-brand))}.Fx11X.fahpj{--altum-btn-border:var(--altum-field-group-stroke,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-field-group-stroke,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-field-group-shadow,var(--altum-color-button-secondary-shadow))}.Fx11X.V4fX8{--altum-btn-border:var(--altum-field-group-stroke,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-field-group-shadow,var(--altum-color-danger-shadow))}.Fx11X.U-Isv{--altum-btn-border:var(--altum-field-group-stroke,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);--altum-btn-radius:var(--altum-g-radius-sm);align-self:center;border:none;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:var(--altum-field-group-stroke,#0000);box-shadow:var(--altum-field-group-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);background-color:var(--altum-color-brand);border:1px solid
|
|
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-field-group-radius-start,var(--altum-g-radius)) var(--altum-field-group-radius-end,var(--altum-g-radius)) var(--altum-field-group-radius-end,var(--altum-g-radius)) var(--altum-field-group-radius-start,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>*{--altum-field-group-radius-start:initial;--altum-field-group-radius-end:initial}.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 var(--altum-field-group-stroke,#0000);box-shadow:var(--altum-field-group-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-field-group-stroke,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-field-group-stroke,var(--altum-color-button-secondary-border));box-shadow:var(--altum-field-group-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-field-group-stroke,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-field-group-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)}.Tgazn.noOCG.Ep0ha,.Tgazn.noOCG._3VCs2,.Tgazn.noOCG.dfR5t,.Tgazn.noOCG.g1MNC{border-color:var(--altum-field-group-stroke,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)}.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{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{
|
|
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{--altum-btn-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";import{startOfDay as
|
|
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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{jsxs as M,jsx as g}from"react/jsx-runtime";import{forwardRef as A}from"react";import{isDateInRange as j,selectNextRange as B}from"./Calendar.utils.js";import{getGridIndex as O,focusElement as T}from"../../utils/a11y.js";import{cn as S}from"../../utils/cn.js";import{useCalendarContext as F}from"./Calendar.context.js";import{YEARS_PER_PAGE as I}from"./Calendar.types.js";import L from"../../styles/unstyledControl.module.css.js";import i from"../../styles/calendarChrome.module.css.js";import n from"./Calendar.module.css.js";import{isSameDay as k}from"../../utils/date.js";const V=A(function({className:b,label:f,columnsClass:D,items:h,...m},l){return g("div",{ref:l,className:S(n.calendarPeriodGrid,D,b),role:"grid","aria-label":f,...m,children:h.map(e=>g("button",{type:"button",role:"gridcell",className:S(L.control,i.cell,n.periodCell,e.selected&&i.selected,e.current&&!e.selected&&i.today),"aria-selected":e.selected,"aria-label":e.ariaLabel,onClick:e.onSelect,children:e.label},e.key))})}),W=A(function({className:b,renderDayCell:f,...D},h){const{calendar:m,selectionMode:l,value:e,onChange:v,rangeValue:a,onRangeChange:$,year:y,month:p,shiftView:w}=F("Calendar.Body"),t=l==="range",P=t?a.end??a.start:e,C=(new Date(y,p,1).getDay()+6)%7,o=new Date(y,p+1,0).getDate(),s=new Date,G=m.months[p]??"",U=!P;return M("div",{ref:h,className:b,...D,children:[g("div",{className:S(i.weekGrid,n.calendarWeekdays),"aria-hidden":"true",children:m.weekdaysShort.map(r=>g("div",{children:r},r))}),M("div",{className:i.weekGrid,role:"grid","aria-label":`${G} ${y}`,onKeyDown:r=>{if(r.key==="PageUp"||r.key==="PageDown"){r.preventDefault(),w(r.key==="PageUp"?-1:1);return}const u=Array.from(r.currentTarget.querySelectorAll("button")),d=O(u.indexOf(document.activeElement),u.length,r.key,7);d!==null&&(r.preventDefault(),T(u[d]))},children:[Array.from({length:C},(r,u)=>g("div",{className:n.dayEmpty,role:"presentation"},`empty-${u}`)),Array.from({length:o},(r,u)=>{const d=u+1,c=new Date(y,p,d),R=!!(t&&a.start&&k(a.start,c)),E=!!(t&&a.end&&k(a.end,c)),Y=!!(t&&j(c,a.start,a.end)),N=t?R||E:e?k(e,c):!1,x=k(c,s);return g("button",{type:"button",role:"gridcell",tabIndex:N||U&&d===1?0:-1,className:S(L.control,i.cell,n.dayCell,N&&i.selected,Y&&n.dayInRange,R&&n.dayRangeStart,E&&n.dayRangeEnd,x&&i.today),"aria-selected":N||Y,"aria-current":x?"date":void 0,"aria-label":`${d} ${G} ${y}`,onClick:()=>{t?$?.(B(a,c)):v(c)},children:f?f({date:c,day:d,isSelected:N,isToday:x,rangeStart:R,rangeEnd:E,inRange:Y}):d},`day-${d}`)})]})]})}),_=A(function({className:b,...f},D){const{calendar:h,t:m,value:l,year:e,month:v,yearPageStart:a,view:$,selectMonth:y,selectYear:p}=F("Calendar.Body"),w=new Date,t=$==="years",P=l&&l.getFullYear()===e?l.getMonth():null;return g(V,{ref:D,className:b,label:t?m("calendar.yearsRange",{start:a,end:a+I-1}):m("calendar.monthsOfYear",{year:e}),columnsClass:t?n.calendarYears:n.calendarMonths,items:t?Array.from({length:I},(C,o)=>{const s=a+o;return{key:s,label:s,ariaLabel:`${s}`,selected:(l?.getFullYear()??e)===s,current:w.getFullYear()===s,onSelect:()=>p(s)}}):h.monthsShort.map((C,o)=>({key:C,label:C,ariaLabel:`${h.months[o]??""} ${e}`,selected:P===o||!l&&v===o,current:w.getFullYear()===e&&w.getMonth()===o,onSelect:()=>y(o)})),...f})});export{W as CalendarDaysPanel,_ as CalendarPeriodPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as h,jsx as s}from"react/jsx-runtime";import{forwardRef as
|
|
1
|
+
"use client";import{jsxs as h,jsx as s}from"react/jsx-runtime";import{forwardRef as G,useMemo as p}from"react";import{weekdayLabels as J,isToday as Q}from"../Calendar/Calendar.utils.js";import{resolveAllDay as b,segmentSpanByWeeks as U,packSpanSegments as X}from"./calendar.schedule.js";import{useCalendarBoard as Y}from"./CalendarBoard.context.js";import{CalendarBoardTaskChip as T}from"./CalendarBoard.TaskChip.js";import{buildMonthWeeks as Z,isMultiDayTask as $,calendarDateKey as I}from"./CalendarBoard.utils.js";import e from"./CalendarBoard.module.css.js";import ee from"../../styles/unstyledControl.module.css.js";import{cn as g}from"../../utils/cn.js";import{useLocale as ae}from"../../locales/localeContext.js";import{ruSlice as te}from"../../locales/slices/calendar.ru.js";import{ruSlice as re}from"../../locales/slices/calendarBoard.ru.js";import{startOfDay as se,isSameDay as ne}from"../../utils/date.js";const oe={calendar:te,calendarBoard:re},O=G(function({className:A,maxChipsPerDay:W=3,...L},R){const{messages:V,t:S}=ae(oe),{months:j,weekdaysShort:K}=V.calendar,{viewDate:u,selectedDate:N,setSelectedDate:w,setViewDate:C,setView:q,tasks:c,weekStartsOn:y,renderDayCell:D}=Y("CalendarBoard.Month"),f=p(()=>Z(u,y),[u,y]),z=u.getMonth(),E=J(K,y),v=p(()=>c.filter(t=>b(t)&&$(t.start,t.end)),[c]),F=p(()=>f.map((t,o)=>{const l=v.map(r=>{const m=U(r.start,r.end,[t])[0];return m?{item:r,segment:m.segment}:null}).filter(r=>r!==null);return{weekIndex:o,...X(l)}}),[v,f]),H=p(()=>{const t=new Map;for(const o of c){if(b(o)&&$(o.start,o.end))continue;const l=I(se(o.start)),r=t.get(l)??[];r.push(o),t.set(l,r)}return t},[c]),P=22;return h("div",{ref:R,className:g(e.month,A),...L,children:[s("div",{className:e.weekdayRow,role:"row",children:E.map(t=>s("div",{className:e.weekdayLabel,role:"columnheader",children:t},t))}),s("div",{className:e.monthWeeks,children:f.map((t,o)=>{const l=F[o],r=Math.max(l?.laneCount??0,0),m=r>0?r*P+Math.max(0,r-1)*2:0;return h("div",{className:e.weekRow,style:{"--altum-calendar-board-span-height":`${m}px`},children:[s("div",{className:e.weekDays,children:t.map(a=>{const i=a.getMonth()===z,n=N?ne(a,N):!1,d=Q(a),k=H.get(I(a))??[],M=k.slice(0,W),B=k.length-M.length,_={date:a,dayOfMonth:a.getDate(),isCurrentMonth:i,isToday:d,isSelected:n,tasks:k};return D?s("div",{className:e.dayCell,children:D(_)},a.toISOString()):h("div",{role:"gridcell",className:g(e.dayCell,e.dayCellSurface,i?"":e.dayOutside,n?e.daySelected:"",d&&!n?e.dayToday:""),"aria-current":d?"date":void 0,"aria-selected":n,children:[s("button",{type:"button",className:g(ee.control,e.dayNumberBtn),onClick:()=>{w(a),C(a)},onDoubleClick:()=>{w(a),C(a),q("day")},"aria-label":S("calendarBoard.dayWithoutTasks",{day:a.getDate(),month:j[a.getMonth()]??""}),"aria-pressed":n,children:s("span",{className:e.dayNumber,children:a.getDate()})}),h("div",{className:e.dayChips,children:[M.map(x=>s(T,{task:x,layout:"chip"},x.id)),B>0&&s("span",{className:e.dayMore,children:S("calendarBoard.moreTasks",{count:B})})]})]},a.toISOString())})}),r>0&&s("div",{className:e.spanTrack,children:Array.from({length:r},(a,i)=>s("div",{className:e.spanLane,children:l?.packed.filter(n=>n.lane===i).map(({item:n,segment:d})=>s("div",{className:e.spanSlot,style:{gridColumn:`${d.startIndex+1} / ${d.endIndex+2}`},"data-task-id":n.id,children:s(T,{task:n,layout:"bar",continuesBefore:d.continuesBefore,continuesAfter:d.continuesAfter})},`${n.id}-${o}-${d.startIndex}-${i}`))},i))})]},t[0].toISOString())})})]})});O.displayName="CalendarBoard.Month";export{O as CalendarBoardMonth};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as c,jsx as l}from"react/jsx-runtime";import{forwardRef as ue,useId as
|
|
1
|
+
"use client";import{jsxs as c,jsx as l}from"react/jsx-runtime";import{forwardRef as ue,useId as pe,useState as he,useCallback as ve,useMemo as y}from"react";import{buildDayStrip as fe,formatMonthYear as z,weekdayLabelFor as T,isToday as V}from"../Calendar/Calendar.utils.js";import{buildHourMarks as ye,resolveAllDay as J,segmentSpanInColumns as ge,packSpanSegments as Se,clipEventToDay as Ne,packTimedEventsInDay as $e}from"./calendar.schedule.js";import{startOfDay as g,isSameDay as xe,formatHourTime as De,addDays as K}from"../../utils/date.js";import{CalendarBoardEvent as Q}from"./CalendarBoard.Event.js";import Ce from"../../styles/unstyledControl.module.css.js";import B from"../../styles/calendarChrome.module.css.js";import t from"./CalendarBoard.Schedule.module.css.js";import{cn as u}from"../../utils/cn.js";import{mergeStyles as we}from"../../utils/mergeStyles.js";import{useLocale as be}from"../../locales/localeContext.js";import{SCHEDULE_LANE_HEIGHT as H}from"./CalendarBoard.Schedule.types.js";import{resolveWindowStart as ke,formatTimeRange as Te}from"./CalendarBoard.Schedule.utils.js";import{ruSlice as Be}from"../../locales/slices/calendar.ru.js";import{ruSlice as He}from"../../locales/slices/calendarBoard.ru.js";import{PeriodHeader as Ie}from"../../base/PeriodHeader/PeriodHeader.js";const Le={calendar:Be,calendarBoard:He},U=ue(function({viewDate:p,onViewDateChange:I,daysCount:i=7,weekStartsOn:h=1,events:S=[],dayStartHour:v=8,dayEndHour:f=20,hourHeight:N=48,selectedDate:C,onSelectDate:L,onEventClick:$,showHeader:E=!0,showNav:X=!0,className:Z,"aria-label":ee,renderSpanEvent:P,renderTimedEvent:O,style:te,...ae},re){const{messages:m}=be(Le),{months:A,weekdaysShort:w}=m.calendar,M=pe(),[le,ie]=he(()=>g(p??C??new Date)),x=p?g(p):le,R=ve(e=>{const a=g(e);p===void 0&&ie(a),I?.(a)},[p,I]),b=y(()=>ke(x,i,h),[x,i,h]),o=y(()=>fe(b,i),[i,b]),G=y(()=>ye(v,f),[f,v]),ne=Math.max(0,f-v)*N,k=C?g(C):void 0,W=e=>{if(i===1){R(K(x,e));return}R(K(b,e*(i===5?7:i)))},_=y(()=>{const e=S.filter(J).map(a=>{const r=ge(a.start,a.end,o);return r?{item:a,segment:r}:null}).filter(a=>a!==null);return Se(e)},[o,S]),oe=y(()=>o.map(e=>{const a=S.filter(r=>!J(r)).map(r=>{const s=Ne(r.start,r.end,e);return s?{item:r,start:s.start,end:s.end}:null}).filter(r=>r!==null);return $e(a,v,f)}),[o,f,v,S]),se=(()=>{if(i!==1)return z(k??o[0]??x,A);const e=o[0];return`${T(e,h,w)}, ${e.getDate()} ${z(e,A)}`})(),j=Math.max(_.laneCount,1)*H+8,de=we({"--altum-schedule-columns":String(i),"--altum-schedule-hour-height":`${N}px`,"--altum-schedule-all-day-height":`${j}px`},te);return c("div",{ref:re,className:u(t.root,Z),role:"region","aria-label":ee??m.calendarBoard.scheduleAria,"aria-labelledby":E?M:void 0,style:de,...ae,children:[l(Ie,{title:se,titleId:M,showTitle:E,showNav:X,onPrev:()=>W(-1),onNext:()=>W(1),prevLabel:m.calendarBoard.prevPeriod,nextLabel:m.calendarBoard.nextPeriod}),c("div",{className:t.gutterRow,children:[l("div",{className:t.gutterCorner,"aria-hidden":"true"}),l("div",{className:t.cols,style:{gridTemplateColumns:`repeat(${i}, minmax(0, 1fr))`},children:o.map(e=>{const a=k?xe(e,k):!1,r=V(e),s=T(e,h,w);return c("button",{type:"button",className:u(Ce.control,B.cell,t.dayHeader,a?B.selected:"",a?t.dayHeaderSelected:"",r?B.today:""),onClick:()=>L?.(g(e)),"aria-pressed":L?a:void 0,"aria-current":r?"date":void 0,children:[l("span",{className:t.dayWeekday,children:s}),l("span",{className:t.dayNumber,children:e.getDate()})]},e.toISOString())})})]}),c("div",{className:t.gutterRow,"aria-label":m.calendarBoard.allDay,children:[l("div",{className:t.gutterLabel,children:m.calendarBoard.allDayShort}),c("div",{className:u(t.cols,t.allDayTrack),style:{gridTemplateColumns:`repeat(${i}, minmax(0, 1fr))`,minHeight:j},children:[o.map(e=>l("div",{className:t.allDayCell},`allday-cell-${e.toISOString()}`)),_.packed.map(({item:e,segment:a,lane:r})=>{const s=a.endIndex-a.startIndex+1,d=a.startIndex/i*100,n=s/i*100,D=P?P({event:e,continuesBefore:a.continuesBefore,continuesAfter:a.continuesAfter,lane:r}):l(Q,{title:e.title,color:e.color,continuesBefore:a.continuesBefore,continuesAfter:a.continuesAfter,onClick:$?()=>$(e):void 0});return l("div",{className:t.spanSlot,style:{left:`calc(${d}% + 2px)`,width:`calc(${n}% - 4px)`,top:4+r*H,height:H-2},children:D},`span-${e.id}-${a.startIndex}`)})]})]}),c("div",{className:u(t.gutterRow,t.timeGrid),style:{height:ne},children:[l("div",{className:t.gutter,children:G.map(e=>l("div",{className:t.hourMark,style:{height:N},children:l("span",{className:t.hourLabel,children:De(e)})},e))}),l("div",{className:u(t.cols,t.columns),style:{gridTemplateColumns:`repeat(${i}, minmax(0, 1fr))`},role:"grid","aria-colcount":i,children:o.map((e,a)=>{const r=V(e),s=oe[a]??[];return c("div",{className:u(t.column,r?t.columnToday:""),role:"gridcell","aria-label":`${T(e,h,w)} ${e.getDate()}`,children:[G.map(d=>l("div",{className:t.hourLine,style:{height:N}},`${e.toISOString()}-${d}`)),l("div",{className:t.eventsLayer,children:s.map(({item:d,layout:n,lane:D,laneCount:F})=>{const Y=100/F,ce=D*Y,q=Te(n.start,n.end),me=O?O({event:d,start:n.start,end:n.end,topPercent:n.topPercent,heightPercent:n.heightPercent,lane:D,laneCount:F,timeLabel:q}):l(Q,{layout:"timed",title:d.title,timeLabel:q,color:d.color,onClick:$?()=>$(d):void 0});return l("div",{className:t.timedSlot,style:{top:`${n.topPercent}%`,height:`${n.heightPercent}%`,left:`calc(${ce}% + 2px)`,width:`calc(${Y}% - 4px)`},children:me},`timed-${d.id}-${n.start.getTime()}`)})})]},e.toISOString())})})]})]})});U.displayName="CalendarBoard.Schedule";export{U as CalendarSchedule};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as o,jsxs as I}from"react/jsx-runtime";import{forwardRef as
|
|
2
|
-
`):void 0,onClick:()=>{s&&(g(t),D("day"))},"aria-label":s?p?f("calendarBoard.dayWithTasks",{day:t.getDate(),month:
|
|
1
|
+
"use client";import{jsx as o,jsxs as I}from"react/jsx-runtime";import{forwardRef as L,useMemo as V}from"react";import{weekdayLabels as z,isToday as A}from"../Calendar/Calendar.utils.js";import{useCalendarBoard as H}from"./CalendarBoard.context.js";import{calendarDateKey as N,buildMonthWeeks as K}from"./CalendarBoard.utils.js";import a from"./CalendarBoard.module.css.js";import S from"../../styles/unstyledControl.module.css.js";import{cn as y}from"../../utils/cn.js";import{useLocale as P}from"../../locales/localeContext.js";import{ruSlice as R}from"../../locales/slices/calendar.ru.js";import{ruSlice as q}from"../../locales/slices/calendarBoard.ru.js";import{startOfDay as b,addDays as E}from"../../utils/date.js";const G={calendar:R,calendarBoard:q},v=L(function({className:B,...Y},O){const{messages:W,t:f}=P(G),{months:d,weekdaysShort:T}=W.calendar,{viewDate:x,setViewDate:g,setView:D,tasks:k,weekStartsOn:w,renderYearMonth:M}=H("CalendarBoard.Year"),m=x.getFullYear(),C=V(()=>{const n=new Map;for(const e of k){let r=b(e.start);const h=b(e.end);for(;r<h;){if(r.getFullYear()===m){const l=N(r),c=n.get(l)??[];c.push(e),n.set(l,c)}r=E(r,1)}}return n},[k,m]),F=z(T,w).map(n=>n[0]??"");return o("div",{ref:O,className:y(a.year,B),...Y,children:Array.from({length:12},(n,e)=>{const r=new Date(m,e,1),h=K(r,w),l=new Date().getFullYear()===m&&new Date().getMonth()===e,c={date:r,monthIndex:e,label:d[e]??"",isCurrentMonth:l,taskDates:new Set(C.keys())};return M?o("div",{className:a.yearMonth,children:M(c)},e):I("div",{className:y(a.yearMonth,a.yearMonthCard,l?a.yearMonthCurrent:""),children:[o("button",{type:"button",className:y(S.control,a.yearMonthLabelBtn),onClick:()=>{g(r),D("month")},children:d[e]}),o("div",{className:a.yearCols,children:F.map((i,t)=>o("span",{className:a.yearWeekday,children:i},`${i}-${t}`))}),o("div",{className:a.yearWeeks,children:h.map(i=>o("div",{className:a.yearCols,children:i.map(t=>{const s=t.getMonth()===e,u=C.get(N(t))??[],p=u.length>0,$=A(t);return o("button",{type:"button",disabled:!s,className:y(S.control,a.yearDay,s?"":a.yearDayOutside,$?a.yearDayToday:"",p?a.yearDayHasTask:""),title:s&&p?u.map(j=>j.title).join(`
|
|
2
|
+
`):void 0,onClick:()=>{s&&(g(t),D("day"))},"aria-label":s?p?f("calendarBoard.dayWithTasks",{day:t.getDate(),month:d[e]??"",count:u.length}):f("calendarBoard.dayWithoutTasks",{day:t.getDate(),month:d[e]??""}):void 0,children:s?t.getDate():""},t.toISOString())})},i[0].toISOString()))})]},e)})})});v.displayName="CalendarBoard.Year";export{v as CalendarBoardYear};
|