@nuxt/ui 4.2.1 → 4.3.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/.nuxt/ui.css +2 -0
- package/README.md +2 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Accordion.d.vue.ts +3 -3
- package/dist/runtime/components/Accordion.vue.d.ts +3 -3
- package/dist/runtime/components/Alert.d.vue.ts +3 -5
- package/dist/runtime/components/Alert.vue.d.ts +3 -5
- package/dist/runtime/components/App.d.vue.ts +3 -1
- package/dist/runtime/components/App.vue.d.ts +3 -1
- package/dist/runtime/components/AuthForm.d.vue.ts +8 -46
- package/dist/runtime/components/AuthForm.vue.d.ts +8 -46
- package/dist/runtime/components/Badge.d.vue.ts +1 -3
- package/dist/runtime/components/Badge.vue.d.ts +1 -3
- package/dist/runtime/components/Banner.d.vue.ts +2 -2
- package/dist/runtime/components/Banner.vue.d.ts +2 -2
- package/dist/runtime/components/BlogPost.d.vue.ts +1 -4
- package/dist/runtime/components/BlogPost.vue +0 -1
- package/dist/runtime/components/BlogPost.vue.d.ts +1 -4
- package/dist/runtime/components/BlogPosts.d.vue.ts +3 -1
- package/dist/runtime/components/BlogPosts.vue.d.ts +3 -1
- package/dist/runtime/components/Breadcrumb.d.vue.ts +3 -1
- package/dist/runtime/components/Breadcrumb.vue.d.ts +3 -1
- package/dist/runtime/components/Calendar.d.vue.ts +8 -11
- package/dist/runtime/components/Calendar.vue.d.ts +8 -11
- package/dist/runtime/components/Carousel.d.vue.ts +6 -6
- package/dist/runtime/components/Carousel.vue +22 -0
- package/dist/runtime/components/Carousel.vue.d.ts +6 -6
- package/dist/runtime/components/ChangelogVersion.d.vue.ts +1 -4
- package/dist/runtime/components/ChangelogVersion.vue +0 -1
- package/dist/runtime/components/ChangelogVersion.vue.d.ts +1 -4
- package/dist/runtime/components/ChangelogVersions.d.vue.ts +3 -1
- package/dist/runtime/components/ChangelogVersions.vue.d.ts +3 -1
- package/dist/runtime/components/ChatMessage.d.vue.ts +1 -3
- package/dist/runtime/components/ChatMessage.vue.d.ts +1 -3
- package/dist/runtime/components/ChatMessages.d.vue.ts +3 -8
- package/dist/runtime/components/ChatMessages.vue.d.ts +3 -8
- package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -7
- package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -7
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +3 -11
- package/dist/runtime/components/ChatPromptSubmit.vue +1 -20
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +3 -11
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +3 -4
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +3 -4
- package/dist/runtime/components/Chip.d.vue.ts +1 -4
- package/dist/runtime/components/Chip.vue.d.ts +1 -4
- package/dist/runtime/components/Collapsible.d.vue.ts +1 -3
- package/dist/runtime/components/Collapsible.vue.d.ts +1 -3
- package/dist/runtime/components/ColorPicker.d.vue.ts +1 -5
- package/dist/runtime/components/ColorPicker.vue.d.ts +1 -5
- package/dist/runtime/components/CommandPalette.d.vue.ts +9 -14
- package/dist/runtime/components/CommandPalette.vue.d.ts +9 -14
- package/dist/runtime/components/ContextMenu.d.vue.ts +9 -5
- package/dist/runtime/components/ContextMenu.vue.d.ts +9 -5
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -7
- package/dist/runtime/components/ContextMenuContent.vue +2 -2
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -7
- package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -6
- package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -6
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -6
- package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -6
- package/dist/runtime/components/DashboardPanel.d.vue.ts +1 -4
- package/dist/runtime/components/DashboardPanel.vue.d.ts +1 -4
- package/dist/runtime/components/DashboardSearch.d.vue.ts +4 -9
- package/dist/runtime/components/DashboardSearch.vue.d.ts +4 -9
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +3 -8
- package/dist/runtime/components/DashboardSearchButton.vue +1 -20
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +3 -8
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +5 -6
- package/dist/runtime/components/DashboardSidebar.vue.d.ts +5 -6
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -7
- package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -20
- package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -7
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -7
- package/dist/runtime/components/DashboardSidebarToggle.vue +1 -20
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -7
- package/dist/runtime/components/Drawer.d.vue.ts +1 -8
- package/dist/runtime/components/Drawer.vue.d.ts +1 -8
- package/dist/runtime/components/DropdownMenu.d.vue.ts +9 -5
- package/dist/runtime/components/DropdownMenu.vue.d.ts +9 -5
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +3 -7
- package/dist/runtime/components/DropdownMenuContent.vue +2 -2
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +3 -7
- package/dist/runtime/components/Editor.d.vue.ts +87 -0
- package/dist/runtime/components/Editor.vue +185 -0
- package/dist/runtime/components/Editor.vue.d.ts +87 -0
- package/dist/runtime/components/EditorDragHandle.d.vue.ts +64 -0
- package/dist/runtime/components/EditorDragHandle.vue +127 -0
- package/dist/runtime/components/EditorDragHandle.vue.d.ts +64 -0
- package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +35 -0
- package/dist/runtime/components/EditorEmojiMenu.vue +70 -0
- package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +35 -0
- package/dist/runtime/components/EditorMentionMenu.d.vue.ts +39 -0
- package/dist/runtime/components/EditorMentionMenu.vue +72 -0
- package/dist/runtime/components/EditorMentionMenu.vue.d.ts +39 -0
- package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +52 -0
- package/dist/runtime/components/EditorSuggestionMenu.vue +80 -0
- package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +52 -0
- package/dist/runtime/components/EditorToolbar.d.vue.ts +90 -0
- package/dist/runtime/components/EditorToolbar.vue +242 -0
- package/dist/runtime/components/EditorToolbar.vue.d.ts +90 -0
- package/dist/runtime/components/Error.d.vue.ts +2 -5
- package/dist/runtime/components/Error.vue.d.ts +2 -5
- package/dist/runtime/components/FieldGroup.d.vue.ts +1 -3
- package/dist/runtime/components/FieldGroup.vue.d.ts +1 -3
- package/dist/runtime/components/FileUpload.d.vue.ts +5 -6
- package/dist/runtime/components/FileUpload.vue.d.ts +5 -6
- package/dist/runtime/components/Footer.d.vue.ts +1 -3
- package/dist/runtime/components/Footer.vue.d.ts +1 -3
- package/dist/runtime/components/FooterColumns.d.vue.ts +3 -1
- package/dist/runtime/components/FooterColumns.vue.d.ts +3 -1
- package/dist/runtime/components/Form.d.vue.ts +3 -4
- package/dist/runtime/components/Form.vue.d.ts +3 -4
- package/dist/runtime/components/FormField.d.vue.ts +5 -0
- package/dist/runtime/components/FormField.vue +6 -5
- package/dist/runtime/components/FormField.vue.d.ts +5 -0
- package/dist/runtime/components/Header.d.vue.ts +5 -5
- package/dist/runtime/components/Header.vue.d.ts +5 -5
- package/dist/runtime/components/Input.d.vue.ts +5 -7
- package/dist/runtime/components/Input.vue.d.ts +5 -7
- package/dist/runtime/components/InputDate.d.vue.ts +4 -8
- package/dist/runtime/components/InputDate.vue.d.ts +4 -8
- package/dist/runtime/components/InputMenu.d.vue.ts +9 -15
- package/dist/runtime/components/InputMenu.vue +14 -1
- package/dist/runtime/components/InputMenu.vue.d.ts +9 -15
- package/dist/runtime/components/InputNumber.d.vue.ts +7 -9
- package/dist/runtime/components/InputNumber.vue.d.ts +7 -9
- package/dist/runtime/components/InputTags.d.vue.ts +4 -10
- package/dist/runtime/components/InputTags.vue.d.ts +4 -10
- package/dist/runtime/components/InputTime.d.vue.ts +3 -5
- package/dist/runtime/components/InputTime.vue.d.ts +3 -5
- package/dist/runtime/components/Kbd.d.vue.ts +1 -3
- package/dist/runtime/components/Kbd.vue.d.ts +1 -3
- package/dist/runtime/components/Link.d.vue.ts +6 -6
- package/dist/runtime/components/Link.vue.d.ts +6 -6
- package/dist/runtime/components/LinkBase.d.vue.ts +1 -4
- package/dist/runtime/components/LinkBase.vue.d.ts +1 -4
- package/dist/runtime/components/Marquee.d.vue.ts +1 -5
- package/dist/runtime/components/Marquee.vue.d.ts +1 -5
- package/dist/runtime/components/Modal.d.vue.ts +3 -10
- package/dist/runtime/components/Modal.vue.d.ts +3 -10
- package/dist/runtime/components/NavigationMenu.d.vue.ts +3 -3
- package/dist/runtime/components/NavigationMenu.vue.d.ts +3 -3
- package/dist/runtime/components/PageAnchors.d.vue.ts +3 -1
- package/dist/runtime/components/PageAnchors.vue.d.ts +3 -1
- package/dist/runtime/components/PageAside.d.vue.ts +1 -3
- package/dist/runtime/components/PageAside.vue.d.ts +1 -3
- package/dist/runtime/components/PageCTA.d.vue.ts +1 -4
- package/dist/runtime/components/PageCTA.vue.d.ts +1 -4
- package/dist/runtime/components/PageCard.d.vue.ts +1 -3
- package/dist/runtime/components/PageCard.vue.d.ts +1 -3
- package/dist/runtime/components/PageFeature.d.vue.ts +1 -3
- package/dist/runtime/components/PageFeature.vue +2 -2
- package/dist/runtime/components/PageFeature.vue.d.ts +1 -3
- package/dist/runtime/components/PageHero.d.vue.ts +1 -3
- package/dist/runtime/components/PageHero.vue.d.ts +1 -3
- package/dist/runtime/components/PageLinks.d.vue.ts +3 -1
- package/dist/runtime/components/PageLinks.vue.d.ts +3 -1
- package/dist/runtime/components/PageList.d.vue.ts +1 -3
- package/dist/runtime/components/PageList.vue.d.ts +1 -3
- package/dist/runtime/components/PageLogos.d.vue.ts +1 -3
- package/dist/runtime/components/PageLogos.vue.d.ts +1 -3
- package/dist/runtime/components/PageSection.d.vue.ts +1 -4
- package/dist/runtime/components/PageSection.vue.d.ts +1 -4
- package/dist/runtime/components/Pagination.d.vue.ts +1 -12
- package/dist/runtime/components/Pagination.vue.d.ts +1 -12
- package/dist/runtime/components/PinInput.d.vue.ts +4 -7
- package/dist/runtime/components/PinInput.vue +1 -1
- package/dist/runtime/components/PinInput.vue.d.ts +4 -7
- package/dist/runtime/components/Popover.d.vue.ts +3 -4
- package/dist/runtime/components/Popover.vue.d.ts +3 -4
- package/dist/runtime/components/PricingPlan.d.vue.ts +1 -3
- package/dist/runtime/components/PricingPlan.vue.d.ts +1 -3
- package/dist/runtime/components/PricingPlans.d.vue.ts +3 -1
- package/dist/runtime/components/PricingPlans.vue.d.ts +3 -1
- package/dist/runtime/components/PricingTable.d.vue.ts +3 -1
- package/dist/runtime/components/PricingTable.vue.d.ts +3 -1
- package/dist/runtime/components/Progress.d.vue.ts +1 -5
- package/dist/runtime/components/Progress.vue.d.ts +1 -5
- package/dist/runtime/components/RadioGroup.d.vue.ts +3 -4
- package/dist/runtime/components/RadioGroup.vue.d.ts +3 -4
- package/dist/runtime/components/ScrollArea.d.vue.ts +81 -0
- package/dist/runtime/components/ScrollArea.vue +187 -0
- package/dist/runtime/components/ScrollArea.vue.d.ts +81 -0
- package/dist/runtime/components/Select.d.vue.ts +6 -8
- package/dist/runtime/components/Select.vue +14 -1
- package/dist/runtime/components/Select.vue.d.ts +6 -8
- package/dist/runtime/components/SelectMenu.d.vue.ts +9 -14
- package/dist/runtime/components/SelectMenu.vue +14 -1
- package/dist/runtime/components/SelectMenu.vue.d.ts +9 -14
- package/dist/runtime/components/Separator.d.vue.ts +1 -3
- package/dist/runtime/components/Separator.vue.d.ts +1 -3
- package/dist/runtime/components/Slideover.d.vue.ts +8 -11
- package/dist/runtime/components/Slideover.vue +3 -1
- package/dist/runtime/components/Slideover.vue.d.ts +8 -11
- package/dist/runtime/components/Slider.d.vue.ts +3 -4
- package/dist/runtime/components/Slider.vue +2 -2
- package/dist/runtime/components/Slider.vue.d.ts +3 -4
- package/dist/runtime/components/Stepper.d.vue.ts +3 -5
- package/dist/runtime/components/Stepper.vue.d.ts +3 -5
- package/dist/runtime/components/Table.d.vue.ts +5 -16
- package/dist/runtime/components/Table.vue +55 -33
- package/dist/runtime/components/Table.vue.d.ts +5 -16
- package/dist/runtime/components/Tabs.d.vue.ts +3 -3
- package/dist/runtime/components/Tabs.vue.d.ts +3 -3
- package/dist/runtime/components/Textarea.d.vue.ts +5 -7
- package/dist/runtime/components/Textarea.vue.d.ts +5 -7
- package/dist/runtime/components/Timeline.d.vue.ts +3 -3
- package/dist/runtime/components/Timeline.vue.d.ts +3 -3
- package/dist/runtime/components/Toast.d.vue.ts +3 -7
- package/dist/runtime/components/Toast.vue.d.ts +3 -7
- package/dist/runtime/components/Toaster.d.vue.ts +1 -7
- package/dist/runtime/components/Toaster.vue.d.ts +1 -7
- package/dist/runtime/components/Tooltip.d.vue.ts +1 -3
- package/dist/runtime/components/Tooltip.vue.d.ts +1 -3
- package/dist/runtime/components/Tree.d.vue.ts +3 -4
- package/dist/runtime/components/Tree.vue.d.ts +3 -4
- package/dist/runtime/components/User.d.vue.ts +1 -3
- package/dist/runtime/components/User.vue +0 -1
- package/dist/runtime/components/User.vue.d.ts +1 -3
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -6
- package/dist/runtime/components/color-mode/ColorModeButton.vue +3 -22
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -6
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +1 -0
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -3
- package/dist/runtime/components/content/ContentNavigation.d.vue.ts +3 -3
- package/dist/runtime/components/content/ContentNavigation.vue.d.ts +3 -3
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +6 -6
- package/dist/runtime/components/content/ContentSearch.vue.d.ts +6 -6
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +3 -8
- package/dist/runtime/components/content/ContentSearchButton.vue +1 -20
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +3 -8
- package/dist/runtime/components/content/ContentSurround.d.vue.ts +3 -1
- package/dist/runtime/components/content/ContentSurround.vue.d.ts +3 -1
- package/dist/runtime/components/content/ContentToc.d.vue.ts +3 -4
- package/dist/runtime/components/content/ContentToc.vue.d.ts +3 -4
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -5
- package/dist/runtime/components/locale/LocaleSelect.vue +10 -3
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -5
- package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -3
- package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -3
- package/dist/runtime/components/prose/Callout.vue +0 -1
- package/dist/runtime/components/prose/Card.vue +0 -1
- package/dist/runtime/components/prose/CodeGroup.d.vue.ts +1 -3
- package/dist/runtime/components/prose/CodeGroup.vue.d.ts +1 -3
- package/dist/runtime/components/prose/CodeTree.d.vue.ts +20 -1
- package/dist/runtime/components/prose/CodeTree.vue +32 -8
- package/dist/runtime/components/prose/CodeTree.vue.d.ts +20 -1
- package/dist/runtime/components/prose/Img.d.vue.ts +1 -3
- package/dist/runtime/components/prose/Img.vue.d.ts +1 -3
- package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -3
- package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -3
- package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
- package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
- package/dist/runtime/composables/defineShortcuts.js +62 -15
- package/dist/runtime/composables/useEditorMenu.d.ts +64 -0
- package/dist/runtime/composables/useEditorMenu.js +448 -0
- package/dist/runtime/composables/useFileUpload.d.ts +1 -2
- package/dist/runtime/locale/en_gb.d.ts +3 -0
- package/dist/runtime/locale/en_gb.js +7 -0
- package/dist/runtime/locale/eu.d.ts +3 -0
- package/dist/runtime/locale/eu.js +129 -0
- package/dist/runtime/locale/index.d.ts +3 -0
- package/dist/runtime/locale/index.js +3 -0
- package/dist/runtime/locale/lo.d.ts +3 -0
- package/dist/runtime/locale/lo.js +129 -0
- package/dist/runtime/types/editor.d.ts +69 -0
- package/dist/runtime/types/editor.js +0 -0
- package/dist/runtime/types/index.d.ts +8 -0
- package/dist/runtime/types/index.js +8 -0
- package/dist/runtime/utils/content.d.ts +2 -2
- package/dist/runtime/utils/editor.d.ts +69 -0
- package/dist/runtime/utils/editor.js +364 -0
- package/dist/runtime/utils/locale.d.ts +1 -2
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +1 -0
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -3
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.d.vue.ts +2 -7
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue +3 -3
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue.d.ts +2 -7
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.d.vue.ts +2 -5
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue.d.ts +2 -5
- package/dist/runtime/vue/overrides/none/Link.d.vue.ts +71 -0
- package/dist/runtime/vue/overrides/none/Link.vue +122 -0
- package/dist/runtime/vue/overrides/none/Link.vue.d.ts +71 -0
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.d.vue.ts +2 -7
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue +4 -4
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue.d.ts +2 -7
- package/dist/runtime/vue/{stubs.d.ts → stubs/base.d.ts} +4 -5
- package/dist/runtime/vue/{stubs.js → stubs/base.js} +4 -5
- package/dist/runtime/vue/stubs/inertia.d.ts +5 -0
- package/dist/runtime/vue/stubs/inertia.js +10 -0
- package/dist/runtime/vue/stubs/none.d.ts +56 -0
- package/dist/runtime/vue/stubs/none.js +48 -0
- package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
- package/dist/runtime/vue/stubs/vue-router.js +2 -0
- package/dist/shared/{ui.B77q-Dvh.mjs → ui.DegC4tw1.mjs} +282 -60
- package/dist/unplugin.d.mts +14 -0
- package/dist/unplugin.mjs +73 -48
- package/dist/vite.mjs +1 -1
- package/package.json +45 -31
- package/dist/runtime/inertia/stubs.d.ts +0 -44
- package/dist/runtime/inertia/stubs.js +0 -84
- /package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { flip, shift, offset, size, autoPlacement, hide, inline } from "@floating-ui/dom";
|
|
2
|
+
import { isArrayOfArray } from "./index.js";
|
|
3
|
+
export function isMarkInSchema(mark, editor) {
|
|
4
|
+
if (!editor?.schema) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const markName = typeof mark === "string" ? mark : mark.name;
|
|
8
|
+
return editor.schema.spec.marks.get(markName) !== void 0;
|
|
9
|
+
}
|
|
10
|
+
export function isNodeTypeSelected(editor, nodeTypes) {
|
|
11
|
+
if (!editor) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const { selection } = editor.state;
|
|
15
|
+
const { $from, to } = selection;
|
|
16
|
+
return nodeTypes.some((nodeType) => {
|
|
17
|
+
return editor.state.doc.nodesBetween($from.pos, to, (node) => {
|
|
18
|
+
return node.type.name === nodeType;
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export function isExtensionAvailable(editor, extensionName) {
|
|
23
|
+
if (!editor) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return editor.extensionManager.extensions.some((ext) => ext.name === extensionName);
|
|
27
|
+
}
|
|
28
|
+
export function createToggleHandler(name) {
|
|
29
|
+
const fnName = `toggle${name.charAt(0).toUpperCase()}${name.slice(1)}`;
|
|
30
|
+
return {
|
|
31
|
+
canExecute: (editor) => editor.can()[fnName](),
|
|
32
|
+
execute: (editor) => editor.chain().focus()[fnName](),
|
|
33
|
+
isActive: (editor) => editor.isActive(name),
|
|
34
|
+
isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function createSetHandler(name) {
|
|
38
|
+
const fnName = `set${name.charAt(0).toUpperCase()}${name.slice(1)}`;
|
|
39
|
+
return {
|
|
40
|
+
canExecute: (editor) => editor.can()[fnName](),
|
|
41
|
+
execute: (editor) => editor.chain().focus()[fnName](),
|
|
42
|
+
isActive: (editor) => editor.isActive(name),
|
|
43
|
+
isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function createSimpleHandler(name) {
|
|
47
|
+
return {
|
|
48
|
+
canExecute: (editor) => editor.can()[name](),
|
|
49
|
+
execute: (editor) => editor.chain()[name](),
|
|
50
|
+
isActive: () => false,
|
|
51
|
+
isDisabled: void 0
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export function createMarkHandler() {
|
|
55
|
+
return {
|
|
56
|
+
canExecute: (editor, cmd) => editor.can().toggleMark(cmd.mark),
|
|
57
|
+
execute: (editor, cmd) => editor.chain().focus().toggleMark(cmd.mark),
|
|
58
|
+
isActive: (editor, cmd) => editor.isActive(cmd.mark),
|
|
59
|
+
isDisabled: (editor, cmd) => !isMarkInSchema(cmd.mark, editor) || isNodeTypeSelected(editor, ["image"])
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export function createTextAlignHandler() {
|
|
63
|
+
return {
|
|
64
|
+
canExecute: (editor, cmd) => editor.can().setTextAlign(cmd.align),
|
|
65
|
+
execute: (editor, cmd) => editor.chain().focus().setTextAlign(cmd.align),
|
|
66
|
+
isActive: (editor, cmd) => editor.isActive({ textAlign: cmd.align }),
|
|
67
|
+
isDisabled: (editor) => !isExtensionAvailable(editor, "textAlign") || isNodeTypeSelected(editor, ["image", "horizontalRule"])
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function createHeadingHandler() {
|
|
71
|
+
return {
|
|
72
|
+
canExecute: (editor, cmd) => editor.can().toggleHeading({ level: cmd.level }),
|
|
73
|
+
execute: (editor, cmd) => editor.chain().focus().toggleHeading({ level: cmd.level }),
|
|
74
|
+
isActive: (editor, cmd) => editor.isActive("heading", { level: cmd.level }),
|
|
75
|
+
isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function createLinkHandler() {
|
|
79
|
+
return {
|
|
80
|
+
canExecute: (editor) => {
|
|
81
|
+
return editor.can().setLink({ href: "" }) || editor.can().unsetLink();
|
|
82
|
+
},
|
|
83
|
+
execute: (editor, cmd) => {
|
|
84
|
+
const chain = editor.chain();
|
|
85
|
+
const previousUrl = editor.getAttributes("link").href;
|
|
86
|
+
if (previousUrl) {
|
|
87
|
+
return chain.focus().unsetLink();
|
|
88
|
+
}
|
|
89
|
+
if (cmd?.href) {
|
|
90
|
+
return chain.focus().setLink({ href: cmd.href });
|
|
91
|
+
}
|
|
92
|
+
const href = prompt("Enter the URL:");
|
|
93
|
+
if (href) {
|
|
94
|
+
return chain.focus().setLink({ href });
|
|
95
|
+
}
|
|
96
|
+
return chain;
|
|
97
|
+
},
|
|
98
|
+
isActive: (editor) => editor.isActive("link"),
|
|
99
|
+
isDisabled: (editor) => {
|
|
100
|
+
if (!isExtensionAvailable(editor, "link") || isNodeTypeSelected(editor, ["image"])) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
const { selection } = editor.state;
|
|
104
|
+
return selection.empty && !editor.isActive("link");
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export function createImageHandler() {
|
|
109
|
+
return {
|
|
110
|
+
canExecute: (editor) => {
|
|
111
|
+
return editor.can().setImage({ src: "" });
|
|
112
|
+
},
|
|
113
|
+
execute: (editor, cmd) => {
|
|
114
|
+
const chain = editor.chain().focus();
|
|
115
|
+
if (cmd?.src) {
|
|
116
|
+
return chain.setImage({ src: cmd.src });
|
|
117
|
+
}
|
|
118
|
+
const src = prompt("Enter the image URL:");
|
|
119
|
+
if (src) {
|
|
120
|
+
return chain.setImage({ src });
|
|
121
|
+
}
|
|
122
|
+
return chain;
|
|
123
|
+
},
|
|
124
|
+
isActive: (editor) => editor.isActive("image"),
|
|
125
|
+
isDisabled: (editor) => {
|
|
126
|
+
return !isExtensionAvailable(editor, "image");
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export function createListHandler(listType) {
|
|
131
|
+
const fnName = listType === "bulletList" ? "toggleBulletList" : "toggleOrderedList";
|
|
132
|
+
return {
|
|
133
|
+
canExecute: (editor) => {
|
|
134
|
+
return editor.can()[fnName]() || editor.isActive("bulletList") || editor.isActive("orderedList");
|
|
135
|
+
},
|
|
136
|
+
execute: (editor) => {
|
|
137
|
+
const { state } = editor;
|
|
138
|
+
const { selection } = state;
|
|
139
|
+
let chain = editor.chain().focus();
|
|
140
|
+
if (selection.node) {
|
|
141
|
+
const node = selection.node;
|
|
142
|
+
const firstChild = node.firstChild?.firstChild;
|
|
143
|
+
const lastChild = node.lastChild?.lastChild;
|
|
144
|
+
const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
|
|
145
|
+
const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
|
|
146
|
+
chain = chain.setTextSelection({ from, to }).clearNodes();
|
|
147
|
+
}
|
|
148
|
+
if (editor.isActive(listType)) {
|
|
149
|
+
return chain.liftListItem("listItem").lift("bulletList").lift("orderedList").selectTextblockEnd();
|
|
150
|
+
}
|
|
151
|
+
return chain[fnName]().selectTextblockEnd();
|
|
152
|
+
},
|
|
153
|
+
isActive: (editor) => editor.isActive(listType),
|
|
154
|
+
isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export function createMoveHandler(direction) {
|
|
158
|
+
return {
|
|
159
|
+
canExecute: (editor, cmd) => {
|
|
160
|
+
if (cmd?.pos == null) return false;
|
|
161
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
162
|
+
if (!node) return false;
|
|
163
|
+
const $pos = editor.state.doc.resolve(cmd.pos);
|
|
164
|
+
const parent = $pos.parent;
|
|
165
|
+
const index = $pos.index();
|
|
166
|
+
return direction === "up" ? index > 0 : index < parent.childCount - 1;
|
|
167
|
+
},
|
|
168
|
+
execute: (editor, cmd) => {
|
|
169
|
+
if (cmd?.pos == null) return editor.chain();
|
|
170
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
171
|
+
if (!node) return editor.chain();
|
|
172
|
+
const $pos = editor.state.doc.resolve(cmd.pos);
|
|
173
|
+
const parent = $pos.parent;
|
|
174
|
+
const index = $pos.index();
|
|
175
|
+
if (direction === "up" && index > 0) {
|
|
176
|
+
const prevNode = parent.child(index - 1);
|
|
177
|
+
const targetPos = cmd.pos - prevNode.nodeSize;
|
|
178
|
+
return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize }).insertContentAt(targetPos, node.toJSON());
|
|
179
|
+
}
|
|
180
|
+
if (direction === "down" && index < parent.childCount - 1) {
|
|
181
|
+
const nextNode = parent.child(index + 1);
|
|
182
|
+
const targetPos = cmd.pos + nextNode.nodeSize;
|
|
183
|
+
return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize }).insertContentAt(targetPos, node.toJSON());
|
|
184
|
+
}
|
|
185
|
+
return editor.chain();
|
|
186
|
+
},
|
|
187
|
+
isActive: () => false,
|
|
188
|
+
isDisabled: void 0
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export function createHandlers() {
|
|
192
|
+
return {
|
|
193
|
+
mark: createMarkHandler(),
|
|
194
|
+
textAlign: createTextAlignHandler(),
|
|
195
|
+
heading: createHeadingHandler(),
|
|
196
|
+
link: createLinkHandler(),
|
|
197
|
+
image: createImageHandler(),
|
|
198
|
+
blockquote: createToggleHandler("blockquote"),
|
|
199
|
+
bulletList: createListHandler("bulletList"),
|
|
200
|
+
orderedList: createListHandler("orderedList"),
|
|
201
|
+
codeBlock: createToggleHandler("codeBlock"),
|
|
202
|
+
horizontalRule: createSetHandler("horizontalRule"),
|
|
203
|
+
paragraph: createSetHandler("paragraph"),
|
|
204
|
+
undo: createSimpleHandler("undo"),
|
|
205
|
+
redo: createSimpleHandler("redo"),
|
|
206
|
+
clearFormatting: {
|
|
207
|
+
canExecute: (editor, cmd) => {
|
|
208
|
+
if (cmd?.pos != null) {
|
|
209
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
210
|
+
return !!node;
|
|
211
|
+
}
|
|
212
|
+
return editor.can().clearNodes() || editor.can().unsetAllMarks();
|
|
213
|
+
},
|
|
214
|
+
execute: (editor, cmd) => {
|
|
215
|
+
if (cmd?.pos != null) {
|
|
216
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
217
|
+
if (!node) return editor.chain();
|
|
218
|
+
const from = cmd.pos + 1;
|
|
219
|
+
const to = cmd.pos + node.nodeSize - 1;
|
|
220
|
+
return editor.chain().focus().setTextSelection({ from, to }).clearNodes().unsetAllMarks();
|
|
221
|
+
}
|
|
222
|
+
return editor.chain().focus().clearNodes().unsetAllMarks();
|
|
223
|
+
},
|
|
224
|
+
isActive: () => false,
|
|
225
|
+
isDisabled: void 0
|
|
226
|
+
},
|
|
227
|
+
duplicate: {
|
|
228
|
+
canExecute: (editor, cmd) => {
|
|
229
|
+
if (cmd?.pos == null) return false;
|
|
230
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
231
|
+
return !!node;
|
|
232
|
+
},
|
|
233
|
+
execute: (editor, cmd) => {
|
|
234
|
+
if (cmd?.pos == null) return editor.chain();
|
|
235
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
236
|
+
if (!node) return editor.chain();
|
|
237
|
+
return editor.chain().focus().insertContentAt(cmd.pos + node.nodeSize, node.toJSON());
|
|
238
|
+
},
|
|
239
|
+
isActive: () => false,
|
|
240
|
+
isDisabled: void 0
|
|
241
|
+
},
|
|
242
|
+
delete: {
|
|
243
|
+
canExecute: (editor, cmd) => {
|
|
244
|
+
if (cmd?.pos == null) return false;
|
|
245
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
246
|
+
return !!node;
|
|
247
|
+
},
|
|
248
|
+
execute: (editor, cmd) => {
|
|
249
|
+
if (cmd?.pos == null) return editor.chain();
|
|
250
|
+
const node = editor.state.doc.nodeAt(cmd.pos);
|
|
251
|
+
if (!node) return editor.chain();
|
|
252
|
+
return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize });
|
|
253
|
+
},
|
|
254
|
+
isActive: () => false,
|
|
255
|
+
isDisabled: void 0
|
|
256
|
+
},
|
|
257
|
+
moveUp: createMoveHandler("up"),
|
|
258
|
+
moveDown: createMoveHandler("down"),
|
|
259
|
+
suggestion: {
|
|
260
|
+
canExecute: () => true,
|
|
261
|
+
execute: (editor, cmd) => {
|
|
262
|
+
const { state } = editor;
|
|
263
|
+
const { selection } = state;
|
|
264
|
+
const { $from } = selection;
|
|
265
|
+
if (cmd?.pos !== void 0) {
|
|
266
|
+
const node = state.doc.nodeAt(cmd.pos);
|
|
267
|
+
if (node) {
|
|
268
|
+
const insertPos2 = cmd.pos + node.nodeSize;
|
|
269
|
+
return editor.chain().focus().insertContentAt(insertPos2, { type: "paragraph", content: [{ type: "text", text: "/" }] });
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
const currentNode = $from.node($from.depth);
|
|
273
|
+
const currentNodePos = $from.before($from.depth);
|
|
274
|
+
const insertPos = currentNodePos + currentNode.nodeSize;
|
|
275
|
+
return editor.chain().focus().insertContentAt(insertPos, { type: "paragraph", content: [{ type: "text", text: "/" }] });
|
|
276
|
+
},
|
|
277
|
+
isActive: () => false,
|
|
278
|
+
isDisabled: void 0
|
|
279
|
+
},
|
|
280
|
+
mention: {
|
|
281
|
+
canExecute: () => true,
|
|
282
|
+
execute: (editor) => {
|
|
283
|
+
const { state } = editor;
|
|
284
|
+
const { selection } = state;
|
|
285
|
+
const { $from } = selection;
|
|
286
|
+
const textBefore = $from.parent.textBetween(Math.max(0, $from.parentOffset - 1), $from.parentOffset, void 0, " ");
|
|
287
|
+
const needsSpace = textBefore && textBefore !== " ";
|
|
288
|
+
return editor.chain().focus().insertContent(needsSpace ? " @" : "@");
|
|
289
|
+
},
|
|
290
|
+
isActive: () => false,
|
|
291
|
+
isDisabled: void 0
|
|
292
|
+
},
|
|
293
|
+
emoji: {
|
|
294
|
+
canExecute: () => true,
|
|
295
|
+
execute: (editor) => {
|
|
296
|
+
const { state } = editor;
|
|
297
|
+
const { selection } = state;
|
|
298
|
+
const { $from } = selection;
|
|
299
|
+
const textBefore = $from.parent.textBetween(Math.max(0, $from.parentOffset - 1), $from.parentOffset, void 0, " ");
|
|
300
|
+
const needsSpace = textBefore && textBefore !== " ";
|
|
301
|
+
return editor.chain().focus().insertContent(needsSpace ? " :" : ":");
|
|
302
|
+
},
|
|
303
|
+
isActive: () => false,
|
|
304
|
+
isDisabled: void 0
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
export function mapEditorItems(editor, items, customHandlers) {
|
|
309
|
+
const handlers = { ...createHandlers(), ...customHandlers };
|
|
310
|
+
if (isArrayOfArray(items)) {
|
|
311
|
+
return items.map(
|
|
312
|
+
(group) => mapEditorItems(editor, group, customHandlers)
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
return items.filter(Boolean).map((item) => {
|
|
316
|
+
if ("type" in item) {
|
|
317
|
+
return item;
|
|
318
|
+
}
|
|
319
|
+
const { kind, children, ...rest } = item;
|
|
320
|
+
const processedChildren = children?.length ? mapEditorItems(editor, children, customHandlers) : void 0;
|
|
321
|
+
if (kind) {
|
|
322
|
+
const handler = handlers[kind];
|
|
323
|
+
if (!handler) {
|
|
324
|
+
return {
|
|
325
|
+
...rest,
|
|
326
|
+
children: processedChildren
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
...rest,
|
|
331
|
+
children: processedChildren,
|
|
332
|
+
disabled: handler.isDisabled?.(editor, item) || !handler.canExecute(editor, item),
|
|
333
|
+
active: handler.isActive(editor, item),
|
|
334
|
+
onSelect: () => handler.execute(editor, item).run()
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
return { ...rest, children: processedChildren };
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
export function buildFloatingUIMiddleware(options) {
|
|
341
|
+
const middleware = [];
|
|
342
|
+
if (options.offset) {
|
|
343
|
+
middleware.push(offset(typeof options.offset !== "boolean" ? options.offset : void 0));
|
|
344
|
+
}
|
|
345
|
+
if (options.flip) {
|
|
346
|
+
middleware.push(flip(typeof options.flip !== "boolean" ? options.flip : void 0));
|
|
347
|
+
}
|
|
348
|
+
if (options.shift) {
|
|
349
|
+
middleware.push(shift(typeof options.shift !== "boolean" ? options.shift : void 0));
|
|
350
|
+
}
|
|
351
|
+
if (options.size) {
|
|
352
|
+
middleware.push(size(typeof options.size !== "boolean" ? options.size : void 0));
|
|
353
|
+
}
|
|
354
|
+
if (options.autoPlacement) {
|
|
355
|
+
middleware.push(autoPlacement(typeof options.autoPlacement !== "boolean" ? options.autoPlacement : void 0));
|
|
356
|
+
}
|
|
357
|
+
if (options.hide) {
|
|
358
|
+
middleware.push(hide(typeof options.hide !== "boolean" ? options.hide : void 0));
|
|
359
|
+
}
|
|
360
|
+
if (options.inline) {
|
|
361
|
+
middleware.push(inline(typeof options.inline !== "boolean" ? options.inline : void 0));
|
|
362
|
+
}
|
|
363
|
+
return middleware;
|
|
364
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { Ref } from 'vue';
|
|
1
|
+
import type { Ref, MaybeRef } from 'vue';
|
|
2
2
|
import type { Locale, Direction } from '../types/locale';
|
|
3
|
-
import type { MaybeRef } from '@vueuse/core';
|
|
4
3
|
export type TranslatorOption = Record<string, string | number>;
|
|
5
4
|
export type Translator = (path: string, option?: TranslatorOption) => string;
|
|
6
5
|
export type LocaleContext<M> = {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { SelectMenuProps, SelectMenuItem } from '../../../types';
|
|
2
2
|
export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuItem[]>, 'icon' | 'items' | 'modelValue'> {
|
|
3
3
|
}
|
|
4
|
-
declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
|
|
5
|
-
searchInput: boolean | import("../../../types").InputProps;
|
|
6
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
5
|
declare const _default: typeof __VLS_export;
|
|
8
6
|
export default _default;
|
|
@@ -27,6 +27,7 @@ const props = defineProps({
|
|
|
27
27
|
labelKey: { type: null, required: false },
|
|
28
28
|
descriptionKey: { type: null, required: false },
|
|
29
29
|
defaultValue: { type: null, required: false },
|
|
30
|
+
modelModifiers: { type: Object, required: false },
|
|
30
31
|
multiple: { type: Boolean, required: false },
|
|
31
32
|
highlight: { type: Boolean, required: false },
|
|
32
33
|
createItem: { type: [Boolean, String, Object], required: false },
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { SelectMenuProps, SelectMenuItem } from '../../../types';
|
|
2
2
|
export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuItem[]>, 'icon' | 'items' | 'modelValue'> {
|
|
3
3
|
}
|
|
4
|
-
declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
|
|
5
|
-
searchInput: boolean | import("../../../types").InputProps;
|
|
6
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
5
|
declare const _default: typeof __VLS_export;
|
|
8
6
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
2
|
-
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../../types/html';
|
|
3
3
|
export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
4
|
/**
|
|
5
5
|
* The element or component this component should render as when not a link.
|
|
@@ -59,12 +59,7 @@ export interface LinkSlots {
|
|
|
59
59
|
active: boolean;
|
|
60
60
|
}): any;
|
|
61
61
|
}
|
|
62
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
63
|
-
type: "reset" | "submit" | "button";
|
|
64
|
-
as: any;
|
|
65
|
-
active: boolean;
|
|
66
|
-
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
67
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
62
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
68
63
|
declare const _default: typeof __VLS_export;
|
|
69
64
|
export default _default;
|
|
70
65
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -10,9 +10,9 @@ import { reactiveOmit } from "@vueuse/core";
|
|
|
10
10
|
import { usePage } from "@inertiajs/vue3";
|
|
11
11
|
import { hasProtocol } from "ufo";
|
|
12
12
|
import { useAppConfig } from "#imports";
|
|
13
|
-
import { tv } from "
|
|
14
|
-
import { mergeClasses } from "
|
|
15
|
-
import ULinkBase from "
|
|
13
|
+
import { tv } from "../../../utils/tv";
|
|
14
|
+
import { mergeClasses } from "../../../utils";
|
|
15
|
+
import ULinkBase from "./LinkBase.vue";
|
|
16
16
|
defineOptions({ inheritAttrs: false });
|
|
17
17
|
const props = defineProps({
|
|
18
18
|
as: { type: null, required: false, default: "button" },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
2
|
-
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../../types/html';
|
|
3
3
|
export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
4
|
/**
|
|
5
5
|
* The element or component this component should render as when not a link.
|
|
@@ -59,12 +59,7 @@ export interface LinkSlots {
|
|
|
59
59
|
active: boolean;
|
|
60
60
|
}): any;
|
|
61
61
|
}
|
|
62
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
63
|
-
type: "reset" | "submit" | "button";
|
|
64
|
-
as: any;
|
|
65
|
-
active: boolean;
|
|
66
|
-
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
67
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
62
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
68
63
|
declare const _default: typeof __VLS_export;
|
|
69
64
|
export default _default;
|
|
70
65
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LinkProps } from '
|
|
1
|
+
import type { LinkProps } from '../../../types';
|
|
2
2
|
export interface LinkBaseProps {
|
|
3
3
|
as?: string;
|
|
4
4
|
type?: string;
|
|
@@ -10,10 +10,7 @@ export interface LinkBaseProps {
|
|
|
10
10
|
active?: boolean;
|
|
11
11
|
isExternal?: boolean;
|
|
12
12
|
}
|
|
13
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {
|
|
14
|
-
type: string;
|
|
15
|
-
as: string;
|
|
16
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
17
14
|
default?: (props: {}) => any;
|
|
18
15
|
} & {
|
|
19
16
|
default?: (props: {}) => any;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LinkProps } from '
|
|
1
|
+
import type { LinkProps } from '../../../types';
|
|
2
2
|
export interface LinkBaseProps {
|
|
3
3
|
as?: string;
|
|
4
4
|
type?: string;
|
|
@@ -10,10 +10,7 @@ export interface LinkBaseProps {
|
|
|
10
10
|
active?: boolean;
|
|
11
11
|
isExternal?: boolean;
|
|
12
12
|
}
|
|
13
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {
|
|
14
|
-
type: string;
|
|
15
|
-
as: string;
|
|
16
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
17
14
|
default?: (props: {}) => any;
|
|
18
15
|
} & {
|
|
19
16
|
default?: (props: {}) => any;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
|
+
interface BaseLinkProps {
|
|
3
|
+
/**
|
|
4
|
+
* Route Location the link should navigate to when clicked on.
|
|
5
|
+
*/
|
|
6
|
+
to?: string;
|
|
7
|
+
/**
|
|
8
|
+
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
9
|
+
*/
|
|
10
|
+
href?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
13
|
+
*/
|
|
14
|
+
external?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Where to display the linked URL, as the name for a browsing context.
|
|
17
|
+
*/
|
|
18
|
+
target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
|
|
19
|
+
/**
|
|
20
|
+
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
21
|
+
*/
|
|
22
|
+
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
23
|
+
/**
|
|
24
|
+
* If set to true, no rel attribute will be added to the link
|
|
25
|
+
*/
|
|
26
|
+
noRel?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface LinkProps extends BaseLinkProps {
|
|
29
|
+
/**
|
|
30
|
+
* The element or component this component should render as when not a link.
|
|
31
|
+
* @defaultValue 'button'
|
|
32
|
+
*/
|
|
33
|
+
as?: any;
|
|
34
|
+
/**
|
|
35
|
+
* The type of the button when not a link.
|
|
36
|
+
* @defaultValue 'button'
|
|
37
|
+
*/
|
|
38
|
+
type?: ButtonHTMLAttributes['type'];
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
/** Force the link to be active independent of the current route. */
|
|
41
|
+
active?: boolean;
|
|
42
|
+
/** Will only be active if the current route is an exact match. */
|
|
43
|
+
exact?: boolean;
|
|
44
|
+
/** Allows controlling how the current route query sets the link as active. */
|
|
45
|
+
exactQuery?: boolean | 'partial';
|
|
46
|
+
/** Will only be active if the current route hash is an exact match. */
|
|
47
|
+
exactHash?: boolean;
|
|
48
|
+
/** The class to apply when the link is inactive. */
|
|
49
|
+
inactiveClass?: string;
|
|
50
|
+
/** The class to apply when the link is active. */
|
|
51
|
+
activeClass?: string;
|
|
52
|
+
/** The value of the `aria-current` attribute when the link is active. */
|
|
53
|
+
ariaCurrentValue?: string;
|
|
54
|
+
custom?: boolean;
|
|
55
|
+
/** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
|
|
56
|
+
raw?: boolean;
|
|
57
|
+
class?: any;
|
|
58
|
+
}
|
|
59
|
+
export interface LinkSlots {
|
|
60
|
+
default(props: {
|
|
61
|
+
active: boolean;
|
|
62
|
+
}): any;
|
|
63
|
+
}
|
|
64
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
65
|
+
declare const _default: typeof __VLS_export;
|
|
66
|
+
export default _default;
|
|
67
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
68
|
+
new (): {
|
|
69
|
+
$slots: S;
|
|
70
|
+
};
|
|
71
|
+
};
|