@embedpdf/vue 0.0.0-stage → 3.0.0-next.16
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/LICENSE +192 -0
- package/README.md +258 -2
- package/dist/Anchored.vue_vue_type_script_setup_true_lang-BEImlFso.cjs +124 -0
- package/dist/Anchored.vue_vue_type_script_setup_true_lang-BEImlFso.cjs.map +1 -0
- package/dist/Anchored.vue_vue_type_script_setup_true_lang-Brhh5jyF.js +125 -0
- package/dist/Anchored.vue_vue_type_script_setup_true_lang-Brhh5jyF.js.map +1 -0
- package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-BwtHXw73.cjs +20 -0
- package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-BwtHXw73.cjs.map +1 -0
- package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-Ulkr3a6R.js +21 -0
- package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-Ulkr3a6R.js.map +1 -0
- package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-C-7yeEGh.js +192 -0
- package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-C-7yeEGh.js.map +1 -0
- package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-czzeUzPl.cjs +191 -0
- package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-czzeUzPl.cjs.map +1 -0
- package/dist/FormLayer.vue_vue_type_script_setup_true_lang-BA0_VwFc.cjs +682 -0
- package/dist/FormLayer.vue_vue_type_script_setup_true_lang-BA0_VwFc.cjs.map +1 -0
- package/dist/FormLayer.vue_vue_type_script_setup_true_lang-DUqft-xs.js +683 -0
- package/dist/FormLayer.vue_vue_type_script_setup_true_lang-DUqft-xs.js.map +1 -0
- package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-C5-eQD34.cjs +174 -0
- package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-C5-eQD34.cjs.map +1 -0
- package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-EzLaOP3g.js +175 -0
- package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-EzLaOP3g.js.map +1 -0
- package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-CJt3vdBW.js +33 -0
- package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-CJt3vdBW.js.map +1 -0
- package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-Cw29c8Oa.cjs +32 -0
- package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-Cw29c8Oa.cjs.map +1 -0
- package/dist/PageView.vue_vue_type_script_setup_true_lang-CjrpumX2.cjs +151 -0
- package/dist/PageView.vue_vue_type_script_setup_true_lang-CjrpumX2.cjs.map +1 -0
- package/dist/PageView.vue_vue_type_script_setup_true_lang-O4AFc0_R.js +152 -0
- package/dist/PageView.vue_vue_type_script_setup_true_lang-O4AFc0_R.js.map +1 -0
- package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-DrOORC1H.cjs +480 -0
- package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-DrOORC1H.cjs.map +1 -0
- package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-HbCryx1B.js +481 -0
- package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-HbCryx1B.js.map +1 -0
- package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-BlLIPH1B.js +118 -0
- package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-BlLIPH1B.js.map +1 -0
- package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-CQozZCvB.cjs +117 -0
- package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-CQozZCvB.cjs.map +1 -0
- package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C4TUDuyu.js +302 -0
- package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C4TUDuyu.js.map +1 -0
- package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C8T9q6Kb.cjs +301 -0
- package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C8T9q6Kb.cjs.map +1 -0
- package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-D_c-wINF.cjs +38 -0
- package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-D_c-wINF.cjs.map +1 -0
- package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-fOTs4aqv.js +39 -0
- package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-fOTs4aqv.js.map +1 -0
- package/dist/actions.cjs +42 -0
- package/dist/actions.cjs.map +1 -0
- package/dist/actions.d.cts +41 -0
- package/dist/actions.d.ts +41 -0
- package/dist/actions.js +37 -0
- package/dist/actions.js.map +1 -0
- package/dist/anchored/Anchored.vue.d.cts +40 -0
- package/dist/anchored/Anchored.vue.d.ts +40 -0
- package/dist/anchored/AnchoredScope.vue.d.cts +17 -0
- package/dist/anchored/AnchoredScope.vue.d.ts +17 -0
- package/dist/anchored/PlacedAnchored.vue.d.cts +19 -0
- package/dist/anchored/PlacedAnchored.vue.d.ts +19 -0
- package/dist/anchored/projector.d.cts +32 -0
- package/dist/anchored/projector.d.ts +32 -0
- package/dist/anchored.cjs +13 -0
- package/dist/anchored.cjs.map +1 -0
- package/dist/anchored.d.cts +15 -0
- package/dist/anchored.d.ts +15 -0
- package/dist/anchored.js +13 -0
- package/dist/anchored.js.map +1 -0
- package/dist/annotation/AnnotationChrome.vue.d.cts +20 -0
- package/dist/annotation/AnnotationChrome.vue.d.ts +20 -0
- package/dist/annotation/AnnotationDraftMenu.vue.d.cts +26 -0
- package/dist/annotation/AnnotationDraftMenu.vue.d.ts +26 -0
- package/dist/annotation/AnnotationFrame.vue.d.cts +25 -0
- package/dist/annotation/AnnotationFrame.vue.d.ts +25 -0
- package/dist/annotation/AnnotationLayer.vue.d.cts +23 -0
- package/dist/annotation/AnnotationLayer.vue.d.ts +23 -0
- package/dist/annotation/AnnotationLook.vue.d.cts +21 -0
- package/dist/annotation/AnnotationLook.vue.d.ts +21 -0
- package/dist/annotation/AnnotationMenu.vue.d.cts +23 -0
- package/dist/annotation/AnnotationMenu.vue.d.ts +23 -0
- package/dist/annotation/AnnotationRotationBadge.vue.d.cts +26 -0
- package/dist/annotation/AnnotationRotationBadge.vue.d.ts +26 -0
- package/dist/annotation/AnnotationScene.vue.d.cts +7 -0
- package/dist/annotation/AnnotationScene.vue.d.ts +7 -0
- package/dist/annotation/FreeTextBox.vue.d.cts +9 -0
- package/dist/annotation/FreeTextBox.vue.d.ts +9 -0
- package/dist/annotation/NativeDrawing.vue.d.cts +10 -0
- package/dist/annotation/NativeDrawing.vue.d.ts +10 -0
- package/dist/annotation/StampGhost.vue.d.cts +7 -0
- package/dist/annotation/StampGhost.vue.d.ts +7 -0
- package/dist/annotation/composables.d.cts +76 -0
- package/dist/annotation/composables.d.ts +76 -0
- package/dist/annotation/state.d.cts +19 -0
- package/dist/annotation/state.d.ts +19 -0
- package/dist/annotation/text-box.d.cts +28 -0
- package/dist/annotation/text-box.d.ts +28 -0
- package/dist/annotation/types.d.cts +154 -0
- package/dist/annotation/types.d.ts +154 -0
- package/dist/annotation.cjs +29 -0
- package/dist/annotation.cjs.map +1 -0
- package/dist/annotation.d.cts +35 -0
- package/dist/annotation.d.ts +35 -0
- package/dist/annotation.js +23 -0
- package/dist/annotation.js.map +1 -0
- package/dist/attachment.cjs +22 -0
- package/dist/attachment.cjs.map +1 -0
- package/dist/attachment.d.cts +34 -0
- package/dist/attachment.d.ts +34 -0
- package/dist/attachment.js +17 -0
- package/dist/attachment.js.map +1 -0
- package/dist/capabilities-C7YzgPCX.js +164 -0
- package/dist/capabilities-C7YzgPCX.js.map +1 -0
- package/dist/capabilities-DVNJmgy7.cjs +163 -0
- package/dist/capabilities-DVNJmgy7.cjs.map +1 -0
- package/dist/commands.cjs +81 -0
- package/dist/commands.cjs.map +1 -0
- package/dist/commands.d.cts +61 -0
- package/dist/commands.d.ts +61 -0
- package/dist/commands.js +76 -0
- package/dist/commands.js.map +1 -0
- package/dist/composables-BGBsNDf9.cjs +25 -0
- package/dist/composables-BGBsNDf9.cjs.map +1 -0
- package/dist/composables-Bi6QvJpj.cjs +978 -0
- package/dist/composables-Bi6QvJpj.cjs.map +1 -0
- package/dist/composables-DK3lwh38.js +979 -0
- package/dist/composables-DK3lwh38.js.map +1 -0
- package/dist/composables-DwsZdg06.js +26 -0
- package/dist/composables-DwsZdg06.js.map +1 -0
- package/dist/dev-CtMlvxjZ.js +17 -0
- package/dist/dev-CtMlvxjZ.js.map +1 -0
- package/dist/dev-eeIS2B4c.cjs +16 -0
- package/dist/dev-eeIS2B4c.cjs.map +1 -0
- package/dist/dev.d.cts +11 -0
- package/dist/dev.d.ts +11 -0
- package/dist/documents-DUu5H4yH.js +34 -0
- package/dist/documents-DUu5H4yH.js.map +1 -0
- package/dist/documents-TQ1fMdWI.cjs +33 -0
- package/dist/documents-TQ1fMdWI.cjs.map +1 -0
- package/dist/form/ButtonControl.vue.d.cts +11 -0
- package/dist/form/ButtonControl.vue.d.ts +11 -0
- package/dist/form/ComboControl.vue.d.cts +11 -0
- package/dist/form/ComboControl.vue.d.ts +11 -0
- package/dist/form/FieldPictures.vue.d.cts +3 -0
- package/dist/form/FieldPictures.vue.d.ts +3 -0
- package/dist/form/FormFocusRing.vue.d.cts +8 -0
- package/dist/form/FormFocusRing.vue.d.ts +8 -0
- package/dist/form/FormLayer.vue.d.cts +3 -0
- package/dist/form/FormLayer.vue.d.ts +3 -0
- package/dist/form/ListControl.vue.d.cts +11 -0
- package/dist/form/ListControl.vue.d.ts +11 -0
- package/dist/form/NativeListBox.vue.d.cts +27 -0
- package/dist/form/NativeListBox.vue.d.ts +27 -0
- package/dist/form/SignatureControl.vue.d.cts +11 -0
- package/dist/form/SignatureControl.vue.d.ts +11 -0
- package/dist/form/TextControl.vue.d.cts +11 -0
- package/dist/form/TextControl.vue.d.ts +11 -0
- package/dist/form/ToggleControl.vue.d.cts +11 -0
- package/dist/form/ToggleControl.vue.d.ts +11 -0
- package/dist/form/composables.d.cts +52 -0
- package/dist/form/composables.d.ts +52 -0
- package/dist/form/widget-box.d.cts +34 -0
- package/dist/form/widget-box.d.ts +34 -0
- package/dist/form.cjs +17 -0
- package/dist/form.cjs.map +1 -0
- package/dist/form.d.cts +12 -0
- package/dist/form.d.ts +12 -0
- package/dist/form.js +11 -0
- package/dist/form.js.map +1 -0
- package/dist/history.cjs +22 -0
- package/dist/history.cjs.map +1 -0
- package/dist/history.d.cts +31 -0
- package/dist/history.d.ts +31 -0
- package/dist/history.js +17 -0
- package/dist/history.js.map +1 -0
- package/dist/i18n.cjs +29 -0
- package/dist/i18n.cjs.map +1 -0
- package/dist/i18n.d.cts +36 -0
- package/dist/i18n.d.ts +36 -0
- package/dist/i18n.js +24 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.cjs +414 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +32 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +234 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/PagePointerSource.vue.d.cts +3 -0
- package/dist/interaction/PagePointerSource.vue.d.ts +3 -0
- package/dist/interaction.cjs +63 -0
- package/dist/interaction.cjs.map +1 -0
- package/dist/interaction.d.cts +40 -0
- package/dist/interaction.d.ts +40 -0
- package/dist/interaction.js +47 -0
- package/dist/interaction.js.map +1 -0
- package/dist/link/LinkAnchor.vue.d.cts +9 -0
- package/dist/link/LinkAnchor.vue.d.ts +9 -0
- package/dist/link/LinkLayer.vue.d.cts +22 -0
- package/dist/link/LinkLayer.vue.d.ts +22 -0
- package/dist/link/composables.d.cts +29 -0
- package/dist/link/composables.d.ts +29 -0
- package/dist/link.cjs +14 -0
- package/dist/link.cjs.map +1 -0
- package/dist/link.d.cts +11 -0
- package/dist/link.d.ts +11 -0
- package/dist/link.js +8 -0
- package/dist/link.js.map +1 -0
- package/dist/measurement.cjs +43 -0
- package/dist/measurement.cjs.map +1 -0
- package/dist/measurement.d.cts +51 -0
- package/dist/measurement.d.ts +51 -0
- package/dist/measurement.js +38 -0
- package/dist/measurement.js.map +1 -0
- package/dist/metadata.cjs +22 -0
- package/dist/metadata.cjs.map +1 -0
- package/dist/metadata.d.cts +31 -0
- package/dist/metadata.d.ts +31 -0
- package/dist/metadata.js +17 -0
- package/dist/metadata.js.map +1 -0
- package/dist/outline.cjs +22 -0
- package/dist/outline.cjs.map +1 -0
- package/dist/outline.d.cts +36 -0
- package/dist/outline.d.ts +36 -0
- package/dist/outline.js +17 -0
- package/dist/outline.js.map +1 -0
- package/dist/page-D9XIuLSj.js +16 -0
- package/dist/page-D9XIuLSj.js.map +1 -0
- package/dist/page-Doy4_Sdz.cjs +15 -0
- package/dist/page-Doy4_Sdz.cjs.map +1 -0
- package/dist/page-edit.cjs +18 -0
- package/dist/page-edit.cjs.map +1 -0
- package/dist/page-edit.d.cts +28 -0
- package/dist/page-edit.d.ts +28 -0
- package/dist/page-edit.js +13 -0
- package/dist/page-edit.js.map +1 -0
- package/dist/page-layers-c-CJYAUO.cjs +30 -0
- package/dist/page-layers-c-CJYAUO.cjs.map +1 -0
- package/dist/page-layers-rlh4-1qr.js +31 -0
- package/dist/page-layers-rlh4-1qr.js.map +1 -0
- package/dist/page-layers.d.cts +21 -0
- package/dist/page-layers.d.ts +21 -0
- package/dist/page-view/PageView.vue.d.cts +42 -0
- package/dist/page-view/PageView.vue.d.ts +42 -0
- package/dist/page-view.cjs +5 -0
- package/dist/page-view.cjs.map +1 -0
- package/dist/page-view.d.cts +10 -0
- package/dist/page-view.d.ts +10 -0
- package/dist/page-view.js +5 -0
- package/dist/page-view.js.map +1 -0
- package/dist/projector-CDZn1kh1.js +32 -0
- package/dist/projector-CDZn1kh1.js.map +1 -0
- package/dist/projector-Cf7879sx.cjs +31 -0
- package/dist/projector-Cf7879sx.cjs.map +1 -0
- package/dist/redaction.cjs +34 -0
- package/dist/redaction.cjs.map +1 -0
- package/dist/redaction.d.cts +44 -0
- package/dist/redaction.d.ts +44 -0
- package/dist/redaction.js +29 -0
- package/dist/redaction.js.map +1 -0
- package/dist/render/RenderLayer.vue.d.cts +23 -0
- package/dist/render/RenderLayer.vue.d.ts +23 -0
- package/dist/render/TileImage.vue.d.cts +13 -0
- package/dist/render/TileImage.vue.d.ts +13 -0
- package/dist/render/TilePlane.vue.d.cts +7 -0
- package/dist/render/TilePlane.vue.d.ts +7 -0
- package/dist/render.cjs +262 -0
- package/dist/render.cjs.map +1 -0
- package/dist/render.d.cts +16 -0
- package/dist/render.d.ts +16 -0
- package/dist/render.js +257 -0
- package/dist/render.js.map +1 -0
- package/dist/runtime/DocumentGate.vue.d.cts +24 -0
- package/dist/runtime/DocumentGate.vue.d.ts +24 -0
- package/dist/runtime/DocumentScope.vue.d.cts +16 -0
- package/dist/runtime/DocumentScope.vue.d.ts +16 -0
- package/dist/runtime/KernelProvider.vue.d.cts +17 -0
- package/dist/runtime/KernelProvider.vue.d.ts +17 -0
- package/dist/runtime/SvgShapes.vue.d.cts +7 -0
- package/dist/runtime/SvgShapes.vue.d.ts +7 -0
- package/dist/runtime/Viewer.vue.d.cts +57 -0
- package/dist/runtime/Viewer.vue.d.ts +57 -0
- package/dist/runtime/capabilities.d.cts +52 -0
- package/dist/runtime/capabilities.d.ts +52 -0
- package/dist/runtime/documents.d.cts +42 -0
- package/dist/runtime/documents.d.ts +42 -0
- package/dist/runtime/kernel.d.cts +36 -0
- package/dist/runtime/kernel.d.ts +36 -0
- package/dist/runtime/page.d.cts +15 -0
- package/dist/runtime/page.d.ts +15 -0
- package/dist/runtime/refs.d.cts +12 -0
- package/dist/runtime/refs.d.ts +12 -0
- package/dist/runtime/surface-box.d.cts +12 -0
- package/dist/runtime/surface-box.d.ts +12 -0
- package/dist/runtime.cjs +53 -0
- package/dist/runtime.cjs.map +1 -0
- package/dist/runtime.d.cts +24 -0
- package/dist/runtime.d.ts +24 -0
- package/dist/runtime.js +38 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scope-BQA4toWB.cjs +17 -0
- package/dist/scope-BQA4toWB.cjs.map +1 -0
- package/dist/scope-BgdCqnYb.js +18 -0
- package/dist/scope-BgdCqnYb.js.map +1 -0
- package/dist/search/SearchLayer.vue.d.cts +17 -0
- package/dist/search/SearchLayer.vue.d.ts +17 -0
- package/dist/search/composables.d.cts +31 -0
- package/dist/search/composables.d.ts +31 -0
- package/dist/search.cjs +17 -0
- package/dist/search.cjs.map +1 -0
- package/dist/search.d.cts +10 -0
- package/dist/search.d.ts +10 -0
- package/dist/search.js +11 -0
- package/dist/search.js.map +1 -0
- package/dist/selection/SelectionClipboard.vue.d.cts +24 -0
- package/dist/selection/SelectionClipboard.vue.d.ts +24 -0
- package/dist/selection/SelectionHandles.vue.d.cts +8 -0
- package/dist/selection/SelectionHandles.vue.d.ts +8 -0
- package/dist/selection/SelectionLayer.vue.d.cts +3 -0
- package/dist/selection/SelectionLayer.vue.d.ts +3 -0
- package/dist/selection/SelectionMenu.vue.d.cts +23 -0
- package/dist/selection/SelectionMenu.vue.d.ts +23 -0
- package/dist/selection/composables.d.cts +24 -0
- package/dist/selection/composables.d.ts +24 -0
- package/dist/selection.cjs +24 -0
- package/dist/selection.cjs.map +1 -0
- package/dist/selection.d.cts +16 -0
- package/dist/selection.d.ts +16 -0
- package/dist/selection.js +15 -0
- package/dist/selection.js.map +1 -0
- package/dist/shell.cjs +72 -0
- package/dist/shell.cjs.map +1 -0
- package/dist/shell.d.cts +56 -0
- package/dist/shell.d.ts +56 -0
- package/dist/shell.js +67 -0
- package/dist/shell.js.map +1 -0
- package/dist/signature/composables.d.cts +39 -0
- package/dist/signature/composables.d.ts +39 -0
- package/dist/signature.cjs +16 -0
- package/dist/signature.cjs.map +1 -0
- package/dist/signature.d.cts +15 -0
- package/dist/signature.d.ts +15 -0
- package/dist/signature.js +10 -0
- package/dist/signature.js.map +1 -0
- package/dist/stage/PageSurface.vue.d.cts +29 -0
- package/dist/stage/PageSurface.vue.d.ts +29 -0
- package/dist/stage/Scrollbar.vue.d.cts +32 -0
- package/dist/stage/Scrollbar.vue.d.ts +32 -0
- package/dist/stage/Stage.vue.d.cts +44 -0
- package/dist/stage/Stage.vue.d.ts +44 -0
- package/dist/stage/StageScope.vue.d.cts +17 -0
- package/dist/stage/StageScope.vue.d.ts +17 -0
- package/dist/stage/composables.d.cts +41 -0
- package/dist/stage/composables.d.ts +41 -0
- package/dist/stage/scope.d.cts +12 -0
- package/dist/stage/scope.d.ts +12 -0
- package/dist/stage.cjs +21 -0
- package/dist/stage.cjs.map +1 -0
- package/dist/stage.d.cts +17 -0
- package/dist/stage.d.ts +17 -0
- package/dist/stage.js +15 -0
- package/dist/stage.js.map +1 -0
- package/dist/stamp.cjs +68 -0
- package/dist/stamp.cjs.map +1 -0
- package/dist/stamp.d.cts +61 -0
- package/dist/stamp.d.ts +61 -0
- package/dist/stamp.js +61 -0
- package/dist/stamp.js.map +1 -0
- package/dist/state-DZg8q3v6.js +52 -0
- package/dist/state-DZg8q3v6.js.map +1 -0
- package/dist/state-M22NDJQo.cjs +51 -0
- package/dist/state-M22NDJQo.cjs.map +1 -0
- package/dist/state.d.cts +32 -0
- package/dist/state.d.ts +32 -0
- package/dist/strip-BSDB39Xh.cjs +743 -0
- package/dist/strip-BSDB39Xh.cjs.map +1 -0
- package/dist/strip-C3wLonKB.js +744 -0
- package/dist/strip-C3wLonKB.js.map +1 -0
- package/dist/surface-box-B9oa4YoG.js +12 -0
- package/dist/surface-box-B9oa4YoG.js.map +1 -0
- package/dist/surface-box-C7EvUOXp.cjs +11 -0
- package/dist/surface-box-C7EvUOXp.cjs.map +1 -0
- package/dist/theme.d.cts +13 -0
- package/dist/theme.d.ts +13 -0
- package/dist/toolbar/DefaultCollapsed.vue.d.cts +9 -0
- package/dist/toolbar/DefaultCollapsed.vue.d.ts +9 -0
- package/dist/toolbar/DefaultCommand.vue.d.cts +8 -0
- package/dist/toolbar/DefaultCommand.vue.d.ts +8 -0
- package/dist/toolbar/DefaultGroupTrigger.vue.d.cts +9 -0
- package/dist/toolbar/DefaultGroupTrigger.vue.d.ts +9 -0
- package/dist/toolbar/DefaultOverflowMenu.vue.d.cts +9 -0
- package/dist/toolbar/DefaultOverflowMenu.vue.d.ts +9 -0
- package/dist/toolbar/DefaultOverflowTrigger.vue.d.cts +10 -0
- package/dist/toolbar/DefaultOverflowTrigger.vue.d.ts +10 -0
- package/dist/toolbar/Measured.vue.d.cts +21 -0
- package/dist/toolbar/Measured.vue.d.ts +21 -0
- package/dist/toolbar/NativeSlotSocket.vue.d.cts +22 -0
- package/dist/toolbar/NativeSlotSocket.vue.d.ts +22 -0
- package/dist/toolbar/Toolbar.vue.d.cts +82 -0
- package/dist/toolbar/Toolbar.vue.d.ts +82 -0
- package/dist/toolbar/ToolbarPart.vue.d.cts +42 -0
- package/dist/toolbar/ToolbarPart.vue.d.ts +42 -0
- package/dist/toolbar/paint.d.cts +3 -0
- package/dist/toolbar/paint.d.ts +3 -0
- package/dist/toolbar/strip.d.cts +14 -0
- package/dist/toolbar/strip.d.ts +14 -0
- package/dist/toolbar/views.d.cts +15 -0
- package/dist/toolbar/views.d.ts +15 -0
- package/dist/toolbar.cjs +27 -0
- package/dist/toolbar.cjs.map +1 -0
- package/dist/toolbar.d.cts +14 -0
- package/dist/toolbar.d.ts +14 -0
- package/dist/toolbar.js +12 -0
- package/dist/toolbar.js.map +1 -0
- package/dist/view-manager.cjs +22 -0
- package/dist/view-manager.cjs.map +1 -0
- package/dist/view-manager.d.cts +24 -0
- package/dist/view-manager.d.ts +24 -0
- package/dist/view-manager.js +17 -0
- package/dist/view-manager.js.map +1 -0
- package/package.json +179 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-C3wLonKB.js","sources":["../src/toolbar/paint.ts","../src/toolbar/DefaultOverflowMenu.vue","../src/toolbar/DefaultOverflowTrigger.vue","../src/toolbar/Measured.vue","../src/toolbar/DefaultCollapsed.vue","../src/toolbar/DefaultCommand.vue","../src/toolbar/DefaultGroupTrigger.vue","../src/toolbar/NativeSlotSocket.vue","../src/toolbar/ToolbarPart.vue","../src/toolbar/Toolbar.vue","../src/toolbar/strip.ts"],"sourcesContent":["/**\n * The default parts' colors: CSS variables only, because the defaults are\n * meant to be replaced. `--epdf-toolbar-surface` (the \"More\" menu and folded\n * groups), `--epdf-toolbar-border` and `--epdf-toolbar-active` (a pressed or\n * open button).\n */\nimport { paintDefault } from '@embedpdf/web';\n\nexport const SURFACE = paintDefault('toolbar-surface');\nexport const BORDER = paintDefault('toolbar-border');\nexport const ACTIVE = paintDefault('toolbar-active');\n","<!--\n The default \"More\" menu: a minimal popover under its button in a horizontal\n toolbar and beside it in a vertical one. A press anywhere outside it closes\n it, and while it's open it takes the menu keys (`attachMenuKeys`): focus on\n its first row, the arrows, typeahead, Enter, and Escape back to its button. A\n row that opens a submenu keeps it open; every other row closes it after it\n runs.\n-->\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { OverflowRow } from '@embedpdf/core-ui';\nimport { attachMenuKeys, focusablesIn, observeOutsidePress } from '@embedpdf/web';\nimport type { Orientation } from '@embedpdf/web';\nimport type { OverflowMenuView } from './views';\nimport { BORDER, SURFACE } from './paint';\n\nconst props = defineProps<{ view: OverflowMenuView; orientation: Orientation }>();\n\nconst menu = ref<HTMLElement | null>(null);\n// On the element and whether it's open, never on the view: the toolbar hands a new view on every\n// change, and attaching again would put focus back on the first row.\nwatch(\n [menu, () => props.view.isOpen],\n ([element, isOpen], _previous, onCleanup) => {\n if (!isOpen || !element) return;\n // The menu's parent holds its button too: a press on it is the button's own toggle.\n const container = element.parentElement ?? element;\n const trigger =\n focusablesIn(container).find((candidate) => !element.contains(candidate)) ?? null;\n const close = () => props.view.close();\n const stopOutside = observeOutsidePress(container, close);\n const detachKeys = attachMenuKeys(element, { trigger, close });\n onCleanup(() => {\n stopOutside();\n detachKeys();\n });\n },\n { immediate: true, flush: 'post' },\n);\n\n/** Under a horizontal toolbar's button, beside a vertical one's. */\nconst placement = computed(() =>\n props.orientation === 'vertical'\n ? { top: 0, insetInlineStart: '100%' }\n : { top: '100%', insetInlineEnd: 0 },\n);\n\n// Each row with its command resolved; a row whose command is unknown isn't drawn.\nconst sections = computed(() =>\n props.view.sections.map((section) => ({\n radio: section.role === 'radio',\n rows: section.rows.flatMap((row) => {\n const command = props.view.resolve(row.command);\n return command ? [{ row, command }] : [];\n }),\n })),\n);\n\nfunction choose(row: OverflowRow) {\n props.view.execute(row.command);\n if (row.type !== 'submenu') props.view.close();\n}\n</script>\n\n<template>\n <div\n v-if=\"view.isOpen\"\n ref=\"menu\"\n role=\"menu\"\n :style=\"{\n position: 'absolute',\n ...placement,\n zIndex: 41,\n minWidth: '200px',\n padding: '4px',\n background: SURFACE,\n border: `1px solid ${BORDER}`,\n borderRadius: '6px',\n boxShadow: '0 4px 16px rgba(0,0,0,0.15)',\n }\"\n >\n <template v-for=\"(section, index) in sections\" :key=\"index\">\n <div v-if=\"index > 0\" :style=\"{ height: '1px', background: BORDER, margin: '4px 0' }\" />\n <button\n v-for=\"{ row, command } in section.rows\"\n :key=\"row.command\"\n type=\"button\"\n :role=\"section.radio ? 'menuitemradio' : 'menuitem'\"\n :aria-checked=\"section.radio ? command.active : undefined\"\n :disabled=\"!command.enabled\"\n tabindex=\"-1\"\n :style=\"{\n display: 'flex',\n width: '100%',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '16px',\n padding: '6px 8px',\n border: 'none',\n color: 'inherit',\n font: 'inherit',\n background: 'transparent',\n cursor: command.enabled ? 'pointer' : 'default',\n opacity: command.enabled ? 1 : 0.4,\n whiteSpace: 'nowrap',\n }\"\n @click=\"choose(row)\"\n >\n <span>{{ command.active && section.radio ? '• ' : '' }}{{ command.label }}</span>\n <span v-if=\"row.type === 'submenu'\">▸</span>\n </button>\n </template>\n </div>\n</template>\n","<!--\n The default \"More\" button: a plain ⋯ that opens and closes the menu. The\n default folded group uses it too.\n-->\n<script setup lang=\"ts\">\nimport { ACTIVE, BORDER } from './paint';\n\ndefineProps<{ isOpen: boolean }>();\nconst emit = defineEmits<{ toggle: [] }>();\n</script>\n\n<template>\n <button\n type=\"button\"\n aria-haspopup=\"menu\"\n :aria-expanded=\"isOpen\"\n title=\"More\"\n :style=\"{\n display: 'inline-flex',\n alignItems: 'center',\n padding: '4px 8px',\n color: 'inherit',\n font: 'inherit',\n border: `1px solid ${BORDER}`,\n borderRadius: '4px',\n background: isOpen ? ACTIVE : 'transparent',\n cursor: 'pointer',\n }\"\n @click=\"emit('toggle')\"\n >\n ⋯\n </button>\n</template>\n","<!--\n One element of the measurement layer: reports its length along the toolbar\n (its width, or its height in a vertical one) under `measureKey`, now and\n whenever it resizes (a new language, a font loading, your CSS).\n-->\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport { observeLength } from '@embedpdf/web';\nimport type { Orientation } from '@embedpdf/web';\n\nconst props = defineProps<{ measureKey: string; orientation: Orientation }>();\nconst emit = defineEmits<{ length: [key: string, length: number] }>();\ndefineSlots<{ default?(): unknown }>();\n\nconst element = ref<HTMLSpanElement | null>(null);\nwatch(\n [element, () => props.measureKey, () => props.orientation],\n ([measured, key, orientation], _previous, onCleanup) => {\n if (measured) {\n onCleanup(observeLength(measured, orientation, (length) => emit('length', key, length)));\n }\n },\n { immediate: true, flush: 'post' },\n);\n</script>\n\n<template>\n <span ref=\"element\" :style=\"{ display: 'inline-flex', flexShrink: 0 }\"><slot /></span>\n</template>\n","<!--\n The default folded group: a <select> for `collapse: 'select'`, else a \"More\"\n style button with a menu of the group's commands.\n-->\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport DefaultOverflowMenu from './DefaultOverflowMenu.vue';\nimport DefaultOverflowTrigger from './DefaultOverflowTrigger.vue';\nimport { groupMenuView } from '@embedpdf/core-ui';\nimport type { Orientation } from '@embedpdf/web';\nimport type { CollapsedGroupView } from './views';\nimport { BORDER, SURFACE } from './paint';\n\nconst props = defineProps<{ view: CollapsedGroupView; orientation: Orientation }>();\n\nconst active = computed(() => props.view.commands.find((command) => command.active)?.id ?? '');\n\nconst isOpen = ref(false);\nconst menu = computed(() => groupMenuView(props.view, isOpen.value, () => (isOpen.value = false)));\n\nfunction onChange(event: Event) {\n props.view.execute((event.target as HTMLSelectElement).value);\n}\n</script>\n\n<template>\n <select\n v-if=\"view.collapse === 'select'\"\n :value=\"active\"\n :style=\"{\n padding: '4px 6px',\n font: 'inherit',\n borderRadius: '4px',\n border: `1px solid ${BORDER}`,\n background: SURFACE,\n }\"\n @change=\"onChange\"\n >\n <option\n v-for=\"command in view.commands\"\n :key=\"command.id\"\n :value=\"command.id\"\n :disabled=\"!command.enabled\"\n >\n {{ command.label }}\n </option>\n </select>\n <span v-else :style=\"{ position: 'relative', display: 'inline-flex' }\">\n <DefaultOverflowTrigger :is-open=\"isOpen\" @toggle=\"isOpen = !isOpen\" />\n <DefaultOverflowMenu :view=\"menu\" :orientation=\"orientation\" />\n </span>\n</template>\n","<!--\n The default command button: a plain <button> with the command's label in\n every variant (icons are the app's). Pressed when the command is active,\n disabled when it can't run.\n-->\n<script setup lang=\"ts\">\nimport type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';\nimport { ACTIVE, BORDER } from './paint';\n\ndefineProps<{\n command: ResolvedCommand;\n run: () => void;\n}>();\n</script>\n\n<template>\n <button\n type=\"button\"\n :disabled=\"!command.enabled\"\n :aria-pressed=\"command.active || undefined\"\n :aria-haspopup=\"command.menu ? 'menu' : undefined\"\n :title=\"command.label\"\n :style=\"{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '4px',\n padding: '4px 8px',\n whiteSpace: 'nowrap',\n color: 'inherit',\n font: 'inherit',\n background: command.active ? ACTIVE : 'transparent',\n border: `1px solid ${BORDER}`,\n borderRadius: '4px',\n cursor: command.enabled ? 'pointer' : 'default',\n opacity: command.enabled ? 1 : 0.4,\n }\"\n @click=\"run()\"\n >\n {{ command.label }}\n </button>\n</template>\n","<!--\n The default button of a group that shed items: a chevron opening a menu of\n what it shed. It shows as pressed while one of those is active, a hint that\n the active item is in there.\n-->\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport DefaultOverflowMenu from './DefaultOverflowMenu.vue';\nimport { groupMenuView } from '@embedpdf/core-ui';\nimport type { Orientation } from '@embedpdf/web';\nimport type { GroupDisclosureView } from './views';\nimport { ACTIVE, BORDER } from './paint';\n\nconst props = defineProps<{ view: GroupDisclosureView; orientation: Orientation }>();\n\nconst isOpen = ref(false);\nconst someActive = computed(() => props.view.commands.some((command) => command.active));\nconst menu = computed(() => groupMenuView(props.view, isOpen.value, () => (isOpen.value = false)));\n</script>\n\n<template>\n <span :style=\"{ position: 'relative', display: 'inline-flex' }\">\n <button\n type=\"button\"\n aria-haspopup=\"menu\"\n :aria-expanded=\"isOpen\"\n title=\"More\"\n :style=\"{\n display: 'inline-flex',\n alignItems: 'center',\n padding: '4px 6px',\n color: 'inherit',\n font: 'inherit',\n border: `1px solid ${BORDER}`,\n borderRadius: '4px',\n background: isOpen || someActive ? ACTIVE : 'transparent',\n cursor: 'pointer',\n }\"\n @click=\"isOpen = !isOpen\"\n >\n ▾\n </button>\n <DefaultOverflowMenu :view=\"menu\" :orientation=\"orientation\" />\n </span>\n</template>\n","<!--\n The socket for a custom item no `#custom` slot draws: a real, native <slot>\n element. Inside a shadow root (a custom element that renders the toolbar)\n the browser projects the host's same-named children into it; anywhere else it\n shows its own content, the item's command. It is measured where it renders,\n never in the measurement layer: only the first <slot> of a name gets the\n projected children.\n-->\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport { observeLength } from '@embedpdf/web';\nimport type { Orientation } from '@embedpdf/web';\n\nconst props = defineProps<{ name: string; measureKey: string; orientation: Orientation }>();\nconst emit = defineEmits<{ length: [key: string, length: number] }>();\ndefineSlots<{ default?(): unknown }>();\n\nconst socket = ref<HTMLSlotElement | null>(null);\n// A child slotted in or out resizes the socket's box, so one observer covers both.\nwatch(\n [socket, () => props.measureKey, () => props.orientation],\n ([element, key, orientation], _previous, onCleanup) => {\n if (element) {\n onCleanup(observeLength(element, orientation, (length) => emit('length', key, length)));\n }\n },\n { immediate: true, flush: 'post' },\n);\n</script>\n\n<template>\n <!-- `:is` makes the element itself: a <slot> tag in a template is Vue's own slot outlet. -->\n <component\n :is=\"'slot'\"\n ref=\"socket\"\n :name=\"name\"\n :style=\"{ display: 'inline-flex', alignItems: 'center', flexShrink: 0 }\"\n >\n <slot />\n </component>\n</template>\n","<!--\n One part of the toolbar (a command, a custom item, a folded group, a shed\n group's button), drawn through the toolbar's slots, which <Toolbar> passes\n on, or a plain default. A slot that draws nothing for a part falls back to the\n default too, so `#custom` can draw only the items it knows.\n-->\n<script setup lang=\"ts\">\nimport type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';\nimport type { Orientation } from '@embedpdf/web';\nimport DefaultCollapsed from './DefaultCollapsed.vue';\nimport DefaultCommand from './DefaultCommand.vue';\nimport DefaultGroupTrigger from './DefaultGroupTrigger.vue';\nimport NativeSlotSocket from './NativeSlotSocket.vue';\nimport type { CollapsedGroupView, GroupDisclosureView, ToolbarPart } from './views';\n\nconst props = defineProps<{\n part: ToolbarPart;\n /** `'live'` in the visible row, `'measure'` in the hidden measurement layer. */\n layer: 'live' | 'measure';\n /** Which way the toolbar runs: what a socket measures along, and where a default menu opens. */\n orientation: Orientation;\n}>();\n\nconst emit = defineEmits<{ length: [key: string, length: number] }>();\n\ndefineSlots<{\n command?(props: { command: ResolvedCommand; variant: string; run: () => void }): unknown;\n custom?(props: {\n name: string;\n variant: string;\n layer: 'live' | 'measure';\n measure: (length: number) => void;\n }): unknown;\n collapsed?(props: { view: CollapsedGroupView }): unknown;\n 'group-trigger'?(props: { view: GroupDisclosureView }): unknown;\n}>();\n\n/** A custom item reporting its own length, under its key. */\nconst measure = (length: number) => {\n if (props.part.kind === 'custom') emit('length', props.part.measureKey, length);\n};\n</script>\n\n<template>\n <slot\n v-if=\"part.kind === 'command'\"\n name=\"command\"\n :command=\"part.command\"\n :variant=\"part.variant\"\n :run=\"part.run\"\n >\n <DefaultCommand :command=\"part.command\" :run=\"part.run\" />\n </slot>\n\n <!-- An object binding: `name` on a slot outlet is the outlet's own name, not a prop. -->\n <slot\n v-else-if=\"part.kind === 'custom' && $slots.custom\"\n name=\"custom\"\n v-bind=\"{ name: part.name, variant: part.variant, layer, measure }\"\n >\n <!-- Nothing drawn for this item: its command, as a button. -->\n <slot\n v-if=\"part.terminal\"\n name=\"command\"\n :command=\"part.terminal\"\n variant=\"icon\"\n :run=\"part.runTerminal\"\n >\n <DefaultCommand :command=\"part.terminal\" :run=\"part.runTerminal\" />\n </slot>\n </slot>\n\n <NativeSlotSocket\n v-else-if=\"part.kind === 'custom'\"\n :name=\"part.name\"\n :measure-key=\"part.measureKey\"\n :orientation=\"orientation\"\n @length=\"(key, length) => emit('length', key, length)\"\n >\n <slot\n v-if=\"part.terminal\"\n name=\"command\"\n :command=\"part.terminal\"\n variant=\"icon\"\n :run=\"part.runTerminal\"\n >\n <DefaultCommand :command=\"part.terminal\" :run=\"part.runTerminal\" />\n </slot>\n </NativeSlotSocket>\n\n <slot v-else-if=\"part.kind === 'collapsed'\" name=\"collapsed\" :view=\"part.view\">\n <DefaultCollapsed :view=\"part.view\" :orientation=\"orientation\" />\n </slot>\n\n <slot v-else name=\"group-trigger\" :view=\"part.view\">\n <DefaultGroupTrigger :view=\"part.view\" :orientation=\"orientation\" />\n </slot>\n</template>\n","<!--\n <Toolbar>: measures what fits and makes room, and you draw every part.\n\n 1. A hidden measurement layer renders every unit in every variant (and the\n folded groups and the \"More\" button), each watched with `observeLength`\n from @embedpdf/web along the toolbar (widths, or heights when it is\n vertical), so a new language, a font loading, browser zoom and your CSS\n all re-measure on their own (`createToolbarLengths`).\n 2. core-ui's `solve()` gives each unit a variant, a folded group or the\n \"More\" menu (`layoutToolbar` turns that into parts).\n 3. The live row draws the parts; the \"More\" menu is derived from what\n didn't fit (`projectOverflow`), never written by hand.\n\n The toolbar is one tab stop with arrow keys along it (`attachToolbarFocus`),\n and its default menus take the menu keys (`attachMenuKeys`). Every part is a\n slot with a plain default: `#command`, `#custom`, `#collapsed`,\n `#group-trigger`, `#separator`, `#overflow-trigger` and `#overflow-menu`. The\n defaults' colors come from the `--epdf-toolbar-*` CSS variables only.\n-->\n<script setup lang=\"ts\">\nimport { Comment, Fragment, computed, isVNode, onUpdated, ref, watch } from 'vue';\nimport { layoutToolbar, normalizeBar } from '@embedpdf/core-ui';\nimport type { BarSchema, LiveSection } from '@embedpdf/core-ui';\n// The \"More\" menu asks which menu a command opens, a host fact, so the host lens is bound here.\nimport { CommandsToken } from '@embedpdf/plugin-commands/contract/host';\nimport { unregisteredCommand } from '@embedpdf/plugin-commands/contract';\nimport type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';\nimport {\n TOOLBAR_ITEM_ATTRIBUTE,\n attachToolbarFocus,\n createToolbarLengths,\n observeContentLength,\n toolbarMeasureKey,\n} from '@embedpdf/web';\nimport type { RovingFocus } from '@embedpdf/web';\nimport { useCapability } from '../runtime/capabilities';\nimport { useDocumentId, useViewerBinding } from '../runtime/kernel';\nimport DefaultOverflowMenu from './DefaultOverflowMenu.vue';\nimport DefaultOverflowTrigger from './DefaultOverflowTrigger.vue';\nimport Measured from './Measured.vue';\nimport ToolbarPart from './ToolbarPart.vue';\nimport type {\n CollapsedGroupView,\n GroupDisclosureView,\n OverflowMenuView,\n ToolbarPart as Part,\n} from './views';\n\nconst props = withDefaults(\n defineProps<{\n /** What goes in the toolbar: its sections, groups and items. */\n bar: BarSchema;\n /**\n * Which way the toolbar runs. A vertical toolbar fits the height it's\n * given, so give it one; it stacks its sections top, middle and bottom, and\n * draws every command at `'icon'`, with the label for a tooltip.\n */\n orientation?: 'horizontal' | 'vertical';\n /** Px between adjacent items (the CSS flex gap; the fit budgets the same number). */\n gap?: number;\n /**\n * The thickness of the separator your `#separator` slot draws: its width\n * across a horizontal toolbar, its height in a vertical one.\n */\n separatorWidth?: number;\n /** The toolbar's name for screen readers, for a page with more than one toolbar. */\n 'aria-label'?: string;\n }>(),\n { orientation: 'horizontal', gap: 8, separatorWidth: 1 },\n);\n\nconst slots = defineSlots<{\n /** A command's button at a variant. Default: a plain `<button>` with the command's label. */\n command?(props: { command: ResolvedCommand; variant: string; run: () => void }): unknown;\n /**\n * Your own items, by `name` (from `custom(name, command)`). An item it draws\n * nothing for is its command's button. Without this slot, each item is a\n * native `<slot :name>` element with the command's button inside, for a\n * custom element's children to fill. The first element of an item that\n * takes focus is the item's stop in the toolbar's arrow-key order.\n */\n custom?(props: {\n name: string;\n variant: string;\n /** `'live'` in the visible row, `'measure'` in the hidden measurement layer. */\n layer: 'live' | 'measure';\n /**\n * Report the item's length yourself (its width, or its height in a\n * vertical toolbar), for content the measurement layer can't hold. An\n * item the slot draws nothing for in the `'measure'` layer, but draws in\n * the `'live'` one, is measured only this way, where it renders.\n */\n measure: (length: number) => void;\n }): unknown;\n /** A folded group: its button and its menu. Default: a `<select>` for `'select'`, a menu button for `'menu'`. */\n collapsed?(props: { view: CollapsedGroupView }): unknown;\n /** The button of a group that shed items, and its menu. Default: a chevron opening a menu. */\n 'group-trigger'?(props: { view: GroupDisclosureView }): unknown;\n /** The line between groups. Default: a 1px line across the toolbar. */\n separator?(): unknown;\n /** The \"More\" button. Default: a plain ⋯ button. */\n 'overflow-trigger'?(props: { isOpen: boolean; toggle: () => void }): unknown;\n /** The \"More\" menu, with its sections, rows and the call that runs each one. Default: a minimal popover. */\n 'overflow-menu'?(props: { view: OverflowMenuView }): unknown;\n}>();\n\nconst { track } = useViewerBinding();\nconst commands = useCapability(CommandsToken);\nconst documentId = useDocumentId();\nconst vertical = computed(() => props.orientation === 'vertical');\n// `aria-label` is declared by its HTML name, the one templates type-check (vue-tsc keeps `aria-*`\n// names as written), and Vue hands it over camel-cased, as `ariaLabel`.\nconst ariaLabel = computed(\n () => (props as Readonly<Record<string, unknown>>).ariaLabel as string | undefined,\n);\n\n// ── measuring ──────────────────────────────────────────────────────────────\n\nconst container = ref<HTMLDivElement | null>(null);\nconst containerLength = ref(0);\nwatch(\n [container, () => props.orientation],\n ([element, orientation], _previous, onCleanup) => {\n if (element) {\n onCleanup(\n observeContentLength(element, orientation, (length) => (containerLength.value = length)),\n );\n }\n },\n { immediate: true, flush: 'post' },\n);\n\n// A length that changed by more than half a pixel fits (and draws) again.\nconst lengths = createToolbarLengths();\nconst measured = ref(0);\nfunction onLength(key: string, length: number) {\n if (lengths.report(props.orientation, key, length)) measured.value += 1;\n}\n\n// ── the keyboard ─────────────────────────────────────────────────────────────\n\n// One tab stop, and arrow keys along the toolbar.\nlet roving: RovingFocus | null = null;\nwatch(\n [container, () => props.orientation],\n ([element, orientation], _previous, onCleanup) => {\n if (!element) return;\n const focus = attachToolbarFocus(element, orientation);\n roving = focus;\n onCleanup(() => {\n focus.detach();\n roving = null;\n });\n },\n { immediate: true, flush: 'post' },\n);\n// Any draw can add, remove or disable an item, so the tab stop is checked after each one.\nonUpdated(() => roving?.refresh());\n\n// ── the fit ──────────────────────────────────────────────────────────────────\n\nconst normalized = computed(() => normalizeBar(props.bar));\n\nconst resolve = (id: string): ResolvedCommand | null =>\n commands.resolveCommand(id, documentId.value ?? undefined);\nconst execute = (id: string): void =>\n void commands.execute(id, { documentId: documentId.value ?? undefined });\n\n// Command state is derived on read, so this runs again on every kernel change: labels, `active`\n// and `visible` (and with them the measurement layer) stay live. A toolbar is a few dozen items,\n// so drawing it again on each change is the simple, correct baseline.\nconst layout = computed(() => {\n track();\n void measured.value;\n return layoutToolbar({\n bar: normalized.value,\n resolve,\n unregistered: unregisteredCommand,\n execute,\n menuTarget: (id) => commands.getMenuTarget(id),\n metrics: lengths.metrics(props.orientation, props.gap, props.separatorWidth),\n measureKey: toolbarMeasureKey,\n containerLength: containerLength.value,\n orientation: props.orientation,\n });\n});\n\n// ── the \"More\" menu ─────────────────────────────────────────────────────────\n\nconst overflowOpen = ref(false);\nconst toggleOverflow = () => (overflowOpen.value = !overflowOpen.value);\nconst noop = () => {};\nwatch(\n () => layout.value.hasOverflow,\n (hasOverflow) => {\n if (!hasOverflow) overflowOpen.value = false;\n },\n);\n\nconst overflowView = computed(\n (): OverflowMenuView => ({\n sections: layout.value.overflow,\n isOpen: overflowOpen.value,\n close: () => (overflowOpen.value = false),\n resolve,\n execute,\n }),\n);\n\n// ── layout ───────────────────────────────────────────────────────────────────\n\n/**\n * The sections run along the toolbar. The center one carries auto margins: it\n * centers in the space the other two leave, and gives way before anything\n * overlaps. The toolbar itself has no gap, so what the fit says fits, fits.\n * Sections never grow or shrink: fitting is the solver's job, not flexbox's.\n */\nconst sectionStyle = (name: LiveSection['name']) => ({\n display: 'flex',\n flexDirection: vertical.value ? ('column' as const) : ('row' as const),\n alignItems: 'center',\n gap: `${props.gap}px`,\n flex: '0 0 auto',\n ...(name !== 'center'\n ? null\n : vertical.value\n ? { marginTop: 'auto', marginBottom: 'auto' }\n : { marginLeft: 'auto', marginRight: 'auto' }),\n});\n\n/** The default separator: a 1px line across the toolbar, upright in a horizontal one, flat in a vertical one. */\nconst separatorStyle = computed(() => ({\n ...(vertical.value ? { height: '1px' } : { width: '1px' }),\n alignSelf: 'stretch',\n background: 'currentColor',\n opacity: 0.2,\n}));\n\n/** Marks the element around each item of the live row: its first focusable element is a stop. */\nconst TOOLBAR_ITEM = { [TOOLBAR_ITEM_ATTRIBUTE]: '' };\n\n/** The element around an item adds no box, so the item lays out as the section's own child. */\nconst ITEM_STYLE = { display: 'contents' } as const;\n\n/** Whether slot content draws anything: more than comments (a false `v-if`) and empty fragments. */\nfunction draws(content: unknown): boolean {\n return (Array.isArray(content) ? content : [content]).some((node: unknown) => {\n if (node === null || node === undefined || typeof node === 'boolean') return false;\n if (!isVNode(node)) return true;\n if (node.type === Comment) return false;\n if (node.type === Fragment) return draws(node.children);\n return true;\n });\n}\n\n/**\n * Whether the measurement layer holds a part. A custom item without a\n * `#custom` slot is a socket, measured where it renders: a second <slot> of its\n * name here would take the projected children from the row. One the slot\n * draws nothing for here but draws in the row is measured there too, by\n * `measure`; one it draws in neither is its command's button, measured here.\n */\nfunction measuredHere(part: Part): boolean {\n if (part.kind !== 'custom') return true;\n const custom = slots.custom;\n if (!custom) return false;\n const scope = { name: part.name, variant: part.variant, measure: noop };\n return (\n draws(custom({ ...scope, layer: 'measure' })) || !draws(custom({ ...scope, layer: 'live' }))\n );\n}\n\n/**\n * The hidden measurement layer: a row for a horizontal toolbar, a column for\n * a vertical one, and no height either way, so it never adds to the page. A\n * column keeps each item at its own width, so no text wraps and changes the\n * heights it reports.\n */\nconst measureLayerStyle = computed(() => ({\n position: 'absolute' as const,\n left: 0,\n top: 0,\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden' as const,\n pointerEvents: 'none' as const,\n display: 'flex',\n whiteSpace: 'nowrap' as const,\n ...(vertical.value ? { flexDirection: 'column' as const, alignItems: 'flex-start' } : null),\n}));\n</script>\n\n<template>\n <div\n ref=\"container\"\n role=\"toolbar\"\n :aria-orientation=\"orientation\"\n :aria-label=\"ariaLabel\"\n :style=\"{\n position: 'relative',\n display: 'flex',\n flexDirection: vertical ? 'column' : 'row',\n alignItems: 'center',\n }\"\n >\n <div v-for=\"section in layout.sections\" :key=\"section.name\" :style=\"sectionStyle(section.name)\">\n <template v-for=\"(group, index) in section.groups\" :key=\"group.id\">\n <slot v-if=\"index > 0\" name=\"separator\">\n <span :style=\"separatorStyle\" />\n </slot>\n <span v-for=\"part in group.parts\" :key=\"part.key\" v-bind=\"TOOLBAR_ITEM\" :style=\"ITEM_STYLE\">\n <ToolbarPart :part=\"part\" layer=\"live\" :orientation=\"orientation\" @length=\"onLength\">\n <template v-if=\"$slots.command\" #command=\"scope\">\n <slot name=\"command\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.custom\" #custom=\"scope\">\n <slot name=\"custom\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.collapsed\" #collapsed=\"scope\">\n <slot name=\"collapsed\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots['group-trigger']\" #group-trigger=\"scope\">\n <slot name=\"group-trigger\" v-bind=\"scope\" />\n </template>\n </ToolbarPart>\n </span>\n </template>\n <span\n v-if=\"section.name === 'end' && layout.hasOverflow\"\n v-bind=\"TOOLBAR_ITEM\"\n :style=\"{ position: 'relative', display: 'inline-flex' }\"\n >\n <slot name=\"overflow-trigger\" :is-open=\"overflowOpen\" :toggle=\"toggleOverflow\">\n <DefaultOverflowTrigger :is-open=\"overflowOpen\" @toggle=\"toggleOverflow\" />\n </slot>\n <slot name=\"overflow-menu\" :view=\"overflowView\">\n <DefaultOverflowMenu :view=\"overflowView\" :orientation=\"orientation\" />\n </slot>\n </span>\n </div>\n\n <!-- The measurement layer: hidden, inert and observed. Text reflow (a language, a font,\n browser zoom) fires the observers; no code handles it. -->\n <div aria-hidden=\"true\" inert :style=\"measureLayerStyle\">\n <template v-for=\"part in layout.measured\" :key=\"part.measureKey\">\n <Measured\n v-if=\"measuredHere(part)\"\n :measure-key=\"part.measureKey\"\n :orientation=\"orientation\"\n @length=\"onLength\"\n >\n <ToolbarPart :part=\"part\" layer=\"measure\" :orientation=\"orientation\" @length=\"onLength\">\n <template v-if=\"$slots.command\" #command=\"scope\">\n <slot name=\"command\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.custom\" #custom=\"scope\">\n <slot name=\"custom\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.collapsed\" #collapsed=\"scope\">\n <slot name=\"collapsed\" v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots['group-trigger']\" #group-trigger=\"scope\">\n <slot name=\"group-trigger\" v-bind=\"scope\" />\n </template>\n </ToolbarPart>\n </Measured>\n </template>\n <Measured\n :measure-key=\"toolbarMeasureKey.overflowTrigger\"\n :orientation=\"orientation\"\n @length=\"onLength\"\n >\n <slot name=\"overflow-trigger\" :is-open=\"false\" :toggle=\"noop\">\n <DefaultOverflowTrigger :is-open=\"false\" />\n </slot>\n </Measured>\n </div>\n </div>\n</template>\n","/**\n * `useStripView(bar)`: a bar projected through the command registry, live and\n * unmeasured. `<Toolbar>`'s sibling, for a contextual strip (a chrome schema's\n * `strips`) that has no width to fit into.\n */\nimport { computed, toValue } from 'vue';\nimport type { MaybeRefOrGetter, Ref } from 'vue';\nimport { normalizeBar, sameStripGroups, stripGroupsOf } from '@embedpdf/core-ui';\nimport type {\n BarSchema,\n StripView as StripViewOf,\n StripViewGroup as StripViewGroupOf,\n} from '@embedpdf/core-ui';\nimport { CommandsToken } from '@embedpdf/plugin-commands/contract/host';\nimport { resolvedCommandsEqual } from '@embedpdf/plugin-commands/contract';\nimport type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';\nimport { useCapability } from '../runtime/capabilities';\nimport { useDocumentId, useKernelValue } from '../runtime/kernel';\n\n/** A group of a strip: its visible commands, in bar order. Groups are separator boundaries. */\nexport type StripViewGroup = StripViewGroupOf<ResolvedCommand>;\n\n/** A strip, resolved: only visible commands, only groups with one; `execute` runs one for this subtree's document. */\nexport type StripView = StripViewOf<ResolvedCommand>;\n\nconst sameGroups = (left: readonly StripViewGroup[], right: readonly StripViewGroup[]): boolean =>\n sameStripGroups(left, right, resolvedCommandsEqual);\n\nconst NO_GROUPS: readonly StripViewGroup[] = Object.freeze([]);\n\n/**\n * The strip a bar shows now, as a ref: the schema says what could appear, each\n * command's `visible` decides what does. `null` while nothing applies, so\n * `v-if=\"strip\"` is all the show-and-hide logic a strip needs. The ref changes\n * only when a command in it changes. Pass a getter for a bar that changes.\n */\nexport function useStripView(\n bar: MaybeRefOrGetter<BarSchema | undefined>,\n): Readonly<Ref<StripView | null>> {\n const commands = useCapability(CommandsToken);\n const documentId = useDocumentId();\n const normalized = computed(() => {\n const schema = toValue(bar);\n return schema ? normalizeBar(schema) : null;\n });\n const groups = useKernelValue(\n () =>\n normalized.value\n ? stripGroupsOf(normalized.value, (id) =>\n commands.resolveCommand(id, documentId.value ?? undefined),\n )\n : NO_GROUPS,\n sameGroups,\n );\n return computed(() =>\n groups.value.length === 0\n ? null\n : {\n groups: groups.value,\n execute: (id: string) =>\n void commands.execute(id, { documentId: documentId.value ?? undefined }),\n },\n );\n}\n"],"names":["_createElementBlock","_normalizeStyle","_unref","_openBlock","_Fragment","_renderList","_createElementVNode","_toDisplayString","_hoisted_1","_renderSlot","_hoisted_2","_createVNode","DefaultOverflowTrigger","DefaultOverflowMenu","_createBlock","_resolveDynamicComponent","DefaultCommand","$slots","_normalizeProps","_guardReactiveProps","NativeSlotSocket","DefaultCollapsed","DefaultGroupTrigger","_useSlots","_mergeProps","ToolbarPart","_withCtx","Measured"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-box-B9oa4YoG.js","sources":["../src/runtime/surface-box.ts"],"sourcesContent":["/**\n * A page surface's boxes (`pageSurfaceLayout` from `@embedpdf/web`) as Vue style values, for\n * the Stage's pages and `<PageView>`: Vue adds no unit to a number, so each is in pixels here.\n */\nimport type { SurfaceBox } from '@embedpdf/web';\n\n/** `left`, `top`, `width` and `height` in pixels. */\nexport function pixelBox(box: SurfaceBox): {\n left: string;\n top: string;\n width: string;\n height: string;\n} {\n return {\n left: `${box.left}px`,\n top: `${box.top}px`,\n width: `${box.width}px`,\n height: `${box.height}px`,\n };\n}\n"],"names":[],"mappings":"AAOO,SAAS,SAAS,KAKvB;AACA,SAAO;AAAA,IACL,MAAM,GAAG,IAAI,IAAI;AAAA,IACjB,KAAK,GAAG,IAAI,GAAG;AAAA,IACf,OAAO,GAAG,IAAI,KAAK;AAAA,IACnB,QAAQ,GAAG,IAAI,MAAM;AAAA,EAAA;AAEzB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-box-C7EvUOXp.cjs","sources":["../src/runtime/surface-box.ts"],"sourcesContent":["/**\n * A page surface's boxes (`pageSurfaceLayout` from `@embedpdf/web`) as Vue style values, for\n * the Stage's pages and `<PageView>`: Vue adds no unit to a number, so each is in pixels here.\n */\nimport type { SurfaceBox } from '@embedpdf/web';\n\n/** `left`, `top`, `width` and `height` in pixels. */\nexport function pixelBox(box: SurfaceBox): {\n left: string;\n top: string;\n width: string;\n height: string;\n} {\n return {\n left: `${box.left}px`,\n top: `${box.top}px`,\n width: `${box.width}px`,\n height: `${box.height}px`,\n };\n}\n"],"names":[],"mappings":";AAOO,SAAS,SAAS,KAKvB;AACA,SAAO;AAAA,IACL,MAAM,GAAG,IAAI,IAAI;AAAA,IACjB,KAAK,GAAG,IAAI,GAAG;AAAA,IACf,OAAO,GAAG,IAAI,KAAK;AAAA,IACnB,QAAQ,GAAG,IAAI,MAAM;AAAA,EAAA;AAEzB;;"}
|
package/dist/theme.d.cts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `epdfTheme()`: a theme written with setting names, as a style for the
|
|
3
|
+
* element around your viewer. The variables and their lookup are framework-free
|
|
4
|
+
* (`@embedpdf/web`); this only types the result as Vue's style.
|
|
5
|
+
*/
|
|
6
|
+
import type { CSSProperties } from 'vue';
|
|
7
|
+
import { type EpdfTheme } from '@embedpdf/web';
|
|
8
|
+
export type { EpdfTheme } from '@embedpdf/web';
|
|
9
|
+
/**
|
|
10
|
+
* The CSS variables of a theme, for a `:style` binding: `<div :style="epdfTheme({ accent })">`.
|
|
11
|
+
* Everything inside the element follows them, and a CSS variable wins over any setting.
|
|
12
|
+
*/
|
|
13
|
+
export declare function epdfTheme(theme: EpdfTheme): CSSProperties;
|
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `epdfTheme()`: a theme written with setting names, as a style for the
|
|
3
|
+
* element around your viewer. The variables and their lookup are framework-free
|
|
4
|
+
* (`@embedpdf/web`); this only types the result as Vue's style.
|
|
5
|
+
*/
|
|
6
|
+
import type { CSSProperties } from 'vue';
|
|
7
|
+
import { type EpdfTheme } from '@embedpdf/web';
|
|
8
|
+
export type { EpdfTheme } from '@embedpdf/web';
|
|
9
|
+
/**
|
|
10
|
+
* The CSS variables of a theme, for a `:style` binding: `<div :style="epdfTheme({ accent })">`.
|
|
11
|
+
* Everything inside the element follows them, and a CSS variable wins over any setting.
|
|
12
|
+
*/
|
|
13
|
+
export declare function epdfTheme(theme: EpdfTheme): CSSProperties;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { CollapsedGroupView } from './views.cjs';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: CollapsedGroupView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { CollapsedGroupView } from './views.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: CollapsedGroupView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
command: ResolvedCommand;
|
|
4
|
+
run: () => void;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
command: ResolvedCommand;
|
|
4
|
+
run: () => void;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { GroupDisclosureView } from './views.cjs';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: GroupDisclosureView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { GroupDisclosureView } from './views.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: GroupDisclosureView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { OverflowMenuView } from './views.cjs';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: OverflowMenuView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
import type { OverflowMenuView } from './views.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
view: OverflowMenuView;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
+
toggle: () => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
7
|
+
onToggle?: (() => any) | undefined;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
+
toggle: () => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
7
|
+
onToggle?: (() => any) | undefined;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
measureKey: string;
|
|
4
|
+
orientation: Orientation;
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Slots = {
|
|
7
|
+
default?(): unknown;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
length: (key: string, length: number) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onLength?: ((key: string, length: number) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
measureKey: string;
|
|
4
|
+
orientation: Orientation;
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Slots = {
|
|
7
|
+
default?(): unknown;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
length: (key: string, length: number) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onLength?: ((key: string, length: number) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
name: string;
|
|
4
|
+
measureKey: string;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?(): unknown;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
+
length: (key: string, length: number) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
onLength?: ((key: string, length: number) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
|
+
declare const _default: typeof __VLS_export;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Orientation } from '@embedpdf/web';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
name: string;
|
|
4
|
+
measureKey: string;
|
|
5
|
+
orientation: Orientation;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default?(): unknown;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
+
length: (key: string, length: number) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
onLength?: ((key: string, length: number) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
|
+
declare const _default: typeof __VLS_export;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { BarSchema } from '@embedpdf/core-ui';
|
|
2
|
+
import type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';
|
|
3
|
+
import type { CollapsedGroupView, GroupDisclosureView, OverflowMenuView } from './views.cjs';
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
/** What goes in the toolbar: its sections, groups and items. */
|
|
6
|
+
bar: BarSchema;
|
|
7
|
+
/**
|
|
8
|
+
* Which way the toolbar runs. A vertical toolbar fits the height it's
|
|
9
|
+
* given, so give it one; it stacks its sections top, middle and bottom, and
|
|
10
|
+
* draws every command at `'icon'`, with the label for a tooltip.
|
|
11
|
+
*/
|
|
12
|
+
orientation?: 'horizontal' | 'vertical';
|
|
13
|
+
/** Px between adjacent items (the CSS flex gap; the fit budgets the same number). */
|
|
14
|
+
gap?: number;
|
|
15
|
+
/**
|
|
16
|
+
* The thickness of the separator your `#separator` slot draws: its width
|
|
17
|
+
* across a horizontal toolbar, its height in a vertical one.
|
|
18
|
+
*/
|
|
19
|
+
separatorWidth?: number;
|
|
20
|
+
/** The toolbar's name for screen readers, for a page with more than one toolbar. */
|
|
21
|
+
'aria-label'?: string;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_Slots = {
|
|
24
|
+
/** A command's button at a variant. Default: a plain `<button>` with the command's label. */
|
|
25
|
+
command?(props: {
|
|
26
|
+
command: ResolvedCommand;
|
|
27
|
+
variant: string;
|
|
28
|
+
run: () => void;
|
|
29
|
+
}): unknown;
|
|
30
|
+
/**
|
|
31
|
+
* Your own items, by `name` (from `custom(name, command)`). An item it draws
|
|
32
|
+
* nothing for is its command's button. Without this slot, each item is a
|
|
33
|
+
* native `<slot :name>` element with the command's button inside, for a
|
|
34
|
+
* custom element's children to fill. The first element of an item that
|
|
35
|
+
* takes focus is the item's stop in the toolbar's arrow-key order.
|
|
36
|
+
*/
|
|
37
|
+
custom?(props: {
|
|
38
|
+
name: string;
|
|
39
|
+
variant: string;
|
|
40
|
+
/** `'live'` in the visible row, `'measure'` in the hidden measurement layer. */
|
|
41
|
+
layer: 'live' | 'measure';
|
|
42
|
+
/**
|
|
43
|
+
* Report the item's length yourself (its width, or its height in a
|
|
44
|
+
* vertical toolbar), for content the measurement layer can't hold. An
|
|
45
|
+
* item the slot draws nothing for in the `'measure'` layer, but draws in
|
|
46
|
+
* the `'live'` one, is measured only this way, where it renders.
|
|
47
|
+
*/
|
|
48
|
+
measure: (length: number) => void;
|
|
49
|
+
}): unknown;
|
|
50
|
+
/** A folded group: its button and its menu. Default: a `<select>` for `'select'`, a menu button for `'menu'`. */
|
|
51
|
+
collapsed?(props: {
|
|
52
|
+
view: CollapsedGroupView;
|
|
53
|
+
}): unknown;
|
|
54
|
+
/** The button of a group that shed items, and its menu. Default: a chevron opening a menu. */
|
|
55
|
+
'group-trigger'?(props: {
|
|
56
|
+
view: GroupDisclosureView;
|
|
57
|
+
}): unknown;
|
|
58
|
+
/** The line between groups. Default: a 1px line across the toolbar. */
|
|
59
|
+
separator?(): unknown;
|
|
60
|
+
/** The "More" button. Default: a plain ⋯ button. */
|
|
61
|
+
'overflow-trigger'?(props: {
|
|
62
|
+
isOpen: boolean;
|
|
63
|
+
toggle: () => void;
|
|
64
|
+
}): unknown;
|
|
65
|
+
/** The "More" menu, with its sections, rows and the call that runs each one. Default: a minimal popover. */
|
|
66
|
+
'overflow-menu'?(props: {
|
|
67
|
+
view: OverflowMenuView;
|
|
68
|
+
}): unknown;
|
|
69
|
+
};
|
|
70
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
71
|
+
gap: number;
|
|
72
|
+
orientation: "horizontal" | "vertical";
|
|
73
|
+
separatorWidth: number;
|
|
74
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
75
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
76
|
+
declare const _default: typeof __VLS_export;
|
|
77
|
+
export default _default;
|
|
78
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
79
|
+
new (): {
|
|
80
|
+
$slots: S;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { BarSchema } from '@embedpdf/core-ui';
|
|
2
|
+
import type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';
|
|
3
|
+
import type { CollapsedGroupView, GroupDisclosureView, OverflowMenuView } from './views.js';
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
/** What goes in the toolbar: its sections, groups and items. */
|
|
6
|
+
bar: BarSchema;
|
|
7
|
+
/**
|
|
8
|
+
* Which way the toolbar runs. A vertical toolbar fits the height it's
|
|
9
|
+
* given, so give it one; it stacks its sections top, middle and bottom, and
|
|
10
|
+
* draws every command at `'icon'`, with the label for a tooltip.
|
|
11
|
+
*/
|
|
12
|
+
orientation?: 'horizontal' | 'vertical';
|
|
13
|
+
/** Px between adjacent items (the CSS flex gap; the fit budgets the same number). */
|
|
14
|
+
gap?: number;
|
|
15
|
+
/**
|
|
16
|
+
* The thickness of the separator your `#separator` slot draws: its width
|
|
17
|
+
* across a horizontal toolbar, its height in a vertical one.
|
|
18
|
+
*/
|
|
19
|
+
separatorWidth?: number;
|
|
20
|
+
/** The toolbar's name for screen readers, for a page with more than one toolbar. */
|
|
21
|
+
'aria-label'?: string;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_Slots = {
|
|
24
|
+
/** A command's button at a variant. Default: a plain `<button>` with the command's label. */
|
|
25
|
+
command?(props: {
|
|
26
|
+
command: ResolvedCommand;
|
|
27
|
+
variant: string;
|
|
28
|
+
run: () => void;
|
|
29
|
+
}): unknown;
|
|
30
|
+
/**
|
|
31
|
+
* Your own items, by `name` (from `custom(name, command)`). An item it draws
|
|
32
|
+
* nothing for is its command's button. Without this slot, each item is a
|
|
33
|
+
* native `<slot :name>` element with the command's button inside, for a
|
|
34
|
+
* custom element's children to fill. The first element of an item that
|
|
35
|
+
* takes focus is the item's stop in the toolbar's arrow-key order.
|
|
36
|
+
*/
|
|
37
|
+
custom?(props: {
|
|
38
|
+
name: string;
|
|
39
|
+
variant: string;
|
|
40
|
+
/** `'live'` in the visible row, `'measure'` in the hidden measurement layer. */
|
|
41
|
+
layer: 'live' | 'measure';
|
|
42
|
+
/**
|
|
43
|
+
* Report the item's length yourself (its width, or its height in a
|
|
44
|
+
* vertical toolbar), for content the measurement layer can't hold. An
|
|
45
|
+
* item the slot draws nothing for in the `'measure'` layer, but draws in
|
|
46
|
+
* the `'live'` one, is measured only this way, where it renders.
|
|
47
|
+
*/
|
|
48
|
+
measure: (length: number) => void;
|
|
49
|
+
}): unknown;
|
|
50
|
+
/** A folded group: its button and its menu. Default: a `<select>` for `'select'`, a menu button for `'menu'`. */
|
|
51
|
+
collapsed?(props: {
|
|
52
|
+
view: CollapsedGroupView;
|
|
53
|
+
}): unknown;
|
|
54
|
+
/** The button of a group that shed items, and its menu. Default: a chevron opening a menu. */
|
|
55
|
+
'group-trigger'?(props: {
|
|
56
|
+
view: GroupDisclosureView;
|
|
57
|
+
}): unknown;
|
|
58
|
+
/** The line between groups. Default: a 1px line across the toolbar. */
|
|
59
|
+
separator?(): unknown;
|
|
60
|
+
/** The "More" button. Default: a plain ⋯ button. */
|
|
61
|
+
'overflow-trigger'?(props: {
|
|
62
|
+
isOpen: boolean;
|
|
63
|
+
toggle: () => void;
|
|
64
|
+
}): unknown;
|
|
65
|
+
/** The "More" menu, with its sections, rows and the call that runs each one. Default: a minimal popover. */
|
|
66
|
+
'overflow-menu'?(props: {
|
|
67
|
+
view: OverflowMenuView;
|
|
68
|
+
}): unknown;
|
|
69
|
+
};
|
|
70
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
71
|
+
gap: number;
|
|
72
|
+
orientation: "horizontal" | "vertical";
|
|
73
|
+
separatorWidth: number;
|
|
74
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
75
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
76
|
+
declare const _default: typeof __VLS_export;
|
|
77
|
+
export default _default;
|
|
78
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
79
|
+
new (): {
|
|
80
|
+
$slots: S;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ResolvedCommand } from '@embedpdf/plugin-commands/contract';
|
|
2
|
+
import type { Orientation } from '@embedpdf/web';
|
|
3
|
+
import type { CollapsedGroupView, GroupDisclosureView, ToolbarPart } from './views.cjs';
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
part: ToolbarPart;
|
|
6
|
+
/** `'live'` in the visible row, `'measure'` in the hidden measurement layer. */
|
|
7
|
+
layer: 'live' | 'measure';
|
|
8
|
+
/** Which way the toolbar runs: what a socket measures along, and where a default menu opens. */
|
|
9
|
+
orientation: Orientation;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Slots = {
|
|
12
|
+
command?(props: {
|
|
13
|
+
command: ResolvedCommand;
|
|
14
|
+
variant: string;
|
|
15
|
+
run: () => void;
|
|
16
|
+
}): unknown;
|
|
17
|
+
custom?(props: {
|
|
18
|
+
name: string;
|
|
19
|
+
variant: string;
|
|
20
|
+
layer: 'live' | 'measure';
|
|
21
|
+
measure: (length: number) => void;
|
|
22
|
+
}): unknown;
|
|
23
|
+
collapsed?(props: {
|
|
24
|
+
view: CollapsedGroupView;
|
|
25
|
+
}): unknown;
|
|
26
|
+
'group-trigger'?(props: {
|
|
27
|
+
view: GroupDisclosureView;
|
|
28
|
+
}): unknown;
|
|
29
|
+
};
|
|
30
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
31
|
+
length: (key: string, length: number) => any;
|
|
32
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
33
|
+
onLength?: ((key: string, length: number) => any) | undefined;
|
|
34
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
36
|
+
declare const _default: typeof __VLS_export;
|
|
37
|
+
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|