@olddevs/ui 0.0.0-stage → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/LICENSE +21 -0
- package/NOTICE +100 -0
- package/README.md +145 -2
- package/README.ru.md +146 -0
- package/dist/color.d.ts +22 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +2 -0
- package/dist/color.js.map +1 -0
- package/dist/components/actions/Alert.d.ts +46 -0
- package/dist/components/actions/Alert.d.ts.map +1 -0
- package/dist/components/actions/Alert.js +20 -0
- package/dist/components/actions/Alert.js.map +1 -0
- package/dist/components/actions/Banner.d.ts +58 -0
- package/dist/components/actions/Banner.d.ts.map +1 -0
- package/dist/components/actions/Banner.js +20 -0
- package/dist/components/actions/Banner.js.map +1 -0
- package/dist/components/actions/Button.d.ts +79 -0
- package/dist/components/actions/Button.d.ts.map +1 -0
- package/dist/components/actions/Button.js +29 -0
- package/dist/components/actions/Button.js.map +1 -0
- package/dist/components/actions/ButtonGroup.d.ts +32 -0
- package/dist/components/actions/ButtonGroup.d.ts.map +1 -0
- package/dist/components/actions/ButtonGroup.js +10 -0
- package/dist/components/actions/ButtonGroup.js.map +1 -0
- package/dist/components/actions/Chip.d.ts +36 -0
- package/dist/components/actions/Chip.d.ts.map +1 -0
- package/dist/components/actions/Chip.js +16 -0
- package/dist/components/actions/Chip.js.map +1 -0
- package/dist/components/actions/CopyButton.d.ts +32 -0
- package/dist/components/actions/CopyButton.d.ts.map +1 -0
- package/dist/components/actions/CopyButton.js +41 -0
- package/dist/components/actions/CopyButton.js.map +1 -0
- package/dist/components/actions/Progress.d.ts +36 -0
- package/dist/components/actions/Progress.d.ts.map +1 -0
- package/dist/components/actions/Progress.js +14 -0
- package/dist/components/actions/Progress.js.map +1 -0
- package/dist/components/actions/Segmented.d.ts +64 -0
- package/dist/components/actions/Segmented.d.ts.map +1 -0
- package/dist/components/actions/Segmented.js +14 -0
- package/dist/components/actions/Segmented.js.map +1 -0
- package/dist/components/actions/Spinner.d.ts +46 -0
- package/dist/components/actions/Spinner.d.ts.map +1 -0
- package/dist/components/actions/Spinner.js +17 -0
- package/dist/components/actions/Spinner.js.map +1 -0
- package/dist/components/actions/SplitButton.d.ts +92 -0
- package/dist/components/actions/SplitButton.d.ts.map +1 -0
- package/dist/components/actions/SplitButton.js +21 -0
- package/dist/components/actions/SplitButton.js.map +1 -0
- package/dist/components/actions/StatusBadge.d.ts +26 -0
- package/dist/components/actions/StatusBadge.d.ts.map +1 -0
- package/dist/components/actions/StatusBadge.js +14 -0
- package/dist/components/actions/StatusBadge.js.map +1 -0
- package/dist/components/actions/Toaster.d.ts +83 -0
- package/dist/components/actions/Toaster.d.ts.map +1 -0
- package/dist/components/actions/Toaster.js +38 -0
- package/dist/components/actions/Toaster.js.map +1 -0
- package/dist/components/actions/Toggle.d.ts +75 -0
- package/dist/components/actions/Toggle.d.ts.map +1 -0
- package/dist/components/actions/Toggle.js +39 -0
- package/dist/components/actions/Toggle.js.map +1 -0
- package/dist/components/actions/ToggleGroup.d.ts +63 -0
- package/dist/components/actions/ToggleGroup.d.ts.map +1 -0
- package/dist/components/actions/ToggleGroup.js +30 -0
- package/dist/components/actions/ToggleGroup.js.map +1 -0
- package/dist/components/actions/Toolbar.d.ts +52 -0
- package/dist/components/actions/Toolbar.d.ts.map +1 -0
- package/dist/components/actions/Toolbar.js +98 -0
- package/dist/components/actions/Toolbar.js.map +1 -0
- package/dist/components/actions/Truncate.d.ts +31 -0
- package/dist/components/actions/Truncate.d.ts.map +1 -0
- package/dist/components/actions/Truncate.js +32 -0
- package/dist/components/actions/Truncate.js.map +1 -0
- package/dist/components/app-shell/AppShell.d.ts +106 -0
- package/dist/components/app-shell/AppShell.d.ts.map +1 -0
- package/dist/components/app-shell/AppShell.js +29 -0
- package/dist/components/app-shell/AppShell.js.map +1 -0
- package/dist/components/app-shell/MobileTabBar.d.ts +130 -0
- package/dist/components/app-shell/MobileTabBar.d.ts.map +1 -0
- package/dist/components/app-shell/MobileTabBar.js +50 -0
- package/dist/components/app-shell/MobileTabBar.js.map +1 -0
- package/dist/components/app-shell/NavItem.d.ts +72 -0
- package/dist/components/app-shell/NavItem.d.ts.map +1 -0
- package/dist/components/app-shell/NavItem.js +22 -0
- package/dist/components/app-shell/NavItem.js.map +1 -0
- package/dist/components/app-shell/SideNav.d.ts +65 -0
- package/dist/components/app-shell/SideNav.d.ts.map +1 -0
- package/dist/components/app-shell/SideNav.js +31 -0
- package/dist/components/app-shell/SideNav.js.map +1 -0
- package/dist/components/app-shell/SplitPanel.d.ts +121 -0
- package/dist/components/app-shell/SplitPanel.d.ts.map +1 -0
- package/dist/components/app-shell/SplitPanel.js +88 -0
- package/dist/components/app-shell/SplitPanel.js.map +1 -0
- package/dist/components/app-shell/TopBar.d.ts +43 -0
- package/dist/components/app-shell/TopBar.d.ts.map +1 -0
- package/dist/components/app-shell/TopBar.js +24 -0
- package/dist/components/app-shell/TopBar.js.map +1 -0
- package/dist/components/content/AspectRatio.d.ts +25 -0
- package/dist/components/content/AspectRatio.d.ts.map +1 -0
- package/dist/components/content/AspectRatio.js +7 -0
- package/dist/components/content/AspectRatio.js.map +1 -0
- package/dist/components/content/Avatar.d.ts +22 -0
- package/dist/components/content/Avatar.d.ts.map +1 -0
- package/dist/components/content/Avatar.js +23 -0
- package/dist/components/content/Avatar.js.map +1 -0
- package/dist/components/content/AvatarGroup.d.ts +42 -0
- package/dist/components/content/AvatarGroup.d.ts.map +1 -0
- package/dist/components/content/AvatarGroup.js +11 -0
- package/dist/components/content/AvatarGroup.js.map +1 -0
- package/dist/components/content/Badge.d.ts +41 -0
- package/dist/components/content/Badge.d.ts.map +1 -0
- package/dist/components/content/Badge.js +13 -0
- package/dist/components/content/Badge.js.map +1 -0
- package/dist/components/content/Card.d.ts +59 -0
- package/dist/components/content/Card.d.ts.map +1 -0
- package/dist/components/content/Card.js +20 -0
- package/dist/components/content/Card.js.map +1 -0
- package/dist/components/content/Carousel.d.ts +79 -0
- package/dist/components/content/Carousel.d.ts.map +1 -0
- package/dist/components/content/Carousel.js +172 -0
- package/dist/components/content/Carousel.js.map +1 -0
- package/dist/components/content/CodeView.d.ts +76 -0
- package/dist/components/content/CodeView.d.ts.map +1 -0
- package/dist/components/content/CodeView.js +12 -0
- package/dist/components/content/CodeView.js.map +1 -0
- package/dist/components/content/DescriptionList.d.ts +31 -0
- package/dist/components/content/DescriptionList.d.ts.map +1 -0
- package/dist/components/content/DescriptionList.js +10 -0
- package/dist/components/content/DescriptionList.js.map +1 -0
- package/dist/components/content/EditableList.d.ts +162 -0
- package/dist/components/content/EditableList.d.ts.map +1 -0
- package/dist/components/content/EditableList.js +241 -0
- package/dist/components/content/EditableList.js.map +1 -0
- package/dist/components/content/EmptyState.d.ts +31 -0
- package/dist/components/content/EmptyState.d.ts.map +1 -0
- package/dist/components/content/EmptyState.js +9 -0
- package/dist/components/content/EmptyState.js.map +1 -0
- package/dist/components/content/ErrorState.d.ts +52 -0
- package/dist/components/content/ErrorState.d.ts.map +1 -0
- package/dist/components/content/ErrorState.js +16 -0
- package/dist/components/content/ErrorState.js.map +1 -0
- package/dist/components/content/Grid.d.ts +57 -0
- package/dist/components/content/Grid.d.ts.map +1 -0
- package/dist/components/content/Grid.js +85 -0
- package/dist/components/content/Grid.js.map +1 -0
- package/dist/components/content/Heading.d.ts +43 -0
- package/dist/components/content/Heading.d.ts.map +1 -0
- package/dist/components/content/Heading.js +21 -0
- package/dist/components/content/Heading.js.map +1 -0
- package/dist/components/content/Image.d.ts +94 -0
- package/dist/components/content/Image.d.ts.map +1 -0
- package/dist/components/content/Image.js +41 -0
- package/dist/components/content/Image.js.map +1 -0
- package/dist/components/content/Kbd.d.ts +31 -0
- package/dist/components/content/Kbd.d.ts.map +1 -0
- package/dist/components/content/Kbd.js +13 -0
- package/dist/components/content/Kbd.js.map +1 -0
- package/dist/components/content/Keyboard.d.ts +32 -0
- package/dist/components/content/Keyboard.d.ts.map +1 -0
- package/dist/components/content/Keyboard.js +381 -0
- package/dist/components/content/Keyboard.js.map +1 -0
- package/dist/components/content/Link.d.ts +46 -0
- package/dist/components/content/Link.d.ts.map +1 -0
- package/dist/components/content/Link.js +38 -0
- package/dist/components/content/Link.js.map +1 -0
- package/dist/components/content/MediaCard.d.ts +56 -0
- package/dist/components/content/MediaCard.d.ts.map +1 -0
- package/dist/components/content/MediaCard.js +15 -0
- package/dist/components/content/MediaCard.js.map +1 -0
- package/dist/components/content/NotificationCenter.d.ts +68 -0
- package/dist/components/content/NotificationCenter.d.ts.map +1 -0
- package/dist/components/content/NotificationCenter.js +14 -0
- package/dist/components/content/NotificationCenter.js.map +1 -0
- package/dist/components/content/NotificationList.d.ts +111 -0
- package/dist/components/content/NotificationList.d.ts.map +1 -0
- package/dist/components/content/NotificationList.js +48 -0
- package/dist/components/content/NotificationList.js.map +1 -0
- package/dist/components/content/ScrollArea.d.ts +30 -0
- package/dist/components/content/ScrollArea.d.ts.map +1 -0
- package/dist/components/content/ScrollArea.js +7 -0
- package/dist/components/content/ScrollArea.js.map +1 -0
- package/dist/components/content/Separator.d.ts +19 -0
- package/dist/components/content/Separator.d.ts.map +1 -0
- package/dist/components/content/Separator.js +14 -0
- package/dist/components/content/Separator.js.map +1 -0
- package/dist/components/content/Skeleton.d.ts +24 -0
- package/dist/components/content/Skeleton.d.ts.map +1 -0
- package/dist/components/content/Skeleton.js +8 -0
- package/dist/components/content/Skeleton.js.map +1 -0
- package/dist/components/content/SortableList.d.ts +98 -0
- package/dist/components/content/SortableList.d.ts.map +1 -0
- package/dist/components/content/SortableList.js +46 -0
- package/dist/components/content/SortableList.js.map +1 -0
- package/dist/components/content/Stat.d.ts +46 -0
- package/dist/components/content/Stat.d.ts.map +1 -0
- package/dist/components/content/Stat.js +12 -0
- package/dist/components/content/Stat.js.map +1 -0
- package/dist/components/content/Table.d.ts +110 -0
- package/dist/components/content/Table.d.ts.map +1 -0
- package/dist/components/content/Table.js +66 -0
- package/dist/components/content/Table.js.map +1 -0
- package/dist/components/content/TagGroup.d.ts +120 -0
- package/dist/components/content/TagGroup.d.ts.map +1 -0
- package/dist/components/content/TagGroup.js +20 -0
- package/dist/components/content/TagGroup.js.map +1 -0
- package/dist/components/content/Text.d.ts +55 -0
- package/dist/components/content/Text.d.ts.map +1 -0
- package/dist/components/content/Text.js +27 -0
- package/dist/components/content/Text.js.map +1 -0
- package/dist/components/content/Timeline.d.ts +50 -0
- package/dist/components/content/Timeline.d.ts.map +1 -0
- package/dist/components/content/Timeline.js +15 -0
- package/dist/components/content/Timeline.js.map +1 -0
- package/dist/components/content/VirtualGrid.d.ts +171 -0
- package/dist/components/content/VirtualGrid.d.ts.map +1 -0
- package/dist/components/content/VirtualGrid.js +267 -0
- package/dist/components/content/VirtualGrid.js.map +1 -0
- package/dist/components/content/VisuallyHidden.d.ts +24 -0
- package/dist/components/content/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/content/VisuallyHidden.js +3 -0
- package/dist/components/content/VisuallyHidden.js.map +1 -0
- package/dist/components/content/keyboardEditing.d.ts +15 -0
- package/dist/components/content/keyboardEditing.d.ts.map +1 -0
- package/dist/components/content/keyboardEditing.js +28 -0
- package/dist/components/content/keyboardEditing.js.map +1 -0
- package/dist/components/content/useDragToSelect.d.ts +41 -0
- package/dist/components/content/useDragToSelect.d.ts.map +1 -0
- package/dist/components/content/useDragToSelect.js +190 -0
- package/dist/components/content/useDragToSelect.js.map +1 -0
- package/dist/components/date-time/Calendar.d.ts +67 -0
- package/dist/components/date-time/Calendar.d.ts.map +1 -0
- package/dist/components/date-time/Calendar.js +28 -0
- package/dist/components/date-time/Calendar.js.map +1 -0
- package/dist/components/date-time/DatePicker.d.ts +57 -0
- package/dist/components/date-time/DatePicker.d.ts.map +1 -0
- package/dist/components/date-time/DatePicker.js +37 -0
- package/dist/components/date-time/DatePicker.js.map +1 -0
- package/dist/components/date-time/DateRangePicker.d.ts +91 -0
- package/dist/components/date-time/DateRangePicker.d.ts.map +1 -0
- package/dist/components/date-time/DateRangePicker.js +72 -0
- package/dist/components/date-time/DateRangePicker.js.map +1 -0
- package/dist/components/date-time/DateTimePicker.d.ts +55 -0
- package/dist/components/date-time/DateTimePicker.d.ts.map +1 -0
- package/dist/components/date-time/DateTimePicker.js +9 -0
- package/dist/components/date-time/DateTimePicker.js.map +1 -0
- package/dist/components/date-time/RangeCalendar.d.ts +50 -0
- package/dist/components/date-time/RangeCalendar.d.ts.map +1 -0
- package/dist/components/date-time/RangeCalendar.js +17 -0
- package/dist/components/date-time/RangeCalendar.js.map +1 -0
- package/dist/components/date-time/TimePicker.d.ts +47 -0
- package/dist/components/date-time/TimePicker.d.ts.map +1 -0
- package/dist/components/date-time/TimePicker.js +148 -0
- package/dist/components/date-time/TimePicker.js.map +1 -0
- package/dist/components/inputs/Checkbox.d.ts +140 -0
- package/dist/components/inputs/Checkbox.d.ts.map +1 -0
- package/dist/components/inputs/Checkbox.js +29 -0
- package/dist/components/inputs/Checkbox.js.map +1 -0
- package/dist/components/inputs/CheckboxCard.d.ts +17 -0
- package/dist/components/inputs/CheckboxCard.d.ts.map +1 -0
- package/dist/components/inputs/CheckboxCard.js +25 -0
- package/dist/components/inputs/CheckboxCard.js.map +1 -0
- package/dist/components/inputs/CheckboxGroup.d.ts +68 -0
- package/dist/components/inputs/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/inputs/CheckboxGroup.js +14 -0
- package/dist/components/inputs/CheckboxGroup.js.map +1 -0
- package/dist/components/inputs/ChoiceCardBody.d.ts +16 -0
- package/dist/components/inputs/ChoiceCardBody.d.ts.map +1 -0
- package/dist/components/inputs/ChoiceCardBody.js +10 -0
- package/dist/components/inputs/ChoiceCardBody.js.map +1 -0
- package/dist/components/inputs/ColorPicker.d.ts +71 -0
- package/dist/components/inputs/ColorPicker.d.ts.map +1 -0
- package/dist/components/inputs/ColorPicker.js +30 -0
- package/dist/components/inputs/ColorPicker.js.map +1 -0
- package/dist/components/inputs/Combobox.d.ts +41 -0
- package/dist/components/inputs/Combobox.d.ts.map +1 -0
- package/dist/components/inputs/Combobox.js +16 -0
- package/dist/components/inputs/Combobox.js.map +1 -0
- package/dist/components/inputs/FileDropzone.d.ts +51 -0
- package/dist/components/inputs/FileDropzone.d.ts.map +1 -0
- package/dist/components/inputs/FileDropzone.js +75 -0
- package/dist/components/inputs/FileDropzone.js.map +1 -0
- package/dist/components/inputs/Form.d.ts +50 -0
- package/dist/components/inputs/Form.d.ts.map +1 -0
- package/dist/components/inputs/Form.js +14 -0
- package/dist/components/inputs/Form.js.map +1 -0
- package/dist/components/inputs/FormField.d.ts +89 -0
- package/dist/components/inputs/FormField.d.ts.map +1 -0
- package/dist/components/inputs/FormField.js +24 -0
- package/dist/components/inputs/FormField.js.map +1 -0
- package/dist/components/inputs/FormLayout.d.ts +47 -0
- package/dist/components/inputs/FormLayout.d.ts.map +1 -0
- package/dist/components/inputs/FormLayout.js +12 -0
- package/dist/components/inputs/FormLayout.js.map +1 -0
- package/dist/components/inputs/InlineEdit.d.ts +50 -0
- package/dist/components/inputs/InlineEdit.d.ts.map +1 -0
- package/dist/components/inputs/InlineEdit.js +70 -0
- package/dist/components/inputs/InlineEdit.js.map +1 -0
- package/dist/components/inputs/MaskedInput.d.ts +66 -0
- package/dist/components/inputs/MaskedInput.d.ts.map +1 -0
- package/dist/components/inputs/MaskedInput.js +73 -0
- package/dist/components/inputs/MaskedInput.js.map +1 -0
- package/dist/components/inputs/NumberInput.d.ts +53 -0
- package/dist/components/inputs/NumberInput.d.ts.map +1 -0
- package/dist/components/inputs/NumberInput.js +17 -0
- package/dist/components/inputs/NumberInput.js.map +1 -0
- package/dist/components/inputs/PasswordInput.d.ts +49 -0
- package/dist/components/inputs/PasswordInput.d.ts.map +1 -0
- package/dist/components/inputs/PasswordInput.js +49 -0
- package/dist/components/inputs/PasswordInput.js.map +1 -0
- package/dist/components/inputs/PhoneInput.d.ts +35 -0
- package/dist/components/inputs/PhoneInput.d.ts.map +1 -0
- package/dist/components/inputs/PhoneInput.js +9 -0
- package/dist/components/inputs/PhoneInput.js.map +1 -0
- package/dist/components/inputs/PinInput.d.ts +50 -0
- package/dist/components/inputs/PinInput.d.ts.map +1 -0
- package/dist/components/inputs/PinInput.js +67 -0
- package/dist/components/inputs/PinInput.js.map +1 -0
- package/dist/components/inputs/RadioGroup.d.ts +86 -0
- package/dist/components/inputs/RadioGroup.d.ts.map +1 -0
- package/dist/components/inputs/RadioGroup.js +51 -0
- package/dist/components/inputs/RadioGroup.js.map +1 -0
- package/dist/components/inputs/Rating.d.ts +69 -0
- package/dist/components/inputs/Rating.d.ts.map +1 -0
- package/dist/components/inputs/Rating.js +51 -0
- package/dist/components/inputs/Rating.js.map +1 -0
- package/dist/components/inputs/SearchControl.d.ts +85 -0
- package/dist/components/inputs/SearchControl.d.ts.map +1 -0
- package/dist/components/inputs/SearchControl.js +62 -0
- package/dist/components/inputs/SearchControl.js.map +1 -0
- package/dist/components/inputs/Select.d.ts +205 -0
- package/dist/components/inputs/Select.d.ts.map +1 -0
- package/dist/components/inputs/Select.js +136 -0
- package/dist/components/inputs/Select.js.map +1 -0
- package/dist/components/inputs/Slider.d.ts +59 -0
- package/dist/components/inputs/Slider.d.ts.map +1 -0
- package/dist/components/inputs/Slider.js +153 -0
- package/dist/components/inputs/Slider.js.map +1 -0
- package/dist/components/inputs/SwatchGroup.d.ts +101 -0
- package/dist/components/inputs/SwatchGroup.d.ts.map +1 -0
- package/dist/components/inputs/SwatchGroup.js +57 -0
- package/dist/components/inputs/SwatchGroup.js.map +1 -0
- package/dist/components/inputs/TagInput.d.ts +45 -0
- package/dist/components/inputs/TagInput.d.ts.map +1 -0
- package/dist/components/inputs/TagInput.js +56 -0
- package/dist/components/inputs/TagInput.js.map +1 -0
- package/dist/components/inputs/TextControl.d.ts +101 -0
- package/dist/components/inputs/TextControl.d.ts.map +1 -0
- package/dist/components/inputs/TextControl.js +31 -0
- package/dist/components/inputs/TextControl.js.map +1 -0
- package/dist/components/inputs/Transfer.d.ts +84 -0
- package/dist/components/inputs/Transfer.d.ts.map +1 -0
- package/dist/components/inputs/Transfer.js +112 -0
- package/dist/components/inputs/Transfer.js.map +1 -0
- package/dist/components/inputs/TreeSelect.d.ts +73 -0
- package/dist/components/inputs/TreeSelect.d.ts.map +1 -0
- package/dist/components/inputs/TreeSelect.js +60 -0
- package/dist/components/inputs/TreeSelect.js.map +1 -0
- package/dist/components/inputs/UploadQueue.d.ts +84 -0
- package/dist/components/inputs/UploadQueue.d.ts.map +1 -0
- package/dist/components/inputs/UploadQueue.js +30 -0
- package/dist/components/inputs/UploadQueue.js.map +1 -0
- package/dist/components/navigation/Accordion.d.ts +44 -0
- package/dist/components/navigation/Accordion.d.ts.map +1 -0
- package/dist/components/navigation/Accordion.js +12 -0
- package/dist/components/navigation/Accordion.js.map +1 -0
- package/dist/components/navigation/Breadcrumbs.d.ts +35 -0
- package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumbs.js +17 -0
- package/dist/components/navigation/Breadcrumbs.js.map +1 -0
- package/dist/components/navigation/ContextualSaveBar.d.ts +90 -0
- package/dist/components/navigation/ContextualSaveBar.d.ts.map +1 -0
- package/dist/components/navigation/ContextualSaveBar.js +20 -0
- package/dist/components/navigation/ContextualSaveBar.js.map +1 -0
- package/dist/components/navigation/PageHeader.d.ts +17 -0
- package/dist/components/navigation/PageHeader.d.ts.map +1 -0
- package/dist/components/navigation/PageHeader.js +8 -0
- package/dist/components/navigation/PageHeader.js.map +1 -0
- package/dist/components/navigation/Pagination.d.ts +44 -0
- package/dist/components/navigation/Pagination.d.ts.map +1 -0
- package/dist/components/navigation/Pagination.js +57 -0
- package/dist/components/navigation/Pagination.js.map +1 -0
- package/dist/components/navigation/SectionHeader.d.ts +32 -0
- package/dist/components/navigation/SectionHeader.d.ts.map +1 -0
- package/dist/components/navigation/SectionHeader.js +13 -0
- package/dist/components/navigation/SectionHeader.js.map +1 -0
- package/dist/components/navigation/SelectionBar.d.ts +65 -0
- package/dist/components/navigation/SelectionBar.d.ts.map +1 -0
- package/dist/components/navigation/SelectionBar.js +24 -0
- package/dist/components/navigation/SelectionBar.js.map +1 -0
- package/dist/components/navigation/Stepper.d.ts +45 -0
- package/dist/components/navigation/Stepper.d.ts.map +1 -0
- package/dist/components/navigation/Stepper.js +16 -0
- package/dist/components/navigation/Stepper.js.map +1 -0
- package/dist/components/navigation/Tabs.d.ts +45 -0
- package/dist/components/navigation/Tabs.d.ts.map +1 -0
- package/dist/components/navigation/Tabs.js +51 -0
- package/dist/components/navigation/Tabs.js.map +1 -0
- package/dist/components/navigation/TreeView.d.ts +101 -0
- package/dist/components/navigation/TreeView.d.ts.map +1 -0
- package/dist/components/navigation/TreeView.js +27 -0
- package/dist/components/navigation/TreeView.js.map +1 -0
- package/dist/components/overlays/CommandPalette.d.ts +115 -0
- package/dist/components/overlays/CommandPalette.d.ts.map +1 -0
- package/dist/components/overlays/CommandPalette.js +43 -0
- package/dist/components/overlays/CommandPalette.js.map +1 -0
- package/dist/components/overlays/ConfirmDialog.d.ts +67 -0
- package/dist/components/overlays/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/overlays/ConfirmDialog.js +47 -0
- package/dist/components/overlays/ConfirmDialog.js.map +1 -0
- package/dist/components/overlays/ContextMenu.d.ts +122 -0
- package/dist/components/overlays/ContextMenu.d.ts.map +1 -0
- package/dist/components/overlays/ContextMenu.js +39 -0
- package/dist/components/overlays/ContextMenu.js.map +1 -0
- package/dist/components/overlays/Dialog.d.ts +113 -0
- package/dist/components/overlays/Dialog.d.ts.map +1 -0
- package/dist/components/overlays/Dialog.js +43 -0
- package/dist/components/overlays/Dialog.js.map +1 -0
- package/dist/components/overlays/Drawer.d.ts +53 -0
- package/dist/components/overlays/Drawer.d.ts.map +1 -0
- package/dist/components/overlays/Drawer.js +32 -0
- package/dist/components/overlays/Drawer.js.map +1 -0
- package/dist/components/overlays/HelpTooltip.d.ts +41 -0
- package/dist/components/overlays/HelpTooltip.d.ts.map +1 -0
- package/dist/components/overlays/HelpTooltip.js +10 -0
- package/dist/components/overlays/HelpTooltip.js.map +1 -0
- package/dist/components/overlays/HoverCard.d.ts +62 -0
- package/dist/components/overlays/HoverCard.d.ts.map +1 -0
- package/dist/components/overlays/HoverCard.js +175 -0
- package/dist/components/overlays/HoverCard.js.map +1 -0
- package/dist/components/overlays/Menu.d.ts +113 -0
- package/dist/components/overlays/Menu.d.ts.map +1 -0
- package/dist/components/overlays/Menu.js +26 -0
- package/dist/components/overlays/Menu.js.map +1 -0
- package/dist/components/overlays/ModalHeader.d.ts +77 -0
- package/dist/components/overlays/ModalHeader.d.ts.map +1 -0
- package/dist/components/overlays/ModalHeader.js +11 -0
- package/dist/components/overlays/ModalHeader.js.map +1 -0
- package/dist/components/overlays/ModalOverlay.d.ts +45 -0
- package/dist/components/overlays/ModalOverlay.d.ts.map +1 -0
- package/dist/components/overlays/ModalOverlay.js +29 -0
- package/dist/components/overlays/ModalOverlay.js.map +1 -0
- package/dist/components/overlays/Popover.d.ts +56 -0
- package/dist/components/overlays/Popover.d.ts.map +1 -0
- package/dist/components/overlays/Popover.js +16 -0
- package/dist/components/overlays/Popover.js.map +1 -0
- package/dist/components/overlays/ShortcutsHelp.d.ts +70 -0
- package/dist/components/overlays/ShortcutsHelp.d.ts.map +1 -0
- package/dist/components/overlays/ShortcutsHelp.js +20 -0
- package/dist/components/overlays/ShortcutsHelp.js.map +1 -0
- package/dist/components/overlays/Tooltip.d.ts +35 -0
- package/dist/components/overlays/Tooltip.d.ts.map +1 -0
- package/dist/components/overlays/Tooltip.js +18 -0
- package/dist/components/overlays/Tooltip.js.map +1 -0
- package/dist/components/table/DataTable.d.ts +60 -0
- package/dist/components/table/DataTable.d.ts.map +1 -0
- package/dist/components/table/DataTable.js +20 -0
- package/dist/components/table/DataTable.js.map +1 -0
- package/dist/components/table/FilterBar.d.ts +35 -0
- package/dist/components/table/FilterBar.d.ts.map +1 -0
- package/dist/components/table/FilterBar.js +17 -0
- package/dist/components/table/FilterBar.js.map +1 -0
- package/dist/components/table/FilterBarAdd.d.ts +57 -0
- package/dist/components/table/FilterBarAdd.d.ts.map +1 -0
- package/dist/components/table/FilterBarAdd.js +83 -0
- package/dist/components/table/FilterBarAdd.js.map +1 -0
- package/dist/components/table/SavedViews.d.ts +83 -0
- package/dist/components/table/SavedViews.d.ts.map +1 -0
- package/dist/components/table/SavedViews.js +12 -0
- package/dist/components/table/SavedViews.js.map +1 -0
- package/dist/components/table/TablePreferences.d.ts +45 -0
- package/dist/components/table/TablePreferences.d.ts.map +1 -0
- package/dist/components/table/TablePreferences.js +41 -0
- package/dist/components/table/TablePreferences.js.map +1 -0
- package/dist/components/table/TableToolbar.d.ts +38 -0
- package/dist/components/table/TableToolbar.d.ts.map +1 -0
- package/dist/components/table/TableToolbar.js +11 -0
- package/dist/components/table/TableToolbar.js.map +1 -0
- package/dist/editor/RichTextEditor.d.ts +274 -0
- package/dist/editor/RichTextEditor.d.ts.map +1 -0
- package/dist/editor/RichTextEditor.js +671 -0
- package/dist/editor/RichTextEditor.js.map +1 -0
- package/dist/editor/RichTextView.d.ts +70 -0
- package/dist/editor/RichTextView.d.ts.map +1 -0
- package/dist/editor/RichTextView.js +24 -0
- package/dist/editor/RichTextView.js.map +1 -0
- package/dist/editor/core/atomText.d.ts +21 -0
- package/dist/editor/core/atomText.d.ts.map +1 -0
- package/dist/editor/core/atomText.js +77 -0
- package/dist/editor/core/atomText.js.map +1 -0
- package/dist/editor/core/blockCommands.d.ts +94 -0
- package/dist/editor/core/blockCommands.d.ts.map +1 -0
- package/dist/editor/core/blockCommands.js +188 -0
- package/dist/editor/core/blockCommands.js.map +1 -0
- package/dist/editor/core/blockTypes.d.ts +89 -0
- package/dist/editor/core/blockTypes.d.ts.map +1 -0
- package/dist/editor/core/blockTypes.js +121 -0
- package/dist/editor/core/blockTypes.js.map +1 -0
- package/dist/editor/core/containers.d.ts +43 -0
- package/dist/editor/core/containers.d.ts.map +1 -0
- package/dist/editor/core/containers.js +52 -0
- package/dist/editor/core/containers.js.map +1 -0
- package/dist/editor/core/customMarkdown.d.ts +8 -0
- package/dist/editor/core/customMarkdown.d.ts.map +1 -0
- package/dist/editor/core/customMarkdown.js +34 -0
- package/dist/editor/core/customMarkdown.js.map +1 -0
- package/dist/editor/core/customTool.d.ts +407 -0
- package/dist/editor/core/customTool.d.ts.map +1 -0
- package/dist/editor/core/customTool.js +31 -0
- package/dist/editor/core/customTool.js.map +1 -0
- package/dist/editor/core/customToolEngine.d.ts +31 -0
- package/dist/editor/core/customToolEngine.d.ts.map +1 -0
- package/dist/editor/core/customToolEngine.js +324 -0
- package/dist/editor/core/customToolEngine.js.map +1 -0
- package/dist/editor/core/document.d.ts +17 -0
- package/dist/editor/core/document.d.ts.map +1 -0
- package/dist/editor/core/document.js +11 -0
- package/dist/editor/core/document.js.map +1 -0
- package/dist/editor/core/emptiness.d.ts +18 -0
- package/dist/editor/core/emptiness.d.ts.map +1 -0
- package/dist/editor/core/emptiness.js +14 -0
- package/dist/editor/core/emptiness.js.map +1 -0
- package/dist/editor/core/extensions.d.ts +78 -0
- package/dist/editor/core/extensions.d.ts.map +1 -0
- package/dist/editor/core/extensions.js +134 -0
- package/dist/editor/core/extensions.js.map +1 -0
- package/dist/editor/core/fieldNotice.d.ts +48 -0
- package/dist/editor/core/fieldNotice.d.ts.map +1 -0
- package/dist/editor/core/fieldNotice.js +18 -0
- package/dist/editor/core/fieldNotice.js.map +1 -0
- package/dist/editor/core/handle.d.ts +110 -0
- package/dist/editor/core/handle.d.ts.map +1 -0
- package/dist/editor/core/handle.js +149 -0
- package/dist/editor/core/handle.js.map +1 -0
- package/dist/editor/core/insertItems.d.ts +147 -0
- package/dist/editor/core/insertItems.d.ts.map +1 -0
- package/dist/editor/core/insertItems.js +215 -0
- package/dist/editor/core/insertItems.js.map +1 -0
- package/dist/editor/core/jsonDocument.d.ts +42 -0
- package/dist/editor/core/jsonDocument.d.ts.map +1 -0
- package/dist/editor/core/jsonDocument.js +44 -0
- package/dist/editor/core/jsonDocument.js.map +1 -0
- package/dist/editor/core/markdown.d.ts +47 -0
- package/dist/editor/core/markdown.d.ts.map +1 -0
- package/dist/editor/core/markdown.js +169 -0
- package/dist/editor/core/markdown.js.map +1 -0
- package/dist/editor/core/maxLength.d.ts +43 -0
- package/dist/editor/core/maxLength.d.ts.map +1 -0
- package/dist/editor/core/maxLength.js +45 -0
- package/dist/editor/core/maxLength.js.map +1 -0
- package/dist/editor/core/pasteTrim.d.ts +8 -0
- package/dist/editor/core/pasteTrim.d.ts.map +1 -0
- package/dist/editor/core/pasteTrim.js +61 -0
- package/dist/editor/core/pasteTrim.js.map +1 -0
- package/dist/editor/core/schema.d.ts +479 -0
- package/dist/editor/core/schema.d.ts.map +1 -0
- package/dist/editor/core/schema.js +371 -0
- package/dist/editor/core/schema.js.map +1 -0
- package/dist/editor/core/schemaConform.d.ts +30 -0
- package/dist/editor/core/schemaConform.d.ts.map +1 -0
- package/dist/editor/core/schemaConform.js +72 -0
- package/dist/editor/core/schemaConform.js.map +1 -0
- package/dist/editor/core/shortcuts.d.ts +110 -0
- package/dist/editor/core/shortcuts.d.ts.map +1 -0
- package/dist/editor/core/shortcuts.js +299 -0
- package/dist/editor/core/shortcuts.js.map +1 -0
- package/dist/editor/core/skeleton.d.ts +11 -0
- package/dist/editor/core/skeleton.d.ts.map +1 -0
- package/dist/editor/core/skeleton.js +48 -0
- package/dist/editor/core/skeleton.js.map +1 -0
- package/dist/editor/core/slashCommand.d.ts +46 -0
- package/dist/editor/core/slashCommand.d.ts.map +1 -0
- package/dist/editor/core/slashCommand.js +67 -0
- package/dist/editor/core/slashCommand.js.map +1 -0
- package/dist/editor/core/sourceFormat.d.ts +30 -0
- package/dist/editor/core/sourceFormat.d.ts.map +1 -0
- package/dist/editor/core/sourceFormat.js +136 -0
- package/dist/editor/core/sourceFormat.js.map +1 -0
- package/dist/editor/core/toolButtons.d.ts +58 -0
- package/dist/editor/core/toolButtons.d.ts.map +1 -0
- package/dist/editor/core/toolButtons.js +64 -0
- package/dist/editor/core/toolButtons.js.map +1 -0
- package/dist/editor/core/toolDescriptor.d.ts +304 -0
- package/dist/editor/core/toolDescriptor.d.ts.map +1 -0
- package/dist/editor/core/toolDescriptor.js +29 -0
- package/dist/editor/core/toolDescriptor.js.map +1 -0
- package/dist/editor/core/toolEntryShortcuts.d.ts +20 -0
- package/dist/editor/core/toolEntryShortcuts.d.ts.map +1 -0
- package/dist/editor/core/toolEntryShortcuts.js +46 -0
- package/dist/editor/core/toolEntryShortcuts.js.map +1 -0
- package/dist/editor/core/toolLoader.d.ts +14 -0
- package/dist/editor/core/toolLoader.d.ts.map +1 -0
- package/dist/editor/core/toolLoader.js +20 -0
- package/dist/editor/core/toolLoader.js.map +1 -0
- package/dist/editor/core/tools.d.ts +90 -0
- package/dist/editor/core/tools.d.ts.map +1 -0
- package/dist/editor/core/tools.js +56 -0
- package/dist/editor/core/tools.js.map +1 -0
- package/dist/editor/core/viewIsland.d.ts +17 -0
- package/dist/editor/core/viewIsland.d.ts.map +1 -0
- package/dist/editor/core/viewIsland.js +4 -0
- package/dist/editor/core/viewIsland.js.map +1 -0
- package/dist/editor/features/builtins.d.ts +25 -0
- package/dist/editor/features/builtins.d.ts.map +1 -0
- package/dist/editor/features/builtins.js +88 -0
- package/dist/editor/features/builtins.js.map +1 -0
- package/dist/editor/features/code/CodeBlockView.d.ts +38 -0
- package/dist/editor/features/code/CodeBlockView.d.ts.map +1 -0
- package/dist/editor/features/code/CodeBlockView.js +98 -0
- package/dist/editor/features/code/CodeBlockView.js.map +1 -0
- package/dist/editor/features/code/CodeCopyButton.d.ts +20 -0
- package/dist/editor/features/code/CodeCopyButton.d.ts.map +1 -0
- package/dist/editor/features/code/CodeCopyButton.js +29 -0
- package/dist/editor/features/code/CodeCopyButton.js.map +1 -0
- package/dist/editor/features/code/CodeCopyIsland.d.ts +37 -0
- package/dist/editor/features/code/CodeCopyIsland.d.ts.map +1 -0
- package/dist/editor/features/code/CodeCopyIsland.js +21 -0
- package/dist/editor/features/code/CodeCopyIsland.js.map +1 -0
- package/dist/editor/features/code/codeBlock.d.ts +25 -0
- package/dist/editor/features/code/codeBlock.d.ts.map +1 -0
- package/dist/editor/features/code/codeBlock.js +116 -0
- package/dist/editor/features/code/codeBlock.js.map +1 -0
- package/dist/editor/features/code/codeBlockTool.d.ts +24 -0
- package/dist/editor/features/code/codeBlockTool.d.ts.map +1 -0
- package/dist/editor/features/code/codeBlockTool.js +66 -0
- package/dist/editor/features/code/codeBlockTool.js.map +1 -0
- package/dist/editor/features/code/codeHeader.d.ts +41 -0
- package/dist/editor/features/code/codeHeader.d.ts.map +1 -0
- package/dist/editor/features/code/codeHeader.js +25 -0
- package/dist/editor/features/code/codeHeader.js.map +1 -0
- package/dist/editor/features/code/codeLanguages.d.ts +76 -0
- package/dist/editor/features/code/codeLanguages.d.ts.map +1 -0
- package/dist/editor/features/code/codeLanguages.js +24 -0
- package/dist/editor/features/code/codeLanguages.js.map +1 -0
- package/dist/editor/features/code/highlight.d.ts +20 -0
- package/dist/editor/features/code/highlight.d.ts.map +1 -0
- package/dist/editor/features/code/highlight.js +51 -0
- package/dist/editor/features/code/highlight.js.map +1 -0
- package/dist/editor/features/code/highlightNodes.d.ts +31 -0
- package/dist/editor/features/code/highlightNodes.d.ts.map +1 -0
- package/dist/editor/features/code/highlightNodes.js +25 -0
- package/dist/editor/features/code/highlightNodes.js.map +1 -0
- package/dist/editor/features/code/lowlight.d.ts +20 -0
- package/dist/editor/features/code/lowlight.d.ts.map +1 -0
- package/dist/editor/features/code/lowlight.js +26 -0
- package/dist/editor/features/code/lowlight.js.map +1 -0
- package/dist/editor/features/color/CustomColorPopover.d.ts +40 -0
- package/dist/editor/features/color/CustomColorPopover.d.ts.map +1 -0
- package/dist/editor/features/color/CustomColorPopover.js +70 -0
- package/dist/editor/features/color/CustomColorPopover.js.map +1 -0
- package/dist/editor/features/color/contrast.d.ts +26 -0
- package/dist/editor/features/color/contrast.d.ts.map +1 -0
- package/dist/editor/features/color/contrast.js +27 -0
- package/dist/editor/features/color/contrast.js.map +1 -0
- package/dist/editor/features/color/customColor.d.ts +65 -0
- package/dist/editor/features/color/customColor.d.ts.map +1 -0
- package/dist/editor/features/color/customColor.js +29 -0
- package/dist/editor/features/color/customColor.js.map +1 -0
- package/dist/editor/features/color/styleExtensions.d.ts +28 -0
- package/dist/editor/features/color/styleExtensions.d.ts.map +1 -0
- package/dist/editor/features/color/styleExtensions.js +172 -0
- package/dist/editor/features/color/styleExtensions.js.map +1 -0
- package/dist/editor/features/emoji/EmojiGrid.d.ts +34 -0
- package/dist/editor/features/emoji/EmojiGrid.d.ts.map +1 -0
- package/dist/editor/features/emoji/EmojiGrid.js +71 -0
- package/dist/editor/features/emoji/EmojiGrid.js.map +1 -0
- package/dist/editor/features/emoji/emoji.d.ts +47 -0
- package/dist/editor/features/emoji/emoji.d.ts.map +1 -0
- package/dist/editor/features/emoji/emoji.js +108 -0
- package/dist/editor/features/emoji/emoji.js.map +1 -0
- package/dist/editor/features/emoji/emojiTool.d.ts +32 -0
- package/dist/editor/features/emoji/emojiTool.d.ts.map +1 -0
- package/dist/editor/features/emoji/emojiTool.js +34 -0
- package/dist/editor/features/emoji/emojiTool.js.map +1 -0
- package/dist/editor/features/image/ImagePopover.d.ts +29 -0
- package/dist/editor/features/image/ImagePopover.d.ts.map +1 -0
- package/dist/editor/features/image/ImagePopover.js +89 -0
- package/dist/editor/features/image/ImagePopover.js.map +1 -0
- package/dist/editor/features/image/ImageToolbar.d.ts +25 -0
- package/dist/editor/features/image/ImageToolbar.d.ts.map +1 -0
- package/dist/editor/features/image/ImageToolbar.js +49 -0
- package/dist/editor/features/image/ImageToolbar.js.map +1 -0
- package/dist/editor/features/image/image.d.ts +115 -0
- package/dist/editor/features/image/image.d.ts.map +1 -0
- package/dist/editor/features/image/image.js +539 -0
- package/dist/editor/features/image/image.js.map +1 -0
- package/dist/editor/features/image/imageNotice.d.ts +6 -0
- package/dist/editor/features/image/imageNotice.d.ts.map +1 -0
- package/dist/editor/features/image/imageNotice.js +16 -0
- package/dist/editor/features/image/imageNotice.js.map +1 -0
- package/dist/editor/features/layout/columnLayouts.d.ts +36 -0
- package/dist/editor/features/layout/columnLayouts.d.ts.map +1 -0
- package/dist/editor/features/layout/columnLayouts.js +33 -0
- package/dist/editor/features/layout/columnLayouts.js.map +1 -0
- package/dist/editor/features/layout/layout.d.ts +81 -0
- package/dist/editor/features/layout/layout.d.ts.map +1 -0
- package/dist/editor/features/layout/layout.js +318 -0
- package/dist/editor/features/layout/layout.js.map +1 -0
- package/dist/editor/features/link/LinkPopover.d.ts +21 -0
- package/dist/editor/features/link/LinkPopover.d.ts.map +1 -0
- package/dist/editor/features/link/LinkPopover.js +54 -0
- package/dist/editor/features/link/LinkPopover.js.map +1 -0
- package/dist/editor/features/link/link.d.ts +41 -0
- package/dist/editor/features/link/link.d.ts.map +1 -0
- package/dist/editor/features/link/link.js +66 -0
- package/dist/editor/features/link/link.js.map +1 -0
- package/dist/editor/features/link/linkTool.d.ts +13 -0
- package/dist/editor/features/link/linkTool.d.ts.map +1 -0
- package/dist/editor/features/link/linkTool.js +25 -0
- package/dist/editor/features/link/linkTool.js.map +1 -0
- package/dist/editor/features/search/SearchPanel.d.ts +31 -0
- package/dist/editor/features/search/SearchPanel.d.ts.map +1 -0
- package/dist/editor/features/search/SearchPanel.js +101 -0
- package/dist/editor/features/search/SearchPanel.js.map +1 -0
- package/dist/editor/features/search/revealMatch.d.ts +25 -0
- package/dist/editor/features/search/revealMatch.d.ts.map +1 -0
- package/dist/editor/features/search/revealMatch.js +41 -0
- package/dist/editor/features/search/revealMatch.js.map +1 -0
- package/dist/editor/features/search/searchMatch.d.ts +53 -0
- package/dist/editor/features/search/searchMatch.d.ts.map +1 -0
- package/dist/editor/features/search/searchMatch.js +67 -0
- package/dist/editor/features/search/searchMatch.js.map +1 -0
- package/dist/editor/features/search/searchPlugin.d.ts +48 -0
- package/dist/editor/features/search/searchPlugin.d.ts.map +1 -0
- package/dist/editor/features/search/searchPlugin.js +151 -0
- package/dist/editor/features/search/searchPlugin.js.map +1 -0
- package/dist/editor/features/search/searchTool.d.ts +13 -0
- package/dist/editor/features/search/searchTool.d.ts.map +1 -0
- package/dist/editor/features/search/searchTool.js +18 -0
- package/dist/editor/features/search/searchTool.js.map +1 -0
- package/dist/editor/features/table/TableInsertDialog.d.ts +29 -0
- package/dist/editor/features/table/TableInsertDialog.d.ts.map +1 -0
- package/dist/editor/features/table/TableInsertDialog.js +37 -0
- package/dist/editor/features/table/TableInsertDialog.js.map +1 -0
- package/dist/editor/features/table/TableMenuButton.d.ts +40 -0
- package/dist/editor/features/table/TableMenuButton.d.ts.map +1 -0
- package/dist/editor/features/table/TableMenuButton.js +97 -0
- package/dist/editor/features/table/TableMenuButton.js.map +1 -0
- package/dist/editor/features/table/TableSizeGrid.d.ts +60 -0
- package/dist/editor/features/table/TableSizeGrid.d.ts.map +1 -0
- package/dist/editor/features/table/TableSizeGrid.js +88 -0
- package/dist/editor/features/table/TableSizeGrid.js.map +1 -0
- package/dist/editor/features/table/tableActions.d.ts +110 -0
- package/dist/editor/features/table/tableActions.d.ts.map +1 -0
- package/dist/editor/features/table/tableActions.js +254 -0
- package/dist/editor/features/table/tableActions.js.map +1 -0
- package/dist/editor/features/table/tableCells.d.ts +41 -0
- package/dist/editor/features/table/tableCells.d.ts.map +1 -0
- package/dist/editor/features/table/tableCells.js +38 -0
- package/dist/editor/features/table/tableCells.js.map +1 -0
- package/dist/editor/features/table/tableChunk.d.ts +4 -0
- package/dist/editor/features/table/tableChunk.d.ts.map +1 -0
- package/dist/editor/features/table/tableChunk.js +5 -0
- package/dist/editor/features/table/tableChunk.js.map +1 -0
- package/dist/editor/features/table/tableTool.d.ts +22 -0
- package/dist/editor/features/table/tableTool.d.ts.map +1 -0
- package/dist/editor/features/table/tableTool.js +42 -0
- package/dist/editor/features/table/tableTool.js.map +1 -0
- package/dist/editor/features/table/tables.d.ts +79 -0
- package/dist/editor/features/table/tables.d.ts.map +1 -0
- package/dist/editor/features/table/tables.js +118 -0
- package/dist/editor/features/table/tables.js.map +1 -0
- package/dist/editor/features/wrapper/wrapper.d.ts +73 -0
- package/dist/editor/features/wrapper/wrapper.d.ts.map +1 -0
- package/dist/editor/features/wrapper/wrapper.js +198 -0
- package/dist/editor/features/wrapper/wrapper.js.map +1 -0
- package/dist/editor/features/wrapper/wrapperTones.d.ts +39 -0
- package/dist/editor/features/wrapper/wrapperTones.d.ts.map +1 -0
- package/dist/editor/features/wrapper/wrapperTones.js +19 -0
- package/dist/editor/features/wrapper/wrapperTones.js.map +1 -0
- package/dist/editor/highlight-entry.d.ts +24 -0
- package/dist/editor/highlight-entry.d.ts.map +1 -0
- package/dist/editor/highlight-entry.js +3 -0
- package/dist/editor/highlight-entry.js.map +1 -0
- package/dist/editor/hooks/useChangeThrottle.d.ts +24 -0
- package/dist/editor/hooks/useChangeThrottle.d.ts.map +1 -0
- package/dist/editor/hooks/useChangeThrottle.js +35 -0
- package/dist/editor/hooks/useChangeThrottle.js.map +1 -0
- package/dist/editor/hooks/useCoarsePointer.d.ts +17 -0
- package/dist/editor/hooks/useCoarsePointer.d.ts.map +1 -0
- package/dist/editor/hooks/useCoarsePointer.js +19 -0
- package/dist/editor/hooks/useCoarsePointer.js.map +1 -0
- package/dist/editor/hooks/useFieldsetDisabled.d.ts +22 -0
- package/dist/editor/hooks/useFieldsetDisabled.d.ts.map +1 -0
- package/dist/editor/hooks/useFieldsetDisabled.js +29 -0
- package/dist/editor/hooks/useFieldsetDisabled.js.map +1 -0
- package/dist/editor/hooks/useRichTextEditorState.d.ts +25 -0
- package/dist/editor/hooks/useRichTextEditorState.d.ts.map +1 -0
- package/dist/editor/hooks/useRichTextEditorState.js +17 -0
- package/dist/editor/hooks/useRichTextEditorState.js.map +1 -0
- package/dist/editor/hooks/useSubmenuPlacement.d.ts +19 -0
- package/dist/editor/hooks/useSubmenuPlacement.d.ts.map +1 -0
- package/dist/editor/hooks/useSubmenuPlacement.js +20 -0
- package/dist/editor/hooks/useSubmenuPlacement.js.map +1 -0
- package/dist/editor/index.d.ts +32 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +7 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/schema-entry.d.ts +29 -0
- package/dist/editor/schema-entry.d.ts.map +1 -0
- package/dist/editor/schema-entry.js +3 -0
- package/dist/editor/schema-entry.js.map +1 -0
- package/dist/editor/styles/codeTheme.d.ts +49 -0
- package/dist/editor/styles/codeTheme.d.ts.map +1 -0
- package/dist/editor/styles/codeTheme.js +11 -0
- package/dist/editor/styles/codeTheme.js.map +1 -0
- package/dist/editor/styles/glass.d.ts +40 -0
- package/dist/editor/styles/glass.d.ts.map +1 -0
- package/dist/editor/styles/glass.js +15 -0
- package/dist/editor/styles/glass.js.map +1 -0
- package/dist/editor/styles/palette.d.ts +181 -0
- package/dist/editor/styles/palette.d.ts.map +1 -0
- package/dist/editor/styles/palette.js +57 -0
- package/dist/editor/styles/palette.js.map +1 -0
- package/dist/editor/styles/prose.d.ts +56 -0
- package/dist/editor/styles/prose.d.ts.map +1 -0
- package/dist/editor/styles/prose.js +154 -0
- package/dist/editor/styles/prose.js.map +1 -0
- package/dist/editor/styles/surface.d.ts +22 -0
- package/dist/editor/styles/surface.d.ts.map +1 -0
- package/dist/editor/styles/surface.js +4 -0
- package/dist/editor/styles/surface.js.map +1 -0
- package/dist/editor/styles/tokens.d.ts +136 -0
- package/dist/editor/styles/tokens.d.ts.map +1 -0
- package/dist/editor/styles/tokens.js +38 -0
- package/dist/editor/styles/tokens.js.map +1 -0
- package/dist/editor/ui/BlockHandle.d.ts +40 -0
- package/dist/editor/ui/BlockHandle.d.ts.map +1 -0
- package/dist/editor/ui/BlockHandle.js +394 -0
- package/dist/editor/ui/BlockHandle.js.map +1 -0
- package/dist/editor/ui/BlockIsland.d.ts +3 -0
- package/dist/editor/ui/BlockIsland.d.ts.map +1 -0
- package/dist/editor/ui/BlockIsland.js +8 -0
- package/dist/editor/ui/BlockIsland.js.map +1 -0
- package/dist/editor/ui/BlockIslandSlots.d.ts +31 -0
- package/dist/editor/ui/BlockIslandSlots.d.ts.map +1 -0
- package/dist/editor/ui/BlockIslandSlots.js +61 -0
- package/dist/editor/ui/BlockIslandSlots.js.map +1 -0
- package/dist/editor/ui/ColorMenus.d.ts +18 -0
- package/dist/editor/ui/ColorMenus.d.ts.map +1 -0
- package/dist/editor/ui/ColorMenus.js +281 -0
- package/dist/editor/ui/ColorMenus.js.map +1 -0
- package/dist/editor/ui/EditorToolbar.d.ts +71 -0
- package/dist/editor/ui/EditorToolbar.d.ts.map +1 -0
- package/dist/editor/ui/EditorToolbar.js +197 -0
- package/dist/editor/ui/EditorToolbar.js.map +1 -0
- package/dist/editor/ui/FieldResizer.d.ts +22 -0
- package/dist/editor/ui/FieldResizer.d.ts.map +1 -0
- package/dist/editor/ui/FieldResizer.js +75 -0
- package/dist/editor/ui/FieldResizer.js.map +1 -0
- package/dist/editor/ui/FieldStatus.d.ts +32 -0
- package/dist/editor/ui/FieldStatus.d.ts.map +1 -0
- package/dist/editor/ui/FieldStatus.js +15 -0
- package/dist/editor/ui/FieldStatus.js.map +1 -0
- package/dist/editor/ui/FloatingToolbar.d.ts +32 -0
- package/dist/editor/ui/FloatingToolbar.d.ts.map +1 -0
- package/dist/editor/ui/FloatingToolbar.js +17 -0
- package/dist/editor/ui/FloatingToolbar.js.map +1 -0
- package/dist/editor/ui/FormatMenus.d.ts +210 -0
- package/dist/editor/ui/FormatMenus.d.ts.map +1 -0
- package/dist/editor/ui/FormatMenus.js +296 -0
- package/dist/editor/ui/FormatMenus.js.map +1 -0
- package/dist/editor/ui/InsertMenuButton.d.ts +25 -0
- package/dist/editor/ui/InsertMenuButton.d.ts.map +1 -0
- package/dist/editor/ui/InsertMenuButton.js +28 -0
- package/dist/editor/ui/InsertMenuButton.js.map +1 -0
- package/dist/editor/ui/SelectionBubble.d.ts +46 -0
- package/dist/editor/ui/SelectionBubble.d.ts.map +1 -0
- package/dist/editor/ui/SelectionBubble.js +90 -0
- package/dist/editor/ui/SelectionBubble.js.map +1 -0
- package/dist/editor/ui/ShortcutsButton.d.ts +29 -0
- package/dist/editor/ui/ShortcutsButton.d.ts.map +1 -0
- package/dist/editor/ui/ShortcutsButton.js +34 -0
- package/dist/editor/ui/ShortcutsButton.js.map +1 -0
- package/dist/editor/ui/SlashMenu.d.ts +42 -0
- package/dist/editor/ui/SlashMenu.d.ts.map +1 -0
- package/dist/editor/ui/SlashMenu.js +114 -0
- package/dist/editor/ui/SlashMenu.js.map +1 -0
- package/dist/editor/ui/SuggestionList.d.ts +60 -0
- package/dist/editor/ui/SuggestionList.d.ts.map +1 -0
- package/dist/editor/ui/SuggestionList.js +61 -0
- package/dist/editor/ui/SuggestionList.js.map +1 -0
- package/dist/editor/ui/TextCard.d.ts +20 -0
- package/dist/editor/ui/TextCard.d.ts.map +1 -0
- package/dist/editor/ui/TextCard.js +192 -0
- package/dist/editor/ui/TextCard.js.map +1 -0
- package/dist/editor/ui/ToolButtonView.d.ts +58 -0
- package/dist/editor/ui/ToolButtonView.d.ts.map +1 -0
- package/dist/editor/ui/ToolButtonView.js +86 -0
- package/dist/editor/ui/ToolButtonView.js.map +1 -0
- package/dist/editor/ui/TriggerMenu.d.ts +25 -0
- package/dist/editor/ui/TriggerMenu.d.ts.map +1 -0
- package/dist/editor/ui/TriggerMenu.js +180 -0
- package/dist/editor/ui/TriggerMenu.js.map +1 -0
- package/dist/editor/ui/focusWithin.d.ts +22 -0
- package/dist/editor/ui/focusWithin.d.ts.map +1 -0
- package/dist/editor/ui/focusWithin.js +5 -0
- package/dist/editor/ui/focusWithin.js.map +1 -0
- package/dist/editor/ui/lockableMenu.d.ts +28 -0
- package/dist/editor/ui/lockableMenu.d.ts.map +1 -0
- package/dist/editor/ui/lockableMenu.js +17 -0
- package/dist/editor/ui/lockableMenu.js.map +1 -0
- package/dist/editor/ui/rowMarks.d.ts +21 -0
- package/dist/editor/ui/rowMarks.d.ts.map +1 -0
- package/dist/editor/ui/rowMarks.js +35 -0
- package/dist/editor/ui/rowMarks.js.map +1 -0
- package/dist/editor/ui/selectionMenu.d.ts +61 -0
- package/dist/editor/ui/selectionMenu.d.ts.map +1 -0
- package/dist/editor/ui/selectionMenu.js +32 -0
- package/dist/editor/ui/selectionMenu.js.map +1 -0
- package/dist/hooks/useFieldDescription.d.ts +45 -0
- package/dist/hooks/useFieldDescription.d.ts.map +1 -0
- package/dist/hooks/useFieldDescription.js +23 -0
- package/dist/hooks/useFieldDescription.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +25 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +14 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/hooks/useOpenerFocus.d.ts +10 -0
- package/dist/hooks/useOpenerFocus.d.ts.map +1 -0
- package/dist/hooks/useOpenerFocus.js +35 -0
- package/dist/hooks/useOpenerFocus.js.map +1 -0
- package/dist/hooks/useOverlayLayer.d.ts +23 -0
- package/dist/hooks/useOverlayLayer.d.ts.map +1 -0
- package/dist/hooks/useOverlayLayer.js +19 -0
- package/dist/hooks/useOverlayLayer.js.map +1 -0
- package/dist/hooks/useScrollLock.d.ts +3 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/hooks/useScrollLock.js +52 -0
- package/dist/hooks/useScrollLock.js.map +1 -0
- package/dist/hooks/useStickyOffset.d.ts +53 -0
- package/dist/hooks/useStickyOffset.d.ts.map +1 -0
- package/dist/hooks/useStickyOffset.js +91 -0
- package/dist/hooks/useStickyOffset.js.map +1 -0
- package/dist/hooks/useTableState.d.ts +35 -0
- package/dist/hooks/useTableState.d.ts.map +1 -0
- package/dist/hooks/useTableState.js +23 -0
- package/dist/hooks/useTableState.js.map +1 -0
- package/dist/i18n/UiProvider.d.ts +53 -0
- package/dist/i18n/UiProvider.d.ts.map +1 -0
- package/dist/i18n/UiProvider.js +63 -0
- package/dist/i18n/UiProvider.js.map +1 -0
- package/dist/i18n/context.d.ts +26 -0
- package/dist/i18n/context.d.ts.map +1 -0
- package/dist/i18n/context.js +4 -0
- package/dist/i18n/context.js.map +1 -0
- package/dist/i18n/defaults.d.ts +19 -0
- package/dist/i18n/defaults.d.ts.map +1 -0
- package/dist/i18n/defaults.js +574 -0
- package/dist/i18n/defaults.js.map +1 -0
- package/dist/i18n/messages.d.ts +1178 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/i18n/messages.js +2 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/i18n/useMessages.d.ts +26 -0
- package/dist/i18n/useMessages.d.ts.map +1 -0
- package/dist/i18n/useMessages.js +22 -0
- package/dist/i18n/useMessages.js.map +1 -0
- package/dist/icons.d.ts +437 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +2 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +250 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/accessible-name.d.ts +34 -0
- package/dist/lib/accessible-name.d.ts.map +1 -0
- package/dist/lib/accessible-name.js +2 -0
- package/dist/lib/accessible-name.js.map +1 -0
- package/dist/lib/bottom-bar-slot.d.ts +24 -0
- package/dist/lib/bottom-bar-slot.d.ts.map +1 -0
- package/dist/lib/bottom-bar-slot.js +4 -0
- package/dist/lib/bottom-bar-slot.js.map +1 -0
- package/dist/lib/button.d.ts +36 -0
- package/dist/lib/button.d.ts.map +1 -0
- package/dist/lib/button.js +35 -0
- package/dist/lib/button.js.map +1 -0
- package/dist/lib/choice-card.d.ts +64 -0
- package/dist/lib/choice-card.d.ts.map +1 -0
- package/dist/lib/choice-card.js +15 -0
- package/dist/lib/choice-card.js.map +1 -0
- package/dist/lib/clamp.d.ts +17 -0
- package/dist/lib/clamp.d.ts.map +1 -0
- package/dist/lib/clamp.js +4 -0
- package/dist/lib/clamp.js.map +1 -0
- package/dist/lib/cn.d.ts +12 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +14 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/date.d.ts +61 -0
- package/dist/lib/date.d.ts.map +1 -0
- package/dist/lib/date.js +30 -0
- package/dist/lib/date.js.map +1 -0
- package/dist/lib/dev-warn.d.ts +26 -0
- package/dist/lib/dev-warn.d.ts.map +1 -0
- package/dist/lib/dev-warn.js +28 -0
- package/dist/lib/dev-warn.js.map +1 -0
- package/dist/lib/empty.d.ts +35 -0
- package/dist/lib/empty.d.ts.map +1 -0
- package/dist/lib/empty.js +11 -0
- package/dist/lib/empty.js.map +1 -0
- package/dist/lib/field.d.ts +105 -0
- package/dist/lib/field.d.ts.map +1 -0
- package/dist/lib/field.js +18 -0
- package/dist/lib/field.js.map +1 -0
- package/dist/lib/filter-range.d.ts +24 -0
- package/dist/lib/filter-range.d.ts.map +1 -0
- package/dist/lib/filter-range.js +27 -0
- package/dist/lib/filter-range.js.map +1 -0
- package/dist/lib/interaction-modality.d.ts +40 -0
- package/dist/lib/interaction-modality.d.ts.map +1 -0
- package/dist/lib/interaction-modality.js +60 -0
- package/dist/lib/interaction-modality.js.map +1 -0
- package/dist/lib/mask.d.ts +94 -0
- package/dist/lib/mask.d.ts.map +1 -0
- package/dist/lib/mask.js +114 -0
- package/dist/lib/mask.js.map +1 -0
- package/dist/lib/menu.d.ts +85 -0
- package/dist/lib/menu.d.ts.map +1 -0
- package/dist/lib/menu.js +33 -0
- package/dist/lib/menu.js.map +1 -0
- package/dist/lib/overlay-layer.d.ts +101 -0
- package/dist/lib/overlay-layer.d.ts.map +1 -0
- package/dist/lib/overlay-layer.js +40 -0
- package/dist/lib/overlay-layer.js.map +1 -0
- package/dist/lib/period.d.ts +82 -0
- package/dist/lib/period.d.ts.map +1 -0
- package/dist/lib/period.js +58 -0
- package/dist/lib/period.js.map +1 -0
- package/dist/lib/progress-status.d.ts +38 -0
- package/dist/lib/progress-status.d.ts.map +1 -0
- package/dist/lib/progress-status.js +7 -0
- package/dist/lib/progress-status.js.map +1 -0
- package/dist/lib/published-height.d.ts +16 -0
- package/dist/lib/published-height.d.ts.map +1 -0
- package/dist/lib/published-height.js +72 -0
- package/dist/lib/published-height.js.map +1 -0
- package/dist/lib/reorder.d.ts +44 -0
- package/dist/lib/reorder.d.ts.map +1 -0
- package/dist/lib/reorder.js +22 -0
- package/dist/lib/reorder.js.map +1 -0
- package/dist/lib/responsive.d.ts +51 -0
- package/dist/lib/responsive.d.ts.map +1 -0
- package/dist/lib/responsive.js +12 -0
- package/dist/lib/responsive.js.map +1 -0
- package/dist/lib/state.d.ts +25 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +21 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/table-state.d.ts +105 -0
- package/dist/lib/table-state.d.ts.map +1 -0
- package/dist/lib/table-state.js +121 -0
- package/dist/lib/table-state.js.map +1 -0
- package/dist/lib/tag.d.ts +25 -0
- package/dist/lib/tag.d.ts.map +1 -0
- package/dist/lib/tag.js +6 -0
- package/dist/lib/tag.js.map +1 -0
- package/dist/lib/themes.d.ts +54 -0
- package/dist/lib/themes.d.ts.map +1 -0
- package/dist/lib/themes.js +40 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/time.d.ts +35 -0
- package/dist/lib/time.d.ts.map +1 -0
- package/dist/lib/time.js +68 -0
- package/dist/lib/time.js.map +1 -0
- package/dist/lib/toolbar-axis.d.ts +17 -0
- package/dist/lib/toolbar-axis.d.ts.map +1 -0
- package/dist/lib/toolbar-axis.js +10 -0
- package/dist/lib/toolbar-axis.js.map +1 -0
- package/dist/lib/touch.d.ts +16 -0
- package/dist/lib/touch.d.ts.map +1 -0
- package/dist/lib/touch.js +2 -0
- package/dist/lib/touch.js.map +1 -0
- package/dist/lib/variants.d.ts +204 -0
- package/dist/lib/variants.d.ts.map +1 -0
- package/dist/lib/variants.js +127 -0
- package/dist/lib/variants.js.map +1 -0
- package/dist/locales/en.d.ts +11 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +3 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/ru.d.ts +5 -0
- package/dist/locales/ru.d.ts.map +1 -0
- package/dist/locales/ru.js +591 -0
- package/dist/locales/ru.js.map +1 -0
- package/docs/accessibility.en.md +79 -0
- package/docs/accessibility.md +73 -0
- package/docs/api/editor-extension.en.md +309 -0
- package/docs/api/editor-extension.md +308 -0
- package/docs/api/messages.md +750 -0
- package/docs/api/migration-notes.en.md +885 -0
- package/docs/api/migration-notes.md +890 -0
- package/docs/api/utilities.md +252 -0
- package/docs/component-selection.en.md +48 -0
- package/docs/component-selection.md +44 -0
- package/docs/components/actions/button.en.md +59 -0
- package/docs/components/actions/button.md +58 -0
- package/docs/components/actions/chip.en.md +47 -0
- package/docs/components/actions/chip.md +46 -0
- package/docs/components/actions/copy-and-truncate.en.md +98 -0
- package/docs/components/actions/copy-and-truncate.md +96 -0
- package/docs/components/actions/feedback.en.md +69 -0
- package/docs/components/actions/feedback.md +68 -0
- package/docs/components/actions/split-button.en.md +76 -0
- package/docs/components/actions/split-button.md +75 -0
- package/docs/components/actions/toggles.en.md +139 -0
- package/docs/components/actions/toggles.md +136 -0
- package/docs/components/actions/toolbar.en.md +197 -0
- package/docs/components/actions/toolbar.md +192 -0
- package/docs/components/app-shell/app-shell.en.md +172 -0
- package/docs/components/app-shell/app-shell.md +172 -0
- package/docs/components/app-shell/mobile-tab-bar.en.md +207 -0
- package/docs/components/app-shell/mobile-tab-bar.md +210 -0
- package/docs/components/app-shell/side-nav.en.md +153 -0
- package/docs/components/app-shell/side-nav.md +152 -0
- package/docs/components/app-shell/split-panel.en.md +148 -0
- package/docs/components/app-shell/split-panel.md +147 -0
- package/docs/components/app-shell/top-bar.en.md +103 -0
- package/docs/components/app-shell/top-bar.md +100 -0
- package/docs/components/content/avatar.en.md +123 -0
- package/docs/components/content/avatar.md +119 -0
- package/docs/components/content/card.en.md +123 -0
- package/docs/components/content/card.md +122 -0
- package/docs/components/content/carousel.en.md +236 -0
- package/docs/components/content/carousel.md +227 -0
- package/docs/components/content/code-view.en.md +177 -0
- package/docs/components/content/code-view.md +172 -0
- package/docs/components/content/data-display.en.md +205 -0
- package/docs/components/content/data-display.md +212 -0
- package/docs/components/content/editable-list.en.md +437 -0
- package/docs/components/content/editable-list.md +418 -0
- package/docs/components/content/empty-and-loading.en.md +149 -0
- package/docs/components/content/empty-and-loading.md +149 -0
- package/docs/components/content/grid.en.md +148 -0
- package/docs/components/content/grid.md +142 -0
- package/docs/components/content/image.en.md +115 -0
- package/docs/components/content/image.md +114 -0
- package/docs/components/content/keyboard.en.md +129 -0
- package/docs/components/content/keyboard.md +129 -0
- package/docs/components/content/layout-primitives.en.md +105 -0
- package/docs/components/content/layout-primitives.md +104 -0
- package/docs/components/content/media-card.en.md +137 -0
- package/docs/components/content/media-card.md +132 -0
- package/docs/components/content/notifications.en.md +216 -0
- package/docs/components/content/notifications.md +207 -0
- package/docs/components/content/rich-text-view.en.md +325 -0
- package/docs/components/content/rich-text-view.md +324 -0
- package/docs/components/content/sortable-list.en.md +212 -0
- package/docs/components/content/sortable-list.md +206 -0
- package/docs/components/content/tag-group.en.md +158 -0
- package/docs/components/content/tag-group.md +151 -0
- package/docs/components/content/timeline.en.md +77 -0
- package/docs/components/content/timeline.md +76 -0
- package/docs/components/content/typography.en.md +152 -0
- package/docs/components/content/typography.md +146 -0
- package/docs/components/content/virtual-grid.en.md +305 -0
- package/docs/components/content/virtual-grid.md +315 -0
- package/docs/components/date-time/calendar.en.md +47 -0
- package/docs/components/date-time/calendar.md +46 -0
- package/docs/components/date-time/date-picker.en.md +52 -0
- package/docs/components/date-time/date-picker.md +50 -0
- package/docs/components/date-time/date-range-picker.en.md +58 -0
- package/docs/components/date-time/date-range-picker.md +57 -0
- package/docs/components/date-time/date-time-picker.en.md +44 -0
- package/docs/components/date-time/date-time-picker.md +43 -0
- package/docs/components/date-time/range-calendar.en.md +47 -0
- package/docs/components/date-time/range-calendar.md +46 -0
- package/docs/components/date-time/time-picker.en.md +47 -0
- package/docs/components/date-time/time-picker.md +51 -0
- package/docs/components/index.en.md +155 -0
- package/docs/components/index.md +150 -0
- package/docs/components/inputs/choice-controls.en.md +118 -0
- package/docs/components/inputs/choice-controls.md +112 -0
- package/docs/components/inputs/color-picker.en.md +126 -0
- package/docs/components/inputs/color-picker.md +122 -0
- package/docs/components/inputs/combobox.en.md +62 -0
- package/docs/components/inputs/combobox.md +58 -0
- package/docs/components/inputs/file-dropzone.en.md +51 -0
- package/docs/components/inputs/file-dropzone.md +50 -0
- package/docs/components/inputs/form-layout.en.md +99 -0
- package/docs/components/inputs/form-layout.md +97 -0
- package/docs/components/inputs/form.en.md +87 -0
- package/docs/components/inputs/form.md +86 -0
- package/docs/components/inputs/inline-edit.en.md +93 -0
- package/docs/components/inputs/inline-edit.md +94 -0
- package/docs/components/inputs/masked-input.en.md +149 -0
- package/docs/components/inputs/masked-input.md +147 -0
- package/docs/components/inputs/number-input.en.md +81 -0
- package/docs/components/inputs/number-input.md +80 -0
- package/docs/components/inputs/password-input.en.md +101 -0
- package/docs/components/inputs/password-input.md +97 -0
- package/docs/components/inputs/phone-input.en.md +78 -0
- package/docs/components/inputs/phone-input.md +76 -0
- package/docs/components/inputs/pin-input.en.md +109 -0
- package/docs/components/inputs/pin-input.md +108 -0
- package/docs/components/inputs/rating.en.md +100 -0
- package/docs/components/inputs/rating.md +99 -0
- package/docs/components/inputs/rich-text-editor.en.md +1539 -0
- package/docs/components/inputs/rich-text-editor.md +1538 -0
- package/docs/components/inputs/search-control.en.md +60 -0
- package/docs/components/inputs/search-control.md +58 -0
- package/docs/components/inputs/select.en.md +68 -0
- package/docs/components/inputs/select.md +65 -0
- package/docs/components/inputs/slider.en.md +60 -0
- package/docs/components/inputs/slider.md +59 -0
- package/docs/components/inputs/swatch-group.en.md +181 -0
- package/docs/components/inputs/swatch-group.md +177 -0
- package/docs/components/inputs/tag-input.en.md +50 -0
- package/docs/components/inputs/tag-input.md +48 -0
- package/docs/components/inputs/text-control.en.md +76 -0
- package/docs/components/inputs/text-control.md +74 -0
- package/docs/components/inputs/transfer.en.md +118 -0
- package/docs/components/inputs/transfer.md +114 -0
- package/docs/components/inputs/tree-select.en.md +91 -0
- package/docs/components/inputs/tree-select.md +89 -0
- package/docs/components/inputs/upload-queue.en.md +160 -0
- package/docs/components/inputs/upload-queue.md +158 -0
- package/docs/components/navigation/accordion.en.md +76 -0
- package/docs/components/navigation/accordion.md +75 -0
- package/docs/components/navigation/breadcrumbs.en.md +73 -0
- package/docs/components/navigation/breadcrumbs.md +72 -0
- package/docs/components/navigation/contextual-save-bar.en.md +104 -0
- package/docs/components/navigation/contextual-save-bar.md +103 -0
- package/docs/components/navigation/page-header.en.md +71 -0
- package/docs/components/navigation/page-header.md +70 -0
- package/docs/components/navigation/pagination.en.md +69 -0
- package/docs/components/navigation/pagination.md +69 -0
- package/docs/components/navigation/section-header.en.md +67 -0
- package/docs/components/navigation/section-header.md +66 -0
- package/docs/components/navigation/selection-bar.en.md +83 -0
- package/docs/components/navigation/selection-bar.md +83 -0
- package/docs/components/navigation/stepper.en.md +78 -0
- package/docs/components/navigation/stepper.md +77 -0
- package/docs/components/navigation/tabs.en.md +71 -0
- package/docs/components/navigation/tabs.md +70 -0
- package/docs/components/navigation/tree-view.en.md +173 -0
- package/docs/components/navigation/tree-view.md +172 -0
- package/docs/components/overlays/command-palette.en.md +153 -0
- package/docs/components/overlays/command-palette.md +147 -0
- package/docs/components/overlays/confirm-dialog.en.md +134 -0
- package/docs/components/overlays/confirm-dialog.md +127 -0
- package/docs/components/overlays/context-menu.en.md +115 -0
- package/docs/components/overlays/context-menu.md +113 -0
- package/docs/components/overlays/dialog.en.md +120 -0
- package/docs/components/overlays/dialog.md +117 -0
- package/docs/components/overlays/drawer.en.md +87 -0
- package/docs/components/overlays/drawer.md +88 -0
- package/docs/components/overlays/hover-card.en.md +179 -0
- package/docs/components/overlays/hover-card.md +175 -0
- package/docs/components/overlays/menu.en.md +103 -0
- package/docs/components/overlays/menu.md +100 -0
- package/docs/components/overlays/popover.en.md +78 -0
- package/docs/components/overlays/popover.md +77 -0
- package/docs/components/overlays/shortcuts-help.en.md +190 -0
- package/docs/components/overlays/shortcuts-help.md +186 -0
- package/docs/components/overlays/tooltip.en.md +78 -0
- package/docs/components/overlays/tooltip.md +77 -0
- package/docs/components/table/data-table.en.md +137 -0
- package/docs/components/table/data-table.md +133 -0
- package/docs/components/table/filter-bar.en.md +161 -0
- package/docs/components/table/filter-bar.md +155 -0
- package/docs/components/table/saved-views.en.md +117 -0
- package/docs/components/table/saved-views.md +115 -0
- package/docs/components/table/toolbar.en.md +100 -0
- package/docs/components/table/toolbar.md +97 -0
- package/docs/conventions.md +358 -0
- package/docs/getting-started.en.md +382 -0
- package/docs/getting-started.md +381 -0
- package/docs/glossary.en.md +179 -0
- package/docs/glossary.md +174 -0
- package/docs/i18n.en.md +147 -0
- package/docs/i18n.md +143 -0
- package/docs/icons.en.md +252 -0
- package/docs/icons.md +251 -0
- package/docs/index.md +62 -0
- package/docs/palette.en.md +400 -0
- package/docs/palette.md +396 -0
- package/docs/theming.en.md +522 -0
- package/docs/theming.md +518 -0
- package/llms.txt +144 -0
- package/package.json +173 -4
- package/src/color.ts +21 -0
- package/src/components/actions/Alert.tsx +121 -0
- package/src/components/actions/Banner.tsx +120 -0
- package/src/components/actions/Button.tsx +241 -0
- package/src/components/actions/ButtonGroup.tsx +65 -0
- package/src/components/actions/Chip.tsx +113 -0
- package/src/components/actions/CopyButton.tsx +112 -0
- package/src/components/actions/Progress.tsx +103 -0
- package/src/components/actions/Segmented.tsx +162 -0
- package/src/components/actions/Spinner.tsx +80 -0
- package/src/components/actions/SplitButton.tsx +164 -0
- package/src/components/actions/StatusBadge.tsx +61 -0
- package/src/components/actions/Toaster.tsx +148 -0
- package/src/components/actions/Toggle.tsx +224 -0
- package/src/components/actions/ToggleGroup.tsx +147 -0
- package/src/components/actions/Toolbar.tsx +223 -0
- package/src/components/actions/Truncate.tsx +96 -0
- package/src/components/app-shell/AppShell.tsx +268 -0
- package/src/components/app-shell/MobileTabBar.tsx +305 -0
- package/src/components/app-shell/NavItem.tsx +149 -0
- package/src/components/app-shell/SideNav.tsx +217 -0
- package/src/components/app-shell/SplitPanel.tsx +381 -0
- package/src/components/app-shell/TopBar.tsx +115 -0
- package/src/components/content/AspectRatio.tsx +45 -0
- package/src/components/content/Avatar.tsx +132 -0
- package/src/components/content/AvatarGroup.tsx +92 -0
- package/src/components/content/Badge.tsx +78 -0
- package/src/components/content/Card.tsx +117 -0
- package/src/components/content/Carousel.tsx +427 -0
- package/src/components/content/CodeView.tsx +178 -0
- package/src/components/content/DescriptionList.tsx +64 -0
- package/src/components/content/EditableList.tsx +879 -0
- package/src/components/content/EmptyState.tsx +65 -0
- package/src/components/content/ErrorState.tsx +100 -0
- package/src/components/content/Grid.tsx +208 -0
- package/src/components/content/Heading.tsx +81 -0
- package/src/components/content/Image.tsx +235 -0
- package/src/components/content/Kbd.tsx +67 -0
- package/src/components/content/Keyboard.tsx +634 -0
- package/src/components/content/Link.tsx +199 -0
- package/src/components/content/MediaCard.tsx +167 -0
- package/src/components/content/NotificationCenter.tsx +168 -0
- package/src/components/content/NotificationList.tsx +329 -0
- package/src/components/content/ScrollArea.tsx +69 -0
- package/src/components/content/Separator.tsx +62 -0
- package/src/components/content/Skeleton.tsx +40 -0
- package/src/components/content/SortableList.tsx +249 -0
- package/src/components/content/Stat.tsx +75 -0
- package/src/components/content/Table.tsx +500 -0
- package/src/components/content/TagGroup.tsx +222 -0
- package/src/components/content/Text.tsx +127 -0
- package/src/components/content/Timeline.tsx +126 -0
- package/src/components/content/VirtualGrid.tsx +726 -0
- package/src/components/content/VisuallyHidden.tsx +25 -0
- package/src/components/content/keyboardEditing.ts +51 -0
- package/src/components/content/useDragToSelect.ts +255 -0
- package/src/components/date-time/Calendar.tsx +181 -0
- package/src/components/date-time/DatePicker.tsx +143 -0
- package/src/components/date-time/DateRangePicker.tsx +349 -0
- package/src/components/date-time/DateTimePicker.tsx +92 -0
- package/src/components/date-time/RangeCalendar.tsx +156 -0
- package/src/components/date-time/TimePicker.tsx +377 -0
- package/src/components/inputs/Checkbox.tsx +284 -0
- package/src/components/inputs/CheckboxCard.tsx +132 -0
- package/src/components/inputs/CheckboxGroup.tsx +140 -0
- package/src/components/inputs/ChoiceCardBody.tsx +53 -0
- package/src/components/inputs/ColorPicker.tsx +221 -0
- package/src/components/inputs/Combobox.tsx +156 -0
- package/src/components/inputs/FileDropzone.tsx +253 -0
- package/src/components/inputs/Form.tsx +77 -0
- package/src/components/inputs/FormField.tsx +235 -0
- package/src/components/inputs/FormLayout.tsx +80 -0
- package/src/components/inputs/InlineEdit.tsx +205 -0
- package/src/components/inputs/MaskedInput.tsx +288 -0
- package/src/components/inputs/NumberInput.tsx +138 -0
- package/src/components/inputs/PasswordInput.tsx +166 -0
- package/src/components/inputs/PhoneInput.tsx +55 -0
- package/src/components/inputs/PinInput.tsx +197 -0
- package/src/components/inputs/RadioGroup.tsx +322 -0
- package/src/components/inputs/Rating.tsx +224 -0
- package/src/components/inputs/SearchControl.tsx +278 -0
- package/src/components/inputs/Select.tsx +741 -0
- package/src/components/inputs/Slider.tsx +436 -0
- package/src/components/inputs/SwatchGroup.tsx +342 -0
- package/src/components/inputs/TagInput.tsx +221 -0
- package/src/components/inputs/TextControl.tsx +335 -0
- package/src/components/inputs/Transfer.tsx +368 -0
- package/src/components/inputs/TreeSelect.tsx +275 -0
- package/src/components/inputs/UploadQueue.tsx +240 -0
- package/src/components/navigation/Accordion.tsx +118 -0
- package/src/components/navigation/Breadcrumbs.tsx +112 -0
- package/src/components/navigation/ContextualSaveBar.tsx +174 -0
- package/src/components/navigation/PageHeader.tsx +41 -0
- package/src/components/navigation/Pagination.tsx +184 -0
- package/src/components/navigation/SectionHeader.tsx +54 -0
- package/src/components/navigation/SelectionBar.tsx +151 -0
- package/src/components/navigation/Stepper.tsx +153 -0
- package/src/components/navigation/Tabs.tsx +130 -0
- package/src/components/navigation/TreeView.tsx +246 -0
- package/src/components/overlays/CommandPalette.tsx +343 -0
- package/src/components/overlays/ConfirmDialog.tsx +272 -0
- package/src/components/overlays/ContextMenu.tsx +284 -0
- package/src/components/overlays/Dialog.tsx +283 -0
- package/src/components/overlays/Drawer.tsx +193 -0
- package/src/components/overlays/HelpTooltip.tsx +96 -0
- package/src/components/overlays/HoverCard.tsx +404 -0
- package/src/components/overlays/Menu.tsx +243 -0
- package/src/components/overlays/ModalHeader.tsx +125 -0
- package/src/components/overlays/ModalOverlay.tsx +108 -0
- package/src/components/overlays/Popover.tsx +120 -0
- package/src/components/overlays/ShortcutsHelp.tsx +147 -0
- package/src/components/overlays/Tooltip.tsx +89 -0
- package/src/components/table/DataTable.tsx +164 -0
- package/src/components/table/FilterBar.tsx +114 -0
- package/src/components/table/FilterBarAdd.tsx +268 -0
- package/src/components/table/SavedViews.tsx +122 -0
- package/src/components/table/TablePreferences.tsx +173 -0
- package/src/components/table/TableToolbar.tsx +74 -0
- package/src/editor/RichTextEditor.tsx +1747 -0
- package/src/editor/RichTextView.tsx +119 -0
- package/src/editor/core/atomText.ts +140 -0
- package/src/editor/core/blockCommands.ts +329 -0
- package/src/editor/core/blockTypes.ts +252 -0
- package/src/editor/core/containers.ts +100 -0
- package/src/editor/core/customMarkdown.ts +74 -0
- package/src/editor/core/customTool.ts +472 -0
- package/src/editor/core/customToolEngine.ts +442 -0
- package/src/editor/core/document.ts +27 -0
- package/src/editor/core/emptiness.ts +31 -0
- package/src/editor/core/extensions.ts +295 -0
- package/src/editor/core/fieldNotice.ts +75 -0
- package/src/editor/core/handle.ts +311 -0
- package/src/editor/core/insertItems.ts +434 -0
- package/src/editor/core/jsonDocument.ts +99 -0
- package/src/editor/core/markdown.ts +313 -0
- package/src/editor/core/maxLength.ts +99 -0
- package/src/editor/core/pasteTrim.ts +85 -0
- package/src/editor/core/schema.ts +986 -0
- package/src/editor/core/schemaConform.ts +122 -0
- package/src/editor/core/shortcuts.ts +435 -0
- package/src/editor/core/skeleton.ts +108 -0
- package/src/editor/core/slashCommand.ts +143 -0
- package/src/editor/core/sourceFormat.ts +194 -0
- package/src/editor/core/toolButtons.ts +133 -0
- package/src/editor/core/toolDescriptor.ts +359 -0
- package/src/editor/core/toolEntryShortcuts.ts +66 -0
- package/src/editor/core/toolLoader.ts +50 -0
- package/src/editor/core/tools.ts +150 -0
- package/src/editor/core/viewIsland.ts +35 -0
- package/src/editor/features/builtins.ts +145 -0
- package/src/editor/features/code/CodeBlockView.tsx +240 -0
- package/src/editor/features/code/CodeCopyButton.tsx +76 -0
- package/src/editor/features/code/CodeCopyIsland.tsx +71 -0
- package/src/editor/features/code/codeBlock.ts +188 -0
- package/src/editor/features/code/codeBlockTool.ts +107 -0
- package/src/editor/features/code/codeHeader.ts +97 -0
- package/src/editor/features/code/codeLanguages.ts +62 -0
- package/src/editor/features/code/highlight.ts +109 -0
- package/src/editor/features/code/highlightNodes.ts +65 -0
- package/src/editor/features/code/lowlight.ts +45 -0
- package/src/editor/features/color/CustomColorPopover.tsx +180 -0
- package/src/editor/features/color/contrast.ts +52 -0
- package/src/editor/features/color/customColor.ts +91 -0
- package/src/editor/features/color/styleExtensions.ts +316 -0
- package/src/editor/features/emoji/EmojiGrid.tsx +160 -0
- package/src/editor/features/emoji/emoji.ts +156 -0
- package/src/editor/features/emoji/emojiTool.tsx +67 -0
- package/src/editor/features/image/ImagePopover.tsx +254 -0
- package/src/editor/features/image/ImageToolbar.tsx +147 -0
- package/src/editor/features/image/image.ts +821 -0
- package/src/editor/features/image/imageNotice.ts +27 -0
- package/src/editor/features/layout/columnLayouts.ts +71 -0
- package/src/editor/features/layout/layout.ts +537 -0
- package/src/editor/features/link/LinkPopover.tsx +114 -0
- package/src/editor/features/link/link.ts +112 -0
- package/src/editor/features/link/linkTool.tsx +36 -0
- package/src/editor/features/search/SearchPanel.tsx +264 -0
- package/src/editor/features/search/revealMatch.ts +69 -0
- package/src/editor/features/search/searchMatch.ts +129 -0
- package/src/editor/features/search/searchPlugin.ts +254 -0
- package/src/editor/features/search/searchTool.ts +30 -0
- package/src/editor/features/table/TableInsertDialog.tsx +129 -0
- package/src/editor/features/table/TableMenuButton.tsx +503 -0
- package/src/editor/features/table/TableSizeGrid.tsx +265 -0
- package/src/editor/features/table/tableActions.ts +380 -0
- package/src/editor/features/table/tableCells.ts +63 -0
- package/src/editor/features/table/tableChunk.ts +11 -0
- package/src/editor/features/table/tableTool.ts +74 -0
- package/src/editor/features/table/tables.ts +220 -0
- package/src/editor/features/wrapper/wrapper.ts +350 -0
- package/src/editor/features/wrapper/wrapperTones.ts +51 -0
- package/src/editor/highlight-entry.ts +23 -0
- package/src/editor/highlight-grammars.d.ts +12 -0
- package/src/editor/hooks/useChangeThrottle.ts +62 -0
- package/src/editor/hooks/useCoarsePointer.ts +36 -0
- package/src/editor/hooks/useFieldsetDisabled.ts +53 -0
- package/src/editor/hooks/useRichTextEditorState.ts +51 -0
- package/src/editor/hooks/useSubmenuPlacement.ts +40 -0
- package/src/editor/index.ts +59 -0
- package/src/editor/schema-entry.ts +40 -0
- package/src/editor/styles/codeTheme.ts +66 -0
- package/src/editor/styles/glass.ts +66 -0
- package/src/editor/styles/palette.ts +191 -0
- package/src/editor/styles/prose.ts +429 -0
- package/src/editor/styles/surface.ts +24 -0
- package/src/editor/styles/tokens.ts +173 -0
- package/src/editor/ui/BlockHandle.tsx +601 -0
- package/src/editor/ui/BlockIsland.tsx +23 -0
- package/src/editor/ui/BlockIslandSlots.tsx +114 -0
- package/src/editor/ui/ColorMenus.tsx +613 -0
- package/src/editor/ui/EditorToolbar.tsx +630 -0
- package/src/editor/ui/FieldResizer.tsx +155 -0
- package/src/editor/ui/FieldStatus.tsx +85 -0
- package/src/editor/ui/FloatingToolbar.tsx +77 -0
- package/src/editor/ui/FormatMenus.tsx +706 -0
- package/src/editor/ui/InsertMenuButton.tsx +104 -0
- package/src/editor/ui/SelectionBubble.tsx +317 -0
- package/src/editor/ui/ShortcutsButton.tsx +128 -0
- package/src/editor/ui/SlashMenu.tsx +199 -0
- package/src/editor/ui/SuggestionList.tsx +217 -0
- package/src/editor/ui/TextCard.tsx +312 -0
- package/src/editor/ui/ToolButtonView.tsx +242 -0
- package/src/editor/ui/TriggerMenu.tsx +255 -0
- package/src/editor/ui/focusWithin.ts +26 -0
- package/src/editor/ui/lockableMenu.ts +37 -0
- package/src/editor/ui/rowMarks.ts +66 -0
- package/src/editor/ui/selectionMenu.ts +97 -0
- package/src/hooks/useFieldDescription.ts +126 -0
- package/src/hooks/useMediaQuery.ts +46 -0
- package/src/hooks/useOpenerFocus.ts +118 -0
- package/src/hooks/useOverlayLayer.ts +42 -0
- package/src/hooks/useScrollLock.ts +92 -0
- package/src/hooks/useStickyOffset.ts +228 -0
- package/src/hooks/useTableState.ts +76 -0
- package/src/i18n/UiProvider.tsx +152 -0
- package/src/i18n/context.ts +30 -0
- package/src/i18n/defaults.ts +657 -0
- package/src/i18n/messages.ts +1183 -0
- package/src/i18n/useMessages.ts +47 -0
- package/src/icons.ts +566 -0
- package/src/index.ts +502 -0
- package/src/lib/accessible-name.ts +35 -0
- package/src/lib/bottom-bar-slot.ts +27 -0
- package/src/lib/button.ts +158 -0
- package/src/lib/choice-card.ts +79 -0
- package/src/lib/clamp.ts +18 -0
- package/src/lib/cn.ts +48 -0
- package/src/lib/date.ts +87 -0
- package/src/lib/dev-warn.ts +82 -0
- package/src/lib/empty.ts +43 -0
- package/src/lib/field.ts +125 -0
- package/src/lib/filter-range.ts +48 -0
- package/src/lib/interaction-modality.ts +134 -0
- package/src/lib/mask.ts +226 -0
- package/src/lib/menu.ts +196 -0
- package/src/lib/overlay-layer.ts +163 -0
- package/src/lib/period.ts +167 -0
- package/src/lib/progress-status.ts +44 -0
- package/src/lib/published-height.ts +147 -0
- package/src/lib/reorder.ts +65 -0
- package/src/lib/responsive.ts +71 -0
- package/src/lib/state.ts +39 -0
- package/src/lib/table-state.ts +264 -0
- package/src/lib/tag.ts +31 -0
- package/src/lib/themes.ts +144 -0
- package/src/lib/time.ts +107 -0
- package/src/lib/toolbar-axis.tsx +31 -0
- package/src/lib/touch.ts +15 -0
- package/src/lib/variants.ts +342 -0
- package/src/locales/en.ts +10 -0
- package/src/locales/ru.ts +695 -0
- package/styles.css +1650 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef } from "react";
|
|
2
|
+
import { type KeyboardLayout } from "../content/Keyboard.js";
|
|
3
|
+
export interface SearchKeyboardConfig {
|
|
4
|
+
/** Текущая раскладка управляется потребителем так же, как значение поиска. */
|
|
5
|
+
layout: KeyboardLayout;
|
|
6
|
+
/** Вызывается, когда пользователь переключает раскладку; сохранить новую должен потребитель. */
|
|
7
|
+
onLayoutChange: (nextLayout: KeyboardLayout) => void;
|
|
8
|
+
/** Открывает панель при первом рендере — для заранее раскрытого сценария. */
|
|
9
|
+
defaultOpen?: boolean;
|
|
10
|
+
/** Подтверждает запрос по Enter экранной клавиатуры. */
|
|
11
|
+
onSubmit?: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Доступное имя кнопки, открывающей экранную клавиатуру. Без него берётся из
|
|
14
|
+
* каталога сообщений.
|
|
15
|
+
*/
|
|
16
|
+
triggerLabel?: string;
|
|
17
|
+
/** Доступное имя панели экранной клавиатуры. Без него берётся из каталога сообщений. */
|
|
18
|
+
keyboardLabel?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SearchControlProps extends Omit<ComponentPropsWithoutRef<"input">, "value" | "onChange" | "type" | "size" | "aria-label"> {
|
|
21
|
+
/** Текст запроса. Поле управляемое: значение хранит потребитель. */
|
|
22
|
+
value: string;
|
|
23
|
+
/**
|
|
24
|
+
* Вызывается при изменении текста и получает строку.
|
|
25
|
+
*
|
|
26
|
+
* Отдаёт строку, а не событие. У поля поиска значение — это и есть смысл;
|
|
27
|
+
* все пять рукописных копий во фронте первым делом доставали `e.target.value`.
|
|
28
|
+
*/
|
|
29
|
+
onChange: (value: string) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Доступное имя. Обязательно, и это проверяет компилятор — как у `Toggle`.
|
|
32
|
+
*
|
|
33
|
+
* Плейсхолдер именем не считается: он исчезает при первом же символе, и
|
|
34
|
+
* скринридер остаётся с безымянным полем ровно тогда, когда в нём есть что
|
|
35
|
+
* читать. Если нужен `aria-labelledby` — он проходит насквозь через `...rest`.
|
|
36
|
+
*/
|
|
37
|
+
label: string;
|
|
38
|
+
/** Кнопка очистки, когда в поле что-то есть. */
|
|
39
|
+
clearable?: boolean;
|
|
40
|
+
/** Доступное имя кнопки очистки. Без него берётся из каталога сообщений. */
|
|
41
|
+
clearLabel?: string;
|
|
42
|
+
/** Классы на оболочку с рамкой — ширина, скругление, вертикальные внутренние отступы. */
|
|
43
|
+
shellClassName?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Ступень высоты поля: `md` — 42 пикселя, `sm` — 36. Проброс в `TextControl`.
|
|
46
|
+
*
|
|
47
|
+
* Ступень живёт у него, а не здесь: поиск намеренно стоит на `TextControl`, и
|
|
48
|
+
* своя высота у поиска означала бы второй способ считать её внутри самого
|
|
49
|
+
* пакета — ровно то расхождение, ради которого `SearchControl` и заведён.
|
|
50
|
+
*/
|
|
51
|
+
size?: "sm" | "md";
|
|
52
|
+
/** Добавляет экранную клавиатуру; без этого пропса разметка поиска не меняется. */
|
|
53
|
+
keyboard?: SearchKeyboardConfig;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Поле поиска: лупа слева, крестик очистки справа.
|
|
57
|
+
*
|
|
58
|
+
* СТОИТ НА `TextControl`, А НЕ НА СВОЕЙ ОБОЛОЧКЕ — и это главное решение здесь.
|
|
59
|
+
* Во фронте таких полей было пять рукописных (диалог смены категории, диалог
|
|
60
|
+
* коллекций, пикер обоев, фильтр библиотеки, глобальный поиск в шапке), и все
|
|
61
|
+
* пять красили фокус в `--tg`, тогда как обычные поля через `TextControl` —
|
|
62
|
+
* в `--accent-strong`. То есть поиск во всём приложении фокусировался не так,
|
|
63
|
+
* как остальные поля, и заметить это по коду было нельзя: расхождение видно
|
|
64
|
+
* только если открыть пять файлов рядом. Собственная оболочка здесь означала
|
|
65
|
+
* бы шестую копию — уже внутри пакета.
|
|
66
|
+
*
|
|
67
|
+
* ЧЕГО КОМПОНЕНТ НАМЕРЕННО НЕ ДЕЛАЕТ:
|
|
68
|
+
*
|
|
69
|
+
* — **Не перехватывает Escape.** Соблазнительно чистить поле по Escape, как
|
|
70
|
+
* это делает фильтр библиотеки. Но поиск чаще всего стоит внутри модального
|
|
71
|
+
* окна, а там Escape закрывает окно; перехват сломал бы закрытие ровно тогда,
|
|
72
|
+
* когда фокус в поиске, — то есть почти всегда. Кому нужна очистка по Escape,
|
|
73
|
+
* вешает `onKeyDown` сам: он проходит насквозь.
|
|
74
|
+
*
|
|
75
|
+
* — **Не откладывает вызовы.** Дебаунс зависит от того, что за поиском стоит:
|
|
76
|
+
* локальная фильтрация массива в диалоге не нуждается в задержке вовсе,
|
|
77
|
+
* запрос в API нуждается. Пакет этого не знает, а зашитая задержка не
|
|
78
|
+
* отключается ничем.
|
|
79
|
+
*
|
|
80
|
+
* ОЧИСТКА ВОЗВРАЩАЕТ ФОКУС В ПОЛЕ. Крестик при этом размонтируется, и без
|
|
81
|
+
* явного возврата фокус уезжает на `<body>` — пользователь клавиатуры теряет
|
|
82
|
+
* место в диалоге и начинает обход заново.
|
|
83
|
+
*/
|
|
84
|
+
export declare const SearchControl: import("react").ForwardRefExoticComponent<SearchControlProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
85
|
+
//# sourceMappingURL=SearchControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchControl.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/SearchControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAIf,OAAO,EAAY,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AAI/F,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,MAAM,EAAE,cAAc,CAAC;IACvB,gGAAgG;IAChG,cAAc,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,wBAAwB,CAAC,OAAO,CAAC,EACjC,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CACtD;IACC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,aAAa,iHA6KzB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useImperativeHandle, useEffect, useRef, useState, } from "react";
|
|
4
|
+
import { cn } from "../../lib/cn.js";
|
|
5
|
+
import { useMessages } from "../../i18n/useMessages.js";
|
|
6
|
+
import { CloseIcon, KeyboardIcon, SearchIcon } from "../../icons.js";
|
|
7
|
+
import { Keyboard } from "../content/Keyboard.js";
|
|
8
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../overlays/Popover.js";
|
|
9
|
+
import { TextControl } from "./TextControl.js";
|
|
10
|
+
export const SearchControl = forwardRef(function SearchControl({ value, onChange, label, clearable = true, clearLabel, placeholder, shellClassName, size, className, disabled, keyboard, onSelect, ...rest }, ref) {
|
|
11
|
+
const messages = useMessages();
|
|
12
|
+
const innerRef = useRef(null);
|
|
13
|
+
useImperativeHandle(ref, () => innerRef.current, []);
|
|
14
|
+
const [keyboardOpen, setKeyboardOpen] = useState(() => keyboard?.defaultOpen ?? false);
|
|
15
|
+
const [selection, setSelection] = useState({
|
|
16
|
+
start: value.length,
|
|
17
|
+
end: value.length,
|
|
18
|
+
});
|
|
19
|
+
const showClear = clearable && value !== "" && !disabled;
|
|
20
|
+
const keyboardLabel = keyboard?.keyboardLabel ??
|
|
21
|
+
messages.keyboard.label({ layout: keyboard?.layout === "ru" ? "ru" : "en" });
|
|
22
|
+
const ownValue = useRef(null);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (ownValue.current === value)
|
|
25
|
+
return;
|
|
26
|
+
setSelection({ start: value.length, end: value.length });
|
|
27
|
+
}, [value]);
|
|
28
|
+
const emit = (next) => {
|
|
29
|
+
ownValue.current = next;
|
|
30
|
+
onChange(next);
|
|
31
|
+
};
|
|
32
|
+
const rememberSelection = (target) => {
|
|
33
|
+
setSelection({ start: target.selectionStart ?? 0, end: target.selectionEnd ?? 0 });
|
|
34
|
+
};
|
|
35
|
+
const handleSelect = (event) => {
|
|
36
|
+
rememberSelection(event.currentTarget);
|
|
37
|
+
onSelect?.(event);
|
|
38
|
+
};
|
|
39
|
+
const control = (_jsx(TextControl, { ref: innerRef, type: "search", value: value, onChange: (event) => {
|
|
40
|
+
emit(event.target.value);
|
|
41
|
+
rememberSelection(event.currentTarget);
|
|
42
|
+
}, onSelect: handleSelect, "aria-label": label, placeholder: placeholder ?? messages.common.searchPlaceholder, disabled: disabled, icon: _jsx(SearchIcon, { size: 14, "aria-hidden": true }), trailing: keyboard || showClear ? (_jsxs("div", { className: "flex items-center gap-1", children: [keyboard ? (_jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", disabled: disabled, "aria-label": keyboard.triggerLabel ?? messages.searchControl.openKeyboard, onPointerDown: (event) => {
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
if (innerRef.current)
|
|
45
|
+
rememberSelection(innerRef.current);
|
|
46
|
+
}, className: cn("text-fg-3 hover:text-fg-0 hidden cursor-pointer items-center rounded-xs md:flex", "transition-colors", "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:outline-offset-2", "disabled:pointer-events-none disabled:opacity-50"), children: _jsx(KeyboardIcon, { size: 16, "aria-hidden": true }) }) })) : null, showClear ? (_jsx("button", { type: "button", "aria-label": clearLabel ?? messages.searchControl.clear, onClick: () => {
|
|
47
|
+
onChange("");
|
|
48
|
+
innerRef.current?.focus();
|
|
49
|
+
}, className: cn("text-fg-3 hover:text-fg-0 flex cursor-pointer items-center rounded-xs", "transition-colors", "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:outline-offset-2"), children: _jsx(CloseIcon, { size: 14, "aria-hidden": true }) })) : null] })) : null, shellClassName: shellClassName, size: size, className: cn("[&::-webkit-search-cancel-button]:hidden", className), ...rest }));
|
|
50
|
+
if (!keyboard)
|
|
51
|
+
return control;
|
|
52
|
+
return (_jsxs(Popover, { open: keyboardOpen, onOpenChange: setKeyboardOpen, children: [control, _jsx(PopoverContent, { "aria-label": keyboardLabel, className: "pointer-events-none w-auto max-w-[calc(100vw-2rem)] border-0 bg-transparent shadow-none", onClickCapture: (event) => {
|
|
53
|
+
if (event.detail !== 0)
|
|
54
|
+
innerRef.current?.focus();
|
|
55
|
+
}, onFocusOutside: (event) => {
|
|
56
|
+
if (event.target === innerRef.current)
|
|
57
|
+
event.preventDefault();
|
|
58
|
+
}, onOpenAutoFocus: (event) => {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
}, children: _jsx(Keyboard, { value: value, selection: selection, onChange: emit, onSelectionChange: setSelection, layout: keyboard.layout, onLayoutChange: keyboard.onLayoutChange, onSubmit: keyboard.onSubmit, disabled: disabled, preserveFocus: true, label: keyboardLabel, onRequestClose: () => setKeyboardOpen(false) }) })] }));
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=SearchControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchControl.js","sourceRoot":"","sources":["../../../src/components/inputs/SearchControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
/** Минимум, который список требует от элемента. Остальные поля — ваши. */
|
|
3
|
+
export interface SelectItem {
|
|
4
|
+
/** Идентификатор элемента; именно он попадает в `value` и `onChange`. */
|
|
5
|
+
id: string | number;
|
|
6
|
+
/** Подпись в списке и в триггере. По ней же идёт поиск. */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Дополнительный текст для поиска — slug, описание, синонимы. Не показывается. */
|
|
9
|
+
keywords?: string;
|
|
10
|
+
/** Что показать справа у невыбранного элемента: счётчик, дата, тон. */
|
|
11
|
+
meta?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Идентификатор элемента списка.
|
|
15
|
+
*
|
|
16
|
+
* Экспортируется, потому что стоит в публичной сигнатуре: `value` и `onChange`
|
|
17
|
+
* говорят на нём. Без экспорта потребитель, объявляя состояние или обработчик,
|
|
18
|
+
* писал `string | number | null` руками — то есть повторял определение кита в
|
|
19
|
+
* своём коде, и при его изменении узнал бы об этом не от компилятора.
|
|
20
|
+
*
|
|
21
|
+
* Тип шире, чем `string`, ровно из-за `id` у `SelectItem`: категории приходят
|
|
22
|
+
* с сервера с числовыми идентификаторами, коллекции — со строковыми.
|
|
23
|
+
*/
|
|
24
|
+
export type SelectId = string | number;
|
|
25
|
+
/** Общая часть обеих осей: всё, что не зависит от множественности. */
|
|
26
|
+
interface SelectCommonProps<T extends SelectItem> {
|
|
27
|
+
/** Элементы списка. */
|
|
28
|
+
items: T[];
|
|
29
|
+
/** Подпись триггера, когда ничего не выбрано: «Категория», «Автор». */
|
|
30
|
+
placeholder: string;
|
|
31
|
+
/**
|
|
32
|
+
* Поле поиска в панели. По умолчанию выключено: список из трёх статусов
|
|
33
|
+
* искать незачем, а поле в нём — лишний шаг до цели.
|
|
34
|
+
*/
|
|
35
|
+
searchable?: boolean;
|
|
36
|
+
/** Плейсхолдер в поле поиска панели. */
|
|
37
|
+
searchPlaceholder?: string;
|
|
38
|
+
/** Когда список пуст изначально. */
|
|
39
|
+
emptyText?: string;
|
|
40
|
+
/** Когда пуст результат поиска. */
|
|
41
|
+
notFoundText?: string;
|
|
42
|
+
/** Показывать ли кнопку очистки у выбранного значения. */
|
|
43
|
+
clearable?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Подсвечивать ли триггер акцентом, когда значение выбрано.
|
|
46
|
+
*
|
|
47
|
+
* В фильтрах — да, и по умолчанию так: подсветка там означает «фильтр
|
|
48
|
+
* применён», её ищут глазами, пробегая панель. В форме она означала бы
|
|
49
|
+
* «поле заполнено» — а заполненное поле это норма, а не событие, и рядом
|
|
50
|
+
* с обычными `TextControl` акцентная пилюля выглядит тревогой на пустом
|
|
51
|
+
* месте.
|
|
52
|
+
*
|
|
53
|
+
* Выключенный вариант оставляет триггеру нейтральную рамку; фон и радиус
|
|
54
|
+
* под соседние поля потребитель задаёт через `triggerClassName` — какой
|
|
55
|
+
* именно вид у формы, пакет не знает.
|
|
56
|
+
*/
|
|
57
|
+
highlightSelected?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Рисует картинку слева от подписи: превью, эмодзи, аватар.
|
|
60
|
+
*
|
|
61
|
+
* Картинка слева: превью, эмодзи, аватар. `px` — сторона квадрата, которую
|
|
62
|
+
* ждёт вёрстка: 20 в триггере, 28 в списке. Размер передаётся числом, а не
|
|
63
|
+
* ступенью словаря, потому что это внутренняя геометрия списка, а не ось.
|
|
64
|
+
*
|
|
65
|
+
* 20 в триггере — это ровно строчный бокс контрола (`leading-5`), и меньшим
|
|
66
|
+
* числом квадрат сделан именно поэтому: всё, что выше строки, растягивает
|
|
67
|
+
* триггер, и он расходится по высоте с соседним `TextControl`.
|
|
68
|
+
*/
|
|
69
|
+
renderMedia?: (item: T, px: number) => ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* Иконка слева в свёрнутом состоянии — когда ничего не выбрано. У выбранного
|
|
72
|
+
* значения его место занимает `renderMedia`.
|
|
73
|
+
*
|
|
74
|
+
* По умолчанию `SelectIcon` из словаря дизайн-системы — общепринятая
|
|
75
|
+
* стрелка-двусторонка выпадающего списка. Раньше здесь стоял текстовый символ
|
|
76
|
+
* `⌄`, потому что пакет принципиально не тянул иконочную библиотеку; на деле
|
|
77
|
+
* это означало, что привести компонент к своему стилю нельзя было вовсе,
|
|
78
|
+
* и потребителю приходилось передавать иконку вручную в каждом месте вызова.
|
|
79
|
+
*
|
|
80
|
+
* Своя иконка по-прежнему передаётся сюда — она получит `aria-hidden`
|
|
81
|
+
* от обёртки, потому что подпись рядом уже всё называет.
|
|
82
|
+
*/
|
|
83
|
+
icon?: ReactNode;
|
|
84
|
+
/** Раскрыт ли список, когда им управляют снаружи; обновлять в `onOpenChange`. */
|
|
85
|
+
open?: boolean;
|
|
86
|
+
/** Вызывается при открытии и закрытии списка. */
|
|
87
|
+
onOpenChange?: (open: boolean) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Классы триггера: раскладка, внутренние отступы, скругление, фон.
|
|
90
|
+
*
|
|
91
|
+
* Здесь же снимается предел ширины подписи, если триггер широкий:
|
|
92
|
+
* `[--select-label-max:none]`. По умолчанию подпись обрезается на 110px,
|
|
93
|
+
* чтобы пилюля фильтра не растягивалась по длинному названию.
|
|
94
|
+
*/
|
|
95
|
+
triggerClassName?: string;
|
|
96
|
+
/** Классы выпадающей панели. */
|
|
97
|
+
contentClassName?: string;
|
|
98
|
+
/** Доступное имя кнопки очистки. */
|
|
99
|
+
clearLabel?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Как подписать значение, которому не нашлось элемента в `items`.
|
|
102
|
+
*
|
|
103
|
+
* Такое бывает в двух обычных случаях: значение пришло из адреса, пока список
|
|
104
|
+
* ещё грузится, и значение указывает на удалённую запись. По умолчанию
|
|
105
|
+
* показывается сам ключ — он честнее плейсхолдера, когда человекочитаем
|
|
106
|
+
* (`section-contracts`). Но если идентификаторы у вас машинные, пользователь
|
|
107
|
+
* увидит `9f2c1b04-…`; тогда подпись задаёт этот проп — кит не знает, как
|
|
108
|
+
* выглядят ваши ключи.
|
|
109
|
+
*/
|
|
110
|
+
missingLabel?: (id: SelectId) => ReactNode;
|
|
111
|
+
/**
|
|
112
|
+
* Выключенное поле: триггер не фокусируется, панель не открывается, кнопка
|
|
113
|
+
* очистки исчезает, вид приглушён.
|
|
114
|
+
*
|
|
115
|
+
* Поведение и вид — как у `Button` и `TextControl`, и заведено оно ровно
|
|
116
|
+
* поэтому: потребитель гасит форму на время запроса целиком, а поле, которое
|
|
117
|
+
* осталось живым среди погасших соседей, читается как недоделка, а не как
|
|
118
|
+
* замысел.
|
|
119
|
+
*/
|
|
120
|
+
disabled?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Доступное имя поля — «Иконка», «Проект».
|
|
123
|
+
*
|
|
124
|
+
* БЕЗ НЕГО ТРИГГЕР ИМЕНУЕТСЯ СОДЕРЖИМЫМ, то есть подписью выбранного значения
|
|
125
|
+
* либо плейсхолдером. В панели фильтров этого хватает: там плейсхолдер и есть
|
|
126
|
+
* название фильтра. В форме — нет: зрячий видит подпись «Иконка» над полем,
|
|
127
|
+
* а скринридер объявляет «Без иконки, кнопка», и два таких поля рядом на слух
|
|
128
|
+
* не различаются. Подпись `FormField` сюда не доходит сама: составной контрол
|
|
129
|
+
* не принимает `id`, и `htmlFor` связывать нечего.
|
|
130
|
+
*
|
|
131
|
+
* ИМЯ СКЛАДЫВАЕТСЯ С СОДЕРЖИМЫМ, а не вытесняет его: строка уезжает в скрытый
|
|
132
|
+
* узел, и триггер объявляется «Иконка, Круг, кнопка». Обычный `aria-label` на
|
|
133
|
+
* кнопке победил бы содержимое, и поле выбора перестало бы сообщать, что в
|
|
134
|
+
* нём выбрано. Тот же приём и по той же причине — в `TreeSelect`.
|
|
135
|
+
*/
|
|
136
|
+
"aria-label"?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Имя триггера ссылкой на `id` уже показанной подписи.
|
|
139
|
+
*
|
|
140
|
+
* То же имя, но ссылкой на уже нарисованную подпись: у потребителя она стоит
|
|
141
|
+
* на экране, и повторять её текст здесь значило бы завести второй источник,
|
|
142
|
+
* который разъедется с первым молча.
|
|
143
|
+
*
|
|
144
|
+
* Складывается с содержимым так же, как `aria-label`. Заданы оба — побеждает
|
|
145
|
+
* ссылка: видимая подпись ближе к тому, что человек читает глазами.
|
|
146
|
+
*/
|
|
147
|
+
"aria-labelledby"?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Своё описание триггера. Сливается с описанием `FormField`, а не заменяет
|
|
150
|
+
* его: подсказка формы и пояснение потребителя обязаны звучать обе.
|
|
151
|
+
*/
|
|
152
|
+
"aria-describedby"?: string;
|
|
153
|
+
}
|
|
154
|
+
export type SelectProps<T extends SelectItem> = (SelectCommonProps<T> & {
|
|
155
|
+
/** Выбор одного элемента. По умолчанию. */
|
|
156
|
+
multiple?: false;
|
|
157
|
+
/** Выбранный `id` или, при `multiple`, массив `id`. Сравнение по строке: `1` и `"1"` — одно и то же; порядок в массиве — как пришёл. */
|
|
158
|
+
value?: SelectId | null;
|
|
159
|
+
/**
|
|
160
|
+
* Выбран элемент — приходит его `id`; очищено — приходит `null`.
|
|
161
|
+
*
|
|
162
|
+
* Раньше очистка отдавала пустую строку, и договорённость держалась только
|
|
163
|
+
* на комментарии: в типе `""` неотличима от любого другого `string`. `null`
|
|
164
|
+
* виден компилятору, и потребитель обязан его обработать.
|
|
165
|
+
*/
|
|
166
|
+
onChange: (id: SelectId | null) => void;
|
|
167
|
+
}) | (SelectCommonProps<T> & {
|
|
168
|
+
/** Выбор нескольких элементов: `value` — массив `id`, `onChange` получает массив. */
|
|
169
|
+
multiple: true;
|
|
170
|
+
/** Выбранный `id` или, при `multiple`, массив `id`. Сравнение по строке: `1` и `"1"` — одно и то же; порядок в массиве — как пришёл. */
|
|
171
|
+
value?: SelectId[];
|
|
172
|
+
/** Всегда массив: очистка — пустой, а не `null`. */
|
|
173
|
+
onChange: (ids: SelectId[]) => void;
|
|
174
|
+
/**
|
|
175
|
+
* Подпись триггера, когда выбрано больше одного: «Категории: 3».
|
|
176
|
+
* Склонение — работа потребителя: пакет не знает ни языка подписи,
|
|
177
|
+
* ни того, что `placeholder` был в единственном числе.
|
|
178
|
+
*/
|
|
179
|
+
countLabel?: (count: number) => ReactNode;
|
|
180
|
+
});
|
|
181
|
+
/**
|
|
182
|
+
* Выпадающий список с двумя ортогональными осями: `searchable` и `multiple`.
|
|
183
|
+
*
|
|
184
|
+
* Пришёл на смену `SearchSelect`, который умел ровно одно сочетание —
|
|
185
|
+
* «с поиском, по одному». Оси разведены, потому что во фронте одновременно
|
|
186
|
+
* жили и он, и два рукописных дропдауна (статус и тон), повторявшие его
|
|
187
|
+
* триггер и панель без поиска: сотня строк копии ради выключенной строки поиска.
|
|
188
|
+
*
|
|
189
|
+
* Типы — union по `multiple`, а не `SelectId | SelectId[] | null` одним полем.
|
|
190
|
+
* Разница принципиальная: с union компилятор сам знает, что придёт в `onChange`,
|
|
191
|
+
* и потребителю не приходится сужать тип в каждом обработчике.
|
|
192
|
+
*
|
|
193
|
+
* ДВЕ ВЕЩИ УСТРОЕНЫ ИНАЧЕ, ЧЕМ В ПРЕЖНИХ ПИКЕРАХ ФРОНТА, И ЭТО НЕ КОСМЕТИКА:
|
|
194
|
+
*
|
|
195
|
+
* 1. Крестик очистки — настоящая `<button>` рядом с триггером, а не `<span>`
|
|
196
|
+
* с `onClick` внутри него. Вложенная интерактивность недопустима в разметке,
|
|
197
|
+
* и такой крестик был недостижим с клавиатуры вовсе: до него нельзя было
|
|
198
|
+
* добраться табом, а Enter на нём открывал список вместо очистки.
|
|
199
|
+
* 2. Триггер сообщает состояние: `aria-expanded` и `aria-haspopup="listbox"`.
|
|
200
|
+
* Прежняя версия отдавала скринридеру обычную кнопку, по которой нельзя
|
|
201
|
+
* было понять ни что она открывает, ни что уже выбрано.
|
|
202
|
+
*/
|
|
203
|
+
export declare function Select<T extends SelectItem>(props: SelectProps<T>): import("react").JSX.Element;
|
|
204
|
+
export {};
|
|
205
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useId, useMemo, useRef, useState, } from "react";
|
|
4
|
+
import { useFieldDescribedBy } from "../../hooks/useFieldDescription.js";
|
|
5
|
+
import { cn } from "../../lib/cn.js";
|
|
6
|
+
import { LISTBOX_ITEM_CLASS } from "../../lib/menu.js";
|
|
7
|
+
import { FIELD_CLEAR_CLASS } from "../../lib/field.js";
|
|
8
|
+
import { useMessages } from "../../i18n/useMessages.js";
|
|
9
|
+
import { CheckIcon, CloseIcon, SelectIcon } from "../../icons.js";
|
|
10
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../overlays/Popover.js";
|
|
11
|
+
import { VisuallyHidden } from "../content/VisuallyHidden.js";
|
|
12
|
+
const LABEL_CLASS = "max-w-[var(--select-label-max,110px)] truncate";
|
|
13
|
+
export function Select(props) {
|
|
14
|
+
const fieldDescribedBy = useFieldDescribedBy();
|
|
15
|
+
const describedBy = [props["aria-describedby"], fieldDescribedBy].filter(Boolean).join(" ") || undefined;
|
|
16
|
+
const { items, placeholder, searchable = false, searchPlaceholder, emptyText, notFoundText, clearable = true, highlightSelected = true, renderMedia, icon, open: controlledOpen, onOpenChange, triggerClassName, contentClassName, clearLabel, missingLabel, disabled = false, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, } = props;
|
|
17
|
+
const messages = useMessages();
|
|
18
|
+
const [internalOpen, setInternalOpen] = useState(false);
|
|
19
|
+
const [search, setSearch] = useState("");
|
|
20
|
+
const open = controlledOpen ?? internalOpen;
|
|
21
|
+
const fieldId = useId();
|
|
22
|
+
const labelId = `${fieldId}-label`;
|
|
23
|
+
const valueId = `${fieldId}-value`;
|
|
24
|
+
const labelledBy = ariaLabelledBy ?? (ariaLabel ? labelId : undefined);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!disabled || !open)
|
|
27
|
+
return;
|
|
28
|
+
setInternalOpen(false);
|
|
29
|
+
onOpenChange?.(false);
|
|
30
|
+
}, [disabled]);
|
|
31
|
+
const setOpen = (next) => {
|
|
32
|
+
setInternalOpen(next);
|
|
33
|
+
onOpenChange?.(next);
|
|
34
|
+
};
|
|
35
|
+
const selectedIds = props.multiple
|
|
36
|
+
? (props.value ?? []).map(String).filter((v) => v !== "")
|
|
37
|
+
: props.value === null || props.value === undefined || props.value === ""
|
|
38
|
+
? []
|
|
39
|
+
: [String(props.value)];
|
|
40
|
+
const selected = selectedIds.length === 1 ? items.find((i) => String(i.id) === selectedIds[0]) : undefined;
|
|
41
|
+
const filtered = useMemo(() => {
|
|
42
|
+
const q = search.trim().toLowerCase();
|
|
43
|
+
if (!q)
|
|
44
|
+
return items;
|
|
45
|
+
return items.filter((i) => i.label.toLowerCase().includes(q) || (i.keywords ?? "").toLowerCase().includes(q));
|
|
46
|
+
}, [items, search]);
|
|
47
|
+
const select = (item) => {
|
|
48
|
+
if (props.multiple) {
|
|
49
|
+
const id = String(item.id);
|
|
50
|
+
const current = props.value ?? [];
|
|
51
|
+
props.onChange(current.some((v) => String(v) === id)
|
|
52
|
+
? current.filter((v) => String(v) !== id)
|
|
53
|
+
: [...current, item.id]);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
props.onChange(item.id);
|
|
57
|
+
setSearch("");
|
|
58
|
+
setOpen(false);
|
|
59
|
+
};
|
|
60
|
+
const clear = () => {
|
|
61
|
+
if (props.multiple)
|
|
62
|
+
props.onChange([]);
|
|
63
|
+
else
|
|
64
|
+
props.onChange(null);
|
|
65
|
+
setSearch("");
|
|
66
|
+
setOpen(false);
|
|
67
|
+
};
|
|
68
|
+
const hasSelection = selectedIds.length > 0;
|
|
69
|
+
const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds.join("\u0000")]);
|
|
70
|
+
const countLabel = props.multiple ? props.countLabel : undefined;
|
|
71
|
+
const searchRef = useRef(null);
|
|
72
|
+
const optionRefs = useRef([]);
|
|
73
|
+
const liveOptions = () => optionRefs.current.filter((el) => el !== null);
|
|
74
|
+
const focusOption = (index) => {
|
|
75
|
+
const options = liveOptions();
|
|
76
|
+
if (options.length === 0)
|
|
77
|
+
return;
|
|
78
|
+
options[Math.max(0, Math.min(index, options.length - 1))]?.focus();
|
|
79
|
+
};
|
|
80
|
+
const onPanelKeyDown = (e) => {
|
|
81
|
+
const inSearch = document.activeElement === searchRef.current;
|
|
82
|
+
const current = liveOptions().indexOf(document.activeElement);
|
|
83
|
+
switch (e.key) {
|
|
84
|
+
case "ArrowDown":
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
focusOption(current < 0 ? 0 : current + 1);
|
|
87
|
+
return;
|
|
88
|
+
case "ArrowUp":
|
|
89
|
+
if (inSearch)
|
|
90
|
+
return;
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
if (current <= 0 && searchable)
|
|
93
|
+
searchRef.current?.focus();
|
|
94
|
+
else
|
|
95
|
+
focusOption(current < 0 ? 0 : current - 1);
|
|
96
|
+
return;
|
|
97
|
+
case "Home":
|
|
98
|
+
case "End":
|
|
99
|
+
if (inSearch)
|
|
100
|
+
return;
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
focusOption(e.key === "Home" ? 0 : liveOptions().length - 1);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (!searchable || inSearch || current < 0)
|
|
106
|
+
return;
|
|
107
|
+
if (e.key === "Backspace") {
|
|
108
|
+
e.preventDefault();
|
|
109
|
+
setSearch((s) => s.slice(0, -1));
|
|
110
|
+
searchRef.current?.focus();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (e.key.length === 1 && e.key !== " " && !e.metaKey && !e.ctrlKey && !e.altKey) {
|
|
114
|
+
e.preventDefault();
|
|
115
|
+
setSearch((s) => s + e.key);
|
|
116
|
+
searchRef.current?.focus();
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return (_jsxs(Popover, { open: open && !disabled, onOpenChange: (v) => {
|
|
120
|
+
setOpen(v);
|
|
121
|
+
if (!v)
|
|
122
|
+
setSearch("");
|
|
123
|
+
}, children: [_jsxs("span", { className: cn("relative inline-flex items-center gap-2 rounded-full border px-3 py-[7px]", "text-[13px] leading-5 font-semibold transition-colors", hasSelection && highlightSelected
|
|
124
|
+
? "border-accent-strong bg-accent-soft text-fg-0"
|
|
125
|
+
: "border-line-soft text-fg-1 hover:border-line hover:bg-bg-2 bg-transparent", hasSelection && !highlightSelected && "text-fg-0", disabled && "cursor-not-allowed opacity-50", triggerClassName), children: [ariaLabel && !ariaLabelledBy ? (_jsx(VisuallyHidden, { elementType: "span", id: labelId, children: ariaLabel })) : null, _jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open && !disabled, "aria-labelledby": labelledBy ? `${labelledBy} ${valueId}` : undefined, "aria-describedby": describedBy, className: cn("inline-flex min-w-0 grow cursor-pointer items-center justify-between gap-2 text-left", "disabled:cursor-not-allowed", "after:absolute after:inset-0 after:rounded-[inherit]", "focus-visible:after:outline-accent-strong focus-visible:after:outline-2 focus-visible:after:outline-offset-2", hasSelection && clearable && !disabled && "pr-6"), children: selected ? (_jsxs("span", { id: valueId, className: "inline-flex min-w-0 items-center gap-2", children: [renderMedia?.(selected, 20), _jsx("span", { className: LABEL_CLASS, children: selected.label })] })) : hasSelection && props.multiple ? (_jsx("span", { id: valueId, className: LABEL_CLASS, children: countLabel
|
|
126
|
+
? countLabel(selectedIds.length)
|
|
127
|
+
: `${placeholder}: ${selectedIds.length}` })) : hasSelection ? (_jsx("span", { id: valueId, className: LABEL_CLASS, children: missingLabel ? missingLabel(selectedIds[0]) : selectedIds[0] })) : (_jsxs("span", { id: valueId, className: "inline-flex min-w-0 items-center gap-2", children: [_jsx("span", { "aria-hidden": true, className: "inline-flex shrink-0 items-center opacity-60", children: icon ?? _jsx(SelectIcon, { size: 14 }) }), _jsx("span", { className: "truncate", children: placeholder })] })) }) }), hasSelection && clearable && !disabled ? (_jsx("button", { type: "button", "aria-label": clearLabel ?? messages.common.clear, onClick: clear, className: FIELD_CLEAR_CLASS, children: _jsx(CloseIcon, { size: 10, "aria-hidden": true }) })) : null] }), _jsxs(PopoverContent, { className: cn("w-[260px]", contentClassName), align: "start", onKeyDown: onPanelKeyDown, children: [searchable ? (_jsx("div", { className: "border-line-soft border-b px-3 py-2", children: _jsx("div", { className: "border-line-soft bg-bg-2 focus-within:border-accent-strong flex items-center gap-2 rounded-sm border px-3 py-2 transition-[border-color,box-shadow] focus-within:ring-[3px] focus-within:ring-[color:var(--focus-ring)]", children: _jsx("input", { ref: searchRef, type: "text", "data-disable-focus-ring": "true", "aria-label": searchPlaceholder ?? messages.common.searchPlaceholder, placeholder: searchPlaceholder ?? messages.common.searchPlaceholder, value: search, onChange: (e) => setSearch(e.target.value), className: "text-fg-0 placeholder:text-fg-2 w-full border-none bg-transparent text-[13px] outline-none", autoFocus: true }) }) })) : null, _jsx("div", { role: "listbox", "aria-multiselectable": props.multiple ? true : undefined, className: "max-h-[280px] overflow-y-auto p-1", children: filtered.length === 0 ? (_jsx("div", { className: "text-fg-2 px-3 py-4 text-center text-[13px]", children: search
|
|
128
|
+
? (notFoundText ?? messages.common.notFound)
|
|
129
|
+
: (emptyText ?? messages.common.empty) })) : (filtered.map((item, index) => {
|
|
130
|
+
const isSelected = selectedSet.has(String(item.id));
|
|
131
|
+
return (_jsxs("button", { ref: (el) => {
|
|
132
|
+
optionRefs.current[index] = el;
|
|
133
|
+
}, type: "button", role: "option", "aria-selected": isSelected, onClick: () => select(item), "data-selected": isSelected || undefined, className: cn(LISTBOX_ITEM_CLASS, "w-full gap-[10px] text-left transition-colors", "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:-outline-offset-2"), children: [renderMedia?.(item, 28), _jsx("span", { className: "flex-1 truncate font-medium", children: item.label }), isSelected ? (_jsx(CheckIcon, { size: 14, "aria-hidden": true, className: "text-accent-strong shrink-0" })) : (_jsx("span", { className: "text-fg-2 font-mono tabular-nums", children: item.meta }))] }, item.id));
|
|
134
|
+
})) })] })] }));
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/inputs/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type SliderProps as AriaSliderProps } from "react-aria-components";
|
|
2
|
+
/**
|
|
3
|
+
* `orientation` есть только у `Slider`. Раньше его не было нигде:
|
|
4
|
+
* дорожка и заливка были заданы одной горизонтальной геометрией, и
|
|
5
|
+
* вертикальный ползунок просто отрисовался бы горизонтальным. У одиночного
|
|
6
|
+
* ползунка теперь своя вертикальная геометрия; у `RangeSlider` её нет, и проп
|
|
7
|
+
* из его типа по-прежнему убран — проп, который компилируется и ничего не
|
|
8
|
+
* делает, хуже отсутствующего.
|
|
9
|
+
*/
|
|
10
|
+
interface SliderLookProps {
|
|
11
|
+
/** Подпись в шапке ползунка, слева от значения. */
|
|
12
|
+
label?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Где показывать значение.
|
|
15
|
+
*
|
|
16
|
+
* `side` — в строке подписи справа: значение видно всегда и не прыгает.
|
|
17
|
+
* `none` — не показывать: когда рядом стоит поле с тем же числом, две копии
|
|
18
|
+
* одного значения расходятся в глазах читающего.
|
|
19
|
+
*
|
|
20
|
+
* Подписи НАД ползунком нет намеренно: она ездит вместе с ним, и на краях
|
|
21
|
+
* шкалы вылезает за габарит контрола.
|
|
22
|
+
*/
|
|
23
|
+
valuePosition?: "side" | "none";
|
|
24
|
+
/** Формат значения. По умолчанию — как есть. */
|
|
25
|
+
formatValue?: (value: number) => string;
|
|
26
|
+
/** Классы на корневой элемент. */
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
export type SliderProps = SliderLookProps & Omit<AriaSliderProps<number>, "children" | "className" | "style">;
|
|
30
|
+
export type RangeSliderProps = SliderLookProps & Omit<AriaSliderProps<number[]>, "children" | "className" | "style" | "orientation"> & {
|
|
31
|
+
/**
|
|
32
|
+
* Наименьшее расстояние между концами в единицах значения.
|
|
33
|
+
*
|
|
34
|
+
* react-aria не даёт концам перепрыгнуть друг друга, но упереться вплотную
|
|
35
|
+
* позволяет, а нулевой диапазон почти всегда бессмыслен: «от 500 до 500»
|
|
36
|
+
* это не фильтр, а точное совпадение, которого в данных нет.
|
|
37
|
+
*/
|
|
38
|
+
minGap?: number;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Ползунок одного значения.
|
|
42
|
+
*
|
|
43
|
+
* Поведение целиком у react-aria: перетаскивание указателем и касанием,
|
|
44
|
+
* клавиатура (стрелки на шаг, Shift — крупным шагом, Home/End на края),
|
|
45
|
+
* `aria-valuetext` и объявление подписи. Кит держит вид и два решения выше —
|
|
46
|
+
* где стоит значение и что делать с нулевым диапазоном у пары.
|
|
47
|
+
*/
|
|
48
|
+
export declare function Slider({ label, valuePosition, formatValue, className, ...rest }: SliderProps): import("react").JSX.Element;
|
|
49
|
+
/**
|
|
50
|
+
* Ползунок диапазона: два конца на одной дорожке.
|
|
51
|
+
*
|
|
52
|
+
* Отдельный компонент, а не проп `range` у `Slider`: у пары другой тип значения
|
|
53
|
+
* (`number[]` против `number`), и уния по булеву пропу превратила бы `onChange`
|
|
54
|
+
* в «что-то одно из двух» для каждого вызывающего. Та же логика, по которой у
|
|
55
|
+
* `Select` оси `multiple` разведены типами.
|
|
56
|
+
*/
|
|
57
|
+
export declare function RangeSlider({ label, valuePosition, minGap, formatValue, className, onChange, ...rest }: RangeSliderProps): import("react").JSX.Element;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,WAAW,IAAI,eAAe,EAEpC,MAAM,uBAAuB,CAAC;AAK/B;;;;;;;GAOG;AACH,UAAU,eAAe;IACvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GACvC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG;IACpF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAwMJ;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,aAAsB,EACtB,WAAW,EACX,SAAS,EACT,GAAG,IAAI,EACR,EAAE,WAAW,+BAgDb;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,aAAsB,EACtB,MAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAiGlB"}
|