@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,158 @@
|
|
|
1
|
+
import { cn } from "./cn.js";
|
|
2
|
+
import { variantClasses, type ButtonSize, type Tone, type Variant } from "./variants.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Вид кнопки одной функцией — на два компонента.
|
|
6
|
+
*
|
|
7
|
+
* Вынесено из `Button` в момент появления `Menu`. Причина конкретная:
|
|
8
|
+
* `MenuTrigger` из react-aria передаёт триггеру свои пропы через `ButtonContext`
|
|
9
|
+
* (`onPress`, `aria-expanded`, `aria-haspopup`, ref), а `Button` пакета — обычный
|
|
10
|
+
* `<button>`, который этого контекста не читает и потому меню не открывает.
|
|
11
|
+
*
|
|
12
|
+
* Переписывать `Button` на react-aria нельзя: решение G спеки прямо запрещает
|
|
13
|
+
* переезд существующих примитивов — они работают и покрыты снимками. Поэтому
|
|
14
|
+
* триггер меню собран на кнопке RAC, а вид у обоих один и тот же и живёт здесь.
|
|
15
|
+
* Копипаст этой таблицы разошёлся бы: у пакета уже есть такая история с полями
|
|
16
|
+
* поиска во фронте.
|
|
17
|
+
*
|
|
18
|
+
* Строки литеральные и целиком — Tailwind сканирует исходники как текст.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Размеры сохранены от версии во фронте — чтобы переезд не сдвинул вёрстку.
|
|
23
|
+
*
|
|
24
|
+
* `xs` пришёл позже и от заказчика: строка списка рассчитана на 32 пикселя, а
|
|
25
|
+
* самая маленькая кнопка давала 30 и растягивала строку до 42. Подпись в него
|
|
26
|
+
* влезает с трудом и не предполагается — ступень заведена под кнопку-иконку в
|
|
27
|
+
* строке, см. `iconOnly`.
|
|
28
|
+
*/
|
|
29
|
+
const SIZES: Record<ButtonSize, string> = {
|
|
30
|
+
xs: "h-5 gap-1 px-1.5 text-[11px]",
|
|
31
|
+
sm: "h-[30px] gap-1.5 px-2.5 text-xs",
|
|
32
|
+
md: "h-9 gap-2 px-3.5 text-[13px]",
|
|
33
|
+
lg: "h-11 gap-2.5 px-[18px] text-md",
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Те же высоты, но квадрат и без горизонтальных отступов.
|
|
38
|
+
*
|
|
39
|
+
* У `xs` зона нажатия РАСШИРЕНА ПСЕВДОЭЛЕМЕНТОМ до 24 пикселей, хотя сама
|
|
40
|
+
* кнопка 20. Без этого ступень нельзя было бы выпускать: 20×20 не проходит
|
|
41
|
+
* WCAG 2.5.8 (минимальная цель — 24×24), а увеличить саму кнопку значит
|
|
42
|
+
* вернуть ту самую растянутую строку, ради которой ступень и заводилась.
|
|
43
|
+
* Псевдоэлемент разводит эти два требования: в раскладке кнопка занимает 20,
|
|
44
|
+
* пальцем и мышью ловится на 24.
|
|
45
|
+
*/
|
|
46
|
+
const ICON_SIZES: Record<ButtonSize, string> = {
|
|
47
|
+
xs: "relative h-5 w-5 px-0 text-[11px] before:absolute before:-inset-0.5 before:content-['']",
|
|
48
|
+
sm: "h-[30px] w-[30px] px-0 text-xs",
|
|
49
|
+
md: "h-9 w-9 px-0 text-[13px]",
|
|
50
|
+
lg: "h-11 w-11 px-0 text-md",
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Кольцо спиннера под каждый размер — те же числа, что у `Spinner`.
|
|
55
|
+
*
|
|
56
|
+
* Сам `Spinner` сюда не годится, и причина не в геометрии: у него внутри
|
|
57
|
+
* `role="status"` и невидимая подпись «Загрузка», а она вошла бы в доступное
|
|
58
|
+
* имя кнопки — скринридер прочёл бы «Загрузка Сохранить». Внутри кнопки
|
|
59
|
+
* индикатор обязан быть декоративным: состояние объявляет `aria-busy`.
|
|
60
|
+
*/
|
|
61
|
+
export const SPINNER_SIZES: Record<ButtonSize, string> = {
|
|
62
|
+
xs: "size-3 border-[1.5px]",
|
|
63
|
+
sm: "size-3.5 border-[1.5px]",
|
|
64
|
+
md: "size-4 border-2",
|
|
65
|
+
lg: "size-5 border-2",
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export const SPINNER_BASE =
|
|
69
|
+
"inline-block animate-spin rounded-full border-current border-t-transparent";
|
|
70
|
+
|
|
71
|
+
const BASE =
|
|
72
|
+
"inline-flex cursor-pointer items-center justify-center rounded-control border font-semibold " +
|
|
73
|
+
"transition-all duration-150 " +
|
|
74
|
+
"focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:outline-offset-2 " +
|
|
75
|
+
"disabled:pointer-events-none disabled:opacity-50 " +
|
|
76
|
+
/*
|
|
77
|
+
ИКОНКА ВНУТРИ КНОПКИ НЕ ЯВЛЯЕТСЯ ЦЕЛЬЮ ПОПАДАНИЯ.
|
|
78
|
+
|
|
79
|
+
Иначе `event.target` у щелчка в иконку — сам `<svg>` или его `<path>`, а
|
|
80
|
+
не кнопка. Кнопке это не мешает: событие всплывает и она отрабатывает. А
|
|
81
|
+
вот всем, кто РАЗБИРАЕТ цель щелчка, мешает насмерть.
|
|
82
|
+
|
|
83
|
+
Нашлось на строке `EditableList` с действием: react-aria решает, не попал
|
|
84
|
+
ли щелчок во вложенный интерактивный элемент, проверкой `isTabbable` на
|
|
85
|
+
самой цели, без обхода предков. Цель — `<svg>`, он не таббабелен, и
|
|
86
|
+
действие строки срабатывало ВМЕСТЕ с кнопкой: щелчок по «удалить» в
|
|
87
|
+
списке задач заодно открывал подробности. По краю той же кнопки, где
|
|
88
|
+
целью была она сама, всё работало правильно — то есть дефект зависел от
|
|
89
|
+
того, попал ли человек в сами тридцать пикселей рисунка.
|
|
90
|
+
|
|
91
|
+
Лечится здесь, а не у потребителя, потому что это свойство кнопки: её
|
|
92
|
+
содержимое не должно подменять её собой ни для кого.
|
|
93
|
+
*/
|
|
94
|
+
"[&_svg]:pointer-events-none " +
|
|
95
|
+
/*
|
|
96
|
+
ИКОНКА НЕ СЖИМАЕТСЯ. `<svg>` в кнопке — flex-элемент со `shrink: 1`, и
|
|
97
|
+
когда кнопку ужимает раскладка вокруг, flex отбирает ширину и у него: в
|
|
98
|
+
`SelectionBar` на средней ширине карандаш становился 10×18 при подписи,
|
|
99
|
+
сломанной на две строки. Высота при этом остаётся, поэтому
|
|
100
|
+
рисунок не уменьшается, а сплющивается. Подпись пусть переносится, но не
|
|
101
|
+
иконка.
|
|
102
|
+
*/
|
|
103
|
+
"[&_svg]:shrink-0 " +
|
|
104
|
+
/*
|
|
105
|
+
`aria-disabled` красится ТАК ЖЕ, как родной `disabled`.
|
|
106
|
+
|
|
107
|
+
Кнопка, выключенная только атрибутом ARIA, выглядела полностью рабочей:
|
|
108
|
+
вид завязан на псевдокласс `:disabled`, а его на такой кнопке нет. Зрячий
|
|
109
|
+
пользователь мыши видел обычную кнопку с курсором-указателем, жал — и не
|
|
110
|
+
происходило ничего и не объяснялось ничего. `aria-disabled` берут там, где
|
|
111
|
+
кнопку нельзя убирать из обхода (край списка: с родным `disabled` браузер
|
|
112
|
+
снимает фокус с той самой кнопки, на которой он стоит).
|
|
113
|
+
*/
|
|
114
|
+
"aria-disabled:opacity-50 aria-disabled:cursor-default";
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Размер иконки внутри кнопки каждой ступени.
|
|
118
|
+
*
|
|
119
|
+
* Словарь иконок размера не задаёт — это работа `LucideProvider` потребителя, —
|
|
120
|
+
* и без явного `size` lucide рисует 24 пикселя при толщине 2: в кнопке высотой
|
|
121
|
+
* 30 с подписью 13 пикселей такая иконка в полтора раза выше нужного. Иконки,
|
|
122
|
+
* которые кит кладёт в свои кнопки (копирование, раскрыватель `SplitButton`,
|
|
123
|
+
* переключатель `SideNav`), берут размер отсюда, чтобы следовать ступени кнопки.
|
|
124
|
+
* Числа те же, что в историях кита: 14 в компактных, 16 по умолчанию.
|
|
125
|
+
*/
|
|
126
|
+
export const BUTTON_ICON_SIZE: Record<ButtonSize, number> = { xs: 14, sm: 14, md: 16, lg: 18 };
|
|
127
|
+
|
|
128
|
+
export interface ButtonLookOptions {
|
|
129
|
+
/** Подача: `solid`, `soft`, `outline` или `ghost` из словаря кита. По умолчанию `soft`. */
|
|
130
|
+
variant?: Variant;
|
|
131
|
+
/** Тон: цветовая роль кнопки из словаря кита. По умолчанию `neutral`. */
|
|
132
|
+
tone?: Tone;
|
|
133
|
+
/** Размер кнопки: `xs`, `sm`, `md` или `lg`. По умолчанию `md`. */
|
|
134
|
+
size?: ButtonSize;
|
|
135
|
+
/** Только иконка: квадрат без горизонтальных отступов, подпись не показывается. Нужно доступное имя. */
|
|
136
|
+
iconOnly?: boolean;
|
|
137
|
+
/** Нажатое состояние: кнопка подаётся как `soft` своего тона с тенью, какой бы ни был `variant`. */
|
|
138
|
+
selected?: boolean;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export function buttonClasses({
|
|
142
|
+
variant = "soft",
|
|
143
|
+
tone = "neutral",
|
|
144
|
+
size = "md",
|
|
145
|
+
iconOnly = false,
|
|
146
|
+
selected = false,
|
|
147
|
+
}: ButtonLookOptions): string {
|
|
148
|
+
return cn(
|
|
149
|
+
BASE,
|
|
150
|
+
iconOnly ? ICON_SIZES[size] : SIZES[size],
|
|
151
|
+
// Нажатое состояние подаётся как `soft` того же тона независимо от варианта:
|
|
152
|
+
// у `ghost` и `outline` своей заливки нет, а нажатость обязана быть видна.
|
|
153
|
+
// Тень отделяет её от простого hover.
|
|
154
|
+
selected
|
|
155
|
+
? cn(variantClasses("soft", tone), "shadow-[var(--shadow-1)]")
|
|
156
|
+
: variantClasses(variant, tone)
|
|
157
|
+
);
|
|
158
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Tone } from "./variants.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Вид набора вариантов выбора.
|
|
5
|
+
*
|
|
6
|
+
* Имя оси — `appearance`, а не `variant`: `variant` в ките уже значит
|
|
7
|
+
* solid/soft/outline/ghost (подачу тона), а здесь меняется не подача, а сама
|
|
8
|
+
* форма варианта — строка с кружком или карточка. Словарь ADR-0036 имени не
|
|
9
|
+
* занимает и не запрещает: в категории «Оформление» оно новое по смыслу, а
|
|
10
|
+
* новый смысл получает новое имя.
|
|
11
|
+
*/
|
|
12
|
+
export type ChoiceAppearance = "default" | "card";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Рамка выбранной карточки по тону.
|
|
16
|
+
*
|
|
17
|
+
* Свой словарь, а не `TONE_TOKENS[tone].border`: у `neutral` там `border-line` —
|
|
18
|
+
* нейтральная рамка-разделитель, которую гейт контраста не меряет намеренно
|
|
19
|
+
* (она не несёт смысла). Выбранная карточка рамкой СООБЩАЕТ состояние, то есть
|
|
20
|
+
* это признак по WCAG 1.4.11 с порогом 3:1, и для `neutral` берётся `fg-3`.
|
|
21
|
+
* Остальные тона — те же `*-strong`, что и у рамок кита.
|
|
22
|
+
*
|
|
23
|
+
* Те же значения, что у `STATE_BORDER` в `variants.ts` (рамка отмеченной
|
|
24
|
+
* коробки флажка и включённого `Toggle`): рамка карточки и рамка коробки внутри
|
|
25
|
+
* неё — один признак одного цвета. Словарь не ссылается на тот: скрипт гейта
|
|
26
|
+
* грузит `choice-card.ts` напрямую через Node, а он не сопоставляет `.js` с
|
|
27
|
+
* `.ts` — рантайм-импорт отсюда его роняет. Гейт меряет оба словаря.
|
|
28
|
+
*
|
|
29
|
+
* Литеральные строки целиком: Tailwind сканирует исходники как текст.
|
|
30
|
+
* `scripts/contrast.mjs` читает этот словарь и меряет каждую запись против
|
|
31
|
+
* подложек и против самой карточки — `bg-2`.
|
|
32
|
+
*/
|
|
33
|
+
export const CHOICE_CARD_SELECTED_BORDER: Record<Tone, string> = {
|
|
34
|
+
neutral: "border-fg-3",
|
|
35
|
+
accent: "border-accent-strong",
|
|
36
|
+
success: "border-success-strong",
|
|
37
|
+
warning: "border-warning-strong",
|
|
38
|
+
danger: "border-danger-strong",
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** Рамка карточки, пока ничего не выбрано. Такая же нейтральная, как у полей. */
|
|
42
|
+
export const CHOICE_CARD_IDLE_BORDER = "border-line";
|
|
43
|
+
|
|
44
|
+
/** Рамка карточки с ошибкой — `danger` независимо от тона набора. */
|
|
45
|
+
export const CHOICE_CARD_INVALID_BORDER = "border-danger-strong";
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Каркас карточки: рамка и подложка на `RadioField`/`CheckboxField`. Отступа у
|
|
49
|
+
* каркаса нет — его держит метка (см. `CHOICE_CARD_LABEL`).
|
|
50
|
+
*/
|
|
51
|
+
export const CHOICE_CARD_BASE = "flex flex-col rounded-lg border bg-bg-2 transition-colors";
|
|
52
|
+
|
|
53
|
+
/** Раскладка карточки в строке с переносом: растёт, но не уезжает в полосу. */
|
|
54
|
+
export const CHOICE_CARD_ROW = "max-w-xs flex-1 basis-48";
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Метка карточки — область нажатия на всю карточку.
|
|
58
|
+
*
|
|
59
|
+
* ВСЯ КАРТОЧКА — ЭТО МЕТКА, вместе с описанием. Метка накрывает рамку (`-m-px`
|
|
60
|
+
* и отступ на пиксель больше), поэтому щелчок в любую точку карточки — щелчок
|
|
61
|
+
* по родному радио или флажку. Первый вариант растягивал на карточку
|
|
62
|
+
* псевдоэлемент метки, а описание оставлял соседом; он работал мышью, но
|
|
63
|
+
* псевдоэлемент перехватывает указатель у всего содержимого, и браузерные
|
|
64
|
+
* проверки (Playwright) не могли щёлкнуть по описанию: «метка перехватывает
|
|
65
|
+
* указатель».
|
|
66
|
+
*
|
|
67
|
+
* Описание внутри метки не попадает в доступное имя: оно скрыто от
|
|
68
|
+
* вспомогательных технологий (`aria-hidden`), а читается через
|
|
69
|
+
* `aria-describedby`, которым его связывает react-aria, — ссылка по
|
|
70
|
+
* идентификатору работает и на скрытый элемент.
|
|
71
|
+
*/
|
|
72
|
+
export const CHOICE_CARD_LABEL =
|
|
73
|
+
"-m-px flex cursor-pointer items-start gap-3 rounded-lg p-[13px] disabled:cursor-default";
|
|
74
|
+
|
|
75
|
+
/** Кольцо фокуса на карточке, а не на кружке: ориентир клавиатуры — вся карточка. */
|
|
76
|
+
export const CHOICE_CARD_FOCUS_RING = "ring-accent-strong ring-offset-bg-1 ring-2 ring-offset-1";
|
|
77
|
+
|
|
78
|
+
/** Слот иконки: декоративный, поэтому вне имени и фиксированного размера. */
|
|
79
|
+
export const CHOICE_CARD_ICON = "text-fg-1 mt-0.5 flex size-5 shrink-0 items-center justify-center";
|
package/src/lib/clamp.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Зажать число между границами.
|
|
3
|
+
*
|
|
4
|
+
* Вынесено, когда выражение написали четвёртый раз: `Pagination`, `Tabs`,
|
|
5
|
+
* `SplitPanel` и `Rating`. Функция тривиальная, и ценность не в экономии
|
|
6
|
+
* строк — в том, что перевёрнутый диапазон везде обрабатывается одинаково.
|
|
7
|
+
*
|
|
8
|
+
* При `min > max` возвращается `max`: единственный вариант, при котором
|
|
9
|
+
* результат остаётся внутри объявленного верхнего предела. Компоненту, которому
|
|
10
|
+
* важно не отдать наружу невалидный диапазон, границы надо приводить до вызова
|
|
11
|
+
* — так делает `SplitPanel`.
|
|
12
|
+
*
|
|
13
|
+
* `@internal` — наружу из пакета не экспортируется: это утилита кита, а не
|
|
14
|
+
* часть его public API.
|
|
15
|
+
*/
|
|
16
|
+
export function clamp(value: number, min: number, max: number): number {
|
|
17
|
+
return Math.min(Math.max(value, min), max);
|
|
18
|
+
}
|
package/src/lib/cn.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { clsx, type ClassValue } from "clsx";
|
|
2
|
+
import { extendTailwindMerge } from "tailwind-merge";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Слияние с разрешением конфликтов, знающее про шкалу кита.
|
|
6
|
+
*
|
|
7
|
+
* Штатный `twMerge` раскладывает `text-*` по группам, глядя на суффикс:
|
|
8
|
+
* t-shirt-размер (`sm`, `md`, `2xl`) или произвольная длина — это размер
|
|
9
|
+
* шрифта, всё остальное — цвет. Ступень `caption` под это правило не подходит,
|
|
10
|
+
* и `text-caption` попадал в группу ЦВЕТА, конфликтуя с `text-fg-2`:
|
|
11
|
+
*
|
|
12
|
+
* twMerge("text-caption", "text-fg-2") === "text-fg-2" // размер съеден
|
|
13
|
+
* twMerge("text-fg-2", "text-caption") === "text-caption" // цвет съеден
|
|
14
|
+
*
|
|
15
|
+
* Молча, без ошибки сборки, и результат зависел от порядка аргументов. Так
|
|
16
|
+
* `Text size="caption"` рисовался унаследованным кеглем, а `Kbd` терял цвет.
|
|
17
|
+
*
|
|
18
|
+
* Остальные шесть ступеней (`xs`, `sm`, `md`, `lg`, `xl`, `2xl`) — законные
|
|
19
|
+
* t-shirt-размеры, и их `twMerge` разбирает сам.
|
|
20
|
+
*
|
|
21
|
+
* `rounded-control` — вторая такая ступень и ровно тот же случай. Радиус
|
|
22
|
+
* контролов назван по роли, а не по размеру (см. `--r-control` в styles.css),
|
|
23
|
+
* поэтому под t-shirt-правило не подходит: без регистрации ниже `twMerge` не
|
|
24
|
+
* узнаёт в нём радиус вовсе и перестаёт разрешать конфликт —
|
|
25
|
+
* `cn("rounded-control", "rounded-full")` вернул бы ОБА класса, и выиграл бы
|
|
26
|
+
* тот, что ниже в CSS, а не тот, что передан последним.
|
|
27
|
+
*/
|
|
28
|
+
const merge = extendTailwindMerge({
|
|
29
|
+
extend: {
|
|
30
|
+
classGroups: {
|
|
31
|
+
"font-size": [{ text: ["caption"] }],
|
|
32
|
+
rounded: [{ rounded: ["control"] }],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Слияние Tailwind-классов с разрешением конфликтов: последний выигрывает.
|
|
39
|
+
* Перенесено из `src/lib/utils.js` фронта — там остаются прикладные утилиты
|
|
40
|
+
* (formatFileSize, maskTime, normalizeTime, pluralize), они пакету не нужны.
|
|
41
|
+
*
|
|
42
|
+
* Экспортируется наружу намеренно: у потребителя свой `cn` на голом `twMerge`,
|
|
43
|
+
* и `cn("text-caption", "text-fg-2")` там сломается ровно так же. Пары
|
|
44
|
+
* «ступень шкалы + цвет» собирайте этим.
|
|
45
|
+
*/
|
|
46
|
+
export function cn(...inputs: ClassValue[]): string {
|
|
47
|
+
return merge(clsx(inputs));
|
|
48
|
+
}
|
package/src/lib/date.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type CalendarDate, parseDate } from "@internationalized/date";
|
|
2
|
+
import type { DateValue } from "react-aria-components";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Разбор ISO-даты, не бросающий на неразбираемом значении.
|
|
6
|
+
*
|
|
7
|
+
* `parseDate` бросает ДВА разных исключения, и оба достижимы из адреса:
|
|
8
|
+
* `parseDate("ерунда")` — это `Error: Invalid ISO 8601 date string`, а
|
|
9
|
+
* `parseDate("2026-02-29")` — `RangeError: Value out of range`, потому что 2026
|
|
10
|
+
* год не високосный. Второе особенно коварно: строка выглядит правильной, и
|
|
11
|
+
* ссылка с ней живёт до первого не-високосного года.
|
|
12
|
+
*
|
|
13
|
+
* Вынесено, когда выяснилось, что защита стоит в одном месте из трёх.
|
|
14
|
+
* `DateRangePicker` заворачивал разбор в `try/catch` и в комментарии
|
|
15
|
+
* утверждал, что соседний `DatePicker` на том же вводе показывает
|
|
16
|
+
* плейсхолдер, — а `DatePicker` разбирал значение выражением в JSX-потомке,
|
|
17
|
+
* то есть на каждом рендере и без всякой защиты. Комментарий описывал
|
|
18
|
+
* инвариант, которого не было: ровно так и разъезжаются три копии одной мысли.
|
|
19
|
+
*
|
|
20
|
+
* `@internal` — наружу не экспортируется: у потребителя есть `parseDate`
|
|
21
|
+
* библиотеки, и решать за него, что делать с неразбираемым значением, кит не
|
|
22
|
+
* должен.
|
|
23
|
+
*/
|
|
24
|
+
export function parseDateOrNull(value: string | null | undefined): CalendarDate | null {
|
|
25
|
+
if (!value) return null;
|
|
26
|
+
try {
|
|
27
|
+
return parseDate(value);
|
|
28
|
+
} catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Дата в любом из двух видов, которые принимают календари кита: ISO-строка
|
|
35
|
+
* `ГГГГ-ММ-ДД` или объект `@internationalized/date`.
|
|
36
|
+
*
|
|
37
|
+
* Строка нужна потребителю, у которого этого пакета нет: `@internationalized/date`
|
|
38
|
+
* не входит в публичные точки входа кита, и ради одной границы `minValue`
|
|
39
|
+
* тянуть его в зависимости приложения незачем. Объект остаётся — им уже
|
|
40
|
+
* пользуются.
|
|
41
|
+
*/
|
|
42
|
+
export type DateInput = DateValue | string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Приводит `DateInput` к объекту календаря.
|
|
46
|
+
*
|
|
47
|
+
* `undefined` и `null` проходят насквозь — у react-aria это разные вещи
|
|
48
|
+
* (`value={undefined}` — неуправляемое поле, `value={null}` — управляемое
|
|
49
|
+
* пустое), и стирать различие здесь нельзя. Неразбираемая строка даёт `null`:
|
|
50
|
+
* «значения нет», а не исключение, как у `DatePicker` с мусором из адреса.
|
|
51
|
+
*/
|
|
52
|
+
export function toDateValue(value: DateInput | null | undefined): DateValue | null | undefined {
|
|
53
|
+
if (value === undefined || value === null) return value;
|
|
54
|
+
return typeof value === "string" ? parseDateOrNull(value) : value;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* То же для границы и фокуса: пустое и неразбираемое — одинаково «не задано».
|
|
59
|
+
* Граница из мусора не должна превращаться в `null`: react-aria читает `null`
|
|
60
|
+
* как ошибку типа, а не как отсутствие.
|
|
61
|
+
*/
|
|
62
|
+
export function toDateBound(value: DateInput | undefined): DateValue | undefined {
|
|
63
|
+
return toDateValue(value) ?? undefined;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Календарный день объекта календаря в виде ISO-строки `ГГГГ-ММ-ДД`. */
|
|
67
|
+
export function toIsoDate(value: DateValue): string {
|
|
68
|
+
// `toString()` у `CalendarDateTime` и `ZonedDateTime` несёт время и зону;
|
|
69
|
+
// наружу идёт день, как у `DatePicker`.
|
|
70
|
+
return value.toString().slice(0, 10);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Диапазон в любом из двух видов: пара ISO-строк или `{ start, end }` объектов. */
|
|
74
|
+
export interface DateRangeInput {
|
|
75
|
+
start: DateInput;
|
|
76
|
+
end: DateInput;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** Пара границ диапазона в виде объектов календаря; половина диапазона — не диапазон. */
|
|
80
|
+
export function toRangeValue(
|
|
81
|
+
value: DateRangeInput | null | undefined
|
|
82
|
+
): { start: DateValue; end: DateValue } | null | undefined {
|
|
83
|
+
if (value === undefined || value === null) return value;
|
|
84
|
+
const start = toDateValue(value.start);
|
|
85
|
+
const end = toDateValue(value.end);
|
|
86
|
+
return start && end ? { start, end } : null;
|
|
87
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Тип `process` объявлен здесь же, а не берётся из `@types/node`: сборка пакета
|
|
2
|
+
// Node-типов не подключает, а тянуть их ради одного поля незачем.
|
|
3
|
+
declare const process: { env: { NODE_ENV?: string } };
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Предупреждение потребителю в режиме разработки — один раз на сообщение.
|
|
7
|
+
*
|
|
8
|
+
* ЗАЧЕМ. Типы ловят нарушение контракта у потребителя на TypeScript, а у
|
|
9
|
+
* потребителя на JS — нет: два взаимоисключающих пропа приходят молча, и один
|
|
10
|
+
* из них молча проигрывает. Предупреждение закрывает именно эту дыру. Правила,
|
|
11
|
+
* когда оно уместно, — в `docs/conventions.md`, раздел «Предупреждения в режиме
|
|
12
|
+
* разработки».
|
|
13
|
+
*
|
|
14
|
+
* КАК ОПРЕДЕЛЯЕТСЯ РЕЖИМ. Пакет выходит голым `tsc` без бандлера, поэтому
|
|
15
|
+
* значение `process.env.NODE_ENV` в `dist` не вшито — его подставляет сборка
|
|
16
|
+
* потребителя (Vite, Next, webpack, esbuild с `define`), и в продакшн-сборке
|
|
17
|
+
* ветка с предупреждением вырезается как мёртвая. Без бандлера (Node, браузер с
|
|
18
|
+
* нативными модулями) `process` не определён: ссылка на него бросает
|
|
19
|
+
* `ReferenceError`, и это тоже «тихо». Поэтому `try/catch`, а не
|
|
20
|
+
* `typeof process !== "undefined"`: той проверки бандлер не заменяет, и в
|
|
21
|
+
* браузерной сборке Vite, где `process` нет, предупреждение не сработало бы
|
|
22
|
+
* никогда — даже в разработке. Для `try/catch` подстановка вида
|
|
23
|
+
* `"development" !== "production"` остаётся константой, а не вызовом.
|
|
24
|
+
*
|
|
25
|
+
* Читается при каждом вызове, а не при загрузке модуля: тесты подменяют
|
|
26
|
+
* значение через `vi.stubEnv`.
|
|
27
|
+
*
|
|
28
|
+
* `@internal` — наружу из пакета не экспортируется.
|
|
29
|
+
*/
|
|
30
|
+
function isDevelopment(): boolean {
|
|
31
|
+
try {
|
|
32
|
+
return process.env.NODE_ENV !== "production";
|
|
33
|
+
} catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Сообщения, которые уже были показаны. Ключ — сам текст. */
|
|
39
|
+
const shown = new Set<string>();
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Написать в консоль предупреждение — только в разработке и только впервые.
|
|
43
|
+
*
|
|
44
|
+
* «Один раз» нужно потому, что вызов стоит в теле рендера: строка списка
|
|
45
|
+
* перерисовывается сотни раз, а `StrictMode` вызывает рендер дважды. Ключ —
|
|
46
|
+
* текст сообщения, поэтому текст не должен содержать меняющихся данных: два
|
|
47
|
+
* разных значения дали бы два предупреждения об одном и том же.
|
|
48
|
+
*
|
|
49
|
+
* Текст — по-английски (ADR-0034: консоль — адресат вне кита) и называет, что
|
|
50
|
+
* передано, что победило и как исправить.
|
|
51
|
+
*/
|
|
52
|
+
export function devWarn(message: string): void {
|
|
53
|
+
if (!isDevelopment() || shown.has(message)) return;
|
|
54
|
+
shown.add(message);
|
|
55
|
+
// Единственное место кита, где `console` законен: предупреждение и есть вывод.
|
|
56
|
+
// eslint-disable-next-line no-console
|
|
57
|
+
console.warn(message);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Забыть показанное. Нужно только тестам: состояние живёт на уровне модуля. */
|
|
61
|
+
export function resetDevWarnings(): void {
|
|
62
|
+
shown.clear();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Ошибка потребителя в консоль — только в разработке и только впервые, как
|
|
67
|
+
* `devWarn`. Для того, что ломает компонент целиком (набор Инструментов
|
|
68
|
+
* Редактора собран с ошибкой): само поле показывает её пользователю строкой
|
|
69
|
+
* каталога, а причина нужна разработчику.
|
|
70
|
+
*
|
|
71
|
+
* `cause` — пойманное исключение: оно идёт в консоль вторым аргументом, а не в
|
|
72
|
+
* текст. Ключ «один раз» — текст, и сообщение исключения в нём сделало бы
|
|
73
|
+
* каждую ошибку новой; консоль же покажет у объекта `Error` и стек.
|
|
74
|
+
*/
|
|
75
|
+
export function devError(message: string, cause?: unknown): void {
|
|
76
|
+
if (!isDevelopment() || shown.has(message)) return;
|
|
77
|
+
shown.add(message);
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
if (cause === undefined) console.error(message);
|
|
80
|
+
// eslint-disable-next-line no-console
|
|
81
|
+
else console.error(message, cause);
|
|
82
|
+
}
|
package/src/lib/empty.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Пустота, которую `== null` не видит.
|
|
5
|
+
*
|
|
6
|
+
* Один и тот же дефект кит ловил уже пять раз, и каждый раз чинил ОДНУ точку, а
|
|
7
|
+
* не правило: подпись `""` не считалась отсутствующей (`Segmented`, потом
|
|
8
|
+
* `CopyButton`, потом `ToggleGroup`), пустой массив детей не считался пустым
|
|
9
|
+
* списком (`NotificationList`), `NaN` проходил проверку на «значение задано»
|
|
10
|
+
* (`Progress`). Проверка `== null` ловит ровно `null` и `undefined` — а пустым
|
|
11
|
+
* в разметке бывает ещё и `""`, и `[]`, и `false`, и `NaN`.
|
|
12
|
+
*
|
|
13
|
+
* Отсюда общее место и тест-семейство рядом с ним: починка одной кнопки
|
|
14
|
+
* воспроизводит причину, починка предиката — нет.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Есть ли что показать: подпись, имя, содержимое ячейки.
|
|
19
|
+
*
|
|
20
|
+
* `false` тоже пустой — это результат `{flag && <Icon/>}`, самой частой идиомы
|
|
21
|
+
* условного рендера. Ноль НЕ пустой: `0` — законное значение счётчика.
|
|
22
|
+
*
|
|
23
|
+
* Для пропа типа `string` предикат не нужен: там `value || fallback` выражает
|
|
24
|
+
* то же правило и не спорит с сужением типов. `hasContent` — про `ReactNode`,
|
|
25
|
+
* где пустыми бывают ещё `false` и массив.
|
|
26
|
+
*/
|
|
27
|
+
export function hasContent(value: ReactNode): boolean {
|
|
28
|
+
if (value == null || value === false || value === "") return false;
|
|
29
|
+
if (Array.isArray(value)) return value.some(hasContent);
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Число, которое можно показать и объявить.
|
|
35
|
+
*
|
|
36
|
+
* `NaN` и бесконечности отсекаются вместе с `null`: они приходят из арифметики
|
|
37
|
+
* потребителя (`loaded / total` при нулевом `total`) и до волны 26 проходили
|
|
38
|
+
* насквозь — `width: NaN%` растягивал полосу прогресса на всю ширину, а
|
|
39
|
+
* скринридер читал «NaN процентов».
|
|
40
|
+
*/
|
|
41
|
+
export function isShowableNumber(value: number | null | undefined): value is number {
|
|
42
|
+
return value != null && Number.isFinite(value);
|
|
43
|
+
}
|
package/src/lib/field.ts
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Оболочка поля ввода: рамка, фокус, выключенное состояние.
|
|
3
|
+
*
|
|
4
|
+
* Вынесено из `TextControl` в момент появления `NumberInput` — второго
|
|
5
|
+
* компонента с такой же оболочкой. Копипаст этих строк разошёлся бы: во фронте
|
|
6
|
+
* до пакета так и вышло — пять рукописных полей поиска красили фокус в `--tg`,
|
|
7
|
+
* тогда как обычные поля через `TextControl` — в `--accent-strong`, и увидеть
|
|
8
|
+
* расхождение можно было, только открыв пять файлов рядом.
|
|
9
|
+
*
|
|
10
|
+
* ВАЖНО про склейку `+` ниже — она безопасна, и это не то же самое, что
|
|
11
|
+
* запрещено в `variants.ts`. Tailwind сканирует исходники как ТЕКСТ и ищет в
|
|
12
|
+
* нём кандидатов: каждое имя класса здесь присутствует в файле целиком, внутри
|
|
13
|
+
* литерала, а `+` только соединяет готовые строки. Запрещено другое — собирать
|
|
14
|
+
* само ИМЯ класса (`` `hover:${t.bg}` ``): такого текста в файле нет, и в CSS
|
|
15
|
+
* он не попадёт молча, без ошибки сборки. Сторожит `tests/class-coverage.test.ts`.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { INVALID_BORDER_CLASS } from "./variants.js";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Рамка живёт на оболочке, а не на самом поле. Разделение не косметическое:
|
|
22
|
+
* оно позволяет положить внутрь иконку или счётчик, не воюя с браузерным
|
|
23
|
+
* оформлением поля.
|
|
24
|
+
*
|
|
25
|
+
* Подсветка фокуса — через `focus-within`, и цвет берётся из `--accent-strong`,
|
|
26
|
+
* а не из `--accent`: индикатор фокуса это не-текст под порогом 3:1, а
|
|
27
|
+
* `--accent` рассчитан на белый текст поверх.
|
|
28
|
+
*
|
|
29
|
+
* Выключенное состояние гасит ОБОЛОЧКУ, а не поле: `disabled:opacity-50` на
|
|
30
|
+
* самом поле приглушил бы только текст, оставив рамку такой же яркой, как у
|
|
31
|
+
* соседнего рабочего поля.
|
|
32
|
+
*
|
|
33
|
+
* Селектор адресует именно поле (`has-[input:disabled]`, `has-[textarea:disabled]`),
|
|
34
|
+
* а не любого выключенного потомка (`has-[:disabled]`, как было до появления
|
|
35
|
+
* `NumberInput`). Разница не теоретическая: в оболочке числового поля стоят ещё
|
|
36
|
+
* две кнопки ступеней, и на границе `min`/`max` одна из них законно выключена —
|
|
37
|
+
* прежний селектор гасил из-за неё всё поле вместе со значением. Поймал аудит
|
|
38
|
+
* axe: унаследованная прозрачность роняла контраст значения с 4.5 до 4.07.
|
|
39
|
+
*
|
|
40
|
+
* НЕВАЛИДНОСТЬ КРАСИТ ТУ ЖЕ ОБОЛОЧКУ, И ИСТОЧНИКОВ У НЕЁ ДВА. У контролов
|
|
41
|
+
* react-aria признак висит атрибутом `data-invalid` на самой оболочке — его
|
|
42
|
+
* ловит вариант `invalid:` из плагина. У полей на нативных `input`/`textarea`
|
|
43
|
+
* оболочка — обычный `div`, на котором ловить нечего: там признак живёт на
|
|
44
|
+
* самом поле в `aria-invalid`, и оболочка дотягивается до него через `has-`.
|
|
45
|
+
* Одного селектора не хватало: до этой правки `INVALID_BORDER_CLASS` был
|
|
46
|
+
* объявлен, но применён ровно в одном месте — вручную в `NumberInput`, — и
|
|
47
|
+
* `TextControl`, `Combobox`, `TagInput` и построенный на первом `SearchControl`
|
|
48
|
+
* показать ошибку не умели вовсе.
|
|
49
|
+
*
|
|
50
|
+
* Порядок в строке значим: `invalid:` стоит ПОСЛЕ `focus-within:`, поэтому у
|
|
51
|
+
* поля в фокусе с ошибкой рамка остаётся красной. Так вело себя числовое поле
|
|
52
|
+
* до переноса правила сюда, и менять это заодно с переносом не стоит.
|
|
53
|
+
*/
|
|
54
|
+
export const FIELD_SHELL_CLASS =
|
|
55
|
+
"border-line bg-bg-2 rounded-control border px-3 shadow-[var(--shadow-1)] " +
|
|
56
|
+
"transition-[border-color,box-shadow] duration-150 " +
|
|
57
|
+
"focus-within:border-accent-strong focus-within:ring-[3px] focus-within:ring-[color:var(--focus-ring)] " +
|
|
58
|
+
INVALID_BORDER_CLASS +
|
|
59
|
+
" has-[input[aria-invalid=true]]:border-danger-strong " +
|
|
60
|
+
"has-[textarea[aria-invalid=true]]:border-danger-strong " +
|
|
61
|
+
"has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50 " +
|
|
62
|
+
"has-[textarea:disabled]:cursor-not-allowed has-[textarea:disabled]:opacity-50";
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Само поле обнулено полностью: без этого Safari и Chrome рисуют разное.
|
|
66
|
+
* Глобальное правило `:focus-visible` в `styles.css` гасится атрибутом
|
|
67
|
+
* `data-disable-focus-ring` на элементе — контур вокруг поля здесь лишний,
|
|
68
|
+
* подсветку даёт оболочка.
|
|
69
|
+
*
|
|
70
|
+
* `leading-5` — не косметика, а объявленная высота строчного бокса контрола,
|
|
71
|
+
* и она же держит общую высоту в 42px: `20 + 2×10 отступа + 2 рамки`. Без неё
|
|
72
|
+
* бокс получался из унаследованного множителя `1.5` при `text-[13px]`, то есть
|
|
73
|
+
* 19.5px, а поле — 41.5px. Число случайное, и совпадать с ним чему-то ещё
|
|
74
|
+
* нечем: триггер `Select` с картинкой в 22px давал 44px и расходился с
|
|
75
|
+
* соседним полем на пару пикселей. Теперь высота задана, а не выведена, и
|
|
76
|
+
* `Select` пришёл к тем же 42 — тем же `leading-5` на триггере.
|
|
77
|
+
*
|
|
78
|
+
* Оговорка: объявление живёт, пока потребитель не пришлёт свой размер шрифта.
|
|
79
|
+
* `cn` — это `twMerge`, и чужой `text-*` в `className` вытесняет пару
|
|
80
|
+
* `text-[13px] leading-5` целиком. Со ступенями шкалы это безвредно — у них
|
|
81
|
+
* строчный бокс задан свой (`text-sm` — те же 13/20), — а вот произвольный
|
|
82
|
+
* `text-[15px]` вернёт высоту к выведенной из множителя.
|
|
83
|
+
*/
|
|
84
|
+
export const FIELD_INPUT_CLASS =
|
|
85
|
+
"text-fg-0 w-full [appearance:none] border-0 bg-transparent px-0 py-[10px] text-[13px] leading-5 " +
|
|
86
|
+
"shadow-none outline-none [-webkit-tap-highlight-color:transparent] " +
|
|
87
|
+
"focus:border-0 focus:ring-0 focus:outline-none focus-visible:ring-0 focus-visible:outline-none " +
|
|
88
|
+
"disabled:cursor-not-allowed";
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Компактная ступень поля: 36 пикселей вместо 42.
|
|
92
|
+
*
|
|
93
|
+
* ОДНО ЗНАЧЕНИЕ ВЕРТИКАЛЬНОГО ОТСТУПА, и больше ничего: рамка, скругление,
|
|
94
|
+
* тень, шрифт и строчный бокс те же. `20 + 2×7 + 2 = 36` — ровно рост
|
|
95
|
+
* `Button size="md"` и пилюли-триггера `Select`, то есть число, которое кит уже
|
|
96
|
+
* дважды выбрал сам. В одной строке панели управления поле до этого выпадало из
|
|
97
|
+
* ряда в одиночку.
|
|
98
|
+
*
|
|
99
|
+
* ЗАЧЕМ СТУПЕНЬ, ЕСЛИ ВЫСОТА И ТАК ДОСТИЖИМА. Достижима: `className` уходит в
|
|
100
|
+
* конец `cn(FIELD_INPUT_CLASS, …, className)`, а `cn` — это `twMerge`, и `py-0`
|
|
101
|
+
* снаружи вытесняет `py-[10px]`. Именно так и сделано у двух потребителей — с
|
|
102
|
+
* двумя разными числами (34 и 36) и двумя разными шрифтами. Довод тот же, что у
|
|
103
|
+
* самого `SearchControl`: пять рукописных полей поиска во фронте красили фокус
|
|
104
|
+
* не тем цветом, и увидеть это можно было, только открыв пять файлов рядом.
|
|
105
|
+
*
|
|
106
|
+
* Зона нажатия остаётся выше порога: 36 — в полтора раза больше минимальной
|
|
107
|
+
* цели WCAG 2.5.8.
|
|
108
|
+
*/
|
|
109
|
+
export const FIELD_INPUT_COMPACT_CLASS = "py-[7px]";
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Кнопка очистки внутри оболочки поля.
|
|
113
|
+
*
|
|
114
|
+
* Вынесена, когда третьим её написал `TreeSelect`, символ в символ повторив
|
|
115
|
+
* `Select`. Разъехались бы они молча: у обоих это крестик в углу поля, и заметил
|
|
116
|
+
* бы расхождение только тот, кто поставит их рядом.
|
|
117
|
+
*
|
|
118
|
+
* `relative` и `z-10` не косметика: у триггера поля растянутый псевдоэлемент
|
|
119
|
+
* зоны попадания, и без подъёма клик по крестику открывал бы список вместо
|
|
120
|
+
* очистки.
|
|
121
|
+
*/
|
|
122
|
+
export const FIELD_CLEAR_CLASS =
|
|
123
|
+
"bg-bg-3 text-fg-2 hover:text-fg-0 focus-visible:outline-accent-strong relative z-10 flex h-4 w-4 " +
|
|
124
|
+
"shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors " +
|
|
125
|
+
"focus-visible:outline-2 focus-visible:outline-offset-2";
|