@inkbar/vue 0.2.0 → 0.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/README.md +22 -2
- package/dist/components/InkNotePopover.js.map +1 -1
- package/dist/components/InkNotePopover.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/InkNotePopover.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/InkRoot.vue.d.ts +42 -42
- package/dist/composables/useAnnotations.d.ts +112 -112
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -69,6 +69,7 @@ const annotations = ref<Annotation[]>([])
|
|
|
69
69
|
v-model:annotations="annotations"
|
|
70
70
|
>
|
|
71
71
|
<InkToolbar>
|
|
72
|
+
<InkToolButton tool="view" />
|
|
72
73
|
<InkToolButton tool="select" />
|
|
73
74
|
<InkToolButton tool="highlight" />
|
|
74
75
|
<InkToolButton tool="redact-area" />
|
|
@@ -119,11 +120,30 @@ Inside `InkRoot`, `useHistory()` returns the same object. Its `batch(fn)` runs `
|
|
|
119
120
|
|
|
120
121
|
`InkNotePopover` opens the thread of the activated note. A new note has no text yet, so the form first writes the note's own text (labelled "Comment"); after that it adds replies.
|
|
121
122
|
|
|
122
|
-
A root note with no text and no replies is removed when its popover closes, or when activation moves to another annotation, so abandoned notes do not stay on the page. Locked notes are never removed. If you add notes yourself (`add({ type: '
|
|
123
|
+
A root note with no text and no replies is removed when its popover closes, or when activation moves to another annotation, so abandoned notes do not stay on the page. Locked notes are never removed. If you add notes yourself (`add({ type: 'text', ... })`), give them `contents`, or they will be removed the first time someone opens and closes them.
|
|
124
|
+
|
|
125
|
+
## Custom rendering
|
|
126
|
+
|
|
127
|
+
Slots let you render parts yourself. `InkViewport` has `loading`, `empty`, `error`, `annotation` and `page-error` slots. `InkNotePopover` and `InkSuggestionCard` have a scoped default slot that receives the popover's props, and the default slot of `InkToolButton` receives `{ active, label }`. The props are typed as `AnnotationSlotProps`, `NotePopoverSlotProps` and `SuggestionCardSlotProps`, the same types the React and Svelte packages export.
|
|
128
|
+
|
|
129
|
+
`InkRoot`, `InkToolbar`, `InkToolButton`, `InkUndo`, `InkRedo`, `InkPrevPage`, `InkNextPage`, `InkZoomIn` and `InkZoomOut` take `as-child` to render your own element in place of theirs, such as a button from your design system. Put that element in the default slot. The control keeps its behaviour and accessible name.
|
|
123
130
|
|
|
124
131
|
## Keyboard
|
|
125
132
|
|
|
126
|
-
The scroll
|
|
133
|
+
The scroll area takes focus. From there:
|
|
134
|
+
|
|
135
|
+
- With the `highlight` or `redact-area` tool active, `Enter` turns the text selection into a mark.
|
|
136
|
+
- With the `note` tool active, `Enter` places a note at the centre of the current page and opens it.
|
|
137
|
+
|
|
138
|
+
On a focused annotation:
|
|
139
|
+
|
|
140
|
+
- `Enter` or `Space` selects and activates it. A note opens its thread and a suggested redaction its card; other types are only selected.
|
|
141
|
+
- `ArrowUp` and `ArrowDown` move to the previous or next annotation on the page.
|
|
142
|
+
- `Shift` + arrow moves it by 1 pt, or by 10 pt with `Alt` as well.
|
|
143
|
+
- `Ctrl` or `Cmd` + `Shift` + arrow resizes an area redaction, text box or shape.
|
|
144
|
+
- `Delete` or `Backspace` removes it.
|
|
145
|
+
|
|
146
|
+
The full table, with the zoom and page keys, is in the [`@inkbar/core` README](https://github.com/inkbar/inkbar/tree/main/packages/core#tools-and-keyboard).
|
|
127
147
|
|
|
128
148
|
## Styling
|
|
129
149
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InkNotePopover.js","names":["_sfc_main","InkNotePopover_vue_vue_type_script_setup_true_lang_default","InkNotePopover_default"],"sources":["../../src/components/InkNotePopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/*\n * The thread for the activated note, anchored to the note's overlay element. Activating a\n * reply opens the whole thread from its root. Closing (Close, Escape, a press outside) clears `activated`.\n *\n * A new note has no text. While its root is empty (and unlocked) the default form writes the\n * root's own `contents`, labelled \"Comment\", and the thread list stays hidden until there is\n * something in it; after that the form adds replies. Closing a root that is still empty and\n * has no replies removes it, so an abandoned note does not stay on the page.\n */\nimport { isAbandonedNote, threadOf, threadRoot } from '@inkbar/core'\nimport { PopoverContent, PopoverPortal, PopoverRoot } from 'reka-ui'\nimport { computed, ref, watch } from 'vue'\n\nimport { useAnnotations } from '../composables/useAnnotations'\nimport { injectInkContext } from '../context'\n\nimport { useAnnotationElement } from './annotation-element'\nimport { keepOpenOnAnnotation, useFocusReturn } from './popover-focus'\n\nimport type { Annotation, NoteAnnotation } from '@inkbar/core'\nimport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\nexport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\ndefineSlots<{ default?(props: NotePopoverSlotProps): unknown }>()\n\nconst ctx = injectInkContext()\nconst { annotations, add, update, remove } = useAnnotations()\n\nconst find = (id: string | undefined) =>\n id ? annotations.value.find((a) => a.id === id) : undefined\n\nconst note = computed<NoteAnnotation | null>(() => {\n const a = find(ctx.activated.value ?? undefined)\n return a?.type === '
|
|
1
|
+
{"version":3,"file":"InkNotePopover.js","names":["_sfc_main","InkNotePopover_vue_vue_type_script_setup_true_lang_default","InkNotePopover_default"],"sources":["../../src/components/InkNotePopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/*\n * The thread for the activated note, anchored to the note's overlay element. Activating a\n * reply opens the whole thread from its root. Closing (Close, Escape, a press outside) clears `activated`.\n *\n * A new note has no text. While its root is empty (and unlocked) the default form writes the\n * root's own `contents`, labelled \"Comment\", and the thread list stays hidden until there is\n * something in it; after that the form adds replies. Closing a root that is still empty and\n * has no replies removes it, so an abandoned note does not stay on the page.\n */\nimport { isAbandonedNote, threadOf, threadRoot } from '@inkbar/core'\nimport { PopoverContent, PopoverPortal, PopoverRoot } from 'reka-ui'\nimport { computed, ref, watch } from 'vue'\n\nimport { useAnnotations } from '../composables/useAnnotations'\nimport { injectInkContext } from '../context'\n\nimport { useAnnotationElement } from './annotation-element'\nimport { keepOpenOnAnnotation, useFocusReturn } from './popover-focus'\n\nimport type { Annotation, NoteAnnotation } from '@inkbar/core'\nimport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\nexport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\ndefineSlots<{ default?(props: NotePopoverSlotProps): unknown }>()\n\nconst ctx = injectInkContext()\nconst { annotations, add, update, remove } = useAnnotations()\n\nconst find = (id: string | undefined) =>\n id ? annotations.value.find((a) => a.id === id) : undefined\n\nconst note = computed<NoteAnnotation | null>(() => {\n const a = find(ctx.activated.value ?? undefined)\n return a?.type === 'text' ? threadRoot(annotations.value, a) : null\n})\nconst anchor = useAnnotationElement(\n ctx,\n computed(() => note.value?.id ?? null)\n)\nconst focusReturn = useFocusReturn(ctx)\nconst open = computed(() => note.value !== null && anchor.value !== null)\nconst thread = computed<Annotation[]>(() =>\n note.value ? threadOf(annotations.value, note.value) : []\n)\n\n/** True while the default form writes the root note's own text rather than a reply. */\nconst editingRoot = computed(() => {\n const root = note.value\n return root !== null && !root.locked && !root.contents?.trim()\n})\n\nconst draft = ref('')\nconst noteId = () => note.value?.id\n// Synchronous, so a render for another note never shows the old draft.\nwatch(noteId, () => (draft.value = ''), { flush: 'sync' })\nwatch(noteId, (_next, previous) => {\n // Activation moved on from a note that never got any text: drop it.\n if (previous !== undefined) dropIfEmpty(previous)\n})\n\n/**\n * Notes this popover wrote text or a reply for. In controlled mode the write is a proposal\n * the host may not have applied yet, so the applied list still shows the note empty; these\n * are never dropped as abandoned.\n */\nconst written = new Set<string>()\n/** Notes this popover has already asked to remove, so a slow host is asked once. */\nconst dropped = new Set<string>()\n\n/** Removes an unlocked root note with no text and no replies. True when it did. */\nfunction dropIfEmpty(id: string): boolean {\n if (dropped.has(id) || written.has(id) || !isAbandonedNote(annotations.value, id))\n return false\n dropped.add(id)\n remove(id)\n return true\n}\n\nfunction reply(text: string): void {\n const root = note.value\n const contents = text.trim()\n if (!root || !contents) return\n written.add(root.id)\n add({ type: 'text', page: root.page, rect: root.rect, contents, inReplyTo: root.id })\n draft.value = ''\n}\nfunction close(): void {\n const root = note.value\n if (root && find(root.id) && isEmptyRoot(root)) {\n focusReturn.beforeRemove(anchor.value)\n dropIfEmpty(root.id)\n }\n ctx.setActivated(null)\n}\nfunction isEmptyRoot(root: NoteAnnotation): boolean {\n return (\n !written.has(root.id) &&\n !root.locked &&\n !root.contents?.trim() &&\n thread.value.length === 1\n )\n}\nfunction submit(): void {\n const text = draft.value.trim()\n if (!text) return\n if (editingRoot.value) {\n updateContents(text)\n draft.value = ''\n } else reply(text)\n}\n/** Locked notes cannot be removed: removing one does nothing and keeps the popover. */\nfunction removeThread(): void {\n const root = note.value\n if (!root || root.locked) return\n focusReturn.beforeRemove(anchor.value)\n // Under a slow controlled host the note stays listed for a while; it is not asked for again.\n dropped.add(root.id)\n remove(root.id)\n ctx.setActivated(null)\n}\nfunction updateContents(contents: string): void {\n if (!note.value || note.value.locked) return\n if (contents.trim()) written.add(note.value.id)\n update(note.value.id, { contents })\n}\nfunction onOpenChange(next: boolean): void {\n if (!next) close()\n}\n</script>\n\n<template>\n <PopoverRoot :open=\"open\" @update:open=\"onOpenChange\">\n <PopoverPortal>\n <PopoverContent\n v-if=\"note && anchor\"\n :reference=\"anchor\"\n class=\"ink-note-popover\"\n data-ink-note-popover\n side=\"right\"\n :side-offset=\"8\"\n :collision-padding=\"8\"\n v-bind=\"{ 'aria-label': 'Note thread' }\"\n @interact-outside=\"keepOpenOnAnnotation\"\n @close-auto-focus=\"focusReturn.onCloseAutoFocus($event, anchor)\"\n >\n <slot\n :note=\"note\"\n :replies=\"thread.slice(1)\"\n :reply=\"reply\"\n :update=\"updateContents\"\n :remove=\"removeThread\"\n :close=\"close\"\n >\n <ol v-if=\"!editingRoot || thread.length > 1\" class=\"ink-thread\" data-ink-thread>\n <li\n v-for=\"item in thread\"\n :key=\"item.id\"\n class=\"ink-thread-item\"\n data-ink-thread-item\n :data-reply=\"item.inReplyTo ? '' : undefined\"\n >\n <span class=\"ink-thread-author\">{{ item.author ?? 'Anonymous' }}</span>\n <time class=\"ink-thread-time\" :datetime=\"item.createdAt\">\n {{ new Date(item.createdAt).toLocaleString() }}\n </time>\n <p class=\"ink-thread-text\">{{ item.contents }}</p>\n </li>\n </ol>\n <form class=\"ink-thread-reply\" data-ink-thread-reply @submit.prevent=\"submit\">\n <textarea\n v-model=\"draft\"\n :aria-label=\"editingRoot ? 'Comment' : 'Reply'\"\n rows=\"2\"\n :placeholder=\"editingRoot ? 'Comment' : 'Reply'\"\n />\n <div class=\"ink-thread-actions\">\n <button type=\"submit\" :disabled=\"!draft.trim()\">\n {{ editingRoot ? 'Comment' : 'Reply' }}\n </button>\n <button v-if=\"!note.locked\" type=\"button\" @click=\"removeThread\">\n Delete\n </button>\n <button type=\"button\" @click=\"close\">Close</button>\n </div>\n </form>\n </slot>\n </PopoverContent>\n </PopoverPortal>\n </PopoverRoot>\n</template>\n"],"mappings":""}
|
|
@@ -15,7 +15,7 @@ var ie = {
|
|
|
15
15
|
setup(f) {
|
|
16
16
|
let N = e(), { annotations: P, add: F, update: I, remove: L } = t(), R = (e) => e ? P.value.find((t) => t.id === e) : void 0, z = o(() => {
|
|
17
17
|
let e = R(N.activated.value ?? void 0);
|
|
18
|
-
return e?.type === "
|
|
18
|
+
return e?.type === "text" ? ee(P.value, e) : null;
|
|
19
19
|
}), B = n(N, o(() => z.value?.id ?? null)), V = i(N), H = o(() => z.value !== null && B.value !== null), U = o(() => z.value ? E(P.value, z.value) : []), W = o(() => {
|
|
20
20
|
let e = z.value;
|
|
21
21
|
return e !== null && !e.locked && !e.contents?.trim();
|
|
@@ -30,7 +30,7 @@ var ie = {
|
|
|
30
30
|
function X(e) {
|
|
31
31
|
let t = z.value, n = e.trim();
|
|
32
32
|
t && n && (q.add(t.id), F({
|
|
33
|
-
type: "
|
|
33
|
+
type: "text",
|
|
34
34
|
page: t.page,
|
|
35
35
|
rect: t.rect,
|
|
36
36
|
contents: n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InkNotePopover.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref","_withCtx","_createVNode","_mergeProps","_renderSlot","_createElementBlock","_Fragment","_renderList","_createElementVNode","_toDisplayString","_createCommentVNode","_withModifiers","_withDirectives","_vModelText","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","InkNotePopover_vue_vue_type_script_setup_true_lang_default","ctx","injectInkContext","useAnnotations","find","id","annotations","a","note","computed","threadRoot","anchor","useAnnotationElement","focusReturn","useFocusReturn","open","thread","threadOf","editingRoot","root","draft","ref","noteId","watch","previous","dropIfEmpty","written","dropped","isAbandonedNote","remove","reply","contents","text","add","close","isEmptyRoot","submit","updateContents","removeThread","update","onOpenChange","next","openBlock","createBlock","unref","PopoverRoot","withCtx","createVNode","PopoverPortal","PopoverContent","mergeProps","keepOpenOnAnnotation","_cache","$event","renderSlot","_ctx","createElementBlock","Fragment","renderList","item","createElementVNode","toDisplayString","createCommentVNode","withModifiers","withDirectives","vModelText"],"sources":["../../src/components/InkNotePopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/*\n * The thread for the activated note, anchored to the note's overlay element. Activating a\n * reply opens the whole thread from its root. Closing (Close, Escape, a press outside) clears `activated`.\n *\n * A new note has no text. While its root is empty (and unlocked) the default form writes the\n * root's own `contents`, labelled \"Comment\", and the thread list stays hidden until there is\n * something in it; after that the form adds replies. Closing a root that is still empty and\n * has no replies removes it, so an abandoned note does not stay on the page.\n */\nimport { isAbandonedNote, threadOf, threadRoot } from '@inkbar/core'\nimport { PopoverContent, PopoverPortal, PopoverRoot } from 'reka-ui'\nimport { computed, ref, watch } from 'vue'\n\nimport { useAnnotations } from '../composables/useAnnotations'\nimport { injectInkContext } from '../context'\n\nimport { useAnnotationElement } from './annotation-element'\nimport { keepOpenOnAnnotation, useFocusReturn } from './popover-focus'\n\nimport type { Annotation, NoteAnnotation } from '@inkbar/core'\nimport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\nexport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\ndefineSlots<{ default?(props: NotePopoverSlotProps): unknown }>()\n\nconst ctx = injectInkContext()\nconst { annotations, add, update, remove } = useAnnotations()\n\nconst find = (id: string | undefined) =>\n id ? annotations.value.find((a) => a.id === id) : undefined\n\nconst note = computed<NoteAnnotation | null>(() => {\n const a = find(ctx.activated.value ?? undefined)\n return a?.type === 'note' ? threadRoot(annotations.value, a) : null\n})\nconst anchor = useAnnotationElement(\n ctx,\n computed(() => note.value?.id ?? null)\n)\nconst focusReturn = useFocusReturn(ctx)\nconst open = computed(() => note.value !== null && anchor.value !== null)\nconst thread = computed<Annotation[]>(() =>\n note.value ? threadOf(annotations.value, note.value) : []\n)\n\n/** True while the default form writes the root note's own text rather than a reply. */\nconst editingRoot = computed(() => {\n const root = note.value\n return root !== null && !root.locked && !root.contents?.trim()\n})\n\nconst draft = ref('')\nconst noteId = () => note.value?.id\n// Synchronous, so a render for another note never shows the old draft.\nwatch(noteId, () => (draft.value = ''), { flush: 'sync' })\nwatch(noteId, (_next, previous) => {\n // Activation moved on from a note that never got any text: drop it.\n if (previous !== undefined) dropIfEmpty(previous)\n})\n\n/**\n * Notes this popover wrote text or a reply for. In controlled mode the write is a proposal\n * the host may not have applied yet, so the applied list still shows the note empty; these\n * are never dropped as abandoned.\n */\nconst written = new Set<string>()\n/** Notes this popover has already asked to remove, so a slow host is asked once. */\nconst dropped = new Set<string>()\n\n/** Removes an unlocked root note with no text and no replies. True when it did. */\nfunction dropIfEmpty(id: string): boolean {\n if (dropped.has(id) || written.has(id) || !isAbandonedNote(annotations.value, id))\n return false\n dropped.add(id)\n remove(id)\n return true\n}\n\nfunction reply(text: string): void {\n const root = note.value\n const contents = text.trim()\n if (!root || !contents) return\n written.add(root.id)\n add({ type: 'note', page: root.page, rect: root.rect, contents, inReplyTo: root.id })\n draft.value = ''\n}\nfunction close(): void {\n const root = note.value\n if (root && find(root.id) && isEmptyRoot(root)) {\n focusReturn.beforeRemove(anchor.value)\n dropIfEmpty(root.id)\n }\n ctx.setActivated(null)\n}\nfunction isEmptyRoot(root: NoteAnnotation): boolean {\n return (\n !written.has(root.id) &&\n !root.locked &&\n !root.contents?.trim() &&\n thread.value.length === 1\n )\n}\nfunction submit(): void {\n const text = draft.value.trim()\n if (!text) return\n if (editingRoot.value) {\n updateContents(text)\n draft.value = ''\n } else reply(text)\n}\n/** Locked notes cannot be removed: removing one does nothing and keeps the popover. */\nfunction removeThread(): void {\n const root = note.value\n if (!root || root.locked) return\n focusReturn.beforeRemove(anchor.value)\n // Under a slow controlled host the note stays listed for a while; it is not asked for again.\n dropped.add(root.id)\n remove(root.id)\n ctx.setActivated(null)\n}\nfunction updateContents(contents: string): void {\n if (!note.value || note.value.locked) return\n if (contents.trim()) written.add(note.value.id)\n update(note.value.id, { contents })\n}\nfunction onOpenChange(next: boolean): void {\n if (!next) close()\n}\n</script>\n\n<template>\n <PopoverRoot :open=\"open\" @update:open=\"onOpenChange\">\n <PopoverPortal>\n <PopoverContent\n v-if=\"note && anchor\"\n :reference=\"anchor\"\n class=\"ink-note-popover\"\n data-ink-note-popover\n side=\"right\"\n :side-offset=\"8\"\n :collision-padding=\"8\"\n v-bind=\"{ 'aria-label': 'Note thread' }\"\n @interact-outside=\"keepOpenOnAnnotation\"\n @close-auto-focus=\"focusReturn.onCloseAutoFocus($event, anchor)\"\n >\n <slot\n :note=\"note\"\n :replies=\"thread.slice(1)\"\n :reply=\"reply\"\n :update=\"updateContents\"\n :remove=\"removeThread\"\n :close=\"close\"\n >\n <ol v-if=\"!editingRoot || thread.length > 1\" class=\"ink-thread\" data-ink-thread>\n <li\n v-for=\"item in thread\"\n :key=\"item.id\"\n class=\"ink-thread-item\"\n data-ink-thread-item\n :data-reply=\"item.inReplyTo ? '' : undefined\"\n >\n <span class=\"ink-thread-author\">{{ item.author ?? 'Anonymous' }}</span>\n <time class=\"ink-thread-time\" :datetime=\"item.createdAt\">\n {{ new Date(item.createdAt).toLocaleString() }}\n </time>\n <p class=\"ink-thread-text\">{{ item.contents }}</p>\n </li>\n </ol>\n <form class=\"ink-thread-reply\" data-ink-thread-reply @submit.prevent=\"submit\">\n <textarea\n v-model=\"draft\"\n :aria-label=\"editingRoot ? 'Comment' : 'Reply'\"\n rows=\"2\"\n :placeholder=\"editingRoot ? 'Comment' : 'Reply'\"\n />\n <div class=\"ink-thread-actions\">\n <button type=\"submit\" :disabled=\"!draft.trim()\">\n {{ editingRoot ? 'Comment' : 'Reply' }}\n </button>\n <button v-if=\"!note.locked\" type=\"button\" @click=\"removeThread\">\n Delete\n </button>\n <button type=\"button\" @click=\"close\">Close</button>\n </div>\n </form>\n </slot>\n </PopoverContent>\n </PopoverPortal>\n </PopoverRoot>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InkNotePopover.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref","_withCtx","_createVNode","_mergeProps","_renderSlot","_createElementBlock","_Fragment","_renderList","_createElementVNode","_toDisplayString","_createCommentVNode","_withModifiers","_withDirectives","_vModelText","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","InkNotePopover_vue_vue_type_script_setup_true_lang_default","ctx","injectInkContext","useAnnotations","find","id","annotations","a","note","computed","threadRoot","anchor","useAnnotationElement","focusReturn","useFocusReturn","open","thread","threadOf","editingRoot","root","draft","ref","noteId","watch","previous","dropIfEmpty","written","dropped","isAbandonedNote","remove","reply","contents","text","add","close","isEmptyRoot","submit","updateContents","removeThread","update","onOpenChange","next","openBlock","createBlock","unref","PopoverRoot","withCtx","createVNode","PopoverPortal","PopoverContent","mergeProps","keepOpenOnAnnotation","_cache","$event","renderSlot","_ctx","createElementBlock","Fragment","renderList","item","createElementVNode","toDisplayString","createCommentVNode","withModifiers","withDirectives","vModelText"],"sources":["../../src/components/InkNotePopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/*\n * The thread for the activated note, anchored to the note's overlay element. Activating a\n * reply opens the whole thread from its root. Closing (Close, Escape, a press outside) clears `activated`.\n *\n * A new note has no text. While its root is empty (and unlocked) the default form writes the\n * root's own `contents`, labelled \"Comment\", and the thread list stays hidden until there is\n * something in it; after that the form adds replies. Closing a root that is still empty and\n * has no replies removes it, so an abandoned note does not stay on the page.\n */\nimport { isAbandonedNote, threadOf, threadRoot } from '@inkbar/core'\nimport { PopoverContent, PopoverPortal, PopoverRoot } from 'reka-ui'\nimport { computed, ref, watch } from 'vue'\n\nimport { useAnnotations } from '../composables/useAnnotations'\nimport { injectInkContext } from '../context'\n\nimport { useAnnotationElement } from './annotation-element'\nimport { keepOpenOnAnnotation, useFocusReturn } from './popover-focus'\n\nimport type { Annotation, NoteAnnotation } from '@inkbar/core'\nimport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\nexport type { NotePopoverSlotProps } from '@inkbar/core/dom'\n\ndefineSlots<{ default?(props: NotePopoverSlotProps): unknown }>()\n\nconst ctx = injectInkContext()\nconst { annotations, add, update, remove } = useAnnotations()\n\nconst find = (id: string | undefined) =>\n id ? annotations.value.find((a) => a.id === id) : undefined\n\nconst note = computed<NoteAnnotation | null>(() => {\n const a = find(ctx.activated.value ?? undefined)\n return a?.type === 'text' ? threadRoot(annotations.value, a) : null\n})\nconst anchor = useAnnotationElement(\n ctx,\n computed(() => note.value?.id ?? null)\n)\nconst focusReturn = useFocusReturn(ctx)\nconst open = computed(() => note.value !== null && anchor.value !== null)\nconst thread = computed<Annotation[]>(() =>\n note.value ? threadOf(annotations.value, note.value) : []\n)\n\n/** True while the default form writes the root note's own text rather than a reply. */\nconst editingRoot = computed(() => {\n const root = note.value\n return root !== null && !root.locked && !root.contents?.trim()\n})\n\nconst draft = ref('')\nconst noteId = () => note.value?.id\n// Synchronous, so a render for another note never shows the old draft.\nwatch(noteId, () => (draft.value = ''), { flush: 'sync' })\nwatch(noteId, (_next, previous) => {\n // Activation moved on from a note that never got any text: drop it.\n if (previous !== undefined) dropIfEmpty(previous)\n})\n\n/**\n * Notes this popover wrote text or a reply for. In controlled mode the write is a proposal\n * the host may not have applied yet, so the applied list still shows the note empty; these\n * are never dropped as abandoned.\n */\nconst written = new Set<string>()\n/** Notes this popover has already asked to remove, so a slow host is asked once. */\nconst dropped = new Set<string>()\n\n/** Removes an unlocked root note with no text and no replies. True when it did. */\nfunction dropIfEmpty(id: string): boolean {\n if (dropped.has(id) || written.has(id) || !isAbandonedNote(annotations.value, id))\n return false\n dropped.add(id)\n remove(id)\n return true\n}\n\nfunction reply(text: string): void {\n const root = note.value\n const contents = text.trim()\n if (!root || !contents) return\n written.add(root.id)\n add({ type: 'text', page: root.page, rect: root.rect, contents, inReplyTo: root.id })\n draft.value = ''\n}\nfunction close(): void {\n const root = note.value\n if (root && find(root.id) && isEmptyRoot(root)) {\n focusReturn.beforeRemove(anchor.value)\n dropIfEmpty(root.id)\n }\n ctx.setActivated(null)\n}\nfunction isEmptyRoot(root: NoteAnnotation): boolean {\n return (\n !written.has(root.id) &&\n !root.locked &&\n !root.contents?.trim() &&\n thread.value.length === 1\n )\n}\nfunction submit(): void {\n const text = draft.value.trim()\n if (!text) return\n if (editingRoot.value) {\n updateContents(text)\n draft.value = ''\n } else reply(text)\n}\n/** Locked notes cannot be removed: removing one does nothing and keeps the popover. */\nfunction removeThread(): void {\n const root = note.value\n if (!root || root.locked) return\n focusReturn.beforeRemove(anchor.value)\n // Under a slow controlled host the note stays listed for a while; it is not asked for again.\n dropped.add(root.id)\n remove(root.id)\n ctx.setActivated(null)\n}\nfunction updateContents(contents: string): void {\n if (!note.value || note.value.locked) return\n if (contents.trim()) written.add(note.value.id)\n update(note.value.id, { contents })\n}\nfunction onOpenChange(next: boolean): void {\n if (!next) close()\n}\n</script>\n\n<template>\n <PopoverRoot :open=\"open\" @update:open=\"onOpenChange\">\n <PopoverPortal>\n <PopoverContent\n v-if=\"note && anchor\"\n :reference=\"anchor\"\n class=\"ink-note-popover\"\n data-ink-note-popover\n side=\"right\"\n :side-offset=\"8\"\n :collision-padding=\"8\"\n v-bind=\"{ 'aria-label': 'Note thread' }\"\n @interact-outside=\"keepOpenOnAnnotation\"\n @close-auto-focus=\"focusReturn.onCloseAutoFocus($event, anchor)\"\n >\n <slot\n :note=\"note\"\n :replies=\"thread.slice(1)\"\n :reply=\"reply\"\n :update=\"updateContents\"\n :remove=\"removeThread\"\n :close=\"close\"\n >\n <ol v-if=\"!editingRoot || thread.length > 1\" class=\"ink-thread\" data-ink-thread>\n <li\n v-for=\"item in thread\"\n :key=\"item.id\"\n class=\"ink-thread-item\"\n data-ink-thread-item\n :data-reply=\"item.inReplyTo ? '' : undefined\"\n >\n <span class=\"ink-thread-author\">{{ item.author ?? 'Anonymous' }}</span>\n <time class=\"ink-thread-time\" :datetime=\"item.createdAt\">\n {{ new Date(item.createdAt).toLocaleString() }}\n </time>\n <p class=\"ink-thread-text\">{{ item.contents }}</p>\n </li>\n </ol>\n <form class=\"ink-thread-reply\" data-ink-thread-reply @submit.prevent=\"submit\">\n <textarea\n v-model=\"draft\"\n :aria-label=\"editingRoot ? 'Comment' : 'Reply'\"\n rows=\"2\"\n :placeholder=\"editingRoot ? 'Comment' : 'Reply'\"\n />\n <div class=\"ink-thread-actions\">\n <button type=\"submit\" :disabled=\"!draft.trim()\">\n {{ editingRoot ? 'Comment' : 'Reply' }}\n </button>\n <button v-if=\"!note.locked\" type=\"button\" @click=\"removeThread\">\n Delete\n </button>\n <button type=\"button\" @click=\"close\">Close</button>\n </div>\n </form>\n </slot>\n </PopoverContent>\n </PopoverPortal>\n </PopoverRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EA2BA,IAAMyB,IAAMC,EAAiB,GACvB,EAAE,gBAAa,QAAK,WAAQ,cAAWC,EAAe,GAEtDC,KAAQ,MACZC,IAAKC,EAAY,MAAM,MAAM,MAAMC,EAAE,OAAOF,CAAE,IAAI,KAAA,GAE9CG,IAAOC,QAAsC;GACjD,IAAMF,IAAIH,EAAKH,EAAI,UAAU,SAAS,KAAA,CAAS;GAC/C,OAAOM,GAAG,SAAS,SAASG,GAAWJ,EAAY,OAAOC,CAAC,IAAI;EACjE,CAAC,GACKI,IAASC,EACbX,GACAQ,QAAeD,EAAK,OAAO,MAAM,IAAI,CACvC,GACMK,IAAcC,EAAeb,CAAG,GAChCc,IAAON,QAAeD,EAAK,UAAU,QAAQG,EAAO,UAAU,IAAI,GAClEK,IAASP,QACbD,EAAK,QAAQS,EAASX,EAAY,OAAOE,EAAK,KAAK,IAAI,CAAC,CAC1D,GAGMU,IAAcT,QAAe;GACjC,IAAMU,IAAOX,EAAK;GAClB,OAAOW,MAAS,QAAQ,CAACA,EAAK,UAAU,CAACA,EAAK,UAAU,KAAK;EAC/D,CAAC,GAEKC,IAAQC,EAAI,EAAE,GACdC,UAAed,EAAK,OAAO;EAGjC,AADAe,EAAMD,SAAe,EAAM,QAAQ,IAAK,EAAE,OAAO,OAAO,CAAC,GACzDC,EAAMD,IAAS,GAAO,MAAa;GAEjC,AAAIE,MAAa,KAAA,KAAWC,EAAYD,CAAQ;EAClD,CAAC;EAOD,IAAME,oBAAU,IAAI,IAAY,GAE1BC,oBAAU,IAAI,IAAY;EAGhC,SAASF,EAAY,GAAqB;GAKxC,OAJIE,EAAQ,IAAItB,CAAE,KAAKqB,EAAQ,IAAIrB,CAAE,KAAK,CAACuB,EAAgBtB,EAAY,OAAOD,CAAE,IACvE,MACTsB,EAAQ,IAAItB,CAAE,GACdwB,EAAOxB,CAAE,GACF;EACT;EAEA,SAASyB,EAAM,GAAoB;GACjC,IAAMX,IAAOX,EAAK,OACZuB,IAAWC,EAAK,KAAK;GAC3B,AAAKb,KAASY,MACdL,EAAQ,IAAIP,EAAK,EAAE,GACnBc,EAAI;IAAE,MAAM;IAAQ,MAAMd,EAAK;IAAM,MAAMA,EAAK;IAAM;IAAU,WAAWA,EAAK;GAAG,CAAC,GACpF,EAAM,QAAQ;EAChB;EACA,SAASe,IAAc;GACrB,IAAMf,IAAOX,EAAK;GAKlB,AAJIW,KAAQf,EAAKe,EAAK,EAAE,KAAKgB,GAAYhB,CAAI,MAC3CN,EAAY,aAAaF,EAAO,KAAK,GACrCc,EAAYN,EAAK,EAAE,IAErBlB,EAAI,aAAa,IAAI;EACvB;EACA,SAASkC,GAAY,GAA+B;GAClD,OACE,CAACT,EAAQ,IAAIP,EAAK,EAAE,KACpB,CAACA,EAAK,UACN,CAACA,EAAK,UAAU,KAAK,KACrBH,EAAO,MAAM,WAAW;EAE5B;EACA,SAASoB,KAAe;GACtB,IAAMJ,IAAOZ,EAAM,MAAM,KAAK;GAC9B,AAAKY,MACDd,EAAY,SACdmB,EAAeL,CAAI,GACnB,EAAM,QAAQ,MACTF,EAAME,CAAI;EACnB;EAEA,SAASM,IAAqB;GAC5B,IAAMnB,IAAOX,EAAK;GAClB,AAAKW,KAAQ,GAAK,WAClBN,EAAY,aAAaF,EAAO,KAAK,GAErCgB,EAAQ,IAAIR,EAAK,EAAE,GACnBU,EAAOV,EAAK,EAAE,GACdlB,EAAI,aAAa,IAAI;EACvB;EACA,SAASoC,EAAe,GAAwB;GAC9C,AAAK7B,EAAK,SAAS,GAAK,MAAM,WAC1BuB,EAAS,KAAK,KAAGL,EAAQ,IAAIlB,EAAK,MAAM,EAAE,GAC9C+B,EAAO/B,EAAK,MAAM,IAAI,EAAE,YAAS,CAAC;EACpC;EACA,SAASgC,GAAa,GAAqB;GACzC,AAAKC,KAAMP,EAAM;EACnB;oBAIE1D,EAAA,GAAAC,EAyDcC,EAAAmE,EAAA,GAAA;GAzDA,MAAM9B,EAAA;GAAO,iBAAayB;;GACtC,SAAA7D,QAuDgB,CAvDhBC,EAuDgBF,EAAAsE,EAAA,GAAA,MAAA;IAtDd,SAAArE,QAqDiB,CApDT6B,EAAA,SAAQ9B,EAAAiC,CAAA,KADhBnC,EAAA,GAAAC,EAqDiBC,EAAAuE,EAAA,GArDjBpE,EAqDiB;;KAnDd,WAAWH,EAAAiC,CAAA;KACZ,OAAM;KACN,yBAAA;KACA,MAAK;KACJ,eAAa;KACb,qBAAmB;IACZ,GAAA,EAAA,cAAA,cAAA,GAA+B;KACtC,mBAAkBjC,EAAAyE,CAAA;KAClB,kBAAgB,AAAAC,EAAA,QAAA,MAAE1E,EAAAmC,CAAA,CAAW,CAAC,iBAAiBwC,GAAQ3E,EAAAiC,CAAA,CAAM;;KAE9D,SAAAhC,QAwCO,CAxCPG,EAwCOyE,EAAA,QAAA,WAAA;MAvCJ,MAAM/C,EAAA;MACN,SAASQ,EAAA,MAAO,MAAK,CAAA;MACd;MACP,QAAQqB;MACR,QAAQC;MACD;KANV,SAwCO,CAhCM,CAAApB,EAAA,SAAeF,EAAA,MAAO,SAAM,KAAvCxC,EAAA,GAAAO,EAcK,MAdLS,IAcK,EAbHhB,EAAA,EAAA,GAAAO,EAYKC,GAAA,MAAAC,EAXY+B,EAAA,QAAR,OADTxC,EAAA,GAAAO,EAYK,MAAA;MAVF,KAAK4E,EAAK;MACX,OAAM;MACN,wBAAA;MACC,cAAYA,EAAK,YAAS,KAAQ,KAAA;;MAEnCzE,EAAuE,QAAvEQ,GAAuEP,EAApCwE,EAAK,UAAM,WAAA,GAAA,CAAA;MAC9CzE,EAEO,QAAA;OAFD,OAAM;OAAmB,UAAUyE,EAAK;MACrC,GAAAxE,EAAA,IAAA,KAAKwE,EAAK,SAAS,CAAA,CAAE,eAAc,CAAA,GAAA,GAAAhE,CAAA;MAE5CT,EAAkD,KAAlDU,GAAkDT,EAApBwE,EAAK,QAAQ,GAAA,CAAA;eAG/CzE,GAAAA,GAAAA,EAAAA,CAAAA,KAAAA,EAAAA,IAAAA,EAAAA,GAAAA,EAgBO,QAAA;MAhBD,OAAM;MAAmB,yBAAA;MAAuB,UAAMG,EAAU+C,IAAM,CAAA,SAAA,CAAA;KAC1E9C,GAAAA,CAAAA,EAAAJ,EAKE,YAAA;MAJS,uBAAA,AAAAkE,EAAA,QAAA,MAAA,EAAK,QAAAC;MACb,cAAYnC,EAAA,QAAW,YAAA;MACxB,MAAK;MACJ,aAAaA,EAAA,QAAW,YAAA;KAHhB,GAAA,MAAA,GAAArB,CAAA,GAAA,CAAA,CAAAN,GAAA6B,EAAA,KAAK,CAAA,CAAA,GAKhBlC,EAQM,OARNY,GAQM;MAPJZ,EAES,UAAA;OAFD,MAAK;OAAU,UAAQ,CAAGkC,EAAA,MAAM,KAAI;MACvC,GAAAjC,EAAA+B,EAAA,QAAW,YAAA,OAAA,GAAA,GAAAnB,CAAA;MAEDS,EAAA,MAAK,SAEpBsD,EAAA,IAAA,EAAA,KAFAtF,EAAA,GAAAO,EAES,UAAA;;OAFmB,MAAK;OAAU,SAAOuD;MAAc,GAAA,UAEhE;MACApD,EAAmD,UAAA;OAA3C,MAAK;OAAU,SAAOgD;MAAO,GAAA,OAAK"}
|
|
@@ -84,8 +84,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
84
84
|
createdAt: string;
|
|
85
85
|
modifiedAt: string;
|
|
86
86
|
source: "session" | "pdf";
|
|
87
|
-
type: "
|
|
88
|
-
icon: "
|
|
87
|
+
type: "text";
|
|
88
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
89
89
|
author?: string | undefined;
|
|
90
90
|
contents?: string | undefined;
|
|
91
91
|
inReplyTo?: string | undefined;
|
|
@@ -105,13 +105,12 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
105
105
|
createdAt: string;
|
|
106
106
|
modifiedAt: string;
|
|
107
107
|
source: "session" | "pdf";
|
|
108
|
-
type: "
|
|
109
|
-
|
|
108
|
+
type: "freetext";
|
|
109
|
+
contents: string;
|
|
110
110
|
fontSize: number;
|
|
111
111
|
fontFamily: string;
|
|
112
112
|
align: "left" | "center" | "right";
|
|
113
113
|
author?: string | undefined;
|
|
114
|
-
contents?: string | undefined;
|
|
115
114
|
inReplyTo?: string | undefined;
|
|
116
115
|
locked?: boolean | undefined;
|
|
117
116
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -134,13 +133,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
134
133
|
modifiedAt: string;
|
|
135
134
|
source: "session" | "pdf";
|
|
136
135
|
type: "square" | "circle";
|
|
137
|
-
|
|
136
|
+
width: number;
|
|
138
137
|
author?: string | undefined;
|
|
139
138
|
contents?: string | undefined;
|
|
140
139
|
inReplyTo?: string | undefined;
|
|
141
140
|
locked?: boolean | undefined;
|
|
142
141
|
custom?: Record<string, unknown> | undefined;
|
|
143
|
-
|
|
142
|
+
interiorColor?: string | undefined;
|
|
144
143
|
} | {
|
|
145
144
|
id: string;
|
|
146
145
|
page: number;
|
|
@@ -164,13 +163,14 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
164
163
|
x: number;
|
|
165
164
|
y: number;
|
|
166
165
|
};
|
|
167
|
-
|
|
166
|
+
width: number;
|
|
168
167
|
author?: string | undefined;
|
|
169
168
|
contents?: string | undefined;
|
|
170
169
|
inReplyTo?: string | undefined;
|
|
171
170
|
locked?: boolean | undefined;
|
|
172
171
|
custom?: Record<string, unknown> | undefined;
|
|
173
|
-
|
|
172
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
173
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
174
174
|
} | {
|
|
175
175
|
id: string;
|
|
176
176
|
page: number;
|
|
@@ -190,13 +190,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
190
190
|
x: number;
|
|
191
191
|
y: number;
|
|
192
192
|
}[];
|
|
193
|
-
|
|
193
|
+
width: number;
|
|
194
194
|
author?: string | undefined;
|
|
195
195
|
contents?: string | undefined;
|
|
196
196
|
inReplyTo?: string | undefined;
|
|
197
197
|
locked?: boolean | undefined;
|
|
198
198
|
custom?: Record<string, unknown> | undefined;
|
|
199
|
-
|
|
199
|
+
interiorColor?: string | undefined;
|
|
200
200
|
} | {
|
|
201
201
|
id: string;
|
|
202
202
|
page: number;
|
|
@@ -212,11 +212,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
212
212
|
modifiedAt: string;
|
|
213
213
|
source: "session" | "pdf";
|
|
214
214
|
type: "ink";
|
|
215
|
-
|
|
215
|
+
inklist: {
|
|
216
216
|
x: number;
|
|
217
217
|
y: number;
|
|
218
218
|
}[][];
|
|
219
|
-
|
|
219
|
+
width: number;
|
|
220
220
|
author?: string | undefined;
|
|
221
221
|
contents?: string | undefined;
|
|
222
222
|
inReplyTo?: string | undefined;
|
|
@@ -238,7 +238,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
238
238
|
source: "session" | "pdf";
|
|
239
239
|
type: "redact";
|
|
240
240
|
origin: "user" | "suggested";
|
|
241
|
-
|
|
241
|
+
interiorColor: string;
|
|
242
242
|
author?: string | undefined;
|
|
243
243
|
contents?: string | undefined;
|
|
244
244
|
inReplyTo?: string | undefined;
|
|
@@ -331,8 +331,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
331
331
|
createdAt: string;
|
|
332
332
|
modifiedAt: string;
|
|
333
333
|
source: "session" | "pdf";
|
|
334
|
-
type: "
|
|
335
|
-
icon: "
|
|
334
|
+
type: "text";
|
|
335
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
336
336
|
author?: string | undefined;
|
|
337
337
|
contents?: string | undefined;
|
|
338
338
|
inReplyTo?: string | undefined;
|
|
@@ -352,13 +352,12 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
352
352
|
createdAt: string;
|
|
353
353
|
modifiedAt: string;
|
|
354
354
|
source: "session" | "pdf";
|
|
355
|
-
type: "
|
|
356
|
-
|
|
355
|
+
type: "freetext";
|
|
356
|
+
contents: string;
|
|
357
357
|
fontSize: number;
|
|
358
358
|
fontFamily: string;
|
|
359
359
|
align: "left" | "center" | "right";
|
|
360
360
|
author?: string | undefined;
|
|
361
|
-
contents?: string | undefined;
|
|
362
361
|
inReplyTo?: string | undefined;
|
|
363
362
|
locked?: boolean | undefined;
|
|
364
363
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -381,13 +380,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
381
380
|
modifiedAt: string;
|
|
382
381
|
source: "session" | "pdf";
|
|
383
382
|
type: "square" | "circle";
|
|
384
|
-
|
|
383
|
+
width: number;
|
|
385
384
|
author?: string | undefined;
|
|
386
385
|
contents?: string | undefined;
|
|
387
386
|
inReplyTo?: string | undefined;
|
|
388
387
|
locked?: boolean | undefined;
|
|
389
388
|
custom?: Record<string, unknown> | undefined;
|
|
390
|
-
|
|
389
|
+
interiorColor?: string | undefined;
|
|
391
390
|
} | {
|
|
392
391
|
id: string;
|
|
393
392
|
page: number;
|
|
@@ -411,13 +410,14 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
411
410
|
x: number;
|
|
412
411
|
y: number;
|
|
413
412
|
};
|
|
414
|
-
|
|
413
|
+
width: number;
|
|
415
414
|
author?: string | undefined;
|
|
416
415
|
contents?: string | undefined;
|
|
417
416
|
inReplyTo?: string | undefined;
|
|
418
417
|
locked?: boolean | undefined;
|
|
419
418
|
custom?: Record<string, unknown> | undefined;
|
|
420
|
-
|
|
419
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
420
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
421
421
|
} | {
|
|
422
422
|
id: string;
|
|
423
423
|
page: number;
|
|
@@ -437,13 +437,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
437
437
|
x: number;
|
|
438
438
|
y: number;
|
|
439
439
|
}[];
|
|
440
|
-
|
|
440
|
+
width: number;
|
|
441
441
|
author?: string | undefined;
|
|
442
442
|
contents?: string | undefined;
|
|
443
443
|
inReplyTo?: string | undefined;
|
|
444
444
|
locked?: boolean | undefined;
|
|
445
445
|
custom?: Record<string, unknown> | undefined;
|
|
446
|
-
|
|
446
|
+
interiorColor?: string | undefined;
|
|
447
447
|
} | {
|
|
448
448
|
id: string;
|
|
449
449
|
page: number;
|
|
@@ -459,11 +459,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
459
459
|
modifiedAt: string;
|
|
460
460
|
source: "session" | "pdf";
|
|
461
461
|
type: "ink";
|
|
462
|
-
|
|
462
|
+
inklist: {
|
|
463
463
|
x: number;
|
|
464
464
|
y: number;
|
|
465
465
|
}[][];
|
|
466
|
-
|
|
466
|
+
width: number;
|
|
467
467
|
author?: string | undefined;
|
|
468
468
|
contents?: string | undefined;
|
|
469
469
|
inReplyTo?: string | undefined;
|
|
@@ -485,7 +485,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
485
485
|
source: "session" | "pdf";
|
|
486
486
|
type: "redact";
|
|
487
487
|
origin: "user" | "suggested";
|
|
488
|
-
|
|
488
|
+
interiorColor: string;
|
|
489
489
|
author?: string | undefined;
|
|
490
490
|
contents?: string | undefined;
|
|
491
491
|
inReplyTo?: string | undefined;
|
|
@@ -581,8 +581,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
581
581
|
createdAt: string;
|
|
582
582
|
modifiedAt: string;
|
|
583
583
|
source: "session" | "pdf";
|
|
584
|
-
type: "
|
|
585
|
-
icon: "
|
|
584
|
+
type: "text";
|
|
585
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
586
586
|
author?: string | undefined;
|
|
587
587
|
contents?: string | undefined;
|
|
588
588
|
inReplyTo?: string | undefined;
|
|
@@ -602,13 +602,12 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
602
602
|
createdAt: string;
|
|
603
603
|
modifiedAt: string;
|
|
604
604
|
source: "session" | "pdf";
|
|
605
|
-
type: "
|
|
606
|
-
|
|
605
|
+
type: "freetext";
|
|
606
|
+
contents: string;
|
|
607
607
|
fontSize: number;
|
|
608
608
|
fontFamily: string;
|
|
609
609
|
align: "left" | "center" | "right";
|
|
610
610
|
author?: string | undefined;
|
|
611
|
-
contents?: string | undefined;
|
|
612
611
|
inReplyTo?: string | undefined;
|
|
613
612
|
locked?: boolean | undefined;
|
|
614
613
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -631,13 +630,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
631
630
|
modifiedAt: string;
|
|
632
631
|
source: "session" | "pdf";
|
|
633
632
|
type: "square" | "circle";
|
|
634
|
-
|
|
633
|
+
width: number;
|
|
635
634
|
author?: string | undefined;
|
|
636
635
|
contents?: string | undefined;
|
|
637
636
|
inReplyTo?: string | undefined;
|
|
638
637
|
locked?: boolean | undefined;
|
|
639
638
|
custom?: Record<string, unknown> | undefined;
|
|
640
|
-
|
|
639
|
+
interiorColor?: string | undefined;
|
|
641
640
|
} | {
|
|
642
641
|
id: string;
|
|
643
642
|
page: number;
|
|
@@ -661,13 +660,14 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
661
660
|
x: number;
|
|
662
661
|
y: number;
|
|
663
662
|
};
|
|
664
|
-
|
|
663
|
+
width: number;
|
|
665
664
|
author?: string | undefined;
|
|
666
665
|
contents?: string | undefined;
|
|
667
666
|
inReplyTo?: string | undefined;
|
|
668
667
|
locked?: boolean | undefined;
|
|
669
668
|
custom?: Record<string, unknown> | undefined;
|
|
670
|
-
|
|
669
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
670
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
671
671
|
} | {
|
|
672
672
|
id: string;
|
|
673
673
|
page: number;
|
|
@@ -687,13 +687,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
687
687
|
x: number;
|
|
688
688
|
y: number;
|
|
689
689
|
}[];
|
|
690
|
-
|
|
690
|
+
width: number;
|
|
691
691
|
author?: string | undefined;
|
|
692
692
|
contents?: string | undefined;
|
|
693
693
|
inReplyTo?: string | undefined;
|
|
694
694
|
locked?: boolean | undefined;
|
|
695
695
|
custom?: Record<string, unknown> | undefined;
|
|
696
|
-
|
|
696
|
+
interiorColor?: string | undefined;
|
|
697
697
|
} | {
|
|
698
698
|
id: string;
|
|
699
699
|
page: number;
|
|
@@ -709,11 +709,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
709
709
|
modifiedAt: string;
|
|
710
710
|
source: "session" | "pdf";
|
|
711
711
|
type: "ink";
|
|
712
|
-
|
|
712
|
+
inklist: {
|
|
713
713
|
x: number;
|
|
714
714
|
y: number;
|
|
715
715
|
}[][];
|
|
716
|
-
|
|
716
|
+
width: number;
|
|
717
717
|
author?: string | undefined;
|
|
718
718
|
contents?: string | undefined;
|
|
719
719
|
inReplyTo?: string | undefined;
|
|
@@ -735,7 +735,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
735
735
|
source: "session" | "pdf";
|
|
736
736
|
type: "redact";
|
|
737
737
|
origin: "user" | "suggested";
|
|
738
|
-
|
|
738
|
+
interiorColor: string;
|
|
739
739
|
author?: string | undefined;
|
|
740
740
|
contents?: string | undefined;
|
|
741
741
|
inReplyTo?: string | undefined;
|
|
@@ -52,8 +52,8 @@ export declare function useAnnotations(): {
|
|
|
52
52
|
createdAt: string;
|
|
53
53
|
modifiedAt: string;
|
|
54
54
|
source: "session" | "pdf";
|
|
55
|
-
type: "
|
|
56
|
-
icon: "
|
|
55
|
+
type: "text";
|
|
56
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
57
57
|
author?: string | undefined;
|
|
58
58
|
contents?: string | undefined;
|
|
59
59
|
inReplyTo?: string | undefined;
|
|
@@ -73,13 +73,12 @@ export declare function useAnnotations(): {
|
|
|
73
73
|
createdAt: string;
|
|
74
74
|
modifiedAt: string;
|
|
75
75
|
source: "session" | "pdf";
|
|
76
|
-
type: "
|
|
77
|
-
|
|
76
|
+
type: "freetext";
|
|
77
|
+
contents: string;
|
|
78
78
|
fontSize: number;
|
|
79
79
|
fontFamily: string;
|
|
80
80
|
align: "left" | "center" | "right";
|
|
81
81
|
author?: string | undefined;
|
|
82
|
-
contents?: string | undefined;
|
|
83
82
|
inReplyTo?: string | undefined;
|
|
84
83
|
locked?: boolean | undefined;
|
|
85
84
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -102,13 +101,13 @@ export declare function useAnnotations(): {
|
|
|
102
101
|
modifiedAt: string;
|
|
103
102
|
source: "session" | "pdf";
|
|
104
103
|
type: "square" | "circle";
|
|
105
|
-
|
|
104
|
+
width: number;
|
|
106
105
|
author?: string | undefined;
|
|
107
106
|
contents?: string | undefined;
|
|
108
107
|
inReplyTo?: string | undefined;
|
|
109
108
|
locked?: boolean | undefined;
|
|
110
109
|
custom?: Record<string, unknown> | undefined;
|
|
111
|
-
|
|
110
|
+
interiorColor?: string | undefined;
|
|
112
111
|
} | {
|
|
113
112
|
id: string;
|
|
114
113
|
page: number;
|
|
@@ -132,13 +131,14 @@ export declare function useAnnotations(): {
|
|
|
132
131
|
x: number;
|
|
133
132
|
y: number;
|
|
134
133
|
};
|
|
135
|
-
|
|
134
|
+
width: number;
|
|
136
135
|
author?: string | undefined;
|
|
137
136
|
contents?: string | undefined;
|
|
138
137
|
inReplyTo?: string | undefined;
|
|
139
138
|
locked?: boolean | undefined;
|
|
140
139
|
custom?: Record<string, unknown> | undefined;
|
|
141
|
-
|
|
140
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
141
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
142
142
|
} | {
|
|
143
143
|
id: string;
|
|
144
144
|
page: number;
|
|
@@ -158,13 +158,13 @@ export declare function useAnnotations(): {
|
|
|
158
158
|
x: number;
|
|
159
159
|
y: number;
|
|
160
160
|
}[];
|
|
161
|
-
|
|
161
|
+
width: number;
|
|
162
162
|
author?: string | undefined;
|
|
163
163
|
contents?: string | undefined;
|
|
164
164
|
inReplyTo?: string | undefined;
|
|
165
165
|
locked?: boolean | undefined;
|
|
166
166
|
custom?: Record<string, unknown> | undefined;
|
|
167
|
-
|
|
167
|
+
interiorColor?: string | undefined;
|
|
168
168
|
} | {
|
|
169
169
|
id: string;
|
|
170
170
|
page: number;
|
|
@@ -180,11 +180,11 @@ export declare function useAnnotations(): {
|
|
|
180
180
|
modifiedAt: string;
|
|
181
181
|
source: "session" | "pdf";
|
|
182
182
|
type: "ink";
|
|
183
|
-
|
|
183
|
+
inklist: {
|
|
184
184
|
x: number;
|
|
185
185
|
y: number;
|
|
186
186
|
}[][];
|
|
187
|
-
|
|
187
|
+
width: number;
|
|
188
188
|
author?: string | undefined;
|
|
189
189
|
contents?: string | undefined;
|
|
190
190
|
inReplyTo?: string | undefined;
|
|
@@ -206,7 +206,7 @@ export declare function useAnnotations(): {
|
|
|
206
206
|
source: "session" | "pdf";
|
|
207
207
|
type: "redact";
|
|
208
208
|
origin: "user" | "suggested";
|
|
209
|
-
|
|
209
|
+
interiorColor: string;
|
|
210
210
|
author?: string | undefined;
|
|
211
211
|
contents?: string | undefined;
|
|
212
212
|
inReplyTo?: string | undefined;
|
|
@@ -290,8 +290,8 @@ export declare function useAnnotations(): {
|
|
|
290
290
|
createdAt: string;
|
|
291
291
|
modifiedAt: string;
|
|
292
292
|
source: "session" | "pdf";
|
|
293
|
-
type: "
|
|
294
|
-
icon: "
|
|
293
|
+
type: "text";
|
|
294
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
295
295
|
author?: string | undefined;
|
|
296
296
|
contents?: string | undefined;
|
|
297
297
|
inReplyTo?: string | undefined;
|
|
@@ -311,13 +311,12 @@ export declare function useAnnotations(): {
|
|
|
311
311
|
createdAt: string;
|
|
312
312
|
modifiedAt: string;
|
|
313
313
|
source: "session" | "pdf";
|
|
314
|
-
type: "
|
|
315
|
-
|
|
314
|
+
type: "freetext";
|
|
315
|
+
contents: string;
|
|
316
316
|
fontSize: number;
|
|
317
317
|
fontFamily: string;
|
|
318
318
|
align: "left" | "center" | "right";
|
|
319
319
|
author?: string | undefined;
|
|
320
|
-
contents?: string | undefined;
|
|
321
320
|
inReplyTo?: string | undefined;
|
|
322
321
|
locked?: boolean | undefined;
|
|
323
322
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -340,13 +339,13 @@ export declare function useAnnotations(): {
|
|
|
340
339
|
modifiedAt: string;
|
|
341
340
|
source: "session" | "pdf";
|
|
342
341
|
type: "square" | "circle";
|
|
343
|
-
|
|
342
|
+
width: number;
|
|
344
343
|
author?: string | undefined;
|
|
345
344
|
contents?: string | undefined;
|
|
346
345
|
inReplyTo?: string | undefined;
|
|
347
346
|
locked?: boolean | undefined;
|
|
348
347
|
custom?: Record<string, unknown> | undefined;
|
|
349
|
-
|
|
348
|
+
interiorColor?: string | undefined;
|
|
350
349
|
} | {
|
|
351
350
|
id: string;
|
|
352
351
|
page: number;
|
|
@@ -370,13 +369,14 @@ export declare function useAnnotations(): {
|
|
|
370
369
|
x: number;
|
|
371
370
|
y: number;
|
|
372
371
|
};
|
|
373
|
-
|
|
372
|
+
width: number;
|
|
374
373
|
author?: string | undefined;
|
|
375
374
|
contents?: string | undefined;
|
|
376
375
|
inReplyTo?: string | undefined;
|
|
377
376
|
locked?: boolean | undefined;
|
|
378
377
|
custom?: Record<string, unknown> | undefined;
|
|
379
|
-
|
|
378
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
379
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
380
380
|
} | {
|
|
381
381
|
id: string;
|
|
382
382
|
page: number;
|
|
@@ -396,13 +396,13 @@ export declare function useAnnotations(): {
|
|
|
396
396
|
x: number;
|
|
397
397
|
y: number;
|
|
398
398
|
}[];
|
|
399
|
-
|
|
399
|
+
width: number;
|
|
400
400
|
author?: string | undefined;
|
|
401
401
|
contents?: string | undefined;
|
|
402
402
|
inReplyTo?: string | undefined;
|
|
403
403
|
locked?: boolean | undefined;
|
|
404
404
|
custom?: Record<string, unknown> | undefined;
|
|
405
|
-
|
|
405
|
+
interiorColor?: string | undefined;
|
|
406
406
|
} | {
|
|
407
407
|
id: string;
|
|
408
408
|
page: number;
|
|
@@ -418,11 +418,11 @@ export declare function useAnnotations(): {
|
|
|
418
418
|
modifiedAt: string;
|
|
419
419
|
source: "session" | "pdf";
|
|
420
420
|
type: "ink";
|
|
421
|
-
|
|
421
|
+
inklist: {
|
|
422
422
|
x: number;
|
|
423
423
|
y: number;
|
|
424
424
|
}[][];
|
|
425
|
-
|
|
425
|
+
width: number;
|
|
426
426
|
author?: string | undefined;
|
|
427
427
|
contents?: string | undefined;
|
|
428
428
|
inReplyTo?: string | undefined;
|
|
@@ -444,7 +444,7 @@ export declare function useAnnotations(): {
|
|
|
444
444
|
source: "session" | "pdf";
|
|
445
445
|
type: "redact";
|
|
446
446
|
origin: "user" | "suggested";
|
|
447
|
-
|
|
447
|
+
interiorColor: string;
|
|
448
448
|
author?: string | undefined;
|
|
449
449
|
contents?: string | undefined;
|
|
450
450
|
inReplyTo?: string | undefined;
|
|
@@ -530,8 +530,8 @@ export declare function useAnnotations(): {
|
|
|
530
530
|
createdAt: string;
|
|
531
531
|
modifiedAt: string;
|
|
532
532
|
source: "session" | "pdf";
|
|
533
|
-
type: "
|
|
534
|
-
icon: "
|
|
533
|
+
type: "text";
|
|
534
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
535
535
|
author?: string | undefined;
|
|
536
536
|
contents?: string | undefined;
|
|
537
537
|
inReplyTo?: string | undefined;
|
|
@@ -551,13 +551,12 @@ export declare function useAnnotations(): {
|
|
|
551
551
|
createdAt: string;
|
|
552
552
|
modifiedAt: string;
|
|
553
553
|
source: "session" | "pdf";
|
|
554
|
-
type: "
|
|
555
|
-
|
|
554
|
+
type: "freetext";
|
|
555
|
+
contents: string;
|
|
556
556
|
fontSize: number;
|
|
557
557
|
fontFamily: string;
|
|
558
558
|
align: "left" | "center" | "right";
|
|
559
559
|
author?: string | undefined;
|
|
560
|
-
contents?: string | undefined;
|
|
561
560
|
inReplyTo?: string | undefined;
|
|
562
561
|
locked?: boolean | undefined;
|
|
563
562
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -580,13 +579,13 @@ export declare function useAnnotations(): {
|
|
|
580
579
|
modifiedAt: string;
|
|
581
580
|
source: "session" | "pdf";
|
|
582
581
|
type: "square" | "circle";
|
|
583
|
-
|
|
582
|
+
width: number;
|
|
584
583
|
author?: string | undefined;
|
|
585
584
|
contents?: string | undefined;
|
|
586
585
|
inReplyTo?: string | undefined;
|
|
587
586
|
locked?: boolean | undefined;
|
|
588
587
|
custom?: Record<string, unknown> | undefined;
|
|
589
|
-
|
|
588
|
+
interiorColor?: string | undefined;
|
|
590
589
|
} | {
|
|
591
590
|
id: string;
|
|
592
591
|
page: number;
|
|
@@ -610,13 +609,14 @@ export declare function useAnnotations(): {
|
|
|
610
609
|
x: number;
|
|
611
610
|
y: number;
|
|
612
611
|
};
|
|
613
|
-
|
|
612
|
+
width: number;
|
|
614
613
|
author?: string | undefined;
|
|
615
614
|
contents?: string | undefined;
|
|
616
615
|
inReplyTo?: string | undefined;
|
|
617
616
|
locked?: boolean | undefined;
|
|
618
617
|
custom?: Record<string, unknown> | undefined;
|
|
619
|
-
|
|
618
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
619
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
620
620
|
} | {
|
|
621
621
|
id: string;
|
|
622
622
|
page: number;
|
|
@@ -636,13 +636,13 @@ export declare function useAnnotations(): {
|
|
|
636
636
|
x: number;
|
|
637
637
|
y: number;
|
|
638
638
|
}[];
|
|
639
|
-
|
|
639
|
+
width: number;
|
|
640
640
|
author?: string | undefined;
|
|
641
641
|
contents?: string | undefined;
|
|
642
642
|
inReplyTo?: string | undefined;
|
|
643
643
|
locked?: boolean | undefined;
|
|
644
644
|
custom?: Record<string, unknown> | undefined;
|
|
645
|
-
|
|
645
|
+
interiorColor?: string | undefined;
|
|
646
646
|
} | {
|
|
647
647
|
id: string;
|
|
648
648
|
page: number;
|
|
@@ -658,11 +658,11 @@ export declare function useAnnotations(): {
|
|
|
658
658
|
modifiedAt: string;
|
|
659
659
|
source: "session" | "pdf";
|
|
660
660
|
type: "ink";
|
|
661
|
-
|
|
661
|
+
inklist: {
|
|
662
662
|
x: number;
|
|
663
663
|
y: number;
|
|
664
664
|
}[][];
|
|
665
|
-
|
|
665
|
+
width: number;
|
|
666
666
|
author?: string | undefined;
|
|
667
667
|
contents?: string | undefined;
|
|
668
668
|
inReplyTo?: string | undefined;
|
|
@@ -684,7 +684,7 @@ export declare function useAnnotations(): {
|
|
|
684
684
|
source: "session" | "pdf";
|
|
685
685
|
type: "redact";
|
|
686
686
|
origin: "user" | "suggested";
|
|
687
|
-
|
|
687
|
+
interiorColor: string;
|
|
688
688
|
author?: string | undefined;
|
|
689
689
|
contents?: string | undefined;
|
|
690
690
|
inReplyTo?: string | undefined;
|
|
@@ -769,8 +769,8 @@ export declare function useAnnotations(): {
|
|
|
769
769
|
createdAt: string;
|
|
770
770
|
modifiedAt: string;
|
|
771
771
|
source: "session" | "pdf";
|
|
772
|
-
type: "
|
|
773
|
-
icon: "
|
|
772
|
+
type: "text";
|
|
773
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
774
774
|
author?: string | undefined;
|
|
775
775
|
contents?: string | undefined;
|
|
776
776
|
inReplyTo?: string | undefined;
|
|
@@ -790,13 +790,12 @@ export declare function useAnnotations(): {
|
|
|
790
790
|
createdAt: string;
|
|
791
791
|
modifiedAt: string;
|
|
792
792
|
source: "session" | "pdf";
|
|
793
|
-
type: "
|
|
794
|
-
|
|
793
|
+
type: "freetext";
|
|
794
|
+
contents: string;
|
|
795
795
|
fontSize: number;
|
|
796
796
|
fontFamily: string;
|
|
797
797
|
align: "left" | "center" | "right";
|
|
798
798
|
author?: string | undefined;
|
|
799
|
-
contents?: string | undefined;
|
|
800
799
|
inReplyTo?: string | undefined;
|
|
801
800
|
locked?: boolean | undefined;
|
|
802
801
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -819,13 +818,13 @@ export declare function useAnnotations(): {
|
|
|
819
818
|
modifiedAt: string;
|
|
820
819
|
source: "session" | "pdf";
|
|
821
820
|
type: "square" | "circle";
|
|
822
|
-
|
|
821
|
+
width: number;
|
|
823
822
|
author?: string | undefined;
|
|
824
823
|
contents?: string | undefined;
|
|
825
824
|
inReplyTo?: string | undefined;
|
|
826
825
|
locked?: boolean | undefined;
|
|
827
826
|
custom?: Record<string, unknown> | undefined;
|
|
828
|
-
|
|
827
|
+
interiorColor?: string | undefined;
|
|
829
828
|
} | {
|
|
830
829
|
id: string;
|
|
831
830
|
page: number;
|
|
@@ -849,13 +848,14 @@ export declare function useAnnotations(): {
|
|
|
849
848
|
x: number;
|
|
850
849
|
y: number;
|
|
851
850
|
};
|
|
852
|
-
|
|
851
|
+
width: number;
|
|
853
852
|
author?: string | undefined;
|
|
854
853
|
contents?: string | undefined;
|
|
855
854
|
inReplyTo?: string | undefined;
|
|
856
855
|
locked?: boolean | undefined;
|
|
857
856
|
custom?: Record<string, unknown> | undefined;
|
|
858
|
-
|
|
857
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
858
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
859
859
|
} | {
|
|
860
860
|
id: string;
|
|
861
861
|
page: number;
|
|
@@ -875,13 +875,13 @@ export declare function useAnnotations(): {
|
|
|
875
875
|
x: number;
|
|
876
876
|
y: number;
|
|
877
877
|
}[];
|
|
878
|
-
|
|
878
|
+
width: number;
|
|
879
879
|
author?: string | undefined;
|
|
880
880
|
contents?: string | undefined;
|
|
881
881
|
inReplyTo?: string | undefined;
|
|
882
882
|
locked?: boolean | undefined;
|
|
883
883
|
custom?: Record<string, unknown> | undefined;
|
|
884
|
-
|
|
884
|
+
interiorColor?: string | undefined;
|
|
885
885
|
} | {
|
|
886
886
|
id: string;
|
|
887
887
|
page: number;
|
|
@@ -897,11 +897,11 @@ export declare function useAnnotations(): {
|
|
|
897
897
|
modifiedAt: string;
|
|
898
898
|
source: "session" | "pdf";
|
|
899
899
|
type: "ink";
|
|
900
|
-
|
|
900
|
+
inklist: {
|
|
901
901
|
x: number;
|
|
902
902
|
y: number;
|
|
903
903
|
}[][];
|
|
904
|
-
|
|
904
|
+
width: number;
|
|
905
905
|
author?: string | undefined;
|
|
906
906
|
contents?: string | undefined;
|
|
907
907
|
inReplyTo?: string | undefined;
|
|
@@ -923,7 +923,7 @@ export declare function useAnnotations(): {
|
|
|
923
923
|
source: "session" | "pdf";
|
|
924
924
|
type: "redact";
|
|
925
925
|
origin: "user" | "suggested";
|
|
926
|
-
|
|
926
|
+
interiorColor: string;
|
|
927
927
|
author?: string | undefined;
|
|
928
928
|
contents?: string | undefined;
|
|
929
929
|
inReplyTo?: string | undefined;
|
|
@@ -1008,8 +1008,8 @@ export declare function useAnnotations(): {
|
|
|
1008
1008
|
createdAt: string;
|
|
1009
1009
|
modifiedAt: string;
|
|
1010
1010
|
source: "session" | "pdf";
|
|
1011
|
-
type: "
|
|
1012
|
-
icon: "
|
|
1011
|
+
type: "text";
|
|
1012
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
1013
1013
|
author?: string | undefined;
|
|
1014
1014
|
contents?: string | undefined;
|
|
1015
1015
|
inReplyTo?: string | undefined;
|
|
@@ -1029,13 +1029,12 @@ export declare function useAnnotations(): {
|
|
|
1029
1029
|
createdAt: string;
|
|
1030
1030
|
modifiedAt: string;
|
|
1031
1031
|
source: "session" | "pdf";
|
|
1032
|
-
type: "
|
|
1033
|
-
|
|
1032
|
+
type: "freetext";
|
|
1033
|
+
contents: string;
|
|
1034
1034
|
fontSize: number;
|
|
1035
1035
|
fontFamily: string;
|
|
1036
1036
|
align: "left" | "center" | "right";
|
|
1037
1037
|
author?: string | undefined;
|
|
1038
|
-
contents?: string | undefined;
|
|
1039
1038
|
inReplyTo?: string | undefined;
|
|
1040
1039
|
locked?: boolean | undefined;
|
|
1041
1040
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -1058,13 +1057,13 @@ export declare function useAnnotations(): {
|
|
|
1058
1057
|
modifiedAt: string;
|
|
1059
1058
|
source: "session" | "pdf";
|
|
1060
1059
|
type: "square" | "circle";
|
|
1061
|
-
|
|
1060
|
+
width: number;
|
|
1062
1061
|
author?: string | undefined;
|
|
1063
1062
|
contents?: string | undefined;
|
|
1064
1063
|
inReplyTo?: string | undefined;
|
|
1065
1064
|
locked?: boolean | undefined;
|
|
1066
1065
|
custom?: Record<string, unknown> | undefined;
|
|
1067
|
-
|
|
1066
|
+
interiorColor?: string | undefined;
|
|
1068
1067
|
} | {
|
|
1069
1068
|
id: string;
|
|
1070
1069
|
page: number;
|
|
@@ -1088,13 +1087,14 @@ export declare function useAnnotations(): {
|
|
|
1088
1087
|
x: number;
|
|
1089
1088
|
y: number;
|
|
1090
1089
|
};
|
|
1091
|
-
|
|
1090
|
+
width: number;
|
|
1092
1091
|
author?: string | undefined;
|
|
1093
1092
|
contents?: string | undefined;
|
|
1094
1093
|
inReplyTo?: string | undefined;
|
|
1095
1094
|
locked?: boolean | undefined;
|
|
1096
1095
|
custom?: Record<string, unknown> | undefined;
|
|
1097
|
-
|
|
1096
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1097
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1098
1098
|
} | {
|
|
1099
1099
|
id: string;
|
|
1100
1100
|
page: number;
|
|
@@ -1114,13 +1114,13 @@ export declare function useAnnotations(): {
|
|
|
1114
1114
|
x: number;
|
|
1115
1115
|
y: number;
|
|
1116
1116
|
}[];
|
|
1117
|
-
|
|
1117
|
+
width: number;
|
|
1118
1118
|
author?: string | undefined;
|
|
1119
1119
|
contents?: string | undefined;
|
|
1120
1120
|
inReplyTo?: string | undefined;
|
|
1121
1121
|
locked?: boolean | undefined;
|
|
1122
1122
|
custom?: Record<string, unknown> | undefined;
|
|
1123
|
-
|
|
1123
|
+
interiorColor?: string | undefined;
|
|
1124
1124
|
} | {
|
|
1125
1125
|
id: string;
|
|
1126
1126
|
page: number;
|
|
@@ -1136,11 +1136,11 @@ export declare function useAnnotations(): {
|
|
|
1136
1136
|
modifiedAt: string;
|
|
1137
1137
|
source: "session" | "pdf";
|
|
1138
1138
|
type: "ink";
|
|
1139
|
-
|
|
1139
|
+
inklist: {
|
|
1140
1140
|
x: number;
|
|
1141
1141
|
y: number;
|
|
1142
1142
|
}[][];
|
|
1143
|
-
|
|
1143
|
+
width: number;
|
|
1144
1144
|
author?: string | undefined;
|
|
1145
1145
|
contents?: string | undefined;
|
|
1146
1146
|
inReplyTo?: string | undefined;
|
|
@@ -1162,7 +1162,7 @@ export declare function useAnnotations(): {
|
|
|
1162
1162
|
source: "session" | "pdf";
|
|
1163
1163
|
type: "redact";
|
|
1164
1164
|
origin: "user" | "suggested";
|
|
1165
|
-
|
|
1165
|
+
interiorColor: string;
|
|
1166
1166
|
author?: string | undefined;
|
|
1167
1167
|
contents?: string | undefined;
|
|
1168
1168
|
inReplyTo?: string | undefined;
|
|
@@ -1247,8 +1247,8 @@ export declare function useAnnotations(): {
|
|
|
1247
1247
|
createdAt: string;
|
|
1248
1248
|
modifiedAt: string;
|
|
1249
1249
|
source: "session" | "pdf";
|
|
1250
|
-
type: "
|
|
1251
|
-
icon: "
|
|
1250
|
+
type: "text";
|
|
1251
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
1252
1252
|
author?: string | undefined;
|
|
1253
1253
|
contents?: string | undefined;
|
|
1254
1254
|
inReplyTo?: string | undefined;
|
|
@@ -1268,13 +1268,12 @@ export declare function useAnnotations(): {
|
|
|
1268
1268
|
createdAt: string;
|
|
1269
1269
|
modifiedAt: string;
|
|
1270
1270
|
source: "session" | "pdf";
|
|
1271
|
-
type: "
|
|
1272
|
-
|
|
1271
|
+
type: "freetext";
|
|
1272
|
+
contents: string;
|
|
1273
1273
|
fontSize: number;
|
|
1274
1274
|
fontFamily: string;
|
|
1275
1275
|
align: "left" | "center" | "right";
|
|
1276
1276
|
author?: string | undefined;
|
|
1277
|
-
contents?: string | undefined;
|
|
1278
1277
|
inReplyTo?: string | undefined;
|
|
1279
1278
|
locked?: boolean | undefined;
|
|
1280
1279
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -1297,13 +1296,13 @@ export declare function useAnnotations(): {
|
|
|
1297
1296
|
modifiedAt: string;
|
|
1298
1297
|
source: "session" | "pdf";
|
|
1299
1298
|
type: "square" | "circle";
|
|
1300
|
-
|
|
1299
|
+
width: number;
|
|
1301
1300
|
author?: string | undefined;
|
|
1302
1301
|
contents?: string | undefined;
|
|
1303
1302
|
inReplyTo?: string | undefined;
|
|
1304
1303
|
locked?: boolean | undefined;
|
|
1305
1304
|
custom?: Record<string, unknown> | undefined;
|
|
1306
|
-
|
|
1305
|
+
interiorColor?: string | undefined;
|
|
1307
1306
|
} | {
|
|
1308
1307
|
id: string;
|
|
1309
1308
|
page: number;
|
|
@@ -1327,13 +1326,14 @@ export declare function useAnnotations(): {
|
|
|
1327
1326
|
x: number;
|
|
1328
1327
|
y: number;
|
|
1329
1328
|
};
|
|
1330
|
-
|
|
1329
|
+
width: number;
|
|
1331
1330
|
author?: string | undefined;
|
|
1332
1331
|
contents?: string | undefined;
|
|
1333
1332
|
inReplyTo?: string | undefined;
|
|
1334
1333
|
locked?: boolean | undefined;
|
|
1335
1334
|
custom?: Record<string, unknown> | undefined;
|
|
1336
|
-
|
|
1335
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1336
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1337
1337
|
} | {
|
|
1338
1338
|
id: string;
|
|
1339
1339
|
page: number;
|
|
@@ -1353,13 +1353,13 @@ export declare function useAnnotations(): {
|
|
|
1353
1353
|
x: number;
|
|
1354
1354
|
y: number;
|
|
1355
1355
|
}[];
|
|
1356
|
-
|
|
1356
|
+
width: number;
|
|
1357
1357
|
author?: string | undefined;
|
|
1358
1358
|
contents?: string | undefined;
|
|
1359
1359
|
inReplyTo?: string | undefined;
|
|
1360
1360
|
locked?: boolean | undefined;
|
|
1361
1361
|
custom?: Record<string, unknown> | undefined;
|
|
1362
|
-
|
|
1362
|
+
interiorColor?: string | undefined;
|
|
1363
1363
|
} | {
|
|
1364
1364
|
id: string;
|
|
1365
1365
|
page: number;
|
|
@@ -1375,11 +1375,11 @@ export declare function useAnnotations(): {
|
|
|
1375
1375
|
modifiedAt: string;
|
|
1376
1376
|
source: "session" | "pdf";
|
|
1377
1377
|
type: "ink";
|
|
1378
|
-
|
|
1378
|
+
inklist: {
|
|
1379
1379
|
x: number;
|
|
1380
1380
|
y: number;
|
|
1381
1381
|
}[][];
|
|
1382
|
-
|
|
1382
|
+
width: number;
|
|
1383
1383
|
author?: string | undefined;
|
|
1384
1384
|
contents?: string | undefined;
|
|
1385
1385
|
inReplyTo?: string | undefined;
|
|
@@ -1401,7 +1401,7 @@ export declare function useAnnotations(): {
|
|
|
1401
1401
|
source: "session" | "pdf";
|
|
1402
1402
|
type: "redact";
|
|
1403
1403
|
origin: "user" | "suggested";
|
|
1404
|
-
|
|
1404
|
+
interiorColor: string;
|
|
1405
1405
|
author?: string | undefined;
|
|
1406
1406
|
contents?: string | undefined;
|
|
1407
1407
|
inReplyTo?: string | undefined;
|
|
@@ -1489,8 +1489,8 @@ export declare function useAnnotations(): {
|
|
|
1489
1489
|
createdAt: string;
|
|
1490
1490
|
modifiedAt: string;
|
|
1491
1491
|
source: "session" | "pdf";
|
|
1492
|
-
type: "
|
|
1493
|
-
icon: "
|
|
1492
|
+
type: "text";
|
|
1493
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
1494
1494
|
author?: string | undefined;
|
|
1495
1495
|
contents?: string | undefined;
|
|
1496
1496
|
inReplyTo?: string | undefined;
|
|
@@ -1510,13 +1510,12 @@ export declare function useAnnotations(): {
|
|
|
1510
1510
|
createdAt: string;
|
|
1511
1511
|
modifiedAt: string;
|
|
1512
1512
|
source: "session" | "pdf";
|
|
1513
|
-
type: "
|
|
1514
|
-
|
|
1513
|
+
type: "freetext";
|
|
1514
|
+
contents: string;
|
|
1515
1515
|
fontSize: number;
|
|
1516
1516
|
fontFamily: string;
|
|
1517
1517
|
align: "left" | "center" | "right";
|
|
1518
1518
|
author?: string | undefined;
|
|
1519
|
-
contents?: string | undefined;
|
|
1520
1519
|
inReplyTo?: string | undefined;
|
|
1521
1520
|
locked?: boolean | undefined;
|
|
1522
1521
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -1539,13 +1538,13 @@ export declare function useAnnotations(): {
|
|
|
1539
1538
|
modifiedAt: string;
|
|
1540
1539
|
source: "session" | "pdf";
|
|
1541
1540
|
type: "square" | "circle";
|
|
1542
|
-
|
|
1541
|
+
width: number;
|
|
1543
1542
|
author?: string | undefined;
|
|
1544
1543
|
contents?: string | undefined;
|
|
1545
1544
|
inReplyTo?: string | undefined;
|
|
1546
1545
|
locked?: boolean | undefined;
|
|
1547
1546
|
custom?: Record<string, unknown> | undefined;
|
|
1548
|
-
|
|
1547
|
+
interiorColor?: string | undefined;
|
|
1549
1548
|
} | {
|
|
1550
1549
|
id: string;
|
|
1551
1550
|
page: number;
|
|
@@ -1569,13 +1568,14 @@ export declare function useAnnotations(): {
|
|
|
1569
1568
|
x: number;
|
|
1570
1569
|
y: number;
|
|
1571
1570
|
};
|
|
1572
|
-
|
|
1571
|
+
width: number;
|
|
1573
1572
|
author?: string | undefined;
|
|
1574
1573
|
contents?: string | undefined;
|
|
1575
1574
|
inReplyTo?: string | undefined;
|
|
1576
1575
|
locked?: boolean | undefined;
|
|
1577
1576
|
custom?: Record<string, unknown> | undefined;
|
|
1578
|
-
|
|
1577
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1578
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1579
1579
|
} | {
|
|
1580
1580
|
id: string;
|
|
1581
1581
|
page: number;
|
|
@@ -1595,13 +1595,13 @@ export declare function useAnnotations(): {
|
|
|
1595
1595
|
x: number;
|
|
1596
1596
|
y: number;
|
|
1597
1597
|
}[];
|
|
1598
|
-
|
|
1598
|
+
width: number;
|
|
1599
1599
|
author?: string | undefined;
|
|
1600
1600
|
contents?: string | undefined;
|
|
1601
1601
|
inReplyTo?: string | undefined;
|
|
1602
1602
|
locked?: boolean | undefined;
|
|
1603
1603
|
custom?: Record<string, unknown> | undefined;
|
|
1604
|
-
|
|
1604
|
+
interiorColor?: string | undefined;
|
|
1605
1605
|
} | {
|
|
1606
1606
|
id: string;
|
|
1607
1607
|
page: number;
|
|
@@ -1617,11 +1617,11 @@ export declare function useAnnotations(): {
|
|
|
1617
1617
|
modifiedAt: string;
|
|
1618
1618
|
source: "session" | "pdf";
|
|
1619
1619
|
type: "ink";
|
|
1620
|
-
|
|
1620
|
+
inklist: {
|
|
1621
1621
|
x: number;
|
|
1622
1622
|
y: number;
|
|
1623
1623
|
}[][];
|
|
1624
|
-
|
|
1624
|
+
width: number;
|
|
1625
1625
|
author?: string | undefined;
|
|
1626
1626
|
contents?: string | undefined;
|
|
1627
1627
|
inReplyTo?: string | undefined;
|
|
@@ -1643,7 +1643,7 @@ export declare function useAnnotations(): {
|
|
|
1643
1643
|
source: "session" | "pdf";
|
|
1644
1644
|
type: "redact";
|
|
1645
1645
|
origin: "user" | "suggested";
|
|
1646
|
-
|
|
1646
|
+
interiorColor: string;
|
|
1647
1647
|
author?: string | undefined;
|
|
1648
1648
|
contents?: string | undefined;
|
|
1649
1649
|
inReplyTo?: string | undefined;
|
|
@@ -1729,8 +1729,8 @@ export declare function useAnnotations(): {
|
|
|
1729
1729
|
createdAt: string;
|
|
1730
1730
|
modifiedAt: string;
|
|
1731
1731
|
source: "session" | "pdf";
|
|
1732
|
-
type: "
|
|
1733
|
-
icon: "
|
|
1732
|
+
type: "text";
|
|
1733
|
+
icon: "comment" | "note" | "help" | "insert" | "key" | "paragraph";
|
|
1734
1734
|
author?: string | undefined;
|
|
1735
1735
|
contents?: string | undefined;
|
|
1736
1736
|
inReplyTo?: string | undefined;
|
|
@@ -1750,13 +1750,12 @@ export declare function useAnnotations(): {
|
|
|
1750
1750
|
createdAt: string;
|
|
1751
1751
|
modifiedAt: string;
|
|
1752
1752
|
source: "session" | "pdf";
|
|
1753
|
-
type: "
|
|
1754
|
-
|
|
1753
|
+
type: "freetext";
|
|
1754
|
+
contents: string;
|
|
1755
1755
|
fontSize: number;
|
|
1756
1756
|
fontFamily: string;
|
|
1757
1757
|
align: "left" | "center" | "right";
|
|
1758
1758
|
author?: string | undefined;
|
|
1759
|
-
contents?: string | undefined;
|
|
1760
1759
|
inReplyTo?: string | undefined;
|
|
1761
1760
|
locked?: boolean | undefined;
|
|
1762
1761
|
custom?: Record<string, unknown> | undefined;
|
|
@@ -1779,13 +1778,13 @@ export declare function useAnnotations(): {
|
|
|
1779
1778
|
modifiedAt: string;
|
|
1780
1779
|
source: "session" | "pdf";
|
|
1781
1780
|
type: "square" | "circle";
|
|
1782
|
-
|
|
1781
|
+
width: number;
|
|
1783
1782
|
author?: string | undefined;
|
|
1784
1783
|
contents?: string | undefined;
|
|
1785
1784
|
inReplyTo?: string | undefined;
|
|
1786
1785
|
locked?: boolean | undefined;
|
|
1787
1786
|
custom?: Record<string, unknown> | undefined;
|
|
1788
|
-
|
|
1787
|
+
interiorColor?: string | undefined;
|
|
1789
1788
|
} | {
|
|
1790
1789
|
id: string;
|
|
1791
1790
|
page: number;
|
|
@@ -1809,13 +1808,14 @@ export declare function useAnnotations(): {
|
|
|
1809
1808
|
x: number;
|
|
1810
1809
|
y: number;
|
|
1811
1810
|
};
|
|
1812
|
-
|
|
1811
|
+
width: number;
|
|
1813
1812
|
author?: string | undefined;
|
|
1814
1813
|
contents?: string | undefined;
|
|
1815
1814
|
inReplyTo?: string | undefined;
|
|
1816
1815
|
locked?: boolean | undefined;
|
|
1817
1816
|
custom?: Record<string, unknown> | undefined;
|
|
1818
|
-
|
|
1817
|
+
head?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1818
|
+
tail?: "square" | "circle" | "none" | "openArrow" | "closedArrow" | "diamond" | "butt" | "slash" | undefined;
|
|
1819
1819
|
} | {
|
|
1820
1820
|
id: string;
|
|
1821
1821
|
page: number;
|
|
@@ -1835,13 +1835,13 @@ export declare function useAnnotations(): {
|
|
|
1835
1835
|
x: number;
|
|
1836
1836
|
y: number;
|
|
1837
1837
|
}[];
|
|
1838
|
-
|
|
1838
|
+
width: number;
|
|
1839
1839
|
author?: string | undefined;
|
|
1840
1840
|
contents?: string | undefined;
|
|
1841
1841
|
inReplyTo?: string | undefined;
|
|
1842
1842
|
locked?: boolean | undefined;
|
|
1843
1843
|
custom?: Record<string, unknown> | undefined;
|
|
1844
|
-
|
|
1844
|
+
interiorColor?: string | undefined;
|
|
1845
1845
|
} | {
|
|
1846
1846
|
id: string;
|
|
1847
1847
|
page: number;
|
|
@@ -1857,11 +1857,11 @@ export declare function useAnnotations(): {
|
|
|
1857
1857
|
modifiedAt: string;
|
|
1858
1858
|
source: "session" | "pdf";
|
|
1859
1859
|
type: "ink";
|
|
1860
|
-
|
|
1860
|
+
inklist: {
|
|
1861
1861
|
x: number;
|
|
1862
1862
|
y: number;
|
|
1863
1863
|
}[][];
|
|
1864
|
-
|
|
1864
|
+
width: number;
|
|
1865
1865
|
author?: string | undefined;
|
|
1866
1866
|
contents?: string | undefined;
|
|
1867
1867
|
inReplyTo?: string | undefined;
|
|
@@ -1883,7 +1883,7 @@ export declare function useAnnotations(): {
|
|
|
1883
1883
|
source: "session" | "pdf";
|
|
1884
1884
|
type: "redact";
|
|
1885
1885
|
origin: "user" | "suggested";
|
|
1886
|
-
|
|
1886
|
+
interiorColor: string;
|
|
1887
1887
|
author?: string | undefined;
|
|
1888
1888
|
contents?: string | undefined;
|
|
1889
1889
|
inReplyTo?: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkbar/vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Vue 3 components and composables for Inkbar, the browser PDF viewer and editor.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://inkbar.dev",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"./package.json": "./package.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@inkbar/icons": "^0.
|
|
27
|
+
"@inkbar/icons": "^0.3.0",
|
|
28
28
|
"reka-ui": "^2.11.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@inkbar/core": "^0.
|
|
31
|
+
"@inkbar/core": "^0.3.0",
|
|
32
32
|
"vue": "^3.5.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@inkbar/core": "0.
|
|
35
|
+
"@inkbar/core": "0.3.0",
|
|
36
36
|
"@inkbar/fixtures": "0.0.0",
|
|
37
|
-
"@inkbar/theme": "0.
|
|
37
|
+
"@inkbar/theme": "0.3.0",
|
|
38
38
|
"@playwright/experimental-ct-vue": "1.62.1",
|
|
39
39
|
"@playwright/test": "1.62.1",
|
|
40
40
|
"@vitejs/plugin-vue": "^6.0.10",
|