@olddevs/ui 0.0.0-stage → 4.0.0
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 +13 -0
- package/LICENSE +21 -0
- package/NOTICE +100 -0
- package/README.md +145 -2
- package/README.ru.md +146 -0
- package/dist/color.d.ts +22 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +2 -0
- package/dist/color.js.map +1 -0
- package/dist/components/actions/Alert.d.ts +46 -0
- package/dist/components/actions/Alert.d.ts.map +1 -0
- package/dist/components/actions/Alert.js +20 -0
- package/dist/components/actions/Alert.js.map +1 -0
- package/dist/components/actions/Banner.d.ts +58 -0
- package/dist/components/actions/Banner.d.ts.map +1 -0
- package/dist/components/actions/Banner.js +20 -0
- package/dist/components/actions/Banner.js.map +1 -0
- package/dist/components/actions/Button.d.ts +79 -0
- package/dist/components/actions/Button.d.ts.map +1 -0
- package/dist/components/actions/Button.js +29 -0
- package/dist/components/actions/Button.js.map +1 -0
- package/dist/components/actions/ButtonGroup.d.ts +32 -0
- package/dist/components/actions/ButtonGroup.d.ts.map +1 -0
- package/dist/components/actions/ButtonGroup.js +10 -0
- package/dist/components/actions/ButtonGroup.js.map +1 -0
- package/dist/components/actions/Chip.d.ts +36 -0
- package/dist/components/actions/Chip.d.ts.map +1 -0
- package/dist/components/actions/Chip.js +16 -0
- package/dist/components/actions/Chip.js.map +1 -0
- package/dist/components/actions/CopyButton.d.ts +32 -0
- package/dist/components/actions/CopyButton.d.ts.map +1 -0
- package/dist/components/actions/CopyButton.js +41 -0
- package/dist/components/actions/CopyButton.js.map +1 -0
- package/dist/components/actions/Progress.d.ts +36 -0
- package/dist/components/actions/Progress.d.ts.map +1 -0
- package/dist/components/actions/Progress.js +14 -0
- package/dist/components/actions/Progress.js.map +1 -0
- package/dist/components/actions/Segmented.d.ts +64 -0
- package/dist/components/actions/Segmented.d.ts.map +1 -0
- package/dist/components/actions/Segmented.js +14 -0
- package/dist/components/actions/Segmented.js.map +1 -0
- package/dist/components/actions/Spinner.d.ts +46 -0
- package/dist/components/actions/Spinner.d.ts.map +1 -0
- package/dist/components/actions/Spinner.js +17 -0
- package/dist/components/actions/Spinner.js.map +1 -0
- package/dist/components/actions/SplitButton.d.ts +92 -0
- package/dist/components/actions/SplitButton.d.ts.map +1 -0
- package/dist/components/actions/SplitButton.js +21 -0
- package/dist/components/actions/SplitButton.js.map +1 -0
- package/dist/components/actions/StatusBadge.d.ts +26 -0
- package/dist/components/actions/StatusBadge.d.ts.map +1 -0
- package/dist/components/actions/StatusBadge.js +14 -0
- package/dist/components/actions/StatusBadge.js.map +1 -0
- package/dist/components/actions/Toaster.d.ts +83 -0
- package/dist/components/actions/Toaster.d.ts.map +1 -0
- package/dist/components/actions/Toaster.js +38 -0
- package/dist/components/actions/Toaster.js.map +1 -0
- package/dist/components/actions/Toggle.d.ts +75 -0
- package/dist/components/actions/Toggle.d.ts.map +1 -0
- package/dist/components/actions/Toggle.js +39 -0
- package/dist/components/actions/Toggle.js.map +1 -0
- package/dist/components/actions/ToggleGroup.d.ts +63 -0
- package/dist/components/actions/ToggleGroup.d.ts.map +1 -0
- package/dist/components/actions/ToggleGroup.js +30 -0
- package/dist/components/actions/ToggleGroup.js.map +1 -0
- package/dist/components/actions/Toolbar.d.ts +52 -0
- package/dist/components/actions/Toolbar.d.ts.map +1 -0
- package/dist/components/actions/Toolbar.js +98 -0
- package/dist/components/actions/Toolbar.js.map +1 -0
- package/dist/components/actions/Truncate.d.ts +31 -0
- package/dist/components/actions/Truncate.d.ts.map +1 -0
- package/dist/components/actions/Truncate.js +32 -0
- package/dist/components/actions/Truncate.js.map +1 -0
- package/dist/components/app-shell/AppShell.d.ts +106 -0
- package/dist/components/app-shell/AppShell.d.ts.map +1 -0
- package/dist/components/app-shell/AppShell.js +29 -0
- package/dist/components/app-shell/AppShell.js.map +1 -0
- package/dist/components/app-shell/MobileTabBar.d.ts +130 -0
- package/dist/components/app-shell/MobileTabBar.d.ts.map +1 -0
- package/dist/components/app-shell/MobileTabBar.js +50 -0
- package/dist/components/app-shell/MobileTabBar.js.map +1 -0
- package/dist/components/app-shell/NavItem.d.ts +72 -0
- package/dist/components/app-shell/NavItem.d.ts.map +1 -0
- package/dist/components/app-shell/NavItem.js +22 -0
- package/dist/components/app-shell/NavItem.js.map +1 -0
- package/dist/components/app-shell/SideNav.d.ts +65 -0
- package/dist/components/app-shell/SideNav.d.ts.map +1 -0
- package/dist/components/app-shell/SideNav.js +31 -0
- package/dist/components/app-shell/SideNav.js.map +1 -0
- package/dist/components/app-shell/SplitPanel.d.ts +121 -0
- package/dist/components/app-shell/SplitPanel.d.ts.map +1 -0
- package/dist/components/app-shell/SplitPanel.js +88 -0
- package/dist/components/app-shell/SplitPanel.js.map +1 -0
- package/dist/components/app-shell/TopBar.d.ts +43 -0
- package/dist/components/app-shell/TopBar.d.ts.map +1 -0
- package/dist/components/app-shell/TopBar.js +24 -0
- package/dist/components/app-shell/TopBar.js.map +1 -0
- package/dist/components/content/AspectRatio.d.ts +25 -0
- package/dist/components/content/AspectRatio.d.ts.map +1 -0
- package/dist/components/content/AspectRatio.js +7 -0
- package/dist/components/content/AspectRatio.js.map +1 -0
- package/dist/components/content/Avatar.d.ts +22 -0
- package/dist/components/content/Avatar.d.ts.map +1 -0
- package/dist/components/content/Avatar.js +23 -0
- package/dist/components/content/Avatar.js.map +1 -0
- package/dist/components/content/AvatarGroup.d.ts +42 -0
- package/dist/components/content/AvatarGroup.d.ts.map +1 -0
- package/dist/components/content/AvatarGroup.js +11 -0
- package/dist/components/content/AvatarGroup.js.map +1 -0
- package/dist/components/content/Badge.d.ts +41 -0
- package/dist/components/content/Badge.d.ts.map +1 -0
- package/dist/components/content/Badge.js +13 -0
- package/dist/components/content/Badge.js.map +1 -0
- package/dist/components/content/Card.d.ts +59 -0
- package/dist/components/content/Card.d.ts.map +1 -0
- package/dist/components/content/Card.js +20 -0
- package/dist/components/content/Card.js.map +1 -0
- package/dist/components/content/Carousel.d.ts +79 -0
- package/dist/components/content/Carousel.d.ts.map +1 -0
- package/dist/components/content/Carousel.js +172 -0
- package/dist/components/content/Carousel.js.map +1 -0
- package/dist/components/content/CodeView.d.ts +76 -0
- package/dist/components/content/CodeView.d.ts.map +1 -0
- package/dist/components/content/CodeView.js +12 -0
- package/dist/components/content/CodeView.js.map +1 -0
- package/dist/components/content/DescriptionList.d.ts +31 -0
- package/dist/components/content/DescriptionList.d.ts.map +1 -0
- package/dist/components/content/DescriptionList.js +10 -0
- package/dist/components/content/DescriptionList.js.map +1 -0
- package/dist/components/content/EditableList.d.ts +162 -0
- package/dist/components/content/EditableList.d.ts.map +1 -0
- package/dist/components/content/EditableList.js +241 -0
- package/dist/components/content/EditableList.js.map +1 -0
- package/dist/components/content/EmptyState.d.ts +31 -0
- package/dist/components/content/EmptyState.d.ts.map +1 -0
- package/dist/components/content/EmptyState.js +9 -0
- package/dist/components/content/EmptyState.js.map +1 -0
- package/dist/components/content/ErrorState.d.ts +52 -0
- package/dist/components/content/ErrorState.d.ts.map +1 -0
- package/dist/components/content/ErrorState.js +16 -0
- package/dist/components/content/ErrorState.js.map +1 -0
- package/dist/components/content/Grid.d.ts +57 -0
- package/dist/components/content/Grid.d.ts.map +1 -0
- package/dist/components/content/Grid.js +85 -0
- package/dist/components/content/Grid.js.map +1 -0
- package/dist/components/content/Heading.d.ts +43 -0
- package/dist/components/content/Heading.d.ts.map +1 -0
- package/dist/components/content/Heading.js +21 -0
- package/dist/components/content/Heading.js.map +1 -0
- package/dist/components/content/Image.d.ts +94 -0
- package/dist/components/content/Image.d.ts.map +1 -0
- package/dist/components/content/Image.js +41 -0
- package/dist/components/content/Image.js.map +1 -0
- package/dist/components/content/Kbd.d.ts +31 -0
- package/dist/components/content/Kbd.d.ts.map +1 -0
- package/dist/components/content/Kbd.js +13 -0
- package/dist/components/content/Kbd.js.map +1 -0
- package/dist/components/content/Keyboard.d.ts +32 -0
- package/dist/components/content/Keyboard.d.ts.map +1 -0
- package/dist/components/content/Keyboard.js +381 -0
- package/dist/components/content/Keyboard.js.map +1 -0
- package/dist/components/content/Link.d.ts +46 -0
- package/dist/components/content/Link.d.ts.map +1 -0
- package/dist/components/content/Link.js +38 -0
- package/dist/components/content/Link.js.map +1 -0
- package/dist/components/content/MediaCard.d.ts +56 -0
- package/dist/components/content/MediaCard.d.ts.map +1 -0
- package/dist/components/content/MediaCard.js +15 -0
- package/dist/components/content/MediaCard.js.map +1 -0
- package/dist/components/content/NotificationCenter.d.ts +68 -0
- package/dist/components/content/NotificationCenter.d.ts.map +1 -0
- package/dist/components/content/NotificationCenter.js +14 -0
- package/dist/components/content/NotificationCenter.js.map +1 -0
- package/dist/components/content/NotificationList.d.ts +111 -0
- package/dist/components/content/NotificationList.d.ts.map +1 -0
- package/dist/components/content/NotificationList.js +48 -0
- package/dist/components/content/NotificationList.js.map +1 -0
- package/dist/components/content/ScrollArea.d.ts +30 -0
- package/dist/components/content/ScrollArea.d.ts.map +1 -0
- package/dist/components/content/ScrollArea.js +7 -0
- package/dist/components/content/ScrollArea.js.map +1 -0
- package/dist/components/content/Separator.d.ts +19 -0
- package/dist/components/content/Separator.d.ts.map +1 -0
- package/dist/components/content/Separator.js +14 -0
- package/dist/components/content/Separator.js.map +1 -0
- package/dist/components/content/Skeleton.d.ts +24 -0
- package/dist/components/content/Skeleton.d.ts.map +1 -0
- package/dist/components/content/Skeleton.js +8 -0
- package/dist/components/content/Skeleton.js.map +1 -0
- package/dist/components/content/SortableList.d.ts +98 -0
- package/dist/components/content/SortableList.d.ts.map +1 -0
- package/dist/components/content/SortableList.js +46 -0
- package/dist/components/content/SortableList.js.map +1 -0
- package/dist/components/content/Stat.d.ts +46 -0
- package/dist/components/content/Stat.d.ts.map +1 -0
- package/dist/components/content/Stat.js +12 -0
- package/dist/components/content/Stat.js.map +1 -0
- package/dist/components/content/Table.d.ts +110 -0
- package/dist/components/content/Table.d.ts.map +1 -0
- package/dist/components/content/Table.js +66 -0
- package/dist/components/content/Table.js.map +1 -0
- package/dist/components/content/TagGroup.d.ts +120 -0
- package/dist/components/content/TagGroup.d.ts.map +1 -0
- package/dist/components/content/TagGroup.js +20 -0
- package/dist/components/content/TagGroup.js.map +1 -0
- package/dist/components/content/Text.d.ts +55 -0
- package/dist/components/content/Text.d.ts.map +1 -0
- package/dist/components/content/Text.js +27 -0
- package/dist/components/content/Text.js.map +1 -0
- package/dist/components/content/Timeline.d.ts +50 -0
- package/dist/components/content/Timeline.d.ts.map +1 -0
- package/dist/components/content/Timeline.js +15 -0
- package/dist/components/content/Timeline.js.map +1 -0
- package/dist/components/content/VirtualGrid.d.ts +171 -0
- package/dist/components/content/VirtualGrid.d.ts.map +1 -0
- package/dist/components/content/VirtualGrid.js +267 -0
- package/dist/components/content/VirtualGrid.js.map +1 -0
- package/dist/components/content/VisuallyHidden.d.ts +24 -0
- package/dist/components/content/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/content/VisuallyHidden.js +3 -0
- package/dist/components/content/VisuallyHidden.js.map +1 -0
- package/dist/components/content/keyboardEditing.d.ts +15 -0
- package/dist/components/content/keyboardEditing.d.ts.map +1 -0
- package/dist/components/content/keyboardEditing.js +28 -0
- package/dist/components/content/keyboardEditing.js.map +1 -0
- package/dist/components/content/useDragToSelect.d.ts +41 -0
- package/dist/components/content/useDragToSelect.d.ts.map +1 -0
- package/dist/components/content/useDragToSelect.js +190 -0
- package/dist/components/content/useDragToSelect.js.map +1 -0
- package/dist/components/date-time/Calendar.d.ts +67 -0
- package/dist/components/date-time/Calendar.d.ts.map +1 -0
- package/dist/components/date-time/Calendar.js +28 -0
- package/dist/components/date-time/Calendar.js.map +1 -0
- package/dist/components/date-time/DatePicker.d.ts +57 -0
- package/dist/components/date-time/DatePicker.d.ts.map +1 -0
- package/dist/components/date-time/DatePicker.js +37 -0
- package/dist/components/date-time/DatePicker.js.map +1 -0
- package/dist/components/date-time/DateRangePicker.d.ts +91 -0
- package/dist/components/date-time/DateRangePicker.d.ts.map +1 -0
- package/dist/components/date-time/DateRangePicker.js +72 -0
- package/dist/components/date-time/DateRangePicker.js.map +1 -0
- package/dist/components/date-time/DateTimePicker.d.ts +55 -0
- package/dist/components/date-time/DateTimePicker.d.ts.map +1 -0
- package/dist/components/date-time/DateTimePicker.js +9 -0
- package/dist/components/date-time/DateTimePicker.js.map +1 -0
- package/dist/components/date-time/RangeCalendar.d.ts +50 -0
- package/dist/components/date-time/RangeCalendar.d.ts.map +1 -0
- package/dist/components/date-time/RangeCalendar.js +17 -0
- package/dist/components/date-time/RangeCalendar.js.map +1 -0
- package/dist/components/date-time/TimePicker.d.ts +47 -0
- package/dist/components/date-time/TimePicker.d.ts.map +1 -0
- package/dist/components/date-time/TimePicker.js +148 -0
- package/dist/components/date-time/TimePicker.js.map +1 -0
- package/dist/components/inputs/Checkbox.d.ts +140 -0
- package/dist/components/inputs/Checkbox.d.ts.map +1 -0
- package/dist/components/inputs/Checkbox.js +29 -0
- package/dist/components/inputs/Checkbox.js.map +1 -0
- package/dist/components/inputs/CheckboxCard.d.ts +17 -0
- package/dist/components/inputs/CheckboxCard.d.ts.map +1 -0
- package/dist/components/inputs/CheckboxCard.js +25 -0
- package/dist/components/inputs/CheckboxCard.js.map +1 -0
- package/dist/components/inputs/CheckboxGroup.d.ts +68 -0
- package/dist/components/inputs/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/inputs/CheckboxGroup.js +14 -0
- package/dist/components/inputs/CheckboxGroup.js.map +1 -0
- package/dist/components/inputs/ChoiceCardBody.d.ts +16 -0
- package/dist/components/inputs/ChoiceCardBody.d.ts.map +1 -0
- package/dist/components/inputs/ChoiceCardBody.js +10 -0
- package/dist/components/inputs/ChoiceCardBody.js.map +1 -0
- package/dist/components/inputs/ColorPicker.d.ts +71 -0
- package/dist/components/inputs/ColorPicker.d.ts.map +1 -0
- package/dist/components/inputs/ColorPicker.js +30 -0
- package/dist/components/inputs/ColorPicker.js.map +1 -0
- package/dist/components/inputs/Combobox.d.ts +41 -0
- package/dist/components/inputs/Combobox.d.ts.map +1 -0
- package/dist/components/inputs/Combobox.js +16 -0
- package/dist/components/inputs/Combobox.js.map +1 -0
- package/dist/components/inputs/FileDropzone.d.ts +51 -0
- package/dist/components/inputs/FileDropzone.d.ts.map +1 -0
- package/dist/components/inputs/FileDropzone.js +75 -0
- package/dist/components/inputs/FileDropzone.js.map +1 -0
- package/dist/components/inputs/Form.d.ts +50 -0
- package/dist/components/inputs/Form.d.ts.map +1 -0
- package/dist/components/inputs/Form.js +14 -0
- package/dist/components/inputs/Form.js.map +1 -0
- package/dist/components/inputs/FormField.d.ts +89 -0
- package/dist/components/inputs/FormField.d.ts.map +1 -0
- package/dist/components/inputs/FormField.js +24 -0
- package/dist/components/inputs/FormField.js.map +1 -0
- package/dist/components/inputs/FormLayout.d.ts +47 -0
- package/dist/components/inputs/FormLayout.d.ts.map +1 -0
- package/dist/components/inputs/FormLayout.js +12 -0
- package/dist/components/inputs/FormLayout.js.map +1 -0
- package/dist/components/inputs/InlineEdit.d.ts +50 -0
- package/dist/components/inputs/InlineEdit.d.ts.map +1 -0
- package/dist/components/inputs/InlineEdit.js +70 -0
- package/dist/components/inputs/InlineEdit.js.map +1 -0
- package/dist/components/inputs/MaskedInput.d.ts +66 -0
- package/dist/components/inputs/MaskedInput.d.ts.map +1 -0
- package/dist/components/inputs/MaskedInput.js +73 -0
- package/dist/components/inputs/MaskedInput.js.map +1 -0
- package/dist/components/inputs/NumberInput.d.ts +53 -0
- package/dist/components/inputs/NumberInput.d.ts.map +1 -0
- package/dist/components/inputs/NumberInput.js +17 -0
- package/dist/components/inputs/NumberInput.js.map +1 -0
- package/dist/components/inputs/PasswordInput.d.ts +49 -0
- package/dist/components/inputs/PasswordInput.d.ts.map +1 -0
- package/dist/components/inputs/PasswordInput.js +49 -0
- package/dist/components/inputs/PasswordInput.js.map +1 -0
- package/dist/components/inputs/PhoneInput.d.ts +35 -0
- package/dist/components/inputs/PhoneInput.d.ts.map +1 -0
- package/dist/components/inputs/PhoneInput.js +9 -0
- package/dist/components/inputs/PhoneInput.js.map +1 -0
- package/dist/components/inputs/PinInput.d.ts +50 -0
- package/dist/components/inputs/PinInput.d.ts.map +1 -0
- package/dist/components/inputs/PinInput.js +67 -0
- package/dist/components/inputs/PinInput.js.map +1 -0
- package/dist/components/inputs/RadioGroup.d.ts +86 -0
- package/dist/components/inputs/RadioGroup.d.ts.map +1 -0
- package/dist/components/inputs/RadioGroup.js +51 -0
- package/dist/components/inputs/RadioGroup.js.map +1 -0
- package/dist/components/inputs/Rating.d.ts +69 -0
- package/dist/components/inputs/Rating.d.ts.map +1 -0
- package/dist/components/inputs/Rating.js +51 -0
- package/dist/components/inputs/Rating.js.map +1 -0
- package/dist/components/inputs/SearchControl.d.ts +85 -0
- package/dist/components/inputs/SearchControl.d.ts.map +1 -0
- package/dist/components/inputs/SearchControl.js +62 -0
- package/dist/components/inputs/SearchControl.js.map +1 -0
- package/dist/components/inputs/Select.d.ts +205 -0
- package/dist/components/inputs/Select.d.ts.map +1 -0
- package/dist/components/inputs/Select.js +136 -0
- package/dist/components/inputs/Select.js.map +1 -0
- package/dist/components/inputs/Slider.d.ts +59 -0
- package/dist/components/inputs/Slider.d.ts.map +1 -0
- package/dist/components/inputs/Slider.js +153 -0
- package/dist/components/inputs/Slider.js.map +1 -0
- package/dist/components/inputs/SwatchGroup.d.ts +101 -0
- package/dist/components/inputs/SwatchGroup.d.ts.map +1 -0
- package/dist/components/inputs/SwatchGroup.js +57 -0
- package/dist/components/inputs/SwatchGroup.js.map +1 -0
- package/dist/components/inputs/TagInput.d.ts +45 -0
- package/dist/components/inputs/TagInput.d.ts.map +1 -0
- package/dist/components/inputs/TagInput.js +56 -0
- package/dist/components/inputs/TagInput.js.map +1 -0
- package/dist/components/inputs/TextControl.d.ts +101 -0
- package/dist/components/inputs/TextControl.d.ts.map +1 -0
- package/dist/components/inputs/TextControl.js +31 -0
- package/dist/components/inputs/TextControl.js.map +1 -0
- package/dist/components/inputs/Transfer.d.ts +84 -0
- package/dist/components/inputs/Transfer.d.ts.map +1 -0
- package/dist/components/inputs/Transfer.js +112 -0
- package/dist/components/inputs/Transfer.js.map +1 -0
- package/dist/components/inputs/TreeSelect.d.ts +73 -0
- package/dist/components/inputs/TreeSelect.d.ts.map +1 -0
- package/dist/components/inputs/TreeSelect.js +60 -0
- package/dist/components/inputs/TreeSelect.js.map +1 -0
- package/dist/components/inputs/UploadQueue.d.ts +84 -0
- package/dist/components/inputs/UploadQueue.d.ts.map +1 -0
- package/dist/components/inputs/UploadQueue.js +30 -0
- package/dist/components/inputs/UploadQueue.js.map +1 -0
- package/dist/components/navigation/Accordion.d.ts +44 -0
- package/dist/components/navigation/Accordion.d.ts.map +1 -0
- package/dist/components/navigation/Accordion.js +12 -0
- package/dist/components/navigation/Accordion.js.map +1 -0
- package/dist/components/navigation/Breadcrumbs.d.ts +35 -0
- package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumbs.js +17 -0
- package/dist/components/navigation/Breadcrumbs.js.map +1 -0
- package/dist/components/navigation/ContextualSaveBar.d.ts +90 -0
- package/dist/components/navigation/ContextualSaveBar.d.ts.map +1 -0
- package/dist/components/navigation/ContextualSaveBar.js +20 -0
- package/dist/components/navigation/ContextualSaveBar.js.map +1 -0
- package/dist/components/navigation/PageHeader.d.ts +17 -0
- package/dist/components/navigation/PageHeader.d.ts.map +1 -0
- package/dist/components/navigation/PageHeader.js +8 -0
- package/dist/components/navigation/PageHeader.js.map +1 -0
- package/dist/components/navigation/Pagination.d.ts +44 -0
- package/dist/components/navigation/Pagination.d.ts.map +1 -0
- package/dist/components/navigation/Pagination.js +57 -0
- package/dist/components/navigation/Pagination.js.map +1 -0
- package/dist/components/navigation/SectionHeader.d.ts +32 -0
- package/dist/components/navigation/SectionHeader.d.ts.map +1 -0
- package/dist/components/navigation/SectionHeader.js +13 -0
- package/dist/components/navigation/SectionHeader.js.map +1 -0
- package/dist/components/navigation/SelectionBar.d.ts +65 -0
- package/dist/components/navigation/SelectionBar.d.ts.map +1 -0
- package/dist/components/navigation/SelectionBar.js +24 -0
- package/dist/components/navigation/SelectionBar.js.map +1 -0
- package/dist/components/navigation/Stepper.d.ts +45 -0
- package/dist/components/navigation/Stepper.d.ts.map +1 -0
- package/dist/components/navigation/Stepper.js +16 -0
- package/dist/components/navigation/Stepper.js.map +1 -0
- package/dist/components/navigation/Tabs.d.ts +45 -0
- package/dist/components/navigation/Tabs.d.ts.map +1 -0
- package/dist/components/navigation/Tabs.js +51 -0
- package/dist/components/navigation/Tabs.js.map +1 -0
- package/dist/components/navigation/TreeView.d.ts +101 -0
- package/dist/components/navigation/TreeView.d.ts.map +1 -0
- package/dist/components/navigation/TreeView.js +27 -0
- package/dist/components/navigation/TreeView.js.map +1 -0
- package/dist/components/overlays/CommandPalette.d.ts +115 -0
- package/dist/components/overlays/CommandPalette.d.ts.map +1 -0
- package/dist/components/overlays/CommandPalette.js +43 -0
- package/dist/components/overlays/CommandPalette.js.map +1 -0
- package/dist/components/overlays/ConfirmDialog.d.ts +67 -0
- package/dist/components/overlays/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/overlays/ConfirmDialog.js +47 -0
- package/dist/components/overlays/ConfirmDialog.js.map +1 -0
- package/dist/components/overlays/ContextMenu.d.ts +122 -0
- package/dist/components/overlays/ContextMenu.d.ts.map +1 -0
- package/dist/components/overlays/ContextMenu.js +39 -0
- package/dist/components/overlays/ContextMenu.js.map +1 -0
- package/dist/components/overlays/Dialog.d.ts +113 -0
- package/dist/components/overlays/Dialog.d.ts.map +1 -0
- package/dist/components/overlays/Dialog.js +43 -0
- package/dist/components/overlays/Dialog.js.map +1 -0
- package/dist/components/overlays/Drawer.d.ts +53 -0
- package/dist/components/overlays/Drawer.d.ts.map +1 -0
- package/dist/components/overlays/Drawer.js +32 -0
- package/dist/components/overlays/Drawer.js.map +1 -0
- package/dist/components/overlays/HelpTooltip.d.ts +41 -0
- package/dist/components/overlays/HelpTooltip.d.ts.map +1 -0
- package/dist/components/overlays/HelpTooltip.js +10 -0
- package/dist/components/overlays/HelpTooltip.js.map +1 -0
- package/dist/components/overlays/HoverCard.d.ts +62 -0
- package/dist/components/overlays/HoverCard.d.ts.map +1 -0
- package/dist/components/overlays/HoverCard.js +175 -0
- package/dist/components/overlays/HoverCard.js.map +1 -0
- package/dist/components/overlays/Menu.d.ts +113 -0
- package/dist/components/overlays/Menu.d.ts.map +1 -0
- package/dist/components/overlays/Menu.js +26 -0
- package/dist/components/overlays/Menu.js.map +1 -0
- package/dist/components/overlays/ModalHeader.d.ts +77 -0
- package/dist/components/overlays/ModalHeader.d.ts.map +1 -0
- package/dist/components/overlays/ModalHeader.js +11 -0
- package/dist/components/overlays/ModalHeader.js.map +1 -0
- package/dist/components/overlays/ModalOverlay.d.ts +45 -0
- package/dist/components/overlays/ModalOverlay.d.ts.map +1 -0
- package/dist/components/overlays/ModalOverlay.js +29 -0
- package/dist/components/overlays/ModalOverlay.js.map +1 -0
- package/dist/components/overlays/Popover.d.ts +56 -0
- package/dist/components/overlays/Popover.d.ts.map +1 -0
- package/dist/components/overlays/Popover.js +16 -0
- package/dist/components/overlays/Popover.js.map +1 -0
- package/dist/components/overlays/ShortcutsHelp.d.ts +70 -0
- package/dist/components/overlays/ShortcutsHelp.d.ts.map +1 -0
- package/dist/components/overlays/ShortcutsHelp.js +20 -0
- package/dist/components/overlays/ShortcutsHelp.js.map +1 -0
- package/dist/components/overlays/Tooltip.d.ts +35 -0
- package/dist/components/overlays/Tooltip.d.ts.map +1 -0
- package/dist/components/overlays/Tooltip.js +18 -0
- package/dist/components/overlays/Tooltip.js.map +1 -0
- package/dist/components/table/DataTable.d.ts +60 -0
- package/dist/components/table/DataTable.d.ts.map +1 -0
- package/dist/components/table/DataTable.js +20 -0
- package/dist/components/table/DataTable.js.map +1 -0
- package/dist/components/table/FilterBar.d.ts +35 -0
- package/dist/components/table/FilterBar.d.ts.map +1 -0
- package/dist/components/table/FilterBar.js +17 -0
- package/dist/components/table/FilterBar.js.map +1 -0
- package/dist/components/table/FilterBarAdd.d.ts +57 -0
- package/dist/components/table/FilterBarAdd.d.ts.map +1 -0
- package/dist/components/table/FilterBarAdd.js +83 -0
- package/dist/components/table/FilterBarAdd.js.map +1 -0
- package/dist/components/table/SavedViews.d.ts +83 -0
- package/dist/components/table/SavedViews.d.ts.map +1 -0
- package/dist/components/table/SavedViews.js +12 -0
- package/dist/components/table/SavedViews.js.map +1 -0
- package/dist/components/table/TablePreferences.d.ts +45 -0
- package/dist/components/table/TablePreferences.d.ts.map +1 -0
- package/dist/components/table/TablePreferences.js +41 -0
- package/dist/components/table/TablePreferences.js.map +1 -0
- package/dist/components/table/TableToolbar.d.ts +38 -0
- package/dist/components/table/TableToolbar.d.ts.map +1 -0
- package/dist/components/table/TableToolbar.js +11 -0
- package/dist/components/table/TableToolbar.js.map +1 -0
- package/dist/editor/RichTextEditor.d.ts +274 -0
- package/dist/editor/RichTextEditor.d.ts.map +1 -0
- package/dist/editor/RichTextEditor.js +671 -0
- package/dist/editor/RichTextEditor.js.map +1 -0
- package/dist/editor/RichTextView.d.ts +70 -0
- package/dist/editor/RichTextView.d.ts.map +1 -0
- package/dist/editor/RichTextView.js +24 -0
- package/dist/editor/RichTextView.js.map +1 -0
- package/dist/editor/core/atomText.d.ts +21 -0
- package/dist/editor/core/atomText.d.ts.map +1 -0
- package/dist/editor/core/atomText.js +77 -0
- package/dist/editor/core/atomText.js.map +1 -0
- package/dist/editor/core/blockCommands.d.ts +94 -0
- package/dist/editor/core/blockCommands.d.ts.map +1 -0
- package/dist/editor/core/blockCommands.js +188 -0
- package/dist/editor/core/blockCommands.js.map +1 -0
- package/dist/editor/core/blockTypes.d.ts +89 -0
- package/dist/editor/core/blockTypes.d.ts.map +1 -0
- package/dist/editor/core/blockTypes.js +121 -0
- package/dist/editor/core/blockTypes.js.map +1 -0
- package/dist/editor/core/containers.d.ts +43 -0
- package/dist/editor/core/containers.d.ts.map +1 -0
- package/dist/editor/core/containers.js +52 -0
- package/dist/editor/core/containers.js.map +1 -0
- package/dist/editor/core/customMarkdown.d.ts +8 -0
- package/dist/editor/core/customMarkdown.d.ts.map +1 -0
- package/dist/editor/core/customMarkdown.js +34 -0
- package/dist/editor/core/customMarkdown.js.map +1 -0
- package/dist/editor/core/customTool.d.ts +407 -0
- package/dist/editor/core/customTool.d.ts.map +1 -0
- package/dist/editor/core/customTool.js +31 -0
- package/dist/editor/core/customTool.js.map +1 -0
- package/dist/editor/core/customToolEngine.d.ts +31 -0
- package/dist/editor/core/customToolEngine.d.ts.map +1 -0
- package/dist/editor/core/customToolEngine.js +324 -0
- package/dist/editor/core/customToolEngine.js.map +1 -0
- package/dist/editor/core/document.d.ts +17 -0
- package/dist/editor/core/document.d.ts.map +1 -0
- package/dist/editor/core/document.js +11 -0
- package/dist/editor/core/document.js.map +1 -0
- package/dist/editor/core/emptiness.d.ts +18 -0
- package/dist/editor/core/emptiness.d.ts.map +1 -0
- package/dist/editor/core/emptiness.js +14 -0
- package/dist/editor/core/emptiness.js.map +1 -0
- package/dist/editor/core/extensions.d.ts +78 -0
- package/dist/editor/core/extensions.d.ts.map +1 -0
- package/dist/editor/core/extensions.js +134 -0
- package/dist/editor/core/extensions.js.map +1 -0
- package/dist/editor/core/fieldNotice.d.ts +48 -0
- package/dist/editor/core/fieldNotice.d.ts.map +1 -0
- package/dist/editor/core/fieldNotice.js +18 -0
- package/dist/editor/core/fieldNotice.js.map +1 -0
- package/dist/editor/core/handle.d.ts +110 -0
- package/dist/editor/core/handle.d.ts.map +1 -0
- package/dist/editor/core/handle.js +149 -0
- package/dist/editor/core/handle.js.map +1 -0
- package/dist/editor/core/insertItems.d.ts +147 -0
- package/dist/editor/core/insertItems.d.ts.map +1 -0
- package/dist/editor/core/insertItems.js +215 -0
- package/dist/editor/core/insertItems.js.map +1 -0
- package/dist/editor/core/jsonDocument.d.ts +42 -0
- package/dist/editor/core/jsonDocument.d.ts.map +1 -0
- package/dist/editor/core/jsonDocument.js +44 -0
- package/dist/editor/core/jsonDocument.js.map +1 -0
- package/dist/editor/core/markdown.d.ts +47 -0
- package/dist/editor/core/markdown.d.ts.map +1 -0
- package/dist/editor/core/markdown.js +169 -0
- package/dist/editor/core/markdown.js.map +1 -0
- package/dist/editor/core/maxLength.d.ts +43 -0
- package/dist/editor/core/maxLength.d.ts.map +1 -0
- package/dist/editor/core/maxLength.js +45 -0
- package/dist/editor/core/maxLength.js.map +1 -0
- package/dist/editor/core/pasteTrim.d.ts +8 -0
- package/dist/editor/core/pasteTrim.d.ts.map +1 -0
- package/dist/editor/core/pasteTrim.js +61 -0
- package/dist/editor/core/pasteTrim.js.map +1 -0
- package/dist/editor/core/schema.d.ts +479 -0
- package/dist/editor/core/schema.d.ts.map +1 -0
- package/dist/editor/core/schema.js +371 -0
- package/dist/editor/core/schema.js.map +1 -0
- package/dist/editor/core/schemaConform.d.ts +30 -0
- package/dist/editor/core/schemaConform.d.ts.map +1 -0
- package/dist/editor/core/schemaConform.js +72 -0
- package/dist/editor/core/schemaConform.js.map +1 -0
- package/dist/editor/core/shortcuts.d.ts +110 -0
- package/dist/editor/core/shortcuts.d.ts.map +1 -0
- package/dist/editor/core/shortcuts.js +299 -0
- package/dist/editor/core/shortcuts.js.map +1 -0
- package/dist/editor/core/skeleton.d.ts +11 -0
- package/dist/editor/core/skeleton.d.ts.map +1 -0
- package/dist/editor/core/skeleton.js +48 -0
- package/dist/editor/core/skeleton.js.map +1 -0
- package/dist/editor/core/slashCommand.d.ts +46 -0
- package/dist/editor/core/slashCommand.d.ts.map +1 -0
- package/dist/editor/core/slashCommand.js +67 -0
- package/dist/editor/core/slashCommand.js.map +1 -0
- package/dist/editor/core/sourceFormat.d.ts +30 -0
- package/dist/editor/core/sourceFormat.d.ts.map +1 -0
- package/dist/editor/core/sourceFormat.js +136 -0
- package/dist/editor/core/sourceFormat.js.map +1 -0
- package/dist/editor/core/toolButtons.d.ts +58 -0
- package/dist/editor/core/toolButtons.d.ts.map +1 -0
- package/dist/editor/core/toolButtons.js +64 -0
- package/dist/editor/core/toolButtons.js.map +1 -0
- package/dist/editor/core/toolDescriptor.d.ts +304 -0
- package/dist/editor/core/toolDescriptor.d.ts.map +1 -0
- package/dist/editor/core/toolDescriptor.js +29 -0
- package/dist/editor/core/toolDescriptor.js.map +1 -0
- package/dist/editor/core/toolEntryShortcuts.d.ts +20 -0
- package/dist/editor/core/toolEntryShortcuts.d.ts.map +1 -0
- package/dist/editor/core/toolEntryShortcuts.js +46 -0
- package/dist/editor/core/toolEntryShortcuts.js.map +1 -0
- package/dist/editor/core/toolLoader.d.ts +14 -0
- package/dist/editor/core/toolLoader.d.ts.map +1 -0
- package/dist/editor/core/toolLoader.js +20 -0
- package/dist/editor/core/toolLoader.js.map +1 -0
- package/dist/editor/core/tools.d.ts +90 -0
- package/dist/editor/core/tools.d.ts.map +1 -0
- package/dist/editor/core/tools.js +56 -0
- package/dist/editor/core/tools.js.map +1 -0
- package/dist/editor/core/viewIsland.d.ts +17 -0
- package/dist/editor/core/viewIsland.d.ts.map +1 -0
- package/dist/editor/core/viewIsland.js +4 -0
- package/dist/editor/core/viewIsland.js.map +1 -0
- package/dist/editor/features/builtins.d.ts +25 -0
- package/dist/editor/features/builtins.d.ts.map +1 -0
- package/dist/editor/features/builtins.js +88 -0
- package/dist/editor/features/builtins.js.map +1 -0
- package/dist/editor/features/code/CodeBlockView.d.ts +38 -0
- package/dist/editor/features/code/CodeBlockView.d.ts.map +1 -0
- package/dist/editor/features/code/CodeBlockView.js +98 -0
- package/dist/editor/features/code/CodeBlockView.js.map +1 -0
- package/dist/editor/features/code/CodeCopyButton.d.ts +20 -0
- package/dist/editor/features/code/CodeCopyButton.d.ts.map +1 -0
- package/dist/editor/features/code/CodeCopyButton.js +29 -0
- package/dist/editor/features/code/CodeCopyButton.js.map +1 -0
- package/dist/editor/features/code/CodeCopyIsland.d.ts +37 -0
- package/dist/editor/features/code/CodeCopyIsland.d.ts.map +1 -0
- package/dist/editor/features/code/CodeCopyIsland.js +21 -0
- package/dist/editor/features/code/CodeCopyIsland.js.map +1 -0
- package/dist/editor/features/code/codeBlock.d.ts +25 -0
- package/dist/editor/features/code/codeBlock.d.ts.map +1 -0
- package/dist/editor/features/code/codeBlock.js +116 -0
- package/dist/editor/features/code/codeBlock.js.map +1 -0
- package/dist/editor/features/code/codeBlockTool.d.ts +24 -0
- package/dist/editor/features/code/codeBlockTool.d.ts.map +1 -0
- package/dist/editor/features/code/codeBlockTool.js +66 -0
- package/dist/editor/features/code/codeBlockTool.js.map +1 -0
- package/dist/editor/features/code/codeHeader.d.ts +41 -0
- package/dist/editor/features/code/codeHeader.d.ts.map +1 -0
- package/dist/editor/features/code/codeHeader.js +25 -0
- package/dist/editor/features/code/codeHeader.js.map +1 -0
- package/dist/editor/features/code/codeLanguages.d.ts +76 -0
- package/dist/editor/features/code/codeLanguages.d.ts.map +1 -0
- package/dist/editor/features/code/codeLanguages.js +24 -0
- package/dist/editor/features/code/codeLanguages.js.map +1 -0
- package/dist/editor/features/code/highlight.d.ts +20 -0
- package/dist/editor/features/code/highlight.d.ts.map +1 -0
- package/dist/editor/features/code/highlight.js +51 -0
- package/dist/editor/features/code/highlight.js.map +1 -0
- package/dist/editor/features/code/highlightNodes.d.ts +31 -0
- package/dist/editor/features/code/highlightNodes.d.ts.map +1 -0
- package/dist/editor/features/code/highlightNodes.js +25 -0
- package/dist/editor/features/code/highlightNodes.js.map +1 -0
- package/dist/editor/features/code/lowlight.d.ts +20 -0
- package/dist/editor/features/code/lowlight.d.ts.map +1 -0
- package/dist/editor/features/code/lowlight.js +26 -0
- package/dist/editor/features/code/lowlight.js.map +1 -0
- package/dist/editor/features/color/CustomColorPopover.d.ts +40 -0
- package/dist/editor/features/color/CustomColorPopover.d.ts.map +1 -0
- package/dist/editor/features/color/CustomColorPopover.js +70 -0
- package/dist/editor/features/color/CustomColorPopover.js.map +1 -0
- package/dist/editor/features/color/contrast.d.ts +26 -0
- package/dist/editor/features/color/contrast.d.ts.map +1 -0
- package/dist/editor/features/color/contrast.js +27 -0
- package/dist/editor/features/color/contrast.js.map +1 -0
- package/dist/editor/features/color/customColor.d.ts +65 -0
- package/dist/editor/features/color/customColor.d.ts.map +1 -0
- package/dist/editor/features/color/customColor.js +29 -0
- package/dist/editor/features/color/customColor.js.map +1 -0
- package/dist/editor/features/color/styleExtensions.d.ts +28 -0
- package/dist/editor/features/color/styleExtensions.d.ts.map +1 -0
- package/dist/editor/features/color/styleExtensions.js +172 -0
- package/dist/editor/features/color/styleExtensions.js.map +1 -0
- package/dist/editor/features/emoji/EmojiGrid.d.ts +34 -0
- package/dist/editor/features/emoji/EmojiGrid.d.ts.map +1 -0
- package/dist/editor/features/emoji/EmojiGrid.js +71 -0
- package/dist/editor/features/emoji/EmojiGrid.js.map +1 -0
- package/dist/editor/features/emoji/emoji.d.ts +47 -0
- package/dist/editor/features/emoji/emoji.d.ts.map +1 -0
- package/dist/editor/features/emoji/emoji.js +108 -0
- package/dist/editor/features/emoji/emoji.js.map +1 -0
- package/dist/editor/features/emoji/emojiTool.d.ts +32 -0
- package/dist/editor/features/emoji/emojiTool.d.ts.map +1 -0
- package/dist/editor/features/emoji/emojiTool.js +34 -0
- package/dist/editor/features/emoji/emojiTool.js.map +1 -0
- package/dist/editor/features/image/ImagePopover.d.ts +29 -0
- package/dist/editor/features/image/ImagePopover.d.ts.map +1 -0
- package/dist/editor/features/image/ImagePopover.js +89 -0
- package/dist/editor/features/image/ImagePopover.js.map +1 -0
- package/dist/editor/features/image/ImageToolbar.d.ts +25 -0
- package/dist/editor/features/image/ImageToolbar.d.ts.map +1 -0
- package/dist/editor/features/image/ImageToolbar.js +49 -0
- package/dist/editor/features/image/ImageToolbar.js.map +1 -0
- package/dist/editor/features/image/image.d.ts +115 -0
- package/dist/editor/features/image/image.d.ts.map +1 -0
- package/dist/editor/features/image/image.js +539 -0
- package/dist/editor/features/image/image.js.map +1 -0
- package/dist/editor/features/image/imageNotice.d.ts +6 -0
- package/dist/editor/features/image/imageNotice.d.ts.map +1 -0
- package/dist/editor/features/image/imageNotice.js +16 -0
- package/dist/editor/features/image/imageNotice.js.map +1 -0
- package/dist/editor/features/layout/columnLayouts.d.ts +36 -0
- package/dist/editor/features/layout/columnLayouts.d.ts.map +1 -0
- package/dist/editor/features/layout/columnLayouts.js +33 -0
- package/dist/editor/features/layout/columnLayouts.js.map +1 -0
- package/dist/editor/features/layout/layout.d.ts +81 -0
- package/dist/editor/features/layout/layout.d.ts.map +1 -0
- package/dist/editor/features/layout/layout.js +318 -0
- package/dist/editor/features/layout/layout.js.map +1 -0
- package/dist/editor/features/link/LinkPopover.d.ts +21 -0
- package/dist/editor/features/link/LinkPopover.d.ts.map +1 -0
- package/dist/editor/features/link/LinkPopover.js +54 -0
- package/dist/editor/features/link/LinkPopover.js.map +1 -0
- package/dist/editor/features/link/link.d.ts +41 -0
- package/dist/editor/features/link/link.d.ts.map +1 -0
- package/dist/editor/features/link/link.js +66 -0
- package/dist/editor/features/link/link.js.map +1 -0
- package/dist/editor/features/link/linkTool.d.ts +13 -0
- package/dist/editor/features/link/linkTool.d.ts.map +1 -0
- package/dist/editor/features/link/linkTool.js +25 -0
- package/dist/editor/features/link/linkTool.js.map +1 -0
- package/dist/editor/features/search/SearchPanel.d.ts +31 -0
- package/dist/editor/features/search/SearchPanel.d.ts.map +1 -0
- package/dist/editor/features/search/SearchPanel.js +101 -0
- package/dist/editor/features/search/SearchPanel.js.map +1 -0
- package/dist/editor/features/search/revealMatch.d.ts +25 -0
- package/dist/editor/features/search/revealMatch.d.ts.map +1 -0
- package/dist/editor/features/search/revealMatch.js +41 -0
- package/dist/editor/features/search/revealMatch.js.map +1 -0
- package/dist/editor/features/search/searchMatch.d.ts +53 -0
- package/dist/editor/features/search/searchMatch.d.ts.map +1 -0
- package/dist/editor/features/search/searchMatch.js +67 -0
- package/dist/editor/features/search/searchMatch.js.map +1 -0
- package/dist/editor/features/search/searchPlugin.d.ts +48 -0
- package/dist/editor/features/search/searchPlugin.d.ts.map +1 -0
- package/dist/editor/features/search/searchPlugin.js +151 -0
- package/dist/editor/features/search/searchPlugin.js.map +1 -0
- package/dist/editor/features/search/searchTool.d.ts +13 -0
- package/dist/editor/features/search/searchTool.d.ts.map +1 -0
- package/dist/editor/features/search/searchTool.js +18 -0
- package/dist/editor/features/search/searchTool.js.map +1 -0
- package/dist/editor/features/table/TableInsertDialog.d.ts +29 -0
- package/dist/editor/features/table/TableInsertDialog.d.ts.map +1 -0
- package/dist/editor/features/table/TableInsertDialog.js +37 -0
- package/dist/editor/features/table/TableInsertDialog.js.map +1 -0
- package/dist/editor/features/table/TableMenuButton.d.ts +40 -0
- package/dist/editor/features/table/TableMenuButton.d.ts.map +1 -0
- package/dist/editor/features/table/TableMenuButton.js +97 -0
- package/dist/editor/features/table/TableMenuButton.js.map +1 -0
- package/dist/editor/features/table/TableSizeGrid.d.ts +60 -0
- package/dist/editor/features/table/TableSizeGrid.d.ts.map +1 -0
- package/dist/editor/features/table/TableSizeGrid.js +88 -0
- package/dist/editor/features/table/TableSizeGrid.js.map +1 -0
- package/dist/editor/features/table/tableActions.d.ts +110 -0
- package/dist/editor/features/table/tableActions.d.ts.map +1 -0
- package/dist/editor/features/table/tableActions.js +254 -0
- package/dist/editor/features/table/tableActions.js.map +1 -0
- package/dist/editor/features/table/tableCells.d.ts +41 -0
- package/dist/editor/features/table/tableCells.d.ts.map +1 -0
- package/dist/editor/features/table/tableCells.js +38 -0
- package/dist/editor/features/table/tableCells.js.map +1 -0
- package/dist/editor/features/table/tableChunk.d.ts +4 -0
- package/dist/editor/features/table/tableChunk.d.ts.map +1 -0
- package/dist/editor/features/table/tableChunk.js +5 -0
- package/dist/editor/features/table/tableChunk.js.map +1 -0
- package/dist/editor/features/table/tableTool.d.ts +22 -0
- package/dist/editor/features/table/tableTool.d.ts.map +1 -0
- package/dist/editor/features/table/tableTool.js +42 -0
- package/dist/editor/features/table/tableTool.js.map +1 -0
- package/dist/editor/features/table/tables.d.ts +79 -0
- package/dist/editor/features/table/tables.d.ts.map +1 -0
- package/dist/editor/features/table/tables.js +118 -0
- package/dist/editor/features/table/tables.js.map +1 -0
- package/dist/editor/features/wrapper/wrapper.d.ts +73 -0
- package/dist/editor/features/wrapper/wrapper.d.ts.map +1 -0
- package/dist/editor/features/wrapper/wrapper.js +198 -0
- package/dist/editor/features/wrapper/wrapper.js.map +1 -0
- package/dist/editor/features/wrapper/wrapperTones.d.ts +39 -0
- package/dist/editor/features/wrapper/wrapperTones.d.ts.map +1 -0
- package/dist/editor/features/wrapper/wrapperTones.js +19 -0
- package/dist/editor/features/wrapper/wrapperTones.js.map +1 -0
- package/dist/editor/highlight-entry.d.ts +24 -0
- package/dist/editor/highlight-entry.d.ts.map +1 -0
- package/dist/editor/highlight-entry.js +3 -0
- package/dist/editor/highlight-entry.js.map +1 -0
- package/dist/editor/hooks/useChangeThrottle.d.ts +24 -0
- package/dist/editor/hooks/useChangeThrottle.d.ts.map +1 -0
- package/dist/editor/hooks/useChangeThrottle.js +35 -0
- package/dist/editor/hooks/useChangeThrottle.js.map +1 -0
- package/dist/editor/hooks/useCoarsePointer.d.ts +17 -0
- package/dist/editor/hooks/useCoarsePointer.d.ts.map +1 -0
- package/dist/editor/hooks/useCoarsePointer.js +19 -0
- package/dist/editor/hooks/useCoarsePointer.js.map +1 -0
- package/dist/editor/hooks/useFieldsetDisabled.d.ts +22 -0
- package/dist/editor/hooks/useFieldsetDisabled.d.ts.map +1 -0
- package/dist/editor/hooks/useFieldsetDisabled.js +29 -0
- package/dist/editor/hooks/useFieldsetDisabled.js.map +1 -0
- package/dist/editor/hooks/useRichTextEditorState.d.ts +25 -0
- package/dist/editor/hooks/useRichTextEditorState.d.ts.map +1 -0
- package/dist/editor/hooks/useRichTextEditorState.js +17 -0
- package/dist/editor/hooks/useRichTextEditorState.js.map +1 -0
- package/dist/editor/hooks/useSubmenuPlacement.d.ts +19 -0
- package/dist/editor/hooks/useSubmenuPlacement.d.ts.map +1 -0
- package/dist/editor/hooks/useSubmenuPlacement.js +20 -0
- package/dist/editor/hooks/useSubmenuPlacement.js.map +1 -0
- package/dist/editor/index.d.ts +32 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +7 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/schema-entry.d.ts +29 -0
- package/dist/editor/schema-entry.d.ts.map +1 -0
- package/dist/editor/schema-entry.js +3 -0
- package/dist/editor/schema-entry.js.map +1 -0
- package/dist/editor/styles/codeTheme.d.ts +49 -0
- package/dist/editor/styles/codeTheme.d.ts.map +1 -0
- package/dist/editor/styles/codeTheme.js +11 -0
- package/dist/editor/styles/codeTheme.js.map +1 -0
- package/dist/editor/styles/glass.d.ts +40 -0
- package/dist/editor/styles/glass.d.ts.map +1 -0
- package/dist/editor/styles/glass.js +15 -0
- package/dist/editor/styles/glass.js.map +1 -0
- package/dist/editor/styles/palette.d.ts +181 -0
- package/dist/editor/styles/palette.d.ts.map +1 -0
- package/dist/editor/styles/palette.js +57 -0
- package/dist/editor/styles/palette.js.map +1 -0
- package/dist/editor/styles/prose.d.ts +56 -0
- package/dist/editor/styles/prose.d.ts.map +1 -0
- package/dist/editor/styles/prose.js +154 -0
- package/dist/editor/styles/prose.js.map +1 -0
- package/dist/editor/styles/surface.d.ts +22 -0
- package/dist/editor/styles/surface.d.ts.map +1 -0
- package/dist/editor/styles/surface.js +4 -0
- package/dist/editor/styles/surface.js.map +1 -0
- package/dist/editor/styles/tokens.d.ts +136 -0
- package/dist/editor/styles/tokens.d.ts.map +1 -0
- package/dist/editor/styles/tokens.js +38 -0
- package/dist/editor/styles/tokens.js.map +1 -0
- package/dist/editor/ui/BlockHandle.d.ts +40 -0
- package/dist/editor/ui/BlockHandle.d.ts.map +1 -0
- package/dist/editor/ui/BlockHandle.js +394 -0
- package/dist/editor/ui/BlockHandle.js.map +1 -0
- package/dist/editor/ui/BlockIsland.d.ts +3 -0
- package/dist/editor/ui/BlockIsland.d.ts.map +1 -0
- package/dist/editor/ui/BlockIsland.js +8 -0
- package/dist/editor/ui/BlockIsland.js.map +1 -0
- package/dist/editor/ui/BlockIslandSlots.d.ts +31 -0
- package/dist/editor/ui/BlockIslandSlots.d.ts.map +1 -0
- package/dist/editor/ui/BlockIslandSlots.js +61 -0
- package/dist/editor/ui/BlockIslandSlots.js.map +1 -0
- package/dist/editor/ui/ColorMenus.d.ts +18 -0
- package/dist/editor/ui/ColorMenus.d.ts.map +1 -0
- package/dist/editor/ui/ColorMenus.js +281 -0
- package/dist/editor/ui/ColorMenus.js.map +1 -0
- package/dist/editor/ui/EditorToolbar.d.ts +71 -0
- package/dist/editor/ui/EditorToolbar.d.ts.map +1 -0
- package/dist/editor/ui/EditorToolbar.js +197 -0
- package/dist/editor/ui/EditorToolbar.js.map +1 -0
- package/dist/editor/ui/FieldResizer.d.ts +22 -0
- package/dist/editor/ui/FieldResizer.d.ts.map +1 -0
- package/dist/editor/ui/FieldResizer.js +75 -0
- package/dist/editor/ui/FieldResizer.js.map +1 -0
- package/dist/editor/ui/FieldStatus.d.ts +32 -0
- package/dist/editor/ui/FieldStatus.d.ts.map +1 -0
- package/dist/editor/ui/FieldStatus.js +15 -0
- package/dist/editor/ui/FieldStatus.js.map +1 -0
- package/dist/editor/ui/FloatingToolbar.d.ts +32 -0
- package/dist/editor/ui/FloatingToolbar.d.ts.map +1 -0
- package/dist/editor/ui/FloatingToolbar.js +17 -0
- package/dist/editor/ui/FloatingToolbar.js.map +1 -0
- package/dist/editor/ui/FormatMenus.d.ts +210 -0
- package/dist/editor/ui/FormatMenus.d.ts.map +1 -0
- package/dist/editor/ui/FormatMenus.js +296 -0
- package/dist/editor/ui/FormatMenus.js.map +1 -0
- package/dist/editor/ui/InsertMenuButton.d.ts +25 -0
- package/dist/editor/ui/InsertMenuButton.d.ts.map +1 -0
- package/dist/editor/ui/InsertMenuButton.js +28 -0
- package/dist/editor/ui/InsertMenuButton.js.map +1 -0
- package/dist/editor/ui/SelectionBubble.d.ts +46 -0
- package/dist/editor/ui/SelectionBubble.d.ts.map +1 -0
- package/dist/editor/ui/SelectionBubble.js +90 -0
- package/dist/editor/ui/SelectionBubble.js.map +1 -0
- package/dist/editor/ui/ShortcutsButton.d.ts +29 -0
- package/dist/editor/ui/ShortcutsButton.d.ts.map +1 -0
- package/dist/editor/ui/ShortcutsButton.js +34 -0
- package/dist/editor/ui/ShortcutsButton.js.map +1 -0
- package/dist/editor/ui/SlashMenu.d.ts +42 -0
- package/dist/editor/ui/SlashMenu.d.ts.map +1 -0
- package/dist/editor/ui/SlashMenu.js +114 -0
- package/dist/editor/ui/SlashMenu.js.map +1 -0
- package/dist/editor/ui/SuggestionList.d.ts +60 -0
- package/dist/editor/ui/SuggestionList.d.ts.map +1 -0
- package/dist/editor/ui/SuggestionList.js +61 -0
- package/dist/editor/ui/SuggestionList.js.map +1 -0
- package/dist/editor/ui/TextCard.d.ts +20 -0
- package/dist/editor/ui/TextCard.d.ts.map +1 -0
- package/dist/editor/ui/TextCard.js +192 -0
- package/dist/editor/ui/TextCard.js.map +1 -0
- package/dist/editor/ui/ToolButtonView.d.ts +58 -0
- package/dist/editor/ui/ToolButtonView.d.ts.map +1 -0
- package/dist/editor/ui/ToolButtonView.js +86 -0
- package/dist/editor/ui/ToolButtonView.js.map +1 -0
- package/dist/editor/ui/TriggerMenu.d.ts +25 -0
- package/dist/editor/ui/TriggerMenu.d.ts.map +1 -0
- package/dist/editor/ui/TriggerMenu.js +180 -0
- package/dist/editor/ui/TriggerMenu.js.map +1 -0
- package/dist/editor/ui/focusWithin.d.ts +22 -0
- package/dist/editor/ui/focusWithin.d.ts.map +1 -0
- package/dist/editor/ui/focusWithin.js +5 -0
- package/dist/editor/ui/focusWithin.js.map +1 -0
- package/dist/editor/ui/lockableMenu.d.ts +28 -0
- package/dist/editor/ui/lockableMenu.d.ts.map +1 -0
- package/dist/editor/ui/lockableMenu.js +17 -0
- package/dist/editor/ui/lockableMenu.js.map +1 -0
- package/dist/editor/ui/rowMarks.d.ts +21 -0
- package/dist/editor/ui/rowMarks.d.ts.map +1 -0
- package/dist/editor/ui/rowMarks.js +35 -0
- package/dist/editor/ui/rowMarks.js.map +1 -0
- package/dist/editor/ui/selectionMenu.d.ts +61 -0
- package/dist/editor/ui/selectionMenu.d.ts.map +1 -0
- package/dist/editor/ui/selectionMenu.js +32 -0
- package/dist/editor/ui/selectionMenu.js.map +1 -0
- package/dist/hooks/useFieldDescription.d.ts +45 -0
- package/dist/hooks/useFieldDescription.d.ts.map +1 -0
- package/dist/hooks/useFieldDescription.js +23 -0
- package/dist/hooks/useFieldDescription.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +25 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +14 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/hooks/useOpenerFocus.d.ts +10 -0
- package/dist/hooks/useOpenerFocus.d.ts.map +1 -0
- package/dist/hooks/useOpenerFocus.js +35 -0
- package/dist/hooks/useOpenerFocus.js.map +1 -0
- package/dist/hooks/useOverlayLayer.d.ts +23 -0
- package/dist/hooks/useOverlayLayer.d.ts.map +1 -0
- package/dist/hooks/useOverlayLayer.js +19 -0
- package/dist/hooks/useOverlayLayer.js.map +1 -0
- package/dist/hooks/useScrollLock.d.ts +3 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/hooks/useScrollLock.js +52 -0
- package/dist/hooks/useScrollLock.js.map +1 -0
- package/dist/hooks/useStickyOffset.d.ts +53 -0
- package/dist/hooks/useStickyOffset.d.ts.map +1 -0
- package/dist/hooks/useStickyOffset.js +91 -0
- package/dist/hooks/useStickyOffset.js.map +1 -0
- package/dist/hooks/useTableState.d.ts +35 -0
- package/dist/hooks/useTableState.d.ts.map +1 -0
- package/dist/hooks/useTableState.js +23 -0
- package/dist/hooks/useTableState.js.map +1 -0
- package/dist/i18n/UiProvider.d.ts +53 -0
- package/dist/i18n/UiProvider.d.ts.map +1 -0
- package/dist/i18n/UiProvider.js +63 -0
- package/dist/i18n/UiProvider.js.map +1 -0
- package/dist/i18n/context.d.ts +26 -0
- package/dist/i18n/context.d.ts.map +1 -0
- package/dist/i18n/context.js +4 -0
- package/dist/i18n/context.js.map +1 -0
- package/dist/i18n/defaults.d.ts +19 -0
- package/dist/i18n/defaults.d.ts.map +1 -0
- package/dist/i18n/defaults.js +574 -0
- package/dist/i18n/defaults.js.map +1 -0
- package/dist/i18n/messages.d.ts +1178 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/i18n/messages.js +2 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/i18n/useMessages.d.ts +26 -0
- package/dist/i18n/useMessages.d.ts.map +1 -0
- package/dist/i18n/useMessages.js +22 -0
- package/dist/i18n/useMessages.js.map +1 -0
- package/dist/icons.d.ts +437 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +2 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +250 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/accessible-name.d.ts +34 -0
- package/dist/lib/accessible-name.d.ts.map +1 -0
- package/dist/lib/accessible-name.js +2 -0
- package/dist/lib/accessible-name.js.map +1 -0
- package/dist/lib/bottom-bar-slot.d.ts +24 -0
- package/dist/lib/bottom-bar-slot.d.ts.map +1 -0
- package/dist/lib/bottom-bar-slot.js +4 -0
- package/dist/lib/bottom-bar-slot.js.map +1 -0
- package/dist/lib/button.d.ts +36 -0
- package/dist/lib/button.d.ts.map +1 -0
- package/dist/lib/button.js +35 -0
- package/dist/lib/button.js.map +1 -0
- package/dist/lib/choice-card.d.ts +64 -0
- package/dist/lib/choice-card.d.ts.map +1 -0
- package/dist/lib/choice-card.js +15 -0
- package/dist/lib/choice-card.js.map +1 -0
- package/dist/lib/clamp.d.ts +17 -0
- package/dist/lib/clamp.d.ts.map +1 -0
- package/dist/lib/clamp.js +4 -0
- package/dist/lib/clamp.js.map +1 -0
- package/dist/lib/cn.d.ts +12 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +14 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/date.d.ts +61 -0
- package/dist/lib/date.d.ts.map +1 -0
- package/dist/lib/date.js +30 -0
- package/dist/lib/date.js.map +1 -0
- package/dist/lib/dev-warn.d.ts +26 -0
- package/dist/lib/dev-warn.d.ts.map +1 -0
- package/dist/lib/dev-warn.js +28 -0
- package/dist/lib/dev-warn.js.map +1 -0
- package/dist/lib/empty.d.ts +35 -0
- package/dist/lib/empty.d.ts.map +1 -0
- package/dist/lib/empty.js +11 -0
- package/dist/lib/empty.js.map +1 -0
- package/dist/lib/field.d.ts +105 -0
- package/dist/lib/field.d.ts.map +1 -0
- package/dist/lib/field.js +18 -0
- package/dist/lib/field.js.map +1 -0
- package/dist/lib/filter-range.d.ts +24 -0
- package/dist/lib/filter-range.d.ts.map +1 -0
- package/dist/lib/filter-range.js +27 -0
- package/dist/lib/filter-range.js.map +1 -0
- package/dist/lib/interaction-modality.d.ts +40 -0
- package/dist/lib/interaction-modality.d.ts.map +1 -0
- package/dist/lib/interaction-modality.js +60 -0
- package/dist/lib/interaction-modality.js.map +1 -0
- package/dist/lib/mask.d.ts +94 -0
- package/dist/lib/mask.d.ts.map +1 -0
- package/dist/lib/mask.js +114 -0
- package/dist/lib/mask.js.map +1 -0
- package/dist/lib/menu.d.ts +85 -0
- package/dist/lib/menu.d.ts.map +1 -0
- package/dist/lib/menu.js +33 -0
- package/dist/lib/menu.js.map +1 -0
- package/dist/lib/overlay-layer.d.ts +101 -0
- package/dist/lib/overlay-layer.d.ts.map +1 -0
- package/dist/lib/overlay-layer.js +40 -0
- package/dist/lib/overlay-layer.js.map +1 -0
- package/dist/lib/period.d.ts +82 -0
- package/dist/lib/period.d.ts.map +1 -0
- package/dist/lib/period.js +58 -0
- package/dist/lib/period.js.map +1 -0
- package/dist/lib/progress-status.d.ts +38 -0
- package/dist/lib/progress-status.d.ts.map +1 -0
- package/dist/lib/progress-status.js +7 -0
- package/dist/lib/progress-status.js.map +1 -0
- package/dist/lib/published-height.d.ts +16 -0
- package/dist/lib/published-height.d.ts.map +1 -0
- package/dist/lib/published-height.js +72 -0
- package/dist/lib/published-height.js.map +1 -0
- package/dist/lib/reorder.d.ts +44 -0
- package/dist/lib/reorder.d.ts.map +1 -0
- package/dist/lib/reorder.js +22 -0
- package/dist/lib/reorder.js.map +1 -0
- package/dist/lib/responsive.d.ts +51 -0
- package/dist/lib/responsive.d.ts.map +1 -0
- package/dist/lib/responsive.js +12 -0
- package/dist/lib/responsive.js.map +1 -0
- package/dist/lib/state.d.ts +25 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +21 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/table-state.d.ts +105 -0
- package/dist/lib/table-state.d.ts.map +1 -0
- package/dist/lib/table-state.js +121 -0
- package/dist/lib/table-state.js.map +1 -0
- package/dist/lib/tag.d.ts +25 -0
- package/dist/lib/tag.d.ts.map +1 -0
- package/dist/lib/tag.js +6 -0
- package/dist/lib/tag.js.map +1 -0
- package/dist/lib/themes.d.ts +54 -0
- package/dist/lib/themes.d.ts.map +1 -0
- package/dist/lib/themes.js +40 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/time.d.ts +35 -0
- package/dist/lib/time.d.ts.map +1 -0
- package/dist/lib/time.js +68 -0
- package/dist/lib/time.js.map +1 -0
- package/dist/lib/toolbar-axis.d.ts +17 -0
- package/dist/lib/toolbar-axis.d.ts.map +1 -0
- package/dist/lib/toolbar-axis.js +10 -0
- package/dist/lib/toolbar-axis.js.map +1 -0
- package/dist/lib/touch.d.ts +16 -0
- package/dist/lib/touch.d.ts.map +1 -0
- package/dist/lib/touch.js +2 -0
- package/dist/lib/touch.js.map +1 -0
- package/dist/lib/variants.d.ts +204 -0
- package/dist/lib/variants.d.ts.map +1 -0
- package/dist/lib/variants.js +127 -0
- package/dist/lib/variants.js.map +1 -0
- package/dist/locales/en.d.ts +11 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +3 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/ru.d.ts +5 -0
- package/dist/locales/ru.d.ts.map +1 -0
- package/dist/locales/ru.js +591 -0
- package/dist/locales/ru.js.map +1 -0
- package/docs/accessibility.en.md +79 -0
- package/docs/accessibility.md +73 -0
- package/docs/api/editor-extension.en.md +309 -0
- package/docs/api/editor-extension.md +308 -0
- package/docs/api/messages.md +750 -0
- package/docs/api/migration-notes.en.md +885 -0
- package/docs/api/migration-notes.md +890 -0
- package/docs/api/utilities.md +252 -0
- package/docs/component-selection.en.md +48 -0
- package/docs/component-selection.md +44 -0
- package/docs/components/actions/button.en.md +59 -0
- package/docs/components/actions/button.md +58 -0
- package/docs/components/actions/chip.en.md +47 -0
- package/docs/components/actions/chip.md +46 -0
- package/docs/components/actions/copy-and-truncate.en.md +98 -0
- package/docs/components/actions/copy-and-truncate.md +96 -0
- package/docs/components/actions/feedback.en.md +69 -0
- package/docs/components/actions/feedback.md +68 -0
- package/docs/components/actions/split-button.en.md +76 -0
- package/docs/components/actions/split-button.md +75 -0
- package/docs/components/actions/toggles.en.md +139 -0
- package/docs/components/actions/toggles.md +136 -0
- package/docs/components/actions/toolbar.en.md +197 -0
- package/docs/components/actions/toolbar.md +192 -0
- package/docs/components/app-shell/app-shell.en.md +172 -0
- package/docs/components/app-shell/app-shell.md +172 -0
- package/docs/components/app-shell/mobile-tab-bar.en.md +207 -0
- package/docs/components/app-shell/mobile-tab-bar.md +210 -0
- package/docs/components/app-shell/side-nav.en.md +153 -0
- package/docs/components/app-shell/side-nav.md +152 -0
- package/docs/components/app-shell/split-panel.en.md +148 -0
- package/docs/components/app-shell/split-panel.md +147 -0
- package/docs/components/app-shell/top-bar.en.md +103 -0
- package/docs/components/app-shell/top-bar.md +100 -0
- package/docs/components/content/avatar.en.md +123 -0
- package/docs/components/content/avatar.md +119 -0
- package/docs/components/content/card.en.md +123 -0
- package/docs/components/content/card.md +122 -0
- package/docs/components/content/carousel.en.md +236 -0
- package/docs/components/content/carousel.md +227 -0
- package/docs/components/content/code-view.en.md +177 -0
- package/docs/components/content/code-view.md +172 -0
- package/docs/components/content/data-display.en.md +205 -0
- package/docs/components/content/data-display.md +212 -0
- package/docs/components/content/editable-list.en.md +437 -0
- package/docs/components/content/editable-list.md +418 -0
- package/docs/components/content/empty-and-loading.en.md +149 -0
- package/docs/components/content/empty-and-loading.md +149 -0
- package/docs/components/content/grid.en.md +148 -0
- package/docs/components/content/grid.md +142 -0
- package/docs/components/content/image.en.md +115 -0
- package/docs/components/content/image.md +114 -0
- package/docs/components/content/keyboard.en.md +129 -0
- package/docs/components/content/keyboard.md +129 -0
- package/docs/components/content/layout-primitives.en.md +105 -0
- package/docs/components/content/layout-primitives.md +104 -0
- package/docs/components/content/media-card.en.md +137 -0
- package/docs/components/content/media-card.md +132 -0
- package/docs/components/content/notifications.en.md +216 -0
- package/docs/components/content/notifications.md +207 -0
- package/docs/components/content/rich-text-view.en.md +325 -0
- package/docs/components/content/rich-text-view.md +324 -0
- package/docs/components/content/sortable-list.en.md +212 -0
- package/docs/components/content/sortable-list.md +206 -0
- package/docs/components/content/tag-group.en.md +158 -0
- package/docs/components/content/tag-group.md +151 -0
- package/docs/components/content/timeline.en.md +77 -0
- package/docs/components/content/timeline.md +76 -0
- package/docs/components/content/typography.en.md +152 -0
- package/docs/components/content/typography.md +146 -0
- package/docs/components/content/virtual-grid.en.md +305 -0
- package/docs/components/content/virtual-grid.md +315 -0
- package/docs/components/date-time/calendar.en.md +47 -0
- package/docs/components/date-time/calendar.md +46 -0
- package/docs/components/date-time/date-picker.en.md +52 -0
- package/docs/components/date-time/date-picker.md +50 -0
- package/docs/components/date-time/date-range-picker.en.md +58 -0
- package/docs/components/date-time/date-range-picker.md +57 -0
- package/docs/components/date-time/date-time-picker.en.md +44 -0
- package/docs/components/date-time/date-time-picker.md +43 -0
- package/docs/components/date-time/range-calendar.en.md +47 -0
- package/docs/components/date-time/range-calendar.md +46 -0
- package/docs/components/date-time/time-picker.en.md +47 -0
- package/docs/components/date-time/time-picker.md +51 -0
- package/docs/components/index.en.md +155 -0
- package/docs/components/index.md +150 -0
- package/docs/components/inputs/choice-controls.en.md +118 -0
- package/docs/components/inputs/choice-controls.md +112 -0
- package/docs/components/inputs/color-picker.en.md +126 -0
- package/docs/components/inputs/color-picker.md +122 -0
- package/docs/components/inputs/combobox.en.md +62 -0
- package/docs/components/inputs/combobox.md +58 -0
- package/docs/components/inputs/file-dropzone.en.md +51 -0
- package/docs/components/inputs/file-dropzone.md +50 -0
- package/docs/components/inputs/form-layout.en.md +99 -0
- package/docs/components/inputs/form-layout.md +97 -0
- package/docs/components/inputs/form.en.md +87 -0
- package/docs/components/inputs/form.md +86 -0
- package/docs/components/inputs/inline-edit.en.md +93 -0
- package/docs/components/inputs/inline-edit.md +94 -0
- package/docs/components/inputs/masked-input.en.md +149 -0
- package/docs/components/inputs/masked-input.md +147 -0
- package/docs/components/inputs/number-input.en.md +81 -0
- package/docs/components/inputs/number-input.md +80 -0
- package/docs/components/inputs/password-input.en.md +101 -0
- package/docs/components/inputs/password-input.md +97 -0
- package/docs/components/inputs/phone-input.en.md +78 -0
- package/docs/components/inputs/phone-input.md +76 -0
- package/docs/components/inputs/pin-input.en.md +109 -0
- package/docs/components/inputs/pin-input.md +108 -0
- package/docs/components/inputs/rating.en.md +100 -0
- package/docs/components/inputs/rating.md +99 -0
- package/docs/components/inputs/rich-text-editor.en.md +1539 -0
- package/docs/components/inputs/rich-text-editor.md +1538 -0
- package/docs/components/inputs/search-control.en.md +60 -0
- package/docs/components/inputs/search-control.md +58 -0
- package/docs/components/inputs/select.en.md +68 -0
- package/docs/components/inputs/select.md +65 -0
- package/docs/components/inputs/slider.en.md +60 -0
- package/docs/components/inputs/slider.md +59 -0
- package/docs/components/inputs/swatch-group.en.md +181 -0
- package/docs/components/inputs/swatch-group.md +177 -0
- package/docs/components/inputs/tag-input.en.md +50 -0
- package/docs/components/inputs/tag-input.md +48 -0
- package/docs/components/inputs/text-control.en.md +76 -0
- package/docs/components/inputs/text-control.md +74 -0
- package/docs/components/inputs/transfer.en.md +118 -0
- package/docs/components/inputs/transfer.md +114 -0
- package/docs/components/inputs/tree-select.en.md +91 -0
- package/docs/components/inputs/tree-select.md +89 -0
- package/docs/components/inputs/upload-queue.en.md +160 -0
- package/docs/components/inputs/upload-queue.md +158 -0
- package/docs/components/navigation/accordion.en.md +76 -0
- package/docs/components/navigation/accordion.md +75 -0
- package/docs/components/navigation/breadcrumbs.en.md +73 -0
- package/docs/components/navigation/breadcrumbs.md +72 -0
- package/docs/components/navigation/contextual-save-bar.en.md +104 -0
- package/docs/components/navigation/contextual-save-bar.md +103 -0
- package/docs/components/navigation/page-header.en.md +71 -0
- package/docs/components/navigation/page-header.md +70 -0
- package/docs/components/navigation/pagination.en.md +69 -0
- package/docs/components/navigation/pagination.md +69 -0
- package/docs/components/navigation/section-header.en.md +67 -0
- package/docs/components/navigation/section-header.md +66 -0
- package/docs/components/navigation/selection-bar.en.md +83 -0
- package/docs/components/navigation/selection-bar.md +83 -0
- package/docs/components/navigation/stepper.en.md +78 -0
- package/docs/components/navigation/stepper.md +77 -0
- package/docs/components/navigation/tabs.en.md +71 -0
- package/docs/components/navigation/tabs.md +70 -0
- package/docs/components/navigation/tree-view.en.md +173 -0
- package/docs/components/navigation/tree-view.md +172 -0
- package/docs/components/overlays/command-palette.en.md +153 -0
- package/docs/components/overlays/command-palette.md +147 -0
- package/docs/components/overlays/confirm-dialog.en.md +134 -0
- package/docs/components/overlays/confirm-dialog.md +127 -0
- package/docs/components/overlays/context-menu.en.md +115 -0
- package/docs/components/overlays/context-menu.md +113 -0
- package/docs/components/overlays/dialog.en.md +120 -0
- package/docs/components/overlays/dialog.md +117 -0
- package/docs/components/overlays/drawer.en.md +87 -0
- package/docs/components/overlays/drawer.md +88 -0
- package/docs/components/overlays/hover-card.en.md +179 -0
- package/docs/components/overlays/hover-card.md +175 -0
- package/docs/components/overlays/menu.en.md +103 -0
- package/docs/components/overlays/menu.md +100 -0
- package/docs/components/overlays/popover.en.md +78 -0
- package/docs/components/overlays/popover.md +77 -0
- package/docs/components/overlays/shortcuts-help.en.md +190 -0
- package/docs/components/overlays/shortcuts-help.md +186 -0
- package/docs/components/overlays/tooltip.en.md +78 -0
- package/docs/components/overlays/tooltip.md +77 -0
- package/docs/components/table/data-table.en.md +137 -0
- package/docs/components/table/data-table.md +133 -0
- package/docs/components/table/filter-bar.en.md +161 -0
- package/docs/components/table/filter-bar.md +155 -0
- package/docs/components/table/saved-views.en.md +117 -0
- package/docs/components/table/saved-views.md +115 -0
- package/docs/components/table/toolbar.en.md +100 -0
- package/docs/components/table/toolbar.md +97 -0
- package/docs/conventions.md +358 -0
- package/docs/getting-started.en.md +382 -0
- package/docs/getting-started.md +381 -0
- package/docs/glossary.en.md +179 -0
- package/docs/glossary.md +174 -0
- package/docs/i18n.en.md +147 -0
- package/docs/i18n.md +143 -0
- package/docs/icons.en.md +252 -0
- package/docs/icons.md +251 -0
- package/docs/index.md +62 -0
- package/docs/palette.en.md +400 -0
- package/docs/palette.md +396 -0
- package/docs/theming.en.md +522 -0
- package/docs/theming.md +518 -0
- package/llms.txt +144 -0
- package/package.json +173 -4
- package/src/color.ts +21 -0
- package/src/components/actions/Alert.tsx +121 -0
- package/src/components/actions/Banner.tsx +120 -0
- package/src/components/actions/Button.tsx +241 -0
- package/src/components/actions/ButtonGroup.tsx +65 -0
- package/src/components/actions/Chip.tsx +113 -0
- package/src/components/actions/CopyButton.tsx +112 -0
- package/src/components/actions/Progress.tsx +103 -0
- package/src/components/actions/Segmented.tsx +162 -0
- package/src/components/actions/Spinner.tsx +80 -0
- package/src/components/actions/SplitButton.tsx +164 -0
- package/src/components/actions/StatusBadge.tsx +61 -0
- package/src/components/actions/Toaster.tsx +148 -0
- package/src/components/actions/Toggle.tsx +224 -0
- package/src/components/actions/ToggleGroup.tsx +147 -0
- package/src/components/actions/Toolbar.tsx +223 -0
- package/src/components/actions/Truncate.tsx +96 -0
- package/src/components/app-shell/AppShell.tsx +268 -0
- package/src/components/app-shell/MobileTabBar.tsx +305 -0
- package/src/components/app-shell/NavItem.tsx +149 -0
- package/src/components/app-shell/SideNav.tsx +217 -0
- package/src/components/app-shell/SplitPanel.tsx +381 -0
- package/src/components/app-shell/TopBar.tsx +115 -0
- package/src/components/content/AspectRatio.tsx +45 -0
- package/src/components/content/Avatar.tsx +132 -0
- package/src/components/content/AvatarGroup.tsx +92 -0
- package/src/components/content/Badge.tsx +78 -0
- package/src/components/content/Card.tsx +117 -0
- package/src/components/content/Carousel.tsx +427 -0
- package/src/components/content/CodeView.tsx +178 -0
- package/src/components/content/DescriptionList.tsx +64 -0
- package/src/components/content/EditableList.tsx +879 -0
- package/src/components/content/EmptyState.tsx +65 -0
- package/src/components/content/ErrorState.tsx +100 -0
- package/src/components/content/Grid.tsx +208 -0
- package/src/components/content/Heading.tsx +81 -0
- package/src/components/content/Image.tsx +235 -0
- package/src/components/content/Kbd.tsx +67 -0
- package/src/components/content/Keyboard.tsx +634 -0
- package/src/components/content/Link.tsx +199 -0
- package/src/components/content/MediaCard.tsx +167 -0
- package/src/components/content/NotificationCenter.tsx +168 -0
- package/src/components/content/NotificationList.tsx +329 -0
- package/src/components/content/ScrollArea.tsx +69 -0
- package/src/components/content/Separator.tsx +62 -0
- package/src/components/content/Skeleton.tsx +40 -0
- package/src/components/content/SortableList.tsx +249 -0
- package/src/components/content/Stat.tsx +75 -0
- package/src/components/content/Table.tsx +500 -0
- package/src/components/content/TagGroup.tsx +222 -0
- package/src/components/content/Text.tsx +127 -0
- package/src/components/content/Timeline.tsx +126 -0
- package/src/components/content/VirtualGrid.tsx +726 -0
- package/src/components/content/VisuallyHidden.tsx +25 -0
- package/src/components/content/keyboardEditing.ts +51 -0
- package/src/components/content/useDragToSelect.ts +255 -0
- package/src/components/date-time/Calendar.tsx +181 -0
- package/src/components/date-time/DatePicker.tsx +143 -0
- package/src/components/date-time/DateRangePicker.tsx +349 -0
- package/src/components/date-time/DateTimePicker.tsx +92 -0
- package/src/components/date-time/RangeCalendar.tsx +156 -0
- package/src/components/date-time/TimePicker.tsx +377 -0
- package/src/components/inputs/Checkbox.tsx +284 -0
- package/src/components/inputs/CheckboxCard.tsx +132 -0
- package/src/components/inputs/CheckboxGroup.tsx +140 -0
- package/src/components/inputs/ChoiceCardBody.tsx +53 -0
- package/src/components/inputs/ColorPicker.tsx +221 -0
- package/src/components/inputs/Combobox.tsx +156 -0
- package/src/components/inputs/FileDropzone.tsx +253 -0
- package/src/components/inputs/Form.tsx +77 -0
- package/src/components/inputs/FormField.tsx +235 -0
- package/src/components/inputs/FormLayout.tsx +80 -0
- package/src/components/inputs/InlineEdit.tsx +205 -0
- package/src/components/inputs/MaskedInput.tsx +288 -0
- package/src/components/inputs/NumberInput.tsx +138 -0
- package/src/components/inputs/PasswordInput.tsx +166 -0
- package/src/components/inputs/PhoneInput.tsx +55 -0
- package/src/components/inputs/PinInput.tsx +197 -0
- package/src/components/inputs/RadioGroup.tsx +322 -0
- package/src/components/inputs/Rating.tsx +224 -0
- package/src/components/inputs/SearchControl.tsx +278 -0
- package/src/components/inputs/Select.tsx +741 -0
- package/src/components/inputs/Slider.tsx +436 -0
- package/src/components/inputs/SwatchGroup.tsx +342 -0
- package/src/components/inputs/TagInput.tsx +221 -0
- package/src/components/inputs/TextControl.tsx +335 -0
- package/src/components/inputs/Transfer.tsx +368 -0
- package/src/components/inputs/TreeSelect.tsx +275 -0
- package/src/components/inputs/UploadQueue.tsx +240 -0
- package/src/components/navigation/Accordion.tsx +118 -0
- package/src/components/navigation/Breadcrumbs.tsx +112 -0
- package/src/components/navigation/ContextualSaveBar.tsx +174 -0
- package/src/components/navigation/PageHeader.tsx +41 -0
- package/src/components/navigation/Pagination.tsx +184 -0
- package/src/components/navigation/SectionHeader.tsx +54 -0
- package/src/components/navigation/SelectionBar.tsx +151 -0
- package/src/components/navigation/Stepper.tsx +153 -0
- package/src/components/navigation/Tabs.tsx +130 -0
- package/src/components/navigation/TreeView.tsx +246 -0
- package/src/components/overlays/CommandPalette.tsx +343 -0
- package/src/components/overlays/ConfirmDialog.tsx +272 -0
- package/src/components/overlays/ContextMenu.tsx +284 -0
- package/src/components/overlays/Dialog.tsx +283 -0
- package/src/components/overlays/Drawer.tsx +193 -0
- package/src/components/overlays/HelpTooltip.tsx +96 -0
- package/src/components/overlays/HoverCard.tsx +404 -0
- package/src/components/overlays/Menu.tsx +243 -0
- package/src/components/overlays/ModalHeader.tsx +125 -0
- package/src/components/overlays/ModalOverlay.tsx +108 -0
- package/src/components/overlays/Popover.tsx +120 -0
- package/src/components/overlays/ShortcutsHelp.tsx +147 -0
- package/src/components/overlays/Tooltip.tsx +89 -0
- package/src/components/table/DataTable.tsx +164 -0
- package/src/components/table/FilterBar.tsx +114 -0
- package/src/components/table/FilterBarAdd.tsx +268 -0
- package/src/components/table/SavedViews.tsx +122 -0
- package/src/components/table/TablePreferences.tsx +173 -0
- package/src/components/table/TableToolbar.tsx +74 -0
- package/src/editor/RichTextEditor.tsx +1747 -0
- package/src/editor/RichTextView.tsx +119 -0
- package/src/editor/core/atomText.ts +140 -0
- package/src/editor/core/blockCommands.ts +329 -0
- package/src/editor/core/blockTypes.ts +252 -0
- package/src/editor/core/containers.ts +100 -0
- package/src/editor/core/customMarkdown.ts +74 -0
- package/src/editor/core/customTool.ts +472 -0
- package/src/editor/core/customToolEngine.ts +442 -0
- package/src/editor/core/document.ts +27 -0
- package/src/editor/core/emptiness.ts +31 -0
- package/src/editor/core/extensions.ts +295 -0
- package/src/editor/core/fieldNotice.ts +75 -0
- package/src/editor/core/handle.ts +311 -0
- package/src/editor/core/insertItems.ts +434 -0
- package/src/editor/core/jsonDocument.ts +99 -0
- package/src/editor/core/markdown.ts +313 -0
- package/src/editor/core/maxLength.ts +99 -0
- package/src/editor/core/pasteTrim.ts +85 -0
- package/src/editor/core/schema.ts +986 -0
- package/src/editor/core/schemaConform.ts +122 -0
- package/src/editor/core/shortcuts.ts +435 -0
- package/src/editor/core/skeleton.ts +108 -0
- package/src/editor/core/slashCommand.ts +143 -0
- package/src/editor/core/sourceFormat.ts +194 -0
- package/src/editor/core/toolButtons.ts +133 -0
- package/src/editor/core/toolDescriptor.ts +359 -0
- package/src/editor/core/toolEntryShortcuts.ts +66 -0
- package/src/editor/core/toolLoader.ts +50 -0
- package/src/editor/core/tools.ts +150 -0
- package/src/editor/core/viewIsland.ts +35 -0
- package/src/editor/features/builtins.ts +145 -0
- package/src/editor/features/code/CodeBlockView.tsx +240 -0
- package/src/editor/features/code/CodeCopyButton.tsx +76 -0
- package/src/editor/features/code/CodeCopyIsland.tsx +71 -0
- package/src/editor/features/code/codeBlock.ts +188 -0
- package/src/editor/features/code/codeBlockTool.ts +107 -0
- package/src/editor/features/code/codeHeader.ts +97 -0
- package/src/editor/features/code/codeLanguages.ts +62 -0
- package/src/editor/features/code/highlight.ts +109 -0
- package/src/editor/features/code/highlightNodes.ts +65 -0
- package/src/editor/features/code/lowlight.ts +45 -0
- package/src/editor/features/color/CustomColorPopover.tsx +180 -0
- package/src/editor/features/color/contrast.ts +52 -0
- package/src/editor/features/color/customColor.ts +91 -0
- package/src/editor/features/color/styleExtensions.ts +316 -0
- package/src/editor/features/emoji/EmojiGrid.tsx +160 -0
- package/src/editor/features/emoji/emoji.ts +156 -0
- package/src/editor/features/emoji/emojiTool.tsx +67 -0
- package/src/editor/features/image/ImagePopover.tsx +254 -0
- package/src/editor/features/image/ImageToolbar.tsx +147 -0
- package/src/editor/features/image/image.ts +821 -0
- package/src/editor/features/image/imageNotice.ts +27 -0
- package/src/editor/features/layout/columnLayouts.ts +71 -0
- package/src/editor/features/layout/layout.ts +537 -0
- package/src/editor/features/link/LinkPopover.tsx +114 -0
- package/src/editor/features/link/link.ts +112 -0
- package/src/editor/features/link/linkTool.tsx +36 -0
- package/src/editor/features/search/SearchPanel.tsx +264 -0
- package/src/editor/features/search/revealMatch.ts +69 -0
- package/src/editor/features/search/searchMatch.ts +129 -0
- package/src/editor/features/search/searchPlugin.ts +254 -0
- package/src/editor/features/search/searchTool.ts +30 -0
- package/src/editor/features/table/TableInsertDialog.tsx +129 -0
- package/src/editor/features/table/TableMenuButton.tsx +503 -0
- package/src/editor/features/table/TableSizeGrid.tsx +265 -0
- package/src/editor/features/table/tableActions.ts +380 -0
- package/src/editor/features/table/tableCells.ts +63 -0
- package/src/editor/features/table/tableChunk.ts +11 -0
- package/src/editor/features/table/tableTool.ts +74 -0
- package/src/editor/features/table/tables.ts +220 -0
- package/src/editor/features/wrapper/wrapper.ts +350 -0
- package/src/editor/features/wrapper/wrapperTones.ts +51 -0
- package/src/editor/highlight-entry.ts +23 -0
- package/src/editor/highlight-grammars.d.ts +12 -0
- package/src/editor/hooks/useChangeThrottle.ts +62 -0
- package/src/editor/hooks/useCoarsePointer.ts +36 -0
- package/src/editor/hooks/useFieldsetDisabled.ts +53 -0
- package/src/editor/hooks/useRichTextEditorState.ts +51 -0
- package/src/editor/hooks/useSubmenuPlacement.ts +40 -0
- package/src/editor/index.ts +59 -0
- package/src/editor/schema-entry.ts +40 -0
- package/src/editor/styles/codeTheme.ts +66 -0
- package/src/editor/styles/glass.ts +66 -0
- package/src/editor/styles/palette.ts +191 -0
- package/src/editor/styles/prose.ts +429 -0
- package/src/editor/styles/surface.ts +24 -0
- package/src/editor/styles/tokens.ts +173 -0
- package/src/editor/ui/BlockHandle.tsx +601 -0
- package/src/editor/ui/BlockIsland.tsx +23 -0
- package/src/editor/ui/BlockIslandSlots.tsx +114 -0
- package/src/editor/ui/ColorMenus.tsx +613 -0
- package/src/editor/ui/EditorToolbar.tsx +630 -0
- package/src/editor/ui/FieldResizer.tsx +155 -0
- package/src/editor/ui/FieldStatus.tsx +85 -0
- package/src/editor/ui/FloatingToolbar.tsx +77 -0
- package/src/editor/ui/FormatMenus.tsx +706 -0
- package/src/editor/ui/InsertMenuButton.tsx +104 -0
- package/src/editor/ui/SelectionBubble.tsx +317 -0
- package/src/editor/ui/ShortcutsButton.tsx +128 -0
- package/src/editor/ui/SlashMenu.tsx +199 -0
- package/src/editor/ui/SuggestionList.tsx +217 -0
- package/src/editor/ui/TextCard.tsx +312 -0
- package/src/editor/ui/ToolButtonView.tsx +242 -0
- package/src/editor/ui/TriggerMenu.tsx +255 -0
- package/src/editor/ui/focusWithin.ts +26 -0
- package/src/editor/ui/lockableMenu.ts +37 -0
- package/src/editor/ui/rowMarks.ts +66 -0
- package/src/editor/ui/selectionMenu.ts +97 -0
- package/src/hooks/useFieldDescription.ts +126 -0
- package/src/hooks/useMediaQuery.ts +46 -0
- package/src/hooks/useOpenerFocus.ts +118 -0
- package/src/hooks/useOverlayLayer.ts +42 -0
- package/src/hooks/useScrollLock.ts +92 -0
- package/src/hooks/useStickyOffset.ts +228 -0
- package/src/hooks/useTableState.ts +76 -0
- package/src/i18n/UiProvider.tsx +152 -0
- package/src/i18n/context.ts +30 -0
- package/src/i18n/defaults.ts +657 -0
- package/src/i18n/messages.ts +1183 -0
- package/src/i18n/useMessages.ts +47 -0
- package/src/icons.ts +566 -0
- package/src/index.ts +502 -0
- package/src/lib/accessible-name.ts +35 -0
- package/src/lib/bottom-bar-slot.ts +27 -0
- package/src/lib/button.ts +158 -0
- package/src/lib/choice-card.ts +79 -0
- package/src/lib/clamp.ts +18 -0
- package/src/lib/cn.ts +48 -0
- package/src/lib/date.ts +87 -0
- package/src/lib/dev-warn.ts +82 -0
- package/src/lib/empty.ts +43 -0
- package/src/lib/field.ts +125 -0
- package/src/lib/filter-range.ts +48 -0
- package/src/lib/interaction-modality.ts +134 -0
- package/src/lib/mask.ts +226 -0
- package/src/lib/menu.ts +196 -0
- package/src/lib/overlay-layer.ts +163 -0
- package/src/lib/period.ts +167 -0
- package/src/lib/progress-status.ts +44 -0
- package/src/lib/published-height.ts +147 -0
- package/src/lib/reorder.ts +65 -0
- package/src/lib/responsive.ts +71 -0
- package/src/lib/state.ts +39 -0
- package/src/lib/table-state.ts +264 -0
- package/src/lib/tag.ts +31 -0
- package/src/lib/themes.ts +144 -0
- package/src/lib/time.ts +107 -0
- package/src/lib/toolbar-axis.tsx +31 -0
- package/src/lib/touch.ts +15 -0
- package/src/lib/variants.ts +342 -0
- package/src/locales/en.ts +10 -0
- package/src/locales/ru.ts +695 -0
- package/styles.css +1650 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: Accordion
|
|
3
|
+
exports: [Accordion, AccordionItem]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/Accordion.tsx
|
|
7
|
+
story: src/components/navigation/Accordion.stories.tsx
|
|
8
|
+
sourceHash: 9dc1af0da5f0
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Accordion
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
`Accordion` is a set of expandable sections built on react-aria. State and keys
|
|
16
|
+
are inherited from `DisclosureGroupProps`; `multiple={false}` by default keeps
|
|
17
|
+
one section open. Create every section through `AccordionItem` with
|
|
18
|
+
a unique `id`.
|
|
19
|
+
|
|
20
|
+
## When to use
|
|
21
|
+
|
|
22
|
+
- A long page with self-contained sections that are read one at a time.
|
|
23
|
+
- An FAQ, settings or details, when closed blocks save vertical space.
|
|
24
|
+
- Comparing several sections at once — with `multiple`.
|
|
25
|
+
|
|
26
|
+
## When not to use
|
|
27
|
+
|
|
28
|
+
- For navigation between panels of one context, use `Tabs`.
|
|
29
|
+
- For mandatory steps of a process, use `Stepper`.
|
|
30
|
+
- Do not use it for a single permanent section: a plain heading is clearer.
|
|
31
|
+
|
|
32
|
+
## Minimal example
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
<Accordion expandedKeys={expanded} onExpandedChange={setExpanded}>
|
|
36
|
+
<AccordionItem id="delivery" title="Delivery">
|
|
37
|
+
Delivery terms
|
|
38
|
+
</AccordionItem>
|
|
39
|
+
<AccordionItem id="payment" title="Payment">
|
|
40
|
+
Payment methods
|
|
41
|
+
</AccordionItem>
|
|
42
|
+
</Accordion>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Public API
|
|
46
|
+
|
|
47
|
+
`Accordion` accepts `multiple`, `className`, `children` and the rest of react-aria's
|
|
48
|
+
`DisclosureGroupProps`, including controlled/uncontrolled keys. Do not
|
|
49
|
+
pass `allowsMultipleExpanded`: the component's public prop is `multiple`.
|
|
50
|
+
`AccordionItem` requires `id` and `title`; it also accepts `disabled`, `className`,
|
|
51
|
+
`children`. `id` is used in `expandedKeys`, so it must stay stable across re-renders.
|
|
52
|
+
|
|
53
|
+
## Accessibility and keyboard
|
|
54
|
+
|
|
55
|
+
React Aria creates the trigger button, `aria-expanded`, the association with the panel, and hides
|
|
56
|
+
collapsed content from screen readers. The trigger sits inside a heading, so
|
|
57
|
+
a screen reader finds the section when navigating by heading. Do not render a second interactive control
|
|
58
|
+
in `title`; put it in the panel. See the
|
|
59
|
+
[Accordion source](../../../src/components/navigation/Accordion.tsx).
|
|
60
|
+
|
|
61
|
+
## Good examples
|
|
62
|
+
|
|
63
|
+
- The default `multiple={false}` for sequential reading.
|
|
64
|
+
- `multiple` for comparing specifications.
|
|
65
|
+
- A disabled item instead of a section removed without explanation: it shows that the section is unavailable.
|
|
66
|
+
|
|
67
|
+
## Anti-patterns
|
|
68
|
+
|
|
69
|
+
- Passing a plain `div` instead of `AccordionItem`.
|
|
70
|
+
- Using an unstable array index as `id` in a mutable list.
|
|
71
|
+
- Expanding all sections by default when they are not being compared.
|
|
72
|
+
|
|
73
|
+
## Related sources and Storybook
|
|
74
|
+
|
|
75
|
+
- `src/components/navigation/Accordion.tsx`
|
|
76
|
+
- `src/components/navigation/Accordion.stories.tsx`
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: Accordion
|
|
3
|
+
exports: [Accordion, AccordionItem]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/Accordion.tsx
|
|
7
|
+
story: src/components/navigation/Accordion.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Accordion
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
`Accordion` — набор раскрываемых секций на react-aria. Состояние и keys
|
|
15
|
+
наследуются из `DisclosureGroupProps`; `multiple={false}` по умолчанию оставляет
|
|
16
|
+
открытой одну секцию. Создавайте каждую секцию через `AccordionItem` с
|
|
17
|
+
уникальным `id`.
|
|
18
|
+
|
|
19
|
+
## Когда использовать
|
|
20
|
+
|
|
21
|
+
- Длинная страница с самостоятельными разделами, которые читают по очереди.
|
|
22
|
+
- FAQ, настройки или подробности, когда закрытые блоки экономят вертикальное место.
|
|
23
|
+
- Сравнение нескольких секций одновременно — с `multiple`.
|
|
24
|
+
|
|
25
|
+
## Когда не использовать
|
|
26
|
+
|
|
27
|
+
- Для навигации между панелями одного контекста используйте `Tabs`.
|
|
28
|
+
- Для обязательных этапов процесса используйте `Stepper`.
|
|
29
|
+
- Не используйте для одной постоянной секции: обычный heading яснее.
|
|
30
|
+
|
|
31
|
+
## Минимальный пример
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
<Accordion expandedKeys={expanded} onExpandedChange={setExpanded}>
|
|
35
|
+
<AccordionItem id="delivery" title="Доставка">
|
|
36
|
+
Условия доставки
|
|
37
|
+
</AccordionItem>
|
|
38
|
+
<AccordionItem id="payment" title="Оплата">
|
|
39
|
+
Способы оплаты
|
|
40
|
+
</AccordionItem>
|
|
41
|
+
</Accordion>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Public API
|
|
45
|
+
|
|
46
|
+
`Accordion` принимает `multiple`, `className`, `children` и остальные
|
|
47
|
+
`DisclosureGroupProps` react-aria, включая controlled/uncontrolled keys. Не
|
|
48
|
+
передавайте `allowsMultipleExpanded`: публичный prop компонента — `multiple`.
|
|
49
|
+
`AccordionItem` требует `id` и `title`; также принимает `disabled`, `className`,
|
|
50
|
+
`children`. `id` участвует в `expandedKeys`, поэтому должен быть стабилен при ререндере.
|
|
51
|
+
|
|
52
|
+
## Доступность и клавиатура
|
|
53
|
+
|
|
54
|
+
React Aria создаёт кнопку trigger, `aria-expanded`, связь с панелью и скрывает
|
|
55
|
+
свёрнутый контент от скринридера. Trigger находится внутри heading, поэтому
|
|
56
|
+
скринридер находит секцию при навигации по заголовкам. Не рендерите второй интерактивный контрол
|
|
57
|
+
в `title`; поместите его в panel. См.
|
|
58
|
+
[исходник Accordion](../../../src/components/navigation/Accordion.tsx).
|
|
59
|
+
|
|
60
|
+
## Хорошие примеры
|
|
61
|
+
|
|
62
|
+
- Умолчание `multiple={false}` для последовательного чтения.
|
|
63
|
+
- `multiple` для сравнения характеристик.
|
|
64
|
+
- Disabled item вместо секции, удалённой без объяснения: так видно, что секция недоступна.
|
|
65
|
+
|
|
66
|
+
## Антипаттерны
|
|
67
|
+
|
|
68
|
+
- Передавать обычный `div` вместо `AccordionItem`.
|
|
69
|
+
- Использовать нестабильный индекс массива как `id` при изменяемом списке.
|
|
70
|
+
- Раскрывать все секции по умолчанию, если они не сравниваются.
|
|
71
|
+
|
|
72
|
+
## Связанные исходники и Storybook
|
|
73
|
+
|
|
74
|
+
- `src/components/navigation/Accordion.tsx`
|
|
75
|
+
- `src/components/navigation/Accordion.stories.tsx`
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: Breadcrumbs
|
|
3
|
+
exports: [Breadcrumbs]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/Breadcrumbs.tsx
|
|
7
|
+
story: src/components/navigation/Breadcrumbs.stories.tsx
|
|
8
|
+
sourceHash: 7f0b528fbe8c
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Breadcrumbs
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
`Breadcrumbs` shows the path to the current page. Pass the chain of crumbs as `items`;
|
|
16
|
+
the last visible item becomes the current page, not a link. A long
|
|
17
|
+
path collapses automatically into the first crumb, an ellipsis and the last two;
|
|
18
|
+
a chain of three crumbs or fewer never collapses, whatever `maxItems` is.
|
|
19
|
+
|
|
20
|
+
## When to use
|
|
21
|
+
|
|
22
|
+
- A deep hierarchy where the user benefits from getting back to a parent quickly.
|
|
23
|
+
- Every path level of the page already has its own URL.
|
|
24
|
+
|
|
25
|
+
## When not to use
|
|
26
|
+
|
|
27
|
+
- For a linear wizard, use `Stepper`.
|
|
28
|
+
- For short top-level navigation, use links or `Tabs`.
|
|
29
|
+
- Do not use it as the only name of the current page: a page heading is needed.
|
|
30
|
+
|
|
31
|
+
## Minimal example
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
<Breadcrumbs
|
|
35
|
+
items={[
|
|
36
|
+
{ label: "Library", href: "/library" },
|
|
37
|
+
{ label: "Collections", href: "/collections" },
|
|
38
|
+
{ label: "Sunsets" },
|
|
39
|
+
]}
|
|
40
|
+
/>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Public API
|
|
44
|
+
|
|
45
|
+
`items` is required: a `Crumb` has a `label` and an optional `href`. Usually the
|
|
46
|
+
last item has no `href`; even if one is passed, the last visible crumb
|
|
47
|
+
is still not rendered as a link. `maxItems` is 4 by default; `className`
|
|
48
|
+
and `aria-label` are passed to the container. Without `aria-label` the name comes from the message
|
|
49
|
+
catalog (`breadcrumbs.label`) — see [i18n](../../i18n.md).
|
|
50
|
+
|
|
51
|
+
## Accessibility and keyboard
|
|
52
|
+
|
|
53
|
+
The component creates a `nav` with an ordered list; the current crumb has
|
|
54
|
+
`aria-current="page"`. The ellipsis is not a link and is hidden from screen readers.
|
|
55
|
+
Links remain ordinary keyboard-focusable links. See the
|
|
56
|
+
[Breadcrumbs source](../../../src/components/navigation/Breadcrumbs.tsx).
|
|
57
|
+
|
|
58
|
+
## Good examples
|
|
59
|
+
|
|
60
|
+
- Give every ancestor an `href` and the current item only a `label`.
|
|
61
|
+
- Lower `maxItems` when the header is narrow (this does not collapse a chain of three crumbs or fewer).
|
|
62
|
+
- Use short labels that stay clear when truncated.
|
|
63
|
+
|
|
64
|
+
## Anti-patterns
|
|
65
|
+
|
|
66
|
+
- Linking the last crumb to the current URL.
|
|
67
|
+
- Making the ellipsis a button when the hidden levels cannot be expanded.
|
|
68
|
+
- Passing an empty chain instead of not rendering breadcrumbs.
|
|
69
|
+
|
|
70
|
+
## Related sources and Storybook
|
|
71
|
+
|
|
72
|
+
- `src/components/navigation/Breadcrumbs.tsx`
|
|
73
|
+
- `src/components/navigation/Breadcrumbs.stories.tsx`
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: Breadcrumbs
|
|
3
|
+
exports: [Breadcrumbs]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/Breadcrumbs.tsx
|
|
7
|
+
story: src/components/navigation/Breadcrumbs.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Breadcrumbs
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
`Breadcrumbs` показывает путь до текущей страницы. Передайте цепочку `items`;
|
|
15
|
+
последний видимый crumb становится текущей страницей, а не ссылкой. Длинный
|
|
16
|
+
путь автоматически сворачивается в первый crumb, многоточие и последние два;
|
|
17
|
+
цепочка из трёх crumb и короче не сворачивается ни при каком `maxItems`.
|
|
18
|
+
|
|
19
|
+
## Когда использовать
|
|
20
|
+
|
|
21
|
+
- Глубокая иерархия, где пользователю полезно быстро вернуться к родителю.
|
|
22
|
+
- У каждого уровня пути уже есть свой URL.
|
|
23
|
+
|
|
24
|
+
## Когда не использовать
|
|
25
|
+
|
|
26
|
+
- Для линейного мастера используйте `Stepper`.
|
|
27
|
+
- Для короткой верхнеуровневой навигации используйте links или `Tabs`.
|
|
28
|
+
- Не используйте как единственное имя текущей страницы: нужен page heading.
|
|
29
|
+
|
|
30
|
+
## Минимальный пример
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Breadcrumbs
|
|
34
|
+
items={[
|
|
35
|
+
{ label: "Библиотека", href: "/library" },
|
|
36
|
+
{ label: "Коллекции", href: "/collections" },
|
|
37
|
+
{ label: "Закаты" },
|
|
38
|
+
]}
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Public API
|
|
43
|
+
|
|
44
|
+
`items` обязателен: `Crumb` имеет `label` и опциональный `href`. Обычно у
|
|
45
|
+
последнего crumb нет `href`; даже если он передан, последний видимый crumb
|
|
46
|
+
всё равно рендерится не ссылкой. `maxItems` равен 4 по умолчанию; `className`
|
|
47
|
+
и `aria-label` передаются контейнеру. Без `aria-label` имя берётся из каталога
|
|
48
|
+
сообщений (`breadcrumbs.label`) — см. [i18n](../../i18n.md).
|
|
49
|
+
|
|
50
|
+
## Доступность и клавиатура
|
|
51
|
+
|
|
52
|
+
Компонент создаёт `nav` с упорядоченным списком; текущий crumb имеет
|
|
53
|
+
`aria-current="page"`. Многоточие — не ссылка и скрыто от скринридера.
|
|
54
|
+
Ссылки остаются обычными keyboard-focusable links. См.
|
|
55
|
+
[исходник Breadcrumbs](../../../src/components/navigation/Breadcrumbs.tsx).
|
|
56
|
+
|
|
57
|
+
## Хорошие примеры
|
|
58
|
+
|
|
59
|
+
- Каждому предку назначить `href`, а текущему crumb — только `label`.
|
|
60
|
+
- Уменьшить `maxItems`, когда в header мало места по ширине (цепочку из трёх crumb и короче это не сворачивает).
|
|
61
|
+
- Использовать короткие labels, которые остаются понятны при truncate.
|
|
62
|
+
|
|
63
|
+
## Антипаттерны
|
|
64
|
+
|
|
65
|
+
- Делать последний crumb ссылкой на текущий URL.
|
|
66
|
+
- Делать многоточие кнопкой, если скрытые уровни нельзя раскрыть.
|
|
67
|
+
- Передавать пустую цепочку вместо того, чтобы не выводить breadcrumbs.
|
|
68
|
+
|
|
69
|
+
## Связанные исходники и Storybook
|
|
70
|
+
|
|
71
|
+
- `src/components/navigation/Breadcrumbs.tsx`
|
|
72
|
+
- `src/components/navigation/Breadcrumbs.stories.tsx`
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: ContextualSaveBar
|
|
3
|
+
exports: [ContextualSaveBar]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/ContextualSaveBar.tsx
|
|
7
|
+
story: src/components/navigation/ContextualSaveBar.stories.tsx
|
|
8
|
+
sourceHash: 87d7081dd3f9
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ContextualSaveBar
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
A bar for unsaved changes: it appears with the first edit of a form, shows "there are unsaved changes" (or their count) and two buttons — save and cancel. It sticks to the bottom edge of the viewport — above the application's bottom bar, if there is one (`--bottombar-h`). It knows nothing about the form data: it takes a flag for unsaved edits (`visible`), the number of edits and two handlers. The bar appearing and the progress of saving are announced to the screen reader, not just rendered.
|
|
16
|
+
|
|
17
|
+
## When to use
|
|
18
|
+
|
|
19
|
+
- A long form or settings page where edits accumulate and are submitted at once.
|
|
20
|
+
- Editing is possible right in a list or table, and saving is shared by all the edits.
|
|
21
|
+
- The user needs to see that something is unsaved, even when the changed field has scrolled out of view.
|
|
22
|
+
|
|
23
|
+
## When not to use
|
|
24
|
+
|
|
25
|
+
- **For selecting objects**, use `SelectionBar`: "12 selected" and actions on them.
|
|
26
|
+
- **For application state** ("maintenance in progress", "subscription is expiring"), use `Banner`: it survives navigation and does not belong to the current form.
|
|
27
|
+
- **For a message about something that has already happened** ("saved"), use a `toast`.
|
|
28
|
+
- For a form with a single "Submit" button at the bottom: the bar would duplicate it.
|
|
29
|
+
|
|
30
|
+
In short: `SelectionBar` is about selection, `Banner` is about the application, `ContextualSaveBar` is about the current form.
|
|
31
|
+
|
|
32
|
+
## Minimal example
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { ContextualSaveBar } from "@olddevs/ui";
|
|
36
|
+
|
|
37
|
+
export function GroupSettings() {
|
|
38
|
+
const [value, setValue] = useState(saved);
|
|
39
|
+
const dirty = value !== saved;
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<form>
|
|
43
|
+
{/* form fields */}
|
|
44
|
+
<ContextualSaveBar
|
|
45
|
+
visible={dirty}
|
|
46
|
+
onSave={() => save(value)}
|
|
47
|
+
onCancel={() => setValue(saved)}
|
|
48
|
+
/>
|
|
49
|
+
</form>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Props
|
|
55
|
+
|
|
56
|
+
| Prop | Type | Meaning |
|
|
57
|
+
| --------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| `visible` | `boolean` | Whether anything is unsaved. When `false` the bar is not rendered |
|
|
59
|
+
| `count` | `number` | The number of edits. Without it, "there are unsaved changes"; with it, the count is shown |
|
|
60
|
+
| `message` | `ReactNode` | Your own wording instead of the default. Replaces `count` as well |
|
|
61
|
+
| `onSave` | `() => void` | Required: the bar exists for it |
|
|
62
|
+
| `onCancel` | `() => void` | Cancel. **Without a handler there is no button at all** |
|
|
63
|
+
| `saving` | `boolean` | Saving is in progress: the button shows progress, cancel is disabled |
|
|
64
|
+
| `error` | `ReactNode` | The text of a failure. Shown in the bar and announced |
|
|
65
|
+
| `saveLabel` / `cancelLabel` | `ReactNode` | Your own button labels |
|
|
66
|
+
| `sticky` | `boolean` (`true` by default) | Stick to the bottom of the viewport |
|
|
67
|
+
| `offsetVar` | `string` (`"--bottombar-h"`) | The variable holding the bottom bar height: the bar is offset above the viewport edge by that height |
|
|
68
|
+
|
|
69
|
+
The component does not store form state. What counts as an edit is the consumer's decision: a comparison with the original value, a field-touch counter or a server response.
|
|
70
|
+
|
|
71
|
+
## Why at the bottom, not the top
|
|
72
|
+
|
|
73
|
+
The bar sticks to the bottom edge of the **nearest scroll area**: the browser window, if the page scrolls, and the container, if the work area has its own `overflow` — as in most admin panels. This is ordinary `position: sticky` semantics, and you should know it: an ancestor with `overflow: auto` that does not itself scroll cancels stickiness to the window.
|
|
74
|
+
|
|
75
|
+
The application header and `SelectionBar` already sit at the top, and both measure stickiness from `--topbar-h` (ADR-0016, ADR-0019). A third sticky layer at the top would need a second height variable and a revision of the contract — a price out of proportion to the task. The bottom is free, and users are used to seeing such a bar there in admin panels.
|
|
76
|
+
|
|
77
|
+
## Above the phone's bottom bar
|
|
78
|
+
|
|
79
|
+
On a phone the bottom edge of the viewport is taken by `MobileTabBar` in the `bottomBar` slot of `AppShell`. The shell publishes the slot height as `--bottombar-h` (at `md` and wider there is no bar and the value is `0px`), and the bar sticks that far above the viewport edge — the same way `SelectionBar` measures its stickiness from `--topbar-h`. There is no need to offset the bar with `max-md:bottom-14` by eye: a hard-coded number drifts from the real bar height (notch inset, wrapped labels).
|
|
80
|
+
|
|
81
|
+
`offsetVar` changes the variable name if the shell publishes it under a different name (`bottomBarHeightVar` on `AppShell`) or the application publishes the bottom bar itself. The offset is a class that reads this variable, not an inline `bottom`, so a `className` with `bottom-*` overrides it: your own bottom bar outside `AppShell` sets the offset the same way as with an inline `bottom`. With no published variable the offset is `0px`.
|
|
82
|
+
|
|
83
|
+
## Accessibility and keyboard
|
|
84
|
+
|
|
85
|
+
- The bar has the `group` role and an accessible name: for a screen reader it is a set of actions on the form, not buttons in the middle of the page.
|
|
86
|
+
- The bar appearing, the progress of saving and a failure are announced by a `role="status"` live region. The region is always mounted and only its content is swapped: a live region inserted into the tree together with its text is announced unreliably.
|
|
87
|
+
- The role is `status`, not `alert`, even on failure: the failure comes with visible text in the bar itself, and there is no need to interrupt speech.
|
|
88
|
+
- The buttons are ordinary `Button` components: Tab, Enter, Space. While saving, cancel is disabled and the save button shows progress.
|
|
89
|
+
|
|
90
|
+
**A known cost.** The bar's text gets into the accessibility tree twice: as a visible line and as a live region. In browse mode it is read twice in a row. The trade-off is deliberate: if the bar's appearance is announced unreliably, that is worse than an extra repeat. The same question is open for `MaskedInput` (ADR-0026) and is closed by one run with NVDA and VoiceOver — for both components at once.
|
|
91
|
+
|
|
92
|
+
## Anti-patterns
|
|
93
|
+
|
|
94
|
+
- **Intercepting navigation away from the page inside the kit.** The bar knows nothing about the router and should not; a warning about leaving the page is the application's business.
|
|
95
|
+
- **Keeping a third and fourth button in the bar.** The bar is about one decision: save or cancel. Everything else belongs in the form.
|
|
96
|
+
- **Showing the bar always, with a disabled button.** A permanent bar stops meaning "something is unsaved" and takes space from the content.
|
|
97
|
+
- **Replacing a page-level error message with the bar.** A save failure is fine; for an unavailable service, use `Banner`.
|
|
98
|
+
|
|
99
|
+
## Links
|
|
100
|
+
|
|
101
|
+
- Source: [`src/components/navigation/ContextualSaveBar.tsx`](../../../src/components/navigation/ContextualSaveBar.tsx)
|
|
102
|
+
- Tests: [`tests/contextual-save-bar.test.tsx`](../../../tests/contextual-save-bar.test.tsx)
|
|
103
|
+
- Story: [`src/components/navigation/ContextualSaveBar.stories.tsx`](../../../src/components/navigation/ContextualSaveBar.stories.tsx)
|
|
104
|
+
- Neighbors at the boundary: [SelectionBar](selection-bar.md), [Banner](../actions/feedback.md)
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: ContextualSaveBar
|
|
3
|
+
exports: [ContextualSaveBar]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/ContextualSaveBar.tsx
|
|
7
|
+
story: src/components/navigation/ContextualSaveBar.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# ContextualSaveBar
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
Полоса несохранённых изменений: появляется с первой правкой формы, показывает «есть несохранённые изменения» (или их число) и две кнопки — сохранить и отменить. Липнет к нижнему краю окна браузера — над нижней панелью приложения, если она есть (`--bottombar-h`). Данных формы не знает: принимает признак несохранённых правок (`visible`), число правок и два обработчика. Появление и ход сохранения объявляются скринридеру, а не только выводятся на экран.
|
|
15
|
+
|
|
16
|
+
## Когда использовать
|
|
17
|
+
|
|
18
|
+
- Длинная форма или страница настроек, где правки копятся и отправляются разом.
|
|
19
|
+
- Правка возможна прямо в списке или таблице, и сохранение общее для всех правок.
|
|
20
|
+
- Пользователю нужно видеть, что несохранённое есть, даже если изменённое поле уехало из кадра.
|
|
21
|
+
|
|
22
|
+
## Когда не использовать
|
|
23
|
+
|
|
24
|
+
- **Для выбора объектов** используйте `SelectionBar`: «Выбрано 12» и действия над ними.
|
|
25
|
+
- **Для состояния приложения** («идут работы», «подписка истекает») используйте `Banner`: он переживает навигацию и не относится к текущей форме.
|
|
26
|
+
- **Для сообщения об уже случившемся** («сохранено») используйте `toast`.
|
|
27
|
+
- Для формы с единственной кнопкой «Отправить» внизу: полоса дублировала бы её.
|
|
28
|
+
|
|
29
|
+
Граница коротко: `SelectionBar` — про выбор, `Banner` — про приложение, `ContextualSaveBar` — про текущую форму.
|
|
30
|
+
|
|
31
|
+
## Минимальный пример
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { ContextualSaveBar } from "@olddevs/ui";
|
|
35
|
+
|
|
36
|
+
export function GroupSettings() {
|
|
37
|
+
const [value, setValue] = useState(saved);
|
|
38
|
+
const dirty = value !== saved;
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<form>
|
|
42
|
+
{/* поля формы */}
|
|
43
|
+
<ContextualSaveBar
|
|
44
|
+
visible={dirty}
|
|
45
|
+
onSave={() => save(value)}
|
|
46
|
+
onCancel={() => setValue(saved)}
|
|
47
|
+
/>
|
|
48
|
+
</form>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Props
|
|
54
|
+
|
|
55
|
+
| Проп | Тип | Смысл |
|
|
56
|
+
| --------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
57
|
+
| `visible` | `boolean` | Есть ли несохранённое. При `false` полоса не рендерится |
|
|
58
|
+
| `count` | `number` | Число правок. Без него — «есть несохранённые изменения»; с ним называется число |
|
|
59
|
+
| `message` | `ReactNode` | Своя формулировка вместо умолчания. Вытесняет и `count` |
|
|
60
|
+
| `onSave` | `() => void` | Обязателен: ради него полоса и существует |
|
|
61
|
+
| `onCancel` | `() => void` | Отмена. **Без обработчика кнопки нет вовсе** |
|
|
62
|
+
| `saving` | `boolean` | Идёт сохранение: кнопка показывает ход, отмена выключена |
|
|
63
|
+
| `error` | `ReactNode` | Текст отказа. Показывается в полосе и объявляется |
|
|
64
|
+
| `saveLabel` / `cancelLabel` | `ReactNode` | Свои подписи кнопок |
|
|
65
|
+
| `sticky` | `boolean` (по умолчанию `true`) | Липнуть к низу области просмотра |
|
|
66
|
+
| `offsetVar` | `string` (`"--bottombar-h"`) | Переменная с высотой нижней панели: полоса встаёт на эту высоту выше края области просмотра |
|
|
67
|
+
|
|
68
|
+
Состояние формы компонент не хранит. Что считать правкой — решение потребителя: сравнение с исходным значением, счётчик касаний поля или ответ сервера.
|
|
69
|
+
|
|
70
|
+
## Почему внизу, а не вверху
|
|
71
|
+
|
|
72
|
+
Полоса липнет к нижнему краю **ближайшей области прокрутки**: окна браузера, если прокручивается страница, и контейнера, если у рабочей области свой `overflow` — как в большинстве админок. Это обычная семантика `position: sticky`, и знать её стоит: предок с `overflow: auto`, который сам не прокручивается, отменяет липкость к окну.
|
|
73
|
+
|
|
74
|
+
Наверху уже стоят шапка приложения и `SelectionBar`, и обе отсчитывают липкость от `--topbar-h` (ADR-0016, ADR-0019). Третий липкий слой сверху потребовал бы второй переменной высоты и пересмотра контракта — цена, несопоставимая с задачей. Внизу свободно, и там пользователи привыкли видеть такую полосу в админках.
|
|
75
|
+
|
|
76
|
+
## Над нижней панелью телефона
|
|
77
|
+
|
|
78
|
+
На телефоне нижний край области просмотра занимает `MobileTabBar` в слоте `bottomBar` у `AppShell`. Каркас публикует высоту слота в `--bottombar-h` (на `md` и шире панели нет, значение `0px`), а полоса прилипает на эту высоту выше края области просмотра — так же, как `SelectionBar` отсчитывает липкость от `--topbar-h`. Задавать полосе отступ `max-md:bottom-14` на глаз не нужно: зашитое число расходится с настоящей высотой панели (вырез экрана, перенос подписей).
|
|
79
|
+
|
|
80
|
+
`offsetVar` меняет имя переменной, если каркас публикует её под другим (`bottomBarHeightVar` у `AppShell`) или нижнюю панель публикует само приложение. Отступ — класс, читающий эту переменную, а не инлайновый `bottom`, поэтому `className` с `bottom-*` его перекрывает: своя нижняя панель вне `AppShell` задаёт отступ так же, как при инлайновом `bottom`. Если переменная не опубликована, отступ `0px`.
|
|
81
|
+
|
|
82
|
+
## Доступность и клавиатура
|
|
83
|
+
|
|
84
|
+
- У полосы роль `group` и доступное имя: для скринридера это набор действий над формой, а не кнопки посреди страницы.
|
|
85
|
+
- Появление, ход сохранения и отказ объявляются живой областью `role="status"`. Область смонтирована всегда, содержимое подменяется: живая область, вставленная в дерево вместе со своим текстом, объявляется ненадёжно.
|
|
86
|
+
- Роль `status`, а не `alert`, даже при отказе: отказ сопровождается видимым текстом в самой полосе, и перебивать речь незачем.
|
|
87
|
+
- Кнопки — обычные `Button`: Tab, Enter, пробел. Во время сохранения отмена выключена, а кнопка сохранения показывает ход.
|
|
88
|
+
|
|
89
|
+
**Известная цена.** Текст полосы попадает в дерево доступности дважды: видимой строкой и живой областью. В режиме обзора он читается два раза подряд. Размен сознательный: если появление полосы объявляется ненадёжно, это хуже лишнего повтора. Тот же вопрос открыт у `MaskedInput` (ADR-0026) и закрывается одним прогоном с NVDA и VoiceOver — на оба компонента разом.
|
|
90
|
+
|
|
91
|
+
## Антипаттерны
|
|
92
|
+
|
|
93
|
+
- **Перехватывать уход со страницы внутри кита.** Полоса не знает маршрутизатора и знать не должна; предупреждение об уходе — дело приложения.
|
|
94
|
+
- **Держать в полосе третью и четвёртую кнопку.** Полоса про одно решение: сохранить или отменить. Остальное — в форме.
|
|
95
|
+
- **Показывать полосу всегда, с выключенной кнопкой.** Постоянная полоса перестаёт значить «есть несохранённое» и отнимает место у содержимого.
|
|
96
|
+
- **Заменять полосой сообщение об ошибке уровня страницы.** Отказ сохранения — да; для недоступного сервиса используйте `Banner`.
|
|
97
|
+
|
|
98
|
+
## Ссылки
|
|
99
|
+
|
|
100
|
+
- Исходник: [`src/components/navigation/ContextualSaveBar.tsx`](../../../src/components/navigation/ContextualSaveBar.tsx)
|
|
101
|
+
- Тесты: [`tests/contextual-save-bar.test.tsx`](../../../tests/contextual-save-bar.test.tsx)
|
|
102
|
+
- История: [`src/components/navigation/ContextualSaveBar.stories.tsx`](../../../src/components/navigation/ContextualSaveBar.stories.tsx)
|
|
103
|
+
- Соседи по границе: [SelectionBar](selection-bar.md), [Banner](../actions/feedback.md)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: PageHeader
|
|
3
|
+
exports: [PageHeader]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/PageHeader.tsx
|
|
7
|
+
story: src/components/navigation/PageHeader.stories.tsx
|
|
8
|
+
sourceHash: 251f8566db5a
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# PageHeader
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
`PageHeader` is the single page header with an `h1`, an optional description and
|
|
16
|
+
action nodes. Use it once per page; do not choose a size — the component
|
|
17
|
+
has no size scale and should not have one.
|
|
18
|
+
|
|
19
|
+
## When to use
|
|
20
|
+
|
|
21
|
+
- The top of a page, with its main title.
|
|
22
|
+
- Primary actions are needed next to it: create, upload, open filters.
|
|
23
|
+
- On mobile the actions can wrap under the title automatically.
|
|
24
|
+
|
|
25
|
+
## When not to use
|
|
26
|
+
|
|
27
|
+
- For a heading inside a card/section, use `SectionHeader`.
|
|
28
|
+
- For a modal title, use `Dialog`/`ModalHeader`.
|
|
29
|
+
- Do not use more than one `PageHeader` on one semantic page.
|
|
30
|
+
|
|
31
|
+
## Minimal example
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
<PageHeader
|
|
35
|
+
title="Library"
|
|
36
|
+
subtitle="3,527 photos"
|
|
37
|
+
actions={<Button tone="accent">Upload</Button>}
|
|
38
|
+
/>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Public API
|
|
42
|
+
|
|
43
|
+
`title` is required and accepts a `ReactNode`; it is rendered in an `h1`. `subtitle` and
|
|
44
|
+
`actions` are also of type `ReactNode`. The component accepts the other native `div` props,
|
|
45
|
+
including `className` and `ref`; the native `title` prop is deliberately excluded so that it does not
|
|
46
|
+
conflict with the required heading. On desktop the header lays its content out
|
|
47
|
+
in a row, on a narrow layout in a column; actions can wrap.
|
|
48
|
+
|
|
49
|
+
## Accessibility and keyboard
|
|
50
|
+
|
|
51
|
+
The heading is always an `h1`, so the `title` text must be the name of the current
|
|
52
|
+
page, not an action verb. each action in `actions` must be an accessible control on its own;
|
|
53
|
+
`PageHeader` does not add an aria-label or handlers to them. See the
|
|
54
|
+
[PageHeader source](../../../src/components/navigation/PageHeader.tsx).
|
|
55
|
+
|
|
56
|
+
## Good examples
|
|
57
|
+
|
|
58
|
+
- `title` as text or icon + text in one ReactNode.
|
|
59
|
+
- The primary action in `actions`, secondary actions next to it.
|
|
60
|
+
- `subtitle` with a count or a short description of the page.
|
|
61
|
+
|
|
62
|
+
## Anti-patterns
|
|
63
|
+
|
|
64
|
+
- A `title` with a nested heading, even though `PageHeader` already creates the `h1`.
|
|
65
|
+
- Overriding the `PageHeader` title through the DOM `title` attribute.
|
|
66
|
+
- Using actions as a place for unrelated global navigation.
|
|
67
|
+
|
|
68
|
+
## Related sources and Storybook
|
|
69
|
+
|
|
70
|
+
- `src/components/navigation/PageHeader.tsx`
|
|
71
|
+
- `src/components/navigation/PageHeader.stories.tsx`
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: PageHeader
|
|
3
|
+
exports: [PageHeader]
|
|
4
|
+
category: navigation
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/navigation/PageHeader.tsx
|
|
7
|
+
story: src/components/navigation/PageHeader.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# PageHeader
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
`PageHeader` — единственная шапка страницы с `h1`, опциональным пояснением и
|
|
15
|
+
узлами действий. Используйте один раз на page; не выбирайте размер — у компонента
|
|
16
|
+
нет и не должно быть шкалы размеров.
|
|
17
|
+
|
|
18
|
+
## Когда использовать
|
|
19
|
+
|
|
20
|
+
- Верх страницы с главным заголовком.
|
|
21
|
+
- Рядом нужны основные действия: создать, загрузить, открыть фильтры.
|
|
22
|
+
- На mobile действия могут переноситься под заголовок автоматически.
|
|
23
|
+
|
|
24
|
+
## Когда не использовать
|
|
25
|
+
|
|
26
|
+
- Для заголовка внутри card/section используйте `SectionHeader`.
|
|
27
|
+
- Для title модального окна используйте `Dialog`/`ModalHeader`.
|
|
28
|
+
- Не используйте несколько `PageHeader` на одной семантической странице.
|
|
29
|
+
|
|
30
|
+
## Минимальный пример
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<PageHeader
|
|
34
|
+
title="Библиотека"
|
|
35
|
+
subtitle="3 527 фото"
|
|
36
|
+
actions={<Button tone="accent">Загрузить</Button>}
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Public API
|
|
41
|
+
|
|
42
|
+
`title` обязателен и принимает `ReactNode`; он рендерится в `h1`. `subtitle` и
|
|
43
|
+
`actions` также ReactNode. Компонент принимает остальные native `div` props,
|
|
44
|
+
включая `className` и `ref`; native `title` prop намеренно исключён, чтобы не
|
|
45
|
+
конфликтовать с обязательным heading. На desktop шапка располагает содержимое
|
|
46
|
+
по строке, в узкой раскладке — колонкой; actions могут переноситься.
|
|
47
|
+
|
|
48
|
+
## Доступность и клавиатура
|
|
49
|
+
|
|
50
|
+
Заголовок всегда `h1`, поэтому текст `title` должен быть названием текущей
|
|
51
|
+
страницы, а не глаголом действия. каждое действие в `actions` должно быть доступным
|
|
52
|
+
контролом само по себе; `PageHeader` не добавляет им aria-label или обработчики. См.
|
|
53
|
+
[исходник PageHeader](../../../src/components/navigation/PageHeader.tsx).
|
|
54
|
+
|
|
55
|
+
## Хорошие примеры
|
|
56
|
+
|
|
57
|
+
- `title` как текст или иконка с текстом в одном ReactNode.
|
|
58
|
+
- Основное действие в `actions`, вторичные действия рядом.
|
|
59
|
+
- `subtitle` с количеством или коротким пояснением страницы.
|
|
60
|
+
|
|
61
|
+
## Антипаттерны
|
|
62
|
+
|
|
63
|
+
- `title` с вложенным heading, хотя `PageHeader` уже создаёт `h1`.
|
|
64
|
+
- Подменять `PageHeader` title через DOM `title` attribute.
|
|
65
|
+
- Использовать actions как место для несвязанной глобальной навигации.
|
|
66
|
+
|
|
67
|
+
## Связанные исходники и Storybook
|
|
68
|
+
|
|
69
|
+
- `src/components/navigation/PageHeader.tsx`
|
|
70
|
+
- `src/components/navigation/PageHeader.stories.tsx`
|