@olddevs/ui 0.0.0-stage → 4.0.1
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 +19 -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,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: SplitPanel
|
|
3
|
+
exports: [SplitPanel, useMediaQuery]
|
|
4
|
+
category: app-shell
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/app-shell/SplitPanel.tsx
|
|
7
|
+
story: src/components/app-shell/SplitPanel.stories.tsx
|
|
8
|
+
sourceHash: d1bae22a8bfe
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# SplitPanel
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
`SplitPanel` lays out two areas separated by a resizable boundary: the content and a details panel. The `position` axis (`side` / `bottom`) changes the layout direction. The size is controlled through `size` + `onSizeChange` or uncontrolled from `defaultSize`; persisting the size between sessions is up to the consumer. On a narrow viewport the panel is collapsed with the `collapsed` prop, and the `useMediaQuery` hook from the same package supplies the width.
|
|
16
|
+
|
|
17
|
+
## When to use
|
|
18
|
+
|
|
19
|
+
- A "list on the left, details on the right" screen: the selected row expands next to the list rather than on another page.
|
|
20
|
+
- An inspector under a table: a log, diagnostics, a request preview.
|
|
21
|
+
- The user needs to decide for themselves which area gets the space.
|
|
22
|
+
|
|
23
|
+
## When not to use
|
|
24
|
+
|
|
25
|
+
- The details open over the content and demand attention — that is `Drawer` or `Dialog`.
|
|
26
|
+
- The details area is fixed and cannot be resized — that is a plain two-column grid.
|
|
27
|
+
- You need an application navigation column — that is `SideNav` inside `AppShell`.
|
|
28
|
+
|
|
29
|
+
## Minimal example
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<SplitPanel aria-label="Order details" panel={<OrderDetails id={selected} />}>
|
|
33
|
+
<OrdersTable onSelect={setSelected} />
|
|
34
|
+
</SplitPanel>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Public API
|
|
38
|
+
|
|
39
|
+
- `position`: `side` (the default) — the panel is on the right and the user resizes its width; `bottom` — the panel is at the bottom and the user resizes its height.
|
|
40
|
+
- `size` + `onSizeChange` — a controlled size in pixels; `defaultSize` — the initial one when `size` is not passed.
|
|
41
|
+
- `onSizeChange` is called **on every frame** of the drag, but only when the value has actually changed: dragging the boundary past a limit clamps to the same number and stays silent. If you write the size to the page URL or to a server, you do not need every frame: throttling or writing on `pointerup` is the consumer's concern.
|
|
42
|
+
- `defaultSize` is read **once, on mount**: changing the prop later does not move the starting size, otherwise the panel would jump under the user because of a re-render of the parent. A double click still resets the size to the current value of `defaultSize`.
|
|
43
|
+
- `minSize` and `maxSize` are the bounds in pixels. The size is clamped to them both while dragging and when passed as a prop. Narrowing the bounds on the fly corrects the rendered size but does not call `onSizeChange`: an event without a user action would look like the consumer's state being edited against its will. An inverted range (`minSize > maxSize`) breaks nothing — the upper bound is raised to the lower one.
|
|
44
|
+
- `collapsed` collapses the panel **without unmounting** its content. Collapsing in the middle of a drag ends the drag: otherwise the state would outlive the vanished handle, and hovering over a new one would move the boundary without a press.
|
|
45
|
+
- The component has **no** adaptive mode of its own: on a narrow viewport the panel is collapsed with `collapsed={!wide}`, where `wide` comes from `useMediaQuery` — see "Narrow viewports" below.
|
|
46
|
+
- `aria-label` gives the panel a name; without it the panel is not announced as a region.
|
|
47
|
+
- `className` goes on the outer container.
|
|
48
|
+
|
|
49
|
+
## Narrow viewports: `collapsed` and `useMediaQuery`
|
|
50
|
+
|
|
51
|
+
Two areas side by side need room: on a screen narrower than 1024 px (the `lg` breakpoint) a side panel squeezes the
|
|
52
|
+
content. What should replace it is the screen's decision, not the component's: just
|
|
53
|
+
one area; the details in a `Drawer` behind a button; the list and the message "one at a
|
|
54
|
+
time" (a mail client). A `SplitPanel` prop that collapses the panel at a narrow width
|
|
55
|
+
would cover only the first, so the standard path is different: the component already
|
|
56
|
+
has `collapsed`, and a public hook supplies the width.
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { SplitPanel, useMediaQuery } from "@olddevs/ui";
|
|
60
|
+
|
|
61
|
+
const wide = useMediaQuery("(min-width: 1024px)"); // Tailwind's `lg` breakpoint
|
|
62
|
+
|
|
63
|
+
<SplitPanel aria-label="Order details" collapsed={!wide} panel={<OrderDetails id={selected} />}>
|
|
64
|
+
<OrdersTable onSelect={setSelected} />
|
|
65
|
+
</SplitPanel>;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`useMediaQuery(query, serverValue = false)` returns whether the media query matches
|
|
69
|
+
right now and re-renders the component when that changes. The query is a plain CSS
|
|
70
|
+
string; the kit's breakpoints are Tailwind 4's defaults: `sm` 640 px, `md` 768 px,
|
|
71
|
+
`lg` 1024 px, `xl` 1280 px.
|
|
72
|
+
|
|
73
|
+
- **What is shown before hydration.** The server does not know the width. The hook
|
|
74
|
+
returns `serverValue`, `false` by default: for a `min-width` query that means
|
|
75
|
+
"narrow", i.e. mobile-first, like Tailwind itself. On the server and in the first
|
|
76
|
+
client frame the panel is collapsed. During hydration React takes the server value
|
|
77
|
+
itself and substitutes the real one right after — **with no mismatch error**, but
|
|
78
|
+
with one re-render: on a wide viewport the panel appears after hydration. If almost
|
|
79
|
+
all users are on wide screens, `useMediaQuery(query, true)` reverses the default (the
|
|
80
|
+
first frame is "wide", and a narrow viewport loses the panel after hydration). The
|
|
81
|
+
choice is the consumer's: the kit does not know which case is more likely.
|
|
82
|
+
- **No `matchMedia`** (jsdom, an old browser) — the hook also returns `serverValue`
|
|
83
|
+
and does not throw.
|
|
84
|
+
- **It is not a way to lay out a page.** Showing or hiding a block by width is a
|
|
85
|
+
Tailwind class's job (`hidden lg:block`): a class works from the first frame and on
|
|
86
|
+
the server with no re-render
|
|
87
|
+
(ADR-0018). The hook is for
|
|
88
|
+
when the width changes the composition or the behavior: what to mount, whether to
|
|
89
|
+
close a drawer, how many months to show.
|
|
90
|
+
- `collapsed` does not unmount the panel's content: a form and the scroll position
|
|
91
|
+
inside survive the "wide ↔ narrow" transition. Focus that was in the panel moves
|
|
92
|
+
into the content on collapse.
|
|
93
|
+
|
|
94
|
+
Two working patterns:
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
// Details in a drawer: the panel is collapsed, a button opens the drawer on a narrow viewport only.
|
|
98
|
+
<SplitPanel collapsed={!wide} panel={details}>{list}</SplitPanel>
|
|
99
|
+
<Drawer title="Details" open={drawerOpen && !wide} onClose={() => setDrawerOpen(false)}>{details}</Drawer>
|
|
100
|
+
|
|
101
|
+
// One area at a time: on a narrow viewport SplitPanel is not mounted at all.
|
|
102
|
+
{wide ? <SplitPanel panel={message}>{list}</SplitPanel> : reading ? message : list}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Size lives with the consumer
|
|
106
|
+
|
|
107
|
+
The panel can remember its size by itself, but only while it is mounted. Persistent storage — the page
|
|
108
|
+
URL, the user profile — stays with the consumer: they already keep the state
|
|
109
|
+
somewhere, and a second store inside the kit would silently drift from the first. It is the same
|
|
110
|
+
split as for table state (ADR-0023).
|
|
111
|
+
|
|
112
|
+
With a controlled size the component **does not write the value to itself**: it reports an
|
|
113
|
+
intent through `onSizeChange` and renders whatever size the consumer passes in `size`. Two
|
|
114
|
+
sources of truth would diverge on exactly the frame where the consumer rejects a
|
|
115
|
+
value.
|
|
116
|
+
|
|
117
|
+
## Why the handle is a real slider
|
|
118
|
+
|
|
119
|
+
react-aria provides no general-purpose resizer: `ColumnResizer` and
|
|
120
|
+
`ResizableTableContainer`, which work in `Table`, are tied to the table.
|
|
121
|
+
The handle borrows their model — a visible bar plus a hidden `input[type=range]`.
|
|
122
|
+
|
|
123
|
+
The platform slider brings everything that would otherwise be written by hand and forgotten
|
|
124
|
+
piece by piece: the role, announcing the value and bounds, the step, repeat on hold,
|
|
125
|
+
screen reader support on a touch screen. A `div` with `role="separator"` and
|
|
126
|
+
an arrow-key handler reimplements this at best halfway.
|
|
127
|
+
|
|
128
|
+
**The slider's value is the panel size, not the boundary coordinate.** That is why the
|
|
129
|
+
right arrow always enlarges the panel, even though the boundary moves left: what is dragged
|
|
130
|
+
is the size, not the divider.
|
|
131
|
+
|
|
132
|
+
## Keyboard
|
|
133
|
+
|
|
134
|
+
- The handle is an ordinary tab stop. The arrow keys change the size in 16 px steps, or by one pixel with `Shift`, and `Home` and `End` jump exactly to the bounds.
|
|
135
|
+
- The arrow step lives in the key handler, not in the `step` attribute: the step base of `input[type=range]` is `min`, and `step=16` would allow only the values `min + 16n`. Then `maxSize` could not be reached from the keyboard at all, and the browser would silently round the pixel-precise result of a drag — the announced value would drift from the panel width.
|
|
136
|
+
- A double click on the handle returns `defaultSize`. There is no keyboard path to reset: you can set the size you need in two ways, and the second one (the arrow keys, `Home`, `End`) works from the keyboard.
|
|
137
|
+
- Pressing the bar moves focus to the slider, so a "drag with the mouse, finish with the arrow keys" workflow works.
|
|
138
|
+
- The hit area of the handle is wider than the visible bar: the bar itself is 10 px and the target is 26 px; WCAG 2.5.8 requires at least 24 px.
|
|
139
|
+
- While dragging with a pointer, text selection in the neighboring areas is turned off: otherwise moving past the bar highlights half the list.
|
|
140
|
+
|
|
141
|
+
## Accessibility and semantics
|
|
142
|
+
|
|
143
|
+
- The handle's name comes from the message catalog: with the panel's name — "Изменить размер: Детали заказа" / Resize: Order details, without it — "Изменить размер панели" / Resize the panel. There can be several handles on screen, and a shared name would not tell them apart.
|
|
144
|
+
- The current size is announced through `aria-valuetext` with plural forms from the locale.
|
|
145
|
+
- Both areas are scrollable and therefore focusable (`tabindex="0"`): `Tab` does not reach content that scrolls only with a pointer — the axe rule `scrollable-region-focusable`. A collapsed panel drops out of the tab order along with everything else.
|
|
146
|
+
- A collapsed panel leaves the accessibility tree: if `Tab` reaches a panel that cannot be seen, focus is lost. Its content stays mounted. If focus was inside the panel at the moment of collapsing, it is moved to the content area (the handle disappears on collapse) — otherwise it would stay on a hidden node and the next `Tab` would start from the top of the page.
|
|
147
|
+
- The component does not touch `--topbar-h` (ADR-0016): it takes the area it is given and does not stick to the top.
|
|
148
|
+
- See `src/components/app-shell/SplitPanel.tsx`, `src/hooks/useMediaQuery.ts`, `src/components/app-shell/SplitPanel.stories.tsx` (the `Adaptive` story), `tests/split-panel.test.tsx`, `tests/use-media-query.test.tsx`, `tests-visual/interactions.spec.ts`.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: SplitPanel
|
|
3
|
+
exports: [SplitPanel, useMediaQuery]
|
|
4
|
+
category: app-shell
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/app-shell/SplitPanel.tsx
|
|
7
|
+
story: src/components/app-shell/SplitPanel.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# SplitPanel
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
`SplitPanel` — две области с изменяемой границей: содержимое и панель деталей. Ось `position` (`side` / `bottom`) меняет направление раскладки. Размер управляемый через `size` + `onSizeChange` либо неуправляемый от `defaultSize`; хранение размера между сеансами — дело потребителя. На узком экране панель схлопывается пропом `collapsed`, а ширину даёт хук `useMediaQuery` из того же пакета.
|
|
15
|
+
|
|
16
|
+
## Когда использовать
|
|
17
|
+
|
|
18
|
+
- Экран «список слева, детали справа»: выбранная строка раскрывается рядом, а не на другой странице.
|
|
19
|
+
- Инспектор под таблицей: журнал, диагностика, предпросмотр запроса.
|
|
20
|
+
- Пользователю нужно самому решать, чему отдать место.
|
|
21
|
+
|
|
22
|
+
## Когда не использовать
|
|
23
|
+
|
|
24
|
+
- Детали открываются поверх содержимого и требуют внимания — это `Drawer` или `Dialog`.
|
|
25
|
+
- Область деталей фиксирована и не меняется пользователем — это обычная сетка из двух колонок.
|
|
26
|
+
- Нужна колонка навигации приложения — это `SideNav` внутри `AppShell`.
|
|
27
|
+
|
|
28
|
+
## Минимальный пример
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<SplitPanel aria-label="Детали заказа" panel={<OrderDetails id={selected} />}>
|
|
32
|
+
<OrdersTable onSelect={setSelected} />
|
|
33
|
+
</SplitPanel>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Public API
|
|
37
|
+
|
|
38
|
+
- `position`: `side` (по умолчанию) — панель справа, пользователь меняет её ширину; `bottom` — панель снизу, пользователь меняет высоту.
|
|
39
|
+
- `size` + `onSizeChange` — управляемый размер в пикселях; `defaultSize` — начальный, когда `size` не передан.
|
|
40
|
+
- `onSizeChange` зовётся **на каждом кадре** перетаскивания, но только когда значение действительно изменилось: тяга за границу зажимается в то же число и молчит. Если размер пишется в адрес страницы или на сервер, каждый кадр туда не нужен: throttle или запись по `pointerup` — забота потребителя.
|
|
41
|
+
- `defaultSize` читается **один раз, при монтировании**: смена пропа потом стартовый размер не двигает, иначе панель прыгала бы под пользователем от перерисовки родителя. Двойной щелчок по-прежнему возвращает к текущему значению `defaultSize`.
|
|
42
|
+
- `minSize` и `maxSize` — границы в пикселях. Размер зажимается ими и при перетаскивании, и при передаче пропом. Сужение границ на лету исправляет показанный размер, но `onSizeChange` не зовёт: событие без действия пользователя выглядело бы как правка состояния потребителя не по его воле. Перевёрнутый диапазон (`minSize > maxSize`) ничего не ломает — верхняя граница поднимается до нижней.
|
|
43
|
+
- `collapsed` схлопывает панель, **не размонтируя** её содержимое. Схлопывание посреди перетаскивания прекращает тягу: иначе состояние пережило бы исчезнувшую ручку, и наведение на новую двигало бы границу без нажатия.
|
|
44
|
+
- Адаптивного режима у компонента **нет**: на узком экране панель схлопывает `collapsed={!wide}`, где `wide` даёт `useMediaQuery` — см. «Узкий экран» ниже.
|
|
45
|
+
- `aria-label` даёт панели имя; без него она не объявляется областью.
|
|
46
|
+
- `className` ложится на внешний контейнер.
|
|
47
|
+
|
|
48
|
+
## Узкий экран: `collapsed` и `useMediaQuery`
|
|
49
|
+
|
|
50
|
+
Две области в ряд требуют места: на экране уже 1024 px (брейкпоинт `lg`) панель сбоку сжимает содержимое.
|
|
51
|
+
Что должно быть вместо неё — решает экран, а не компонент: просто одна область;
|
|
52
|
+
детали в `Drawer` по кнопке; список и сообщение «по одному» (почтовый клиент).
|
|
53
|
+
Проп `SplitPanel`, схлопывающий панель на узкой ширине, покрыл бы только первое,
|
|
54
|
+
поэтому штатный путь другой: компонент уже умеет `collapsed`, а ширину
|
|
55
|
+
даёт публичный хук.
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
import { SplitPanel, useMediaQuery } from "@olddevs/ui";
|
|
59
|
+
|
|
60
|
+
const wide = useMediaQuery("(min-width: 1024px)"); // брейкпоинт `lg` Tailwind
|
|
61
|
+
|
|
62
|
+
<SplitPanel aria-label="Детали заказа" collapsed={!wide} panel={<OrderDetails id={selected} />}>
|
|
63
|
+
<OrdersTable onSelect={setSelected} />
|
|
64
|
+
</SplitPanel>;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`useMediaQuery(query, serverValue = false)` возвращает, выполняется ли
|
|
68
|
+
медиазапрос сейчас, и перерисовывает компонент, когда это меняется. Запрос —
|
|
69
|
+
обычная строка CSS; брейкпоинты кита — штатные Tailwind 4: `sm` 640 px, `md`
|
|
70
|
+
768 px, `lg` 1024 px, `xl` 1280 px.
|
|
71
|
+
|
|
72
|
+
- **Что показывается до гидратации.** Сервер ширины не знает. Хук отдаёт
|
|
73
|
+
`serverValue`, по умолчанию `false`: для запроса `min-width` это «узко», то
|
|
74
|
+
есть mobile-first, как у самого Tailwind. На сервере и в первом кадре
|
|
75
|
+
клиента панель схлопнута. React при гидратации сам берёт серверное значение
|
|
76
|
+
и сразу после подставляет настоящее — **без ошибки расхождения**, но с одной
|
|
77
|
+
перерисовкой: на широком экране панель появляется после гидратации. Если почти
|
|
78
|
+
все пользователи на широких экранах, `useMediaQuery(query, true)` меняет умолчание
|
|
79
|
+
на противоположное (первый кадр «широко», на узком экране панель схлопывается
|
|
80
|
+
после гидратации). Выбор — за потребителем: кит не знает, какой случай вероятнее.
|
|
81
|
+
- **Нет `matchMedia`** (jsdom, старый браузер) — хук тоже отдаёт `serverValue`
|
|
82
|
+
и не бросает.
|
|
83
|
+
- **Это не способ раскладывать страницу.** Показать или спрятать блок по ширине
|
|
84
|
+
надо Tailwind-классом (`hidden lg:block`): класс работает с первого кадра и
|
|
85
|
+
на сервере без перерисовки
|
|
86
|
+
(ADR-0018). Хук нужен,
|
|
87
|
+
когда от ширины зависит состав или поведение: что смонтировать, закрывать ли
|
|
88
|
+
ящик, сколько месяцев показать.
|
|
89
|
+
- `collapsed` не размонтирует содержимое панели: форма и прокрутка внутри
|
|
90
|
+
переживают переход «широко ↔ узко». Фокус, стоявший в панели, при схлопывании
|
|
91
|
+
уходит в содержимое.
|
|
92
|
+
|
|
93
|
+
Два рабочих шаблона:
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
// Детали в ящике: панель схлопнута, ящик открывается по кнопке только на узком.
|
|
97
|
+
<SplitPanel collapsed={!wide} panel={details}>{list}</SplitPanel>
|
|
98
|
+
<Drawer title="Детали" open={drawerOpen && !wide} onClose={() => setDrawerOpen(false)}>{details}</Drawer>
|
|
99
|
+
|
|
100
|
+
// Одна область за раз: на узком экране SplitPanel не монтируется вовсе.
|
|
101
|
+
{wide ? <SplitPanel panel={message}>{list}</SplitPanel> : reading ? message : list}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Размер живёт у потребителя
|
|
105
|
+
|
|
106
|
+
Панель умеет помнить размер сама, но только пока смонтирована. Хранение между
|
|
107
|
+
сеансами (адрес страницы, профиль пользователя) остаётся за потребителем: у него состояние уже
|
|
108
|
+
где-то лежит, и второе хранилище внутри кита разошлось бы с первым молча. То же
|
|
109
|
+
разделение, что у состояния таблицы (ADR-0023).
|
|
110
|
+
|
|
111
|
+
При управляемом размере компонент **не пишет значение себе**: он сообщает
|
|
112
|
+
намерение через `onSizeChange` и показывает размер, который потребитель передал в `size`. Два
|
|
113
|
+
источника правды разошлись бы ровно на том кадре, где потребитель отклонит
|
|
114
|
+
значение.
|
|
115
|
+
|
|
116
|
+
## Почему ручка — настоящий ползунок
|
|
117
|
+
|
|
118
|
+
Универсального компонента для изменения размера react-aria не даёт: `ColumnResizer` и
|
|
119
|
+
`ResizableTableContainer`, которые работают в `Table`, привязаны к таблице.
|
|
120
|
+
Взята их модель — видимая полоса плюс скрытый `input[type=range]`.
|
|
121
|
+
|
|
122
|
+
Ползунок платформы приносит с собой всё, что иначе пишется руками и забывается
|
|
123
|
+
по частям: роль, объявление значения и границ, шаг, повтор при удержании,
|
|
124
|
+
поддержку скринридеров на сенсорном экране. `div` с `role="separator"` и
|
|
125
|
+
обработчиком стрелок повторяет это в лучшем случае наполовину.
|
|
126
|
+
|
|
127
|
+
**Значение ползунка — размер панели, а не координата границы.** Поэтому стрелка
|
|
128
|
+
вправо всегда увеличивает панель, хотя граница при этом уезжает влево: тянут
|
|
129
|
+
размер, а не разделитель.
|
|
130
|
+
|
|
131
|
+
## Клавиатура
|
|
132
|
+
|
|
133
|
+
- Ручка — обычный табстоп. Стрелки меняют размер шагом 16 px, со `Shift` — по одному пикселю, `Home` и `End` уводят ровно на границы.
|
|
134
|
+
- Шаг стрелки живёт в обработчике клавиш, а не в атрибуте `step`: шаговая база `input[type=range]` — это `min`, и `step=16` разрешил бы только значения `min + 16n`. Тогда `maxSize` не взялся бы с клавиатуры вовсе, а попиксельный результат тяги браузер молча округлял бы — объявленное значение разошлось бы с шириной панели.
|
|
135
|
+
- Двойной щелчок по ручке возвращает `defaultSize`. Клавиатурного пути к сбросу нет: нужный размер можно задать двумя способами, и второй (стрелки, `Home`, `End`) с клавиатуры работает.
|
|
136
|
+
- Нажатие на полосу переводит фокус на ползунок, поэтому сценарий «потянул мышью, дотяну стрелками» работает.
|
|
137
|
+
- Зона попадания у ручки шире видимой полосы: сама полоса 10 px, цель — 26 px; WCAG 2.5.8 требует не меньше 24 px.
|
|
138
|
+
- Пока тянут указателем, выделение текста в соседних областях выключено: иначе движение мимо полосы подсвечивает половину списка.
|
|
139
|
+
|
|
140
|
+
## Доступность и семантика
|
|
141
|
+
|
|
142
|
+
- Имя ручки приходит из каталога: с именем панели — «Изменить размер: Детали заказа» / Resize: Order details, без него — «Изменить размер панели» / Resize the panel. Ручек на экране бывает несколько, и одинаковое имя не помогает их различить.
|
|
143
|
+
- Текущий размер объявляется через `aria-valuetext` со склонением из локали.
|
|
144
|
+
- Обе области прокручиваемы и потому фокусируемы (`tabindex="0"`): до содержимого, которое прокручивается только указателем, `Tab` не доводит — правило axe `scrollable-region-focusable`. Схлопнутая панель из табуляции при этом выпадает вместе со всем остальным.
|
|
145
|
+
- Схлопнутая панель уходит из дерева доступности: если до панели доходит `Tab`, а самой её не видно, фокус теряется. Содержимое при этом остаётся смонтированным. Если фокус в момент схлопывания стоял внутри панели, он переводится в область содержимого (ручка при схлопывании исчезает) — иначе он оставался бы на скрытом узле и следующий `Tab` начинал обход с начала страницы.
|
|
146
|
+
- `--topbar-h` компонент не трогает (ADR-0016): он занимает данную ему область и наверх ни к чему не липнет.
|
|
147
|
+
- См. `src/components/app-shell/SplitPanel.tsx`, `src/hooks/useMediaQuery.ts`, `src/components/app-shell/SplitPanel.stories.tsx` (история `Adaptive`), `tests/split-panel.test.tsx`, `tests/use-media-query.test.tsx`, `tests-visual/interactions.spec.ts`.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: TopBar
|
|
3
|
+
exports: [TopBar]
|
|
4
|
+
category: app-shell
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/app-shell/TopBar.tsx
|
|
7
|
+
story: src/components/app-shell/TopBar.stories.tsx
|
|
8
|
+
sourceHash: 53daaa81276d
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# TopBar
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
The application header: brand, search and action slots, sticky positioning, a translucent
|
|
16
|
+
background on a theme token. It publishes **its own measured height** to a CSS variable
|
|
17
|
+
(`--topbar-h` by default), which `useStickyOffset` reads. This is why
|
|
18
|
+
`SelectionBar` sits flush under the header without a single line of code from
|
|
19
|
+
the consumer.
|
|
20
|
+
|
|
21
|
+
## When to use
|
|
22
|
+
|
|
23
|
+
- The application's top bar: brand, global search, notifications, the user menu.
|
|
24
|
+
- Inside `AppShell` or on its own — the header does not require the shell.
|
|
25
|
+
|
|
26
|
+
## When not to use
|
|
27
|
+
|
|
28
|
+
- For a page title with a description and actions — that is `PageHeader`.
|
|
29
|
+
- For actions on selected rows — that is `SelectionBar`; for the title, counter,
|
|
30
|
+
filters and settings of a table — `TableToolbar` (since 2.2.0).
|
|
31
|
+
- For a dialog header — that is `ModalHeader`.
|
|
32
|
+
|
|
33
|
+
## Minimal example
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { Avatar, Button, SearchControl, TopBar } from "@olddevs/ui";
|
|
37
|
+
import { BellIcon } from "@olddevs/ui/icons";
|
|
38
|
+
|
|
39
|
+
<TopBar
|
|
40
|
+
brand={<Logo />}
|
|
41
|
+
search={<SearchControl label="Search" value={q} onChange={setQ} />}
|
|
42
|
+
actions={
|
|
43
|
+
<>
|
|
44
|
+
<Button variant="ghost" iconOnly icon={<BellIcon />} aria-label="Notifications" />
|
|
45
|
+
<Avatar name="JD" />
|
|
46
|
+
</>
|
|
47
|
+
}
|
|
48
|
+
/>;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Props
|
|
52
|
+
|
|
53
|
+
| Prop | Default | Purpose |
|
|
54
|
+
| ----------- | --------------- | ---------------------------------------------------------------------- |
|
|
55
|
+
| `brand` | — | The leftmost slot: a logo, the product name. |
|
|
56
|
+
| `search` | — | The central slot. Takes the free space; if absent, the space is empty. |
|
|
57
|
+
| `actions` | — | Actions on the right: notifications, settings, the user menu. |
|
|
58
|
+
| `children` | — | Extra header content: placed after the `actions` slot. |
|
|
59
|
+
| `heightVar` | `"--topbar-h"` | The name of the height variable. `null` turns publishing off. |
|
|
60
|
+
| `label` | message catalog | The header's accessible name. |
|
|
61
|
+
|
|
62
|
+
## Height contract
|
|
63
|
+
|
|
64
|
+
The header measures itself with a `ResizeObserver` and writes the height to
|
|
65
|
+
`document.documentElement` — where `useStickyOffset` looks for it. An observer,
|
|
66
|
+
not a one-off measurement: the height changes with the breakpoint and with the
|
|
67
|
+
wrapping of slot content, and the sticky bar under the header has to move
|
|
68
|
+
along with it.
|
|
69
|
+
|
|
70
|
+
**This is not the option "the kit finds and measures the header"** — the one rejected in
|
|
71
|
+
ADR-0016.
|
|
72
|
+
There the kit would have to recognize an element it does not own by a selector or attribute; here
|
|
73
|
+
the component measures itself, and the kit never learns which element in
|
|
74
|
+
this application is the header. The analysis is in
|
|
75
|
+
ADR-0019.
|
|
76
|
+
|
|
77
|
+
**A departing header does not remove a value it did not publish.** When it unmounts, it removes
|
|
78
|
+
the variable only if the variable is still its own: two headers with the same name replace
|
|
79
|
+
each other when navigating between screens, and otherwise the first would remove a value already
|
|
80
|
+
published by the second.
|
|
81
|
+
|
|
82
|
+
**Two headers in one document is a real case** (an application header and the header of
|
|
83
|
+
an embedded widget). They would silently overwrite each other's variable: the sticky
|
|
84
|
+
bars would shift to the other header's height, and it would show up not as an error but as a broken
|
|
85
|
+
layout. So the second header gets a different variable name, or publishing
|
|
86
|
+
is turned off:
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
<TopBar heightVar="--widget-topbar-h" />
|
|
90
|
+
<TopBar heightVar={null} />
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**An external header keeps working.** An application with a non-kit header and without `TopBar`
|
|
94
|
+
publishes the variable itself, as before 2.1.0 — the ADR-0016 contract is untouched.
|
|
95
|
+
|
|
96
|
+
## Related sources and tests
|
|
97
|
+
|
|
98
|
+
- Implementation: `src/components/app-shell/TopBar.tsx`.
|
|
99
|
+
- Tests: `tests/top-bar.test.tsx` — the landmark and its name, publishing and removing the
|
|
100
|
+
variable, a custom variable name, turning publishing off.
|
|
101
|
+
- In a live browser: `tests-visual/interactions.spec.ts` — the published
|
|
102
|
+
value matches the measured height, and the bar sits flush.
|
|
103
|
+
- Story: `src/components/app-shell/TopBar.stories.tsx`.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: TopBar
|
|
3
|
+
exports: [TopBar]
|
|
4
|
+
category: app-shell
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/app-shell/TopBar.tsx
|
|
7
|
+
story: src/components/app-shell/TopBar.stories.tsx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TopBar
|
|
11
|
+
|
|
12
|
+
## Кратко для AI
|
|
13
|
+
|
|
14
|
+
Шапка приложения: слоты бренда, поиска и действий, липкость, полупрозрачная
|
|
15
|
+
подложка на токене темы. Публикует **свою измеренную высоту** в CSS-переменную
|
|
16
|
+
(по умолчанию `--topbar-h`), которую читает `useStickyOffset`. Поэтому
|
|
17
|
+
`SelectionBar` встаёт вплотную под шапку без единой строки кода у потребителя.
|
|
18
|
+
|
|
19
|
+
## Когда использовать
|
|
20
|
+
|
|
21
|
+
- Шапка приложения: бренд, глобальный поиск, уведомления, меню пользователя.
|
|
22
|
+
- Внутри `AppShell` или самостоятельно — шапка не требует каркаса.
|
|
23
|
+
|
|
24
|
+
## Когда не использовать
|
|
25
|
+
|
|
26
|
+
- Для заголовка страницы с описанием и действиями — это `PageHeader`.
|
|
27
|
+
- Для действий над выбранными строками — это `SelectionBar`; для заголовка,
|
|
28
|
+
счётчика, фильтров и настроек таблицы — `TableToolbar` (с 2.2.0).
|
|
29
|
+
- Для шапки диалога — это `ModalHeader`.
|
|
30
|
+
|
|
31
|
+
## Минимальный пример
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { Avatar, Button, SearchControl, TopBar } from "@olddevs/ui";
|
|
35
|
+
import { BellIcon } from "@olddevs/ui/icons";
|
|
36
|
+
|
|
37
|
+
<TopBar
|
|
38
|
+
brand={<Logo />}
|
|
39
|
+
search={<SearchControl label="Поиск" value={q} onChange={setQ} />}
|
|
40
|
+
actions={
|
|
41
|
+
<>
|
|
42
|
+
<Button variant="ghost" iconOnly icon={<BellIcon />} aria-label="Уведомления" />
|
|
43
|
+
<Avatar name="ИП" />
|
|
44
|
+
</>
|
|
45
|
+
}
|
|
46
|
+
/>;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Пропы
|
|
50
|
+
|
|
51
|
+
| Проп | Умолчание | Назначение |
|
|
52
|
+
| ----------- | -------------- | --------------------------------------------------------------- |
|
|
53
|
+
| `brand` | — | Крайний левый слот: логотип, название продукта. |
|
|
54
|
+
| `search` | — | Центральный слот. Занимает свободное место; нет — место пустое. |
|
|
55
|
+
| `actions` | — | Действия справа: уведомления, настройки, меню пользователя. |
|
|
56
|
+
| `children` | — | Дополнительное содержимое шапки: после слота `actions`. |
|
|
57
|
+
| `heightVar` | `"--topbar-h"` | Имя переменной с высотой. `null` отключает публикацию. |
|
|
58
|
+
| `label` | каталог | Доступное имя шапки. |
|
|
59
|
+
|
|
60
|
+
## Контракт высоты
|
|
61
|
+
|
|
62
|
+
Шапка измеряет себя `ResizeObserver` и пишет высоту в
|
|
63
|
+
`document.documentElement` — туда, где её ищет `useStickyOffset`. Наблюдатель, а
|
|
64
|
+
не разовый замер: высота меняется от брейкпоинта и от переноса содержимого
|
|
65
|
+
слотов, и липкая полоса под шапкой обязана переезжать вместе с ней.
|
|
66
|
+
|
|
67
|
+
**Это не вариант «кит находит и измеряет шапку»** — тот, что отвергнут в
|
|
68
|
+
ADR-0016.
|
|
69
|
+
Там киту пришлось бы опознавать по селектору или атрибуту элемент, которого он не создавал; здесь
|
|
70
|
+
компонент измеряет себя, и знание «какой элемент в этом приложении шапка» у кита
|
|
71
|
+
не появляется. Разбор —
|
|
72
|
+
ADR-0019.
|
|
73
|
+
|
|
74
|
+
**Уходящая шапка не снимает значение, которое не она опубликовала.** Размонтируясь, она убирает
|
|
75
|
+
переменную только если та всё ещё её: две шапки с одним именем сменяют друг
|
|
76
|
+
друга при переходе между экранами, и иначе первая снимала бы значение, уже
|
|
77
|
+
опубликованное второй.
|
|
78
|
+
|
|
79
|
+
**Две шапки в одном документе — реальный случай** (шапка приложения и шапка
|
|
80
|
+
встроенного виджета). Они молча перезаписывали бы переменную друг друга: липкие
|
|
81
|
+
полосы сдвинулись бы на высоту другой шапки, причём проявилось бы это не
|
|
82
|
+
ошибкой, а сбитой раскладкой. Поэтому второй шапке задают другое имя переменной
|
|
83
|
+
либо выключают публикацию:
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
<TopBar heightVar="--widget-topbar-h" />
|
|
87
|
+
<TopBar heightVar={null} />
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Внешняя шапка продолжает работать.** Приложение с шапкой не из кита, без `TopBar`,
|
|
91
|
+
публикует переменную само, как и до 2.1.0 — контракт ADR-0016 не тронут.
|
|
92
|
+
|
|
93
|
+
## Связанные исходники и проверка
|
|
94
|
+
|
|
95
|
+
- Реализация: `src/components/app-shell/TopBar.tsx`.
|
|
96
|
+
- Тесты: `tests/top-bar.test.tsx` — landmark и его имя, публикация и снятие
|
|
97
|
+
переменной, заданное потребителем имя переменной, отключение публикации.
|
|
98
|
+
- В живом браузере: `tests-visual/interactions.spec.ts` — опубликованное
|
|
99
|
+
значение совпадает с измеренной высотой, полоса встаёт вплотную.
|
|
100
|
+
- История: `src/components/app-shell/TopBar.stories.tsx`.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: Avatar
|
|
3
|
+
exports: [Avatar, AvatarGroup]
|
|
4
|
+
category: content
|
|
5
|
+
status: stable
|
|
6
|
+
source: src/components/content/Avatar.tsx, src/components/content/AvatarGroup.tsx
|
|
7
|
+
story: src/components/content/Avatar.stories.tsx, src/components/content/AvatarGroup.stories.tsx
|
|
8
|
+
sourceHash: 5daaa4cb2e8d
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Avatar and AvatarGroup
|
|
12
|
+
|
|
13
|
+
## Summary for AI
|
|
14
|
+
|
|
15
|
+
`Avatar` shows a photo from `src` or, if there is none or it failed to load,
|
|
16
|
+
initials and a stable gradient computed from the name. `AvatarGroup` shows
|
|
17
|
+
participants compactly (strings or `{ name, src? }`) and announces the whole list
|
|
18
|
+
under a single accessible name. It represents a person or participants; it is
|
|
19
|
+
not a status badge or a profile button.
|
|
20
|
+
|
|
21
|
+
## When to use
|
|
22
|
+
|
|
23
|
+
- `Avatar` — to represent a user compactly: with a photo from `src` or with
|
|
24
|
+
initials alone.
|
|
25
|
+
- `AvatarGroup` — when it matters that there is a group and it is fine to show only the
|
|
26
|
+
first few participants with a `+N` remainder; for example, the participants of a campaign.
|
|
27
|
+
Photos are passed as `{ name, src }` objects.
|
|
28
|
+
- The photo on `Avatar` was added "for the future" (ADR-0048): there was no
|
|
29
|
+
requesting screen at release, and the API was modeled on comparable kits: in all twelve kits
|
|
30
|
+
compared, the avatar has a photo that falls back to initials. Your screen is
|
|
31
|
+
the first to test this API; if it needs a different one, that is not a violation of the contract.
|
|
32
|
+
|
|
33
|
+
## When not to use
|
|
34
|
+
|
|
35
|
+
- Do not replace the initials with your own image fallback: the fallback to
|
|
36
|
+
initials when the photo is missing or fails to load is built in, and `Avatar`
|
|
37
|
+
has no separate `fallback`.
|
|
38
|
+
- Do not use it for arbitrary images (a logo, a document preview); use
|
|
39
|
+
`Image` instead: the avatar is a fixed-size circle with an accessible name derived from a person's
|
|
40
|
+
name.
|
|
41
|
+
- Do not pass partial initials to `AvatarGroup` instead of names: the group's
|
|
42
|
+
accessible name is built from `names`.
|
|
43
|
+
- Do not use the group as an interactive list of participants. Selecting or
|
|
44
|
+
opening a profile needs a separate control.
|
|
45
|
+
|
|
46
|
+
## Minimal example
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
import { Avatar, AvatarGroup } from "@olddevs/ui";
|
|
50
|
+
|
|
51
|
+
<Avatar name="Anna Smith" />
|
|
52
|
+
<Avatar name="Anna Smith" src="/avatars/anna.jpg" />
|
|
53
|
+
<AvatarGroup names={["Anna Smith", "John Peterson", "Oliver Cooper"]} />
|
|
54
|
+
<AvatarGroup names={[{ name: "Anna Smith", src: "/avatars/anna.jpg" }, "John Peterson"]} />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Public API
|
|
58
|
+
|
|
59
|
+
### `Avatar`
|
|
60
|
+
|
|
61
|
+
| Prop | Default | Meaning |
|
|
62
|
+
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
63
|
+
| `name` | `"IV"` | A name or login; the first two characters become the initials, the first character sets the stable hue. |
|
|
64
|
+
| `size` | `md` | `md` is a compact size for lists and headers; `lg` is a large size for a profile card. |
|
|
65
|
+
| `src` | — | Photo URL. While the photo loads, a circle in the name's hue is shown; if it is missing or fails to load, initials appear on the same circle. An empty value counts as missing. |
|
|
66
|
+
| `alt` | `name` | The photo's alt text. `""` — decorative (the name is already written next to it). With neither `name` nor `alt` the photo is decorative. No effect without `src`. |
|
|
67
|
+
| `className` and `span` attributes | — | Passed to the root `span`; `children` is intentionally not supported. |
|
|
68
|
+
|
|
69
|
+
### `AvatarGroup`
|
|
70
|
+
|
|
71
|
+
| Prop | Default | Meaning |
|
|
72
|
+
| ------------ | ---------------------------- | ------------------------------------------------------------------------------ |
|
|
73
|
+
| `names` | — | Required full list: a name string or `{ name, src? }`; the forms can be mixed. |
|
|
74
|
+
| `max` | `3` | Number of visible avatars; the remainder is shown as `+N`. |
|
|
75
|
+
| `size` | `md` | Size of all visible avatars: `md` or `lg`. |
|
|
76
|
+
| `aria-label` | all `names`, comma-separated | Overrides the group's single accessible name. |
|
|
77
|
+
| `className` | — | Class of the root group. |
|
|
78
|
+
|
|
79
|
+
## Photo and fallback to initials
|
|
80
|
+
|
|
81
|
+
The photo is rendered through the kit's `Image` (ADR-0011): loading and failure are
|
|
82
|
+
handled in one place. The background layer with the hue from the name sits on the
|
|
83
|
+
circle's root, so the size does not change between "loading", "loaded" and
|
|
84
|
+
"failed", and the circle does not flicker: first you see a circle in the name's
|
|
85
|
+
color, then the photo or the initials. Once the photo has loaded, the background
|
|
86
|
+
layer is removed, so a transparent PNG is not tinted with the name's hue. The
|
|
87
|
+
avatar has no `Skeleton`. The photo is fitted with `cover` and is not distorted;
|
|
88
|
+
the circle and the `md`/`lg` sizes do not change. Changing `src` after an error
|
|
89
|
+
tries the new URL. Without `src`, the markup, appearance and announcement do not change.
|
|
90
|
+
|
|
91
|
+
## Accessibility
|
|
92
|
+
|
|
93
|
+
`AvatarGroup` renders as a single `role="img"` with the full list of names. The
|
|
94
|
+
inner circles and `+N` are hidden from the screen reader, so it does not read
|
|
95
|
+
useless two-letter initials or repeat the name for a photo: the group announces
|
|
96
|
+
the list. Do not remove `names` to shorten the display.
|
|
97
|
+
|
|
98
|
+
A single `Avatar` with a photo is an `img` named from `alt` (by default `name`);
|
|
99
|
+
if the photo fails to load, the initials keep the same name. Without `src` the
|
|
100
|
+
avatar carries no role, and its text is the initials. Next to a person's written
|
|
101
|
+
name, set `alt=""` so the name is not spoken twice.
|
|
102
|
+
|
|
103
|
+
## Anti-patterns
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
// Bad: the screen reader gets abbreviations, not names.
|
|
107
|
+
<AvatarGroup names={["AS", "JP"]} />
|
|
108
|
+
|
|
109
|
+
// Good: keep names that people can understand.
|
|
110
|
+
<AvatarGroup names={["Anna Smith", "John Peterson"]} max={2} />
|
|
111
|
+
|
|
112
|
+
// Bad: the name is already written next to it, so the photo is announced a second time.
|
|
113
|
+
<><Avatar name="Anna Smith" src={url} /> Anna Smith</>
|
|
114
|
+
|
|
115
|
+
// Good: the photo is decorative.
|
|
116
|
+
<><Avatar name="Anna Smith" src={url} alt="" /> Anna Smith</>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Related sources and Storybook
|
|
120
|
+
|
|
121
|
+
- Sources: `src/components/content/Avatar.tsx`, `src/components/content/AvatarGroup.tsx`.
|
|
122
|
+
- Stories: `src/components/content/Avatar.stories.tsx`, `src/components/content/AvatarGroup.stories.tsx`.
|
|
123
|
+
- The group's accessible name is tested in `tests/data.test.tsx`; the photo, the fallback to initials and the unchanged markup without `src` — in `tests/avatar.test.tsx`.
|