legalesign-document-viewer 1.0.1 → 1.0.2
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/dist/cjs/ls-compose-loader_7.cjs.entry.js +1 -1
- package/dist/cjs/ls-document-viewer.cjs.entry.js +21 -3
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +21 -3
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
- package/dist/components/ls-document-viewer.js +23 -5
- package/dist/components/ls-document-viewer.js.map +1 -1
- package/dist/components/ls-statusbar.js +1 -1
- package/dist/components/{p-B3BVu9QD.js → p-BJ7fvXXf.js} +3 -3
- package/dist/components/{p-B3BVu9QD.js.map → p-BJ7fvXXf.js.map} +1 -1
- package/dist/esm/ls-compose-loader_7.entry.js +1 -1
- package/dist/esm/ls-document-viewer.entry.js +22 -4
- package/dist/esm/ls-document-viewer.entry.js.map +1 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
- package/dist/ls-document-viewer/{p-c2be13de.entry.js → p-762b88d0.entry.js} +3 -3
- package/dist/ls-document-viewer/p-762b88d0.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-a00687df.entry.js → p-a27532c9.entry.js} +2 -2
- package/package.json +1 -1
- package/dist/ls-document-viewer/p-c2be13de.entry.js.map +0 -1
- /package/dist/ls-document-viewer/{p-a00687df.entry.js.map → p-a27532c9.entry.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import { d as defineCustomElement$3 } from './p-BHeJScTh.js';
|
|
|
7
7
|
import { d as defineCustomElement$2 } from './p-DzUG2q_b.js';
|
|
8
8
|
import { d as defineCustomElement$1 } from './p-XnnsjcVC.js';
|
|
9
9
|
|
|
10
|
-
const version = "1.0.
|
|
10
|
+
const version = "1.0.2";
|
|
11
11
|
|
|
12
12
|
const lsStatusbarCss = () => `:host{position:absolute;z-index:1000;left:23.625rem;right:0.5rem;bottom:1rem;display:flex;flex-direction:row;gap:0.5rem;align-items:end;justify-content:space-between;height:2.25rem;overflow:visible}:host(.ls-dv-statusbar-preview){left:0;right:0;justify-content:center}.ls-dv-status-bar-group{display:flex;flex-direction:row;gap:0.5rem;align-items:end}.ls-dv-controls-bar{display:flex;flex-direction:row;background-color:white;border:1px solid var(--gray-30, #e0e2e5);box-shadow:0px 4px 16px rgba(0, 0, 0, 0.1);border-radius:1.125rem;height:fit-content}.ls-dv-page-nav{margin-left:-6rem;position:relative}:host(.ls-dv-statusbar-preview) .ls-dv-page-nav{margin-left:0}*{margin:0;padding:0;box-sizing:border-box}.ls-dv-status-bar-section{display:flex;flex-direction:row;align-items:center;gap:0.625rem;padding:0 0.625rem;height:2.25rem}.ls-dv-controls-bar>:not(:nth-child(1)){border-left:1px solid var(--gray-30, #e0e2e5)}button{border:0}button:hover{color:var(--gray-100, #45484d);border-radius:0.625rem}button:disabled{color:var(--gray-40, #d8d9dc);cursor:not-allowed}input[type=range]{-webkit-appearance:none;width:100%;height:0.5rem;background:var(--gray-20, #edeff2);border-radius:0.25rem;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0.5rem;height:0.5rem;background:var(--gray-70, #939599);border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:0.5rem;height:0.5rem;background:var(--gray-70, #939599);border:none;border-radius:50%;cursor:pointer}input[type=range]::-moz-range-track{background:var(--gray-20, #edeff2);height:0.5rem;border-radius:0.25rem}input[type=range]::-webkit-slider-runnable-track{background:var(--gray-20, #edeff2);height:0.5rem;border-radius:0.25rem}p{color:var(--gray-80, #6f7176);font-family:var(--font-family);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height)}span{color:var(--gray-80, #6f7176);font-family:var(--font-family);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height)}a{color:var(--primary-60, #4456f6);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height);cursor:pointer}a:hover{text-decoration:underline;color:var(--primary-70, #2134dc)}.ls-dv-button-link,.ls-dv-button-link:hover{all:unset}select{appearance:none;height:2.25rem}.ls-dv-input-wrapper{position:relative;width:fit-content}#selectorIcon{position:absolute;top:50%;right:0.675rem;transform:translateY(-50%);pointer-events:none;color:var(--gray-80, #6f7176)}#selectLeadingIcon{position:absolute;top:50%;left:0.675rem;transform:translateY(-50%);pointer-events:none;color:var(--gray-80, #6f7176)}.ls-dv-has-leading-icon{padding-left:2.5rem}button{all:unset;border:0;appearance:button;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--gray-80, #6f7176);text-transform:capitalize}button.ls-dv-tertiary-grey:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-button-group{display:flex;border-radius:0.625rem;border:1px solid var(--gray-30, #e0e2e5);background:var(--white, #ffffff);overflow:clip}.ls-dv-button-group button{display:flex;background:transparent;border-radius:unset;padding:0.25rem 0.75rem;min-width:2.156rem;min-height:unset;color:var(--gray-80, #6f7176)}.ls-dv-button-group button:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-button-group>:first-child{border-radius:0.625rem 0 0 0.625rem}.ls-dv-button-group>:last-child{border-radius:0 0.5rem 0.5rem 0}.ls-dv-button-group>:not(:first-child){border-left:1px solid var(--gray-30, #e0e2e5)}.ls-dv-zoom-level-btn{font-family:var(--font-family);font-size:var(--text-sm);font-weight:400;color:var(--gray-80, #6f7176);padding:0.25rem 0.375rem;border-radius:0.25rem;margin:0 -0.25rem}.ls-dv-zoom-level-btn:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-zoom-menu{position:absolute;width:6rem;bottom:3rem;left:1rem;background:white;border:1px solid var(--gray-30, #e0e2e5);border-radius:1rem;box-shadow:0px 4px 24px rgba(0, 0, 0, 0.12);padding:0.25rem;z-index:1001;display:flex;flex-direction:column;gap:0.25rem}.ls-dv-page-menu{left:auto;max-height:60cqh;overflow-y:auto}.ls-dv-zoom-menu-item{position:relative;font-family:var(--font-family);font-size:var(--text-sm);font-weight:400;color:var(--gray-80, #6f7176);padding:0.375rem 0.625rem;border-radius:0.825rem;display:flex;align-items:center;justify-content:space-between}.ls-dv-zoom-menu-item:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-zoom-menu-item.active{font-weight:500;color:var(--primary-70, #2134dc);background:var(--primary-10, #eff4ff)}.ls-dv-thumbnail-popover{position:absolute;bottom:3rem;right:-3rem;background:white;border:1px solid var(--gray-30, #e0e2e5);border-radius:1.75rem;box-shadow:0px 8px 24px rgba(0, 0, 0, 0.15);padding:0.75rem;z-index:1001;max-height:80cqh;overflow:hidden;display:flex;flex-direction:column}.ls-dv-thumbnail-grid{background:var(--gray-10, #f7f8fa);padding:0.75rem;border-radius:1rem;border:1px solid var(--gray-30, #e0e2e5);display:grid;grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));gap:1rem;overflow-y:auto;max-height:100%}.ls-dv-thumbnail-wrapper{display:flex;flex-direction:column;align-items:center;gap:0.25rem;cursor:pointer}.ls-dv-thumbnail-wrapper>span:last-child{font-size:var(--text-xs, 0.75rem);color:var(--gray-80, #6f7176);font-weight:500}.ls-dv-thumbnail{border:1px solid var(--gray-30, #e0e2e5);border-radius:0.5rem;cursor:pointer;transition:border-color 0.15s}.ls-dv-thumbnail:hover{border-color:var(--primary-40, #79adfc);box-shadow:0 0 0 2px rgba(163, 180, 249, 0.3)}.ls-dv-thumbnail.active{border-color:var(--primary-60, #4456f6);outline:0.25rem solid var(--primary-30, #9dc3fc);box-shadow:var(--shadow-md)}.ls-dv-thumbnail-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;margin-top:0.25rem}.ls-dv-thumbnail-dot{width:0.5rem;height:0.5rem;border-radius:50%;display:inline-block;border:2px solid var(--dot-color-60);background-color:var(--dot-color-40);cursor:pointer;transition:background-color 0.15s, border-color 0.15s}.ls-dv-thumbnail-dot:hover{background-color:var(--dot-color-60);border-color:var(--dot-color-70)}.ls-dv-version{position:absolute;bottom:100%;right:0;color:var(--gray-50, #afb0b2);font-size:0.625rem;padding-bottom:0.25rem;display:none}:host(.ls-dv-statusbar-preview) .ls-dv-version{display:block;bottom:-1.25rem;right:-0.5rem}`;
|
|
13
13
|
|
|
@@ -339,6 +339,6 @@ function defineCustomElement() {
|
|
|
339
339
|
defineCustomElement();
|
|
340
340
|
|
|
341
341
|
export { LsStatusbar as L, defineCustomElement as d };
|
|
342
|
-
//# sourceMappingURL=p-
|
|
342
|
+
//# sourceMappingURL=p-BJ7fvXXf.js.map
|
|
343
343
|
|
|
344
|
-
//# sourceMappingURL=p-
|
|
344
|
+
//# sourceMappingURL=p-BJ7fvXXf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-B3BVu9QD.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-statusbar/ls-statusbar.scss?tag=ls-statusbar&encapsulation=shadow","src/components/ls-statusbar/ls-statusbar.tsx"],"sourcesContent":[":host {\n position: absolute;\n z-index: 1000;\n left: 23.625rem;\n right: 0.5rem;\n bottom: 1rem;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: end;\n justify-content: space-between;\n height: 2.25rem;\n overflow: visible;\n}\n\n:host(.ls-dv-statusbar-preview) {\n left: 0;\n right: 0;\n justify-content: center;\n}\n\n.ls-dv-status-bar-group {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: end;\n}\n\n.ls-dv-controls-bar {\n display: flex;\n flex-direction: row;\n background-color: white;\n border: 1px solid $gray-30;\n box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);\n border-radius: 1.125rem;\n height: fit-content;\n}\n\n.ls-dv-page-nav {\n margin-left: -6rem;\n position: relative;\n}\n\n:host(.ls-dv-statusbar-preview) .ls-dv-page-nav {\n margin-left: 0;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n.ls-dv-status-bar-section {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0.625rem;\n padding: 0 0.625rem;\n height: 2.25rem;\n}\n\n.ls-dv-controls-bar > :not(:nth-child(1)) {\n border-left: 1px solid $gray-30;\n}\n\nbutton {\n border: 0;\n}\n\nbutton:hover {\n color: $gray-100;\n border-radius: 0.625rem;\n}\n\nbutton:disabled {\n color: $gray-40;\n cursor: not-allowed;\n}\n\ninput[type=\"range\"] {\n -webkit-appearance: none; /* Remove default styling */\n width: 100%;\n height: 0.5rem;\n background: $gray-20;\n border-radius: 0.25rem;\n outline: none;\n}\n\n/* Chrome, Safari, Edge */\ninput[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 0.5rem;\n height: 0.5rem;\n background: $gray-70; /* Custom thumb color */\n border-radius: 50%;\n cursor: pointer;\n}\n\n/* Firefox */\ninput[type=\"range\"]::-moz-range-thumb {\n width: 0.5rem;\n height: 0.5rem;\n background: $gray-70; /* Custom thumb color */\n border: none;\n border-radius: 50%;\n cursor: pointer;\n}\n\n/* Track color for Firefox */\ninput[type=\"range\"]::-moz-range-track {\n background: $gray-20;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n\n/* Track color for Chrome, Safari, Edge */\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n background: $gray-20;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n\n\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\nspan {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n}\n\n.ls-dv-input-wrapper {\n position: relative;\n width: fit-content;\n}\n\n#selectorIcon {\n position: absolute;\n top: 50%;\n right: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n#selectLeadingIcon {\n position: absolute;\n top: 50%;\n left: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\nbutton {\n all: unset;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: $gray-80;\n text-transform: capitalize;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n\n\n.ls-dv-zoom-level-btn {\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-weight: 400;\n color: $gray-80;\n padding: 0.25rem 0.375rem;\n border-radius: 0.25rem;\n margin: 0 -0.25rem;\n\n &:hover {\n background: $gray-10;\n }\n}\n\n.ls-dv-zoom-menu {\n position: absolute;\n width: 6rem;\n bottom: 3rem;\n left: 1rem;\n background: white;\n border: 1px solid $gray-30;\n border-radius: 1rem;\n box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.12);\n padding: 0.25rem;\n z-index: 1001;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n}\n\n.ls-dv-page-menu {\n left: auto;\n max-height: 60cqh;\n overflow-y: auto;\n}\n\n.ls-dv-zoom-menu-item {\n position: relative;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-weight: 400;\n color: $gray-80;\n padding: 0.375rem 0.625rem;\n border-radius: 0.825rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n &:hover {\n background: $gray-10;\n }\n\n &.active {\n font-weight: 500;\n color: $primary-70;\n background: $primary-10;\n }\n}\n\n.ls-dv-thumbnail-popover {\n position: absolute;\n bottom: 3rem;\n right: -3rem;\n background: white;\n border: 1px solid $gray-30;\n border-radius: 1.75rem;\n box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.15);\n padding: 0.75rem;\n z-index: 1001;\n max-height: 80cqh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.ls-dv-thumbnail-grid {\n background: $gray-10;\n padding: 0.75rem;\n border-radius: 1rem;\n border: 1px solid $gray-30;\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n gap: 1rem;\n overflow-y: auto;\n max-height: 100%;\n}\n\n.ls-dv-thumbnail-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n}\n\n.ls-dv-thumbnail-wrapper > span:last-child {\n font-size: var(--text-xs, 0.75rem);\n color: $gray-80;\n font-weight: 500;\n}\n\n.ls-dv-thumbnail {\n border: 1px solid $gray-30;\n border-radius: 0.5rem;\n cursor: pointer;\n transition: border-color 0.15s;\n}\n\n.ls-dv-thumbnail:hover {\n border-color: $primary-40;\n box-shadow: 0 0 0 2px rgba(163, 180, 249, 0.3);\n}\n\n.ls-dv-thumbnail.active {\n border-color: $primary-60;\n outline: 0.25rem solid $primary-30;\n box-shadow: var(--shadow-md);\n}\n\n.ls-dv-thumbnail-dots {\n display: flex;\n gap: 3px;\n justify-content: center;\n flex-wrap: wrap;\n margin-top: 0.25rem;\n}\n\n.ls-dv-thumbnail-dot {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n display: inline-block;\n border: 2px solid var(--dot-color-60);\n background-color: var(--dot-color-40);\n cursor: pointer;\n transition: background-color 0.15s, border-color 0.15s;\n\n &:hover {\n background-color: var(--dot-color-60);\n border-color: var(--dot-color-70);\n }\n}\n\n.ls-dv-version {\n position: absolute;\n bottom: 100%;\n right: 0;\n color: var(--gray-50, #afb0b2);\n font-size: 0.625rem;\n padding-bottom: 0.25rem;\n display: none;\n}\n\n:host(.ls-dv-statusbar-preview) .ls-dv-version {\n display: block;\n bottom: -1.25rem;\n right: -0.5rem;\n}\n","import { Component, Host, Prop, State, Watch, h, Element } from '@stencil/core';\nimport { dvI18n } from '../../i18n/i18n';\nimport { LsDocumentViewer } from '../ls-document-viewer/ls-document-viewer';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { version } from '../../../package.json';\nimport { undo, redo } from '../ls-document-viewer/history';\n\n@Component({\n tag: 'ls-statusbar',\n styleUrl: 'ls-statusbar.scss',\n shadow: true,\n})\nexport class LsStatusbar {\n @Element() component: HTMLElement;\n /**\n * The zoom or scale level 100 === 100%.\n * {number}\n */\n @Prop({ mutable: true }) zoom: number;\n @Prop({ mutable: true }) page: number;\n @Prop({ mutable: true }) pageCount: number;\n\n @State() showThumbnails: boolean = false;\n @State() showZoomMenu: boolean = false;\n @State() showPageMenu: boolean = false;\n\n /**\n * The parent editor control.\n * {LsDocumentViewer}\n */\n @Prop() editor: LsDocumentViewer;\n\n /**\n * The viewer mode.\n * {'preview' | 'editor' | 'compose'}\n */\n @Prop() mode: 'preview' | 'editor' | 'compose' = 'editor';\n\n setZoom(value: number) {\n this.editor.setZoom(value);\n this.zoom = value;\n }\n\n fitWidth() {\n const wrapper = this.editor.component.shadowRoot.getElementById('document-frame-wrapper');\n const scale = (wrapper.clientWidth - 396) / this.editor.pageDimensions[this.editor.pageNum - 1].width;\n this.setZoom(Math.round(scale * 1e2) / 1e2);\n requestAnimationFrame(() => wrapper.scrollTo(0, 0));\n }\n\n fitHeight() {\n const midArea = this.editor.component.shadowRoot.getElementById('ls-mid-area');\n const wrapper = this.editor.component.shadowRoot.getElementById('document-frame-wrapper');\n const wrapperStyle = getComputedStyle(wrapper);\n const paddingY = parseFloat(wrapperStyle.paddingTop) + parseFloat(wrapperStyle.paddingBottom);\n const availableHeight = midArea.clientHeight - paddingY;\n const scale = availableHeight / this.editor.pageDimensions[this.editor.pageNum - 1].height;\n this.setZoom(Math.round(scale * 1e2) / 1e2);\n }\n\n goToPage(pageNum: number) {\n const diff = pageNum - this.editor.pageNum;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) this.editor.pageNext();\n } else {\n for (let i = 0; i < Math.abs(diff); i++) this.editor.pagePrev();\n }\n this.page = pageNum;\n this.renderThumbnails();\n }\n\n getPageFieldColors(pageNum: number): { s40: string; s60: string; s70: string; name: string; count: number }[] {\n const template = (this.editor as any)._template;\n if (!template?.elementConnection?.templateElements) return [];\n const fields = template.elementConnection.templateElements.filter(el => el.page === pageNum);\n const signerCounts = new Map<number, number>();\n fields.forEach(el => signerCounts.set(el.signer, (signerCounts.get(el.signer) || 0) + 1));\n return Array.from(signerCounts.entries())\n .sort(([a], [b]) => {\n const baseA = a % 100;\n const baseB = b % 100;\n if (baseA !== baseB) return baseA - baseB;\n return a - b;\n })\n .map(([s, count]) => {\n const role = template.roles?.find(r => r.signerIndex === s);\n const colorIndex = s % 100;\n return {\n s40: defaultRolePalette[colorIndex]?.s40 || defaultRolePalette[0].s40,\n s60: defaultRolePalette[colorIndex]?.s60 || defaultRolePalette[0].s60,\n s70: defaultRolePalette[colorIndex]?.s70 || defaultRolePalette[0].s70,\n name: role?.name || `Participant ${s}`,\n count,\n };\n });\n }\n\n getPageFields(pageNum: number) {\n const template = (this.editor as any)._template;\n if (!template?.elementConnection?.templateElements) return [];\n return template.elementConnection.templateElements.filter(el => el.page === pageNum);\n }\n\n renderFieldsOnCanvas(ctx: CanvasRenderingContext2D, pageNum: number, viewport: { width: number; height: number }) {\n const fields = this.getPageFields(pageNum);\n fields.forEach(field => {\n const colorIndex = field.signer % 100;\n const palette = defaultRolePalette[colorIndex] || defaultRolePalette[0];\n const x = field.ax * viewport.width;\n const y = field.ay * viewport.height;\n const w = (field.bx - field.ax) * viewport.width;\n const h = (field.by - field.ay) * viewport.height;\n\n ctx.fillStyle = palette.s40 + '1a';\n ctx.fillRect(x, y, w, h);\n ctx.strokeStyle = palette.s60;\n ctx.lineWidth = 1;\n if (field.signer >= 100) {\n ctx.setLineDash([2, 2]);\n }\n ctx.strokeRect(x, y, w, h);\n ctx.setLineDash([]);\n });\n }\n\n renderThumbnails() {\n const pdfDoc = (this.editor as any).pdfDocument;\n if (!pdfDoc) return;\n const container = this.component.shadowRoot.getElementById('ls-thumbnail-container');\n if (!container) return;\n container.innerHTML = '';\n\n for (let i = 1; i <= this.pageCount; i++) {\n pdfDoc.getPage(i).then(page => {\n const viewport = page.getViewport({ scale: 0.2 });\n const canvas = document.createElement('canvas');\n canvas.width = viewport.width;\n canvas.height = viewport.height;\n canvas.className = i === this.page ? 'ls-dv-thumbnail active' : 'ls-dv-thumbnail';\n canvas.addEventListener('click', () => this.goToPage(i));\n\n const wrapper = document.createElement('div');\n wrapper.className = 'ls-dv-thumbnail-wrapper';\n wrapper.addEventListener('click', () => this.goToPage(i));\n\n const dots = document.createElement('div');\n dots.className = 'ls-dv-thumbnail-dots';\n this.getPageFieldColors(i).forEach(color => {\n const dot = document.createElement('span');\n dot.className = 'ls-dv-thumbnail-dot';\n dot.setAttribute('data-tooltip-id', 'ls-dv-tooltip');\n dot.setAttribute('data-tooltip-content', `${color.name}, ${color.count} Field${color.count !== 1 ? 's' : ''}`);\n dot.style.setProperty('--dot-color-40', color.s40);\n dot.style.setProperty('--dot-color-60', color.s60);\n dot.style.setProperty('--dot-color-70', color.s70);\n dots.appendChild(dot);\n });\n\n const label = document.createElement('span');\n label.textContent = `${i}`;\n wrapper.appendChild(canvas);\n wrapper.appendChild(dots);\n wrapper.appendChild(label);\n container.appendChild(wrapper);\n\n // Render after appending to DOM — Safari requires the canvas to be\n // in the visible tree before getContext/render produces output.\n const ctx = canvas.getContext('2d');\n page.render({ canvasContext: ctx, viewport }).promise.then(() => {\n this.renderFieldsOnCanvas(ctx, i, viewport);\n // Force Safari to composit the canvas by toggling a style property\n canvas.style.opacity = '0.99';\n requestAnimationFrame(() => {\n canvas.style.opacity = '1';\n });\n });\n });\n }\n }\n\n private outsideClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n if (!path.includes(this.component)) {\n this.showThumbnails = false;\n this.showZoomMenu = false;\n this.showPageMenu = false;\n document.removeEventListener('click', this.outsideClickHandler);\n }\n };\n\n private zoomMenuClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n const menu = this.component.shadowRoot.getElementById('ls-zoom-menu');\n const btn = this.component.shadowRoot.getElementById('zoom-level-btn');\n if (!path.includes(menu) && !path.includes(btn)) {\n this.showZoomMenu = false;\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }\n };\n\n private pageMenuClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n const menu = this.component.shadowRoot.getElementById('ls-page-menu');\n const btn = this.component.shadowRoot.getElementById('page-level-btn');\n if (!path.includes(menu) && !path.includes(btn)) {\n this.showPageMenu = false;\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }\n };\n\n private applyUndo() {\n const mutations = undo();\n if (!mutations) return;\n this.editor._skipHistory = true;\n this.editor.mutate.emit(mutations);\n }\n\n private applyRedo() {\n const mutations = redo();\n if (!mutations) return;\n this.editor._skipHistory = true;\n this.editor.mutate.emit(mutations);\n }\n\n componentWillLoad() {\n this.zoom = this.editor.zoom;\n }\n\n @Watch('page')\n onPageChange() {\n if (this.showThumbnails) {\n this.renderThumbnails();\n requestAnimationFrame(() => {\n const container = this.component.shadowRoot.getElementById('ls-thumbnail-container');\n const wrapper = container?.querySelector('.ls-dv-thumbnail.active')?.closest('.ls-dv-thumbnail-wrapper') as HTMLElement;\n if (wrapper && container) {\n const gap = 12; // 0.75rem\n const wrapperTop = wrapper.offsetTop - container.offsetTop;\n const wrapperBottom = wrapperTop + wrapper.offsetHeight;\n const scrollTop = container.scrollTop;\n const viewHeight = container.clientHeight;\n\n if (wrapperTop - gap < scrollTop) {\n container.scrollTo({ top: wrapperTop - gap, behavior: 'smooth' });\n } else if (wrapperBottom + gap > scrollTop + viewHeight) {\n container.scrollTo({ top: wrapperBottom + gap - viewHeight, behavior: 'smooth' });\n }\n }\n });\n }\n }\n\n render() {\n const isPreview = this.mode === 'preview';\n return (\n <Host class={{ 'ls-dv-statusbar-preview': isPreview }}>\n {!isPreview && (\n <div class={'ls-dv-controls-bar'}>\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.applyUndo()} id=\"undo-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.undo')} >\n <ls-icon name=\"undo-icon\" size={18} />\n </button>\n <button onClick={() => this.applyRedo()} id=\"redo-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.redo')} >\n <ls-icon name=\"redo-icon\" style={{transform: \"scale(-1, 1)\", marginLeft: '0.25rem'}} size={18} />\n </button>\n </div>\n </div>\n )}\n <div class={{'ls-dv-controls-bar': true, 'ls-dv-page-nav': true}}>\n <div class={'ls-dv-status-bar-section'} style={this.pageCount === 1 && { display: 'none' }}>\n <button\n onClick={() => {\n this.editor.pagePrev();\n }}\n disabled={this.page === 1}\n id=\"prev-page-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={this.page === 1 ? dvI18n.t('statusbar.nopreviouspage') : dvI18n.t('statusbar.previouspage')}\n >\n <ls-icon name=\"chevron-left-icon\" />\n </button>\n <button\n id=\"page-level-btn\"\n class=\"ls-dv-zoom-level-btn\"\n onClick={() => {\n this.showPageMenu = !this.showPageMenu;\n if (this.showPageMenu) {\n requestAnimationFrame(() => document.addEventListener('click', this.pageMenuClickHandler, true));\n } else {\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }\n }}\n >\n {this.page} / {this.pageCount}\n </button>\n {this.showPageMenu && (\n <div id=\"ls-page-menu\" class=\"ls-dv-zoom-menu ls-dv-page-menu\" >\n {Array.from({ length: this.pageCount }, (_, i) => i + 1).map(p => (\n <button\n class={{ 'ls-dv-zoom-menu-item': true, 'active': this.page === p }}\n onClick={() => {\n this.goToPage(p);\n this.showPageMenu = false;\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }}\n >\n {p}\n {this.page === p && <ls-icon name=\"check-icon\" size={14} />}\n </button>\n ))}\n </div>\n )}\n <button\n onClick={() => {\n this.editor.pageNext();\n }}\n disabled={this.page === this.pageCount}\n id=\"next-page-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={this.page === this.pageCount ? dvI18n.t('statusbar.nonextpage') : dvI18n.t('statusbar.nextpage')}\n >\n <ls-icon name=\"chevron-right-icon\" />\n </button>\n </div>\n </div>\n <div class={'ls-dv-status-bar-group'}>\n <div class={'ls-dv-controls-bar'} style={{position: 'relative'}}>\n {/* <button onClick={() => this.editor.displayTable = true}><ls-icon name=\"table-icon\" /></button>\n <button onClick={() => this.editor.displayTable = false}><ls-icon name=\"template-icon\" /></button> */}\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.setZoom(this.editor.zoom * 0.8)} id=\"zoom-out-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.zoomout')}>\n <ls-icon name=\"zoom-out-icon\" />\n </button>\n <button\n id=\"zoom-level-btn\"\n class=\"ls-dv-zoom-level-btn\"\n onClick={() => {\n this.showZoomMenu = !this.showZoomMenu;\n if (this.showZoomMenu) {\n requestAnimationFrame(() => document.addEventListener('click', this.zoomMenuClickHandler, true));\n } else {\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }\n }}\n >\n {Math.round(this.zoom * 100)}%\n </button>\n {this.showZoomMenu && (\n <div id=\"ls-zoom-menu\" class=\"ls-dv-zoom-menu\">\n {[2, 1.75, 1.5, 1.25, 1, 0.75, 0.5, 0.25].map(level => (\n <button\n class={{ 'ls-dv-zoom-menu-item': true, 'active': Math.round(this.zoom * 100) === Math.round(level * 100) }}\n onClick={() => {\n this.setZoom(level);\n this.showZoomMenu = false;\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }}\n >\n {Math.round(level * 100)}%{Math.round(this.zoom * 100) === Math.round(level * 100) && <ls-icon name=\"check-icon\" size={14} />}\n </button>\n ))}\n </div>\n )}\n <button onClick={() => this.setZoom(this.editor.zoom / 0.8)} id=\"zoom-in-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.zoomin')}>\n <ls-icon name=\"zoom-in-icon\" />\n </button>\n </div>\n {!isPreview && (\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.fitWidth()} id=\"fit-width-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.fitwidth')}>\n <ls-icon name=\"fit-width-icon\" />\n </button>\n <button onClick={() => this.fitHeight()} id=\"fit-height-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.fitheight')}>\n <ls-icon name=\"fit-height-icon\" />\n </button>\n </div>\n )}\n\n <div class={'ls-dv-status-bar-section'} style={this.pageCount === 1 ? { display: 'none' } : {}}>\n <button\n onClick={() => {\n this.showThumbnails = !this.showThumbnails;\n if (this.showThumbnails) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.renderThumbnails();\n document.addEventListener('click', this.outsideClickHandler);\n });\n });\n } else {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n }}\n id=\"page-thumbnails-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={dvI18n.t('statusbar.pagethumbnails')}\n >\n <ls-icon name={!this.showThumbnails ? 'side-panel-open-right-icon' : 'side-panel-close-right-icon'} size={18} />\n </button>\n </div>\n {this.showThumbnails && (\n <div class=\"ls-dv-thumbnail-popover\">\n <div id=\"ls-thumbnail-container\" class=\"ls-dv-thumbnail-grid\"></div>\n </div>\n )}\n </div>\n {!isPreview && <ls-helper-bar />}\n <span class=\"ls-dv-version\">v{version}</span>\n <ls-tooltip tooltipId=\"ls-dv-tooltip\" />\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BJ7fvXXf.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-statusbar/ls-statusbar.scss?tag=ls-statusbar&encapsulation=shadow","src/components/ls-statusbar/ls-statusbar.tsx"],"sourcesContent":[":host {\n position: absolute;\n z-index: 1000;\n left: 23.625rem;\n right: 0.5rem;\n bottom: 1rem;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: end;\n justify-content: space-between;\n height: 2.25rem;\n overflow: visible;\n}\n\n:host(.ls-dv-statusbar-preview) {\n left: 0;\n right: 0;\n justify-content: center;\n}\n\n.ls-dv-status-bar-group {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: end;\n}\n\n.ls-dv-controls-bar {\n display: flex;\n flex-direction: row;\n background-color: white;\n border: 1px solid $gray-30;\n box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);\n border-radius: 1.125rem;\n height: fit-content;\n}\n\n.ls-dv-page-nav {\n margin-left: -6rem;\n position: relative;\n}\n\n:host(.ls-dv-statusbar-preview) .ls-dv-page-nav {\n margin-left: 0;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n.ls-dv-status-bar-section {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0.625rem;\n padding: 0 0.625rem;\n height: 2.25rem;\n}\n\n.ls-dv-controls-bar > :not(:nth-child(1)) {\n border-left: 1px solid $gray-30;\n}\n\nbutton {\n border: 0;\n}\n\nbutton:hover {\n color: $gray-100;\n border-radius: 0.625rem;\n}\n\nbutton:disabled {\n color: $gray-40;\n cursor: not-allowed;\n}\n\ninput[type=\"range\"] {\n -webkit-appearance: none; /* Remove default styling */\n width: 100%;\n height: 0.5rem;\n background: $gray-20;\n border-radius: 0.25rem;\n outline: none;\n}\n\n/* Chrome, Safari, Edge */\ninput[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 0.5rem;\n height: 0.5rem;\n background: $gray-70; /* Custom thumb color */\n border-radius: 50%;\n cursor: pointer;\n}\n\n/* Firefox */\ninput[type=\"range\"]::-moz-range-thumb {\n width: 0.5rem;\n height: 0.5rem;\n background: $gray-70; /* Custom thumb color */\n border: none;\n border-radius: 50%;\n cursor: pointer;\n}\n\n/* Track color for Firefox */\ninput[type=\"range\"]::-moz-range-track {\n background: $gray-20;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n\n/* Track color for Chrome, Safari, Edge */\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n background: $gray-20;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n\n\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\nspan {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n}\n\n.ls-dv-input-wrapper {\n position: relative;\n width: fit-content;\n}\n\n#selectorIcon {\n position: absolute;\n top: 50%;\n right: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n#selectLeadingIcon {\n position: absolute;\n top: 50%;\n left: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\nbutton {\n all: unset;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: $gray-80;\n text-transform: capitalize;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n\n\n.ls-dv-zoom-level-btn {\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-weight: 400;\n color: $gray-80;\n padding: 0.25rem 0.375rem;\n border-radius: 0.25rem;\n margin: 0 -0.25rem;\n\n &:hover {\n background: $gray-10;\n }\n}\n\n.ls-dv-zoom-menu {\n position: absolute;\n width: 6rem;\n bottom: 3rem;\n left: 1rem;\n background: white;\n border: 1px solid $gray-30;\n border-radius: 1rem;\n box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.12);\n padding: 0.25rem;\n z-index: 1001;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n}\n\n.ls-dv-page-menu {\n left: auto;\n max-height: 60cqh;\n overflow-y: auto;\n}\n\n.ls-dv-zoom-menu-item {\n position: relative;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-weight: 400;\n color: $gray-80;\n padding: 0.375rem 0.625rem;\n border-radius: 0.825rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n &:hover {\n background: $gray-10;\n }\n\n &.active {\n font-weight: 500;\n color: $primary-70;\n background: $primary-10;\n }\n}\n\n.ls-dv-thumbnail-popover {\n position: absolute;\n bottom: 3rem;\n right: -3rem;\n background: white;\n border: 1px solid $gray-30;\n border-radius: 1.75rem;\n box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.15);\n padding: 0.75rem;\n z-index: 1001;\n max-height: 80cqh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.ls-dv-thumbnail-grid {\n background: $gray-10;\n padding: 0.75rem;\n border-radius: 1rem;\n border: 1px solid $gray-30;\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n gap: 1rem;\n overflow-y: auto;\n max-height: 100%;\n}\n\n.ls-dv-thumbnail-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n}\n\n.ls-dv-thumbnail-wrapper > span:last-child {\n font-size: var(--text-xs, 0.75rem);\n color: $gray-80;\n font-weight: 500;\n}\n\n.ls-dv-thumbnail {\n border: 1px solid $gray-30;\n border-radius: 0.5rem;\n cursor: pointer;\n transition: border-color 0.15s;\n}\n\n.ls-dv-thumbnail:hover {\n border-color: $primary-40;\n box-shadow: 0 0 0 2px rgba(163, 180, 249, 0.3);\n}\n\n.ls-dv-thumbnail.active {\n border-color: $primary-60;\n outline: 0.25rem solid $primary-30;\n box-shadow: var(--shadow-md);\n}\n\n.ls-dv-thumbnail-dots {\n display: flex;\n gap: 3px;\n justify-content: center;\n flex-wrap: wrap;\n margin-top: 0.25rem;\n}\n\n.ls-dv-thumbnail-dot {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n display: inline-block;\n border: 2px solid var(--dot-color-60);\n background-color: var(--dot-color-40);\n cursor: pointer;\n transition: background-color 0.15s, border-color 0.15s;\n\n &:hover {\n background-color: var(--dot-color-60);\n border-color: var(--dot-color-70);\n }\n}\n\n.ls-dv-version {\n position: absolute;\n bottom: 100%;\n right: 0;\n color: var(--gray-50, #afb0b2);\n font-size: 0.625rem;\n padding-bottom: 0.25rem;\n display: none;\n}\n\n:host(.ls-dv-statusbar-preview) .ls-dv-version {\n display: block;\n bottom: -1.25rem;\n right: -0.5rem;\n}\n","import { Component, Host, Prop, State, Watch, h, Element } from '@stencil/core';\nimport { dvI18n } from '../../i18n/i18n';\nimport { LsDocumentViewer } from '../ls-document-viewer/ls-document-viewer';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { version } from '../../../package.json';\nimport { undo, redo } from '../ls-document-viewer/history';\n\n@Component({\n tag: 'ls-statusbar',\n styleUrl: 'ls-statusbar.scss',\n shadow: true,\n})\nexport class LsStatusbar {\n @Element() component: HTMLElement;\n /**\n * The zoom or scale level 100 === 100%.\n * {number}\n */\n @Prop({ mutable: true }) zoom: number;\n @Prop({ mutable: true }) page: number;\n @Prop({ mutable: true }) pageCount: number;\n\n @State() showThumbnails: boolean = false;\n @State() showZoomMenu: boolean = false;\n @State() showPageMenu: boolean = false;\n\n /**\n * The parent editor control.\n * {LsDocumentViewer}\n */\n @Prop() editor: LsDocumentViewer;\n\n /**\n * The viewer mode.\n * {'preview' | 'editor' | 'compose'}\n */\n @Prop() mode: 'preview' | 'editor' | 'compose' = 'editor';\n\n setZoom(value: number) {\n this.editor.setZoom(value);\n this.zoom = value;\n }\n\n fitWidth() {\n const wrapper = this.editor.component.shadowRoot.getElementById('document-frame-wrapper');\n const scale = (wrapper.clientWidth - 396) / this.editor.pageDimensions[this.editor.pageNum - 1].width;\n this.setZoom(Math.round(scale * 1e2) / 1e2);\n requestAnimationFrame(() => wrapper.scrollTo(0, 0));\n }\n\n fitHeight() {\n const midArea = this.editor.component.shadowRoot.getElementById('ls-mid-area');\n const wrapper = this.editor.component.shadowRoot.getElementById('document-frame-wrapper');\n const wrapperStyle = getComputedStyle(wrapper);\n const paddingY = parseFloat(wrapperStyle.paddingTop) + parseFloat(wrapperStyle.paddingBottom);\n const availableHeight = midArea.clientHeight - paddingY;\n const scale = availableHeight / this.editor.pageDimensions[this.editor.pageNum - 1].height;\n this.setZoom(Math.round(scale * 1e2) / 1e2);\n }\n\n goToPage(pageNum: number) {\n const diff = pageNum - this.editor.pageNum;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) this.editor.pageNext();\n } else {\n for (let i = 0; i < Math.abs(diff); i++) this.editor.pagePrev();\n }\n this.page = pageNum;\n this.renderThumbnails();\n }\n\n getPageFieldColors(pageNum: number): { s40: string; s60: string; s70: string; name: string; count: number }[] {\n const template = (this.editor as any)._template;\n if (!template?.elementConnection?.templateElements) return [];\n const fields = template.elementConnection.templateElements.filter(el => el.page === pageNum);\n const signerCounts = new Map<number, number>();\n fields.forEach(el => signerCounts.set(el.signer, (signerCounts.get(el.signer) || 0) + 1));\n return Array.from(signerCounts.entries())\n .sort(([a], [b]) => {\n const baseA = a % 100;\n const baseB = b % 100;\n if (baseA !== baseB) return baseA - baseB;\n return a - b;\n })\n .map(([s, count]) => {\n const role = template.roles?.find(r => r.signerIndex === s);\n const colorIndex = s % 100;\n return {\n s40: defaultRolePalette[colorIndex]?.s40 || defaultRolePalette[0].s40,\n s60: defaultRolePalette[colorIndex]?.s60 || defaultRolePalette[0].s60,\n s70: defaultRolePalette[colorIndex]?.s70 || defaultRolePalette[0].s70,\n name: role?.name || `Participant ${s}`,\n count,\n };\n });\n }\n\n getPageFields(pageNum: number) {\n const template = (this.editor as any)._template;\n if (!template?.elementConnection?.templateElements) return [];\n return template.elementConnection.templateElements.filter(el => el.page === pageNum);\n }\n\n renderFieldsOnCanvas(ctx: CanvasRenderingContext2D, pageNum: number, viewport: { width: number; height: number }) {\n const fields = this.getPageFields(pageNum);\n fields.forEach(field => {\n const colorIndex = field.signer % 100;\n const palette = defaultRolePalette[colorIndex] || defaultRolePalette[0];\n const x = field.ax * viewport.width;\n const y = field.ay * viewport.height;\n const w = (field.bx - field.ax) * viewport.width;\n const h = (field.by - field.ay) * viewport.height;\n\n ctx.fillStyle = palette.s40 + '1a';\n ctx.fillRect(x, y, w, h);\n ctx.strokeStyle = palette.s60;\n ctx.lineWidth = 1;\n if (field.signer >= 100) {\n ctx.setLineDash([2, 2]);\n }\n ctx.strokeRect(x, y, w, h);\n ctx.setLineDash([]);\n });\n }\n\n renderThumbnails() {\n const pdfDoc = (this.editor as any).pdfDocument;\n if (!pdfDoc) return;\n const container = this.component.shadowRoot.getElementById('ls-thumbnail-container');\n if (!container) return;\n container.innerHTML = '';\n\n for (let i = 1; i <= this.pageCount; i++) {\n pdfDoc.getPage(i).then(page => {\n const viewport = page.getViewport({ scale: 0.2 });\n const canvas = document.createElement('canvas');\n canvas.width = viewport.width;\n canvas.height = viewport.height;\n canvas.className = i === this.page ? 'ls-dv-thumbnail active' : 'ls-dv-thumbnail';\n canvas.addEventListener('click', () => this.goToPage(i));\n\n const wrapper = document.createElement('div');\n wrapper.className = 'ls-dv-thumbnail-wrapper';\n wrapper.addEventListener('click', () => this.goToPage(i));\n\n const dots = document.createElement('div');\n dots.className = 'ls-dv-thumbnail-dots';\n this.getPageFieldColors(i).forEach(color => {\n const dot = document.createElement('span');\n dot.className = 'ls-dv-thumbnail-dot';\n dot.setAttribute('data-tooltip-id', 'ls-dv-tooltip');\n dot.setAttribute('data-tooltip-content', `${color.name}, ${color.count} Field${color.count !== 1 ? 's' : ''}`);\n dot.style.setProperty('--dot-color-40', color.s40);\n dot.style.setProperty('--dot-color-60', color.s60);\n dot.style.setProperty('--dot-color-70', color.s70);\n dots.appendChild(dot);\n });\n\n const label = document.createElement('span');\n label.textContent = `${i}`;\n wrapper.appendChild(canvas);\n wrapper.appendChild(dots);\n wrapper.appendChild(label);\n container.appendChild(wrapper);\n\n // Render after appending to DOM — Safari requires the canvas to be\n // in the visible tree before getContext/render produces output.\n const ctx = canvas.getContext('2d');\n page.render({ canvasContext: ctx, viewport }).promise.then(() => {\n this.renderFieldsOnCanvas(ctx, i, viewport);\n // Force Safari to composit the canvas by toggling a style property\n canvas.style.opacity = '0.99';\n requestAnimationFrame(() => {\n canvas.style.opacity = '1';\n });\n });\n });\n }\n }\n\n private outsideClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n if (!path.includes(this.component)) {\n this.showThumbnails = false;\n this.showZoomMenu = false;\n this.showPageMenu = false;\n document.removeEventListener('click', this.outsideClickHandler);\n }\n };\n\n private zoomMenuClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n const menu = this.component.shadowRoot.getElementById('ls-zoom-menu');\n const btn = this.component.shadowRoot.getElementById('zoom-level-btn');\n if (!path.includes(menu) && !path.includes(btn)) {\n this.showZoomMenu = false;\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }\n };\n\n private pageMenuClickHandler = (e: MouseEvent) => {\n const path = e.composedPath();\n const menu = this.component.shadowRoot.getElementById('ls-page-menu');\n const btn = this.component.shadowRoot.getElementById('page-level-btn');\n if (!path.includes(menu) && !path.includes(btn)) {\n this.showPageMenu = false;\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }\n };\n\n private applyUndo() {\n const mutations = undo();\n if (!mutations) return;\n this.editor._skipHistory = true;\n this.editor.mutate.emit(mutations);\n }\n\n private applyRedo() {\n const mutations = redo();\n if (!mutations) return;\n this.editor._skipHistory = true;\n this.editor.mutate.emit(mutations);\n }\n\n componentWillLoad() {\n this.zoom = this.editor.zoom;\n }\n\n @Watch('page')\n onPageChange() {\n if (this.showThumbnails) {\n this.renderThumbnails();\n requestAnimationFrame(() => {\n const container = this.component.shadowRoot.getElementById('ls-thumbnail-container');\n const wrapper = container?.querySelector('.ls-dv-thumbnail.active')?.closest('.ls-dv-thumbnail-wrapper') as HTMLElement;\n if (wrapper && container) {\n const gap = 12; // 0.75rem\n const wrapperTop = wrapper.offsetTop - container.offsetTop;\n const wrapperBottom = wrapperTop + wrapper.offsetHeight;\n const scrollTop = container.scrollTop;\n const viewHeight = container.clientHeight;\n\n if (wrapperTop - gap < scrollTop) {\n container.scrollTo({ top: wrapperTop - gap, behavior: 'smooth' });\n } else if (wrapperBottom + gap > scrollTop + viewHeight) {\n container.scrollTo({ top: wrapperBottom + gap - viewHeight, behavior: 'smooth' });\n }\n }\n });\n }\n }\n\n render() {\n const isPreview = this.mode === 'preview';\n return (\n <Host class={{ 'ls-dv-statusbar-preview': isPreview }}>\n {!isPreview && (\n <div class={'ls-dv-controls-bar'}>\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.applyUndo()} id=\"undo-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.undo')} >\n <ls-icon name=\"undo-icon\" size={18} />\n </button>\n <button onClick={() => this.applyRedo()} id=\"redo-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.redo')} >\n <ls-icon name=\"redo-icon\" style={{transform: \"scale(-1, 1)\", marginLeft: '0.25rem'}} size={18} />\n </button>\n </div>\n </div>\n )}\n <div class={{'ls-dv-controls-bar': true, 'ls-dv-page-nav': true}}>\n <div class={'ls-dv-status-bar-section'} style={this.pageCount === 1 && { display: 'none' }}>\n <button\n onClick={() => {\n this.editor.pagePrev();\n }}\n disabled={this.page === 1}\n id=\"prev-page-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={this.page === 1 ? dvI18n.t('statusbar.nopreviouspage') : dvI18n.t('statusbar.previouspage')}\n >\n <ls-icon name=\"chevron-left-icon\" />\n </button>\n <button\n id=\"page-level-btn\"\n class=\"ls-dv-zoom-level-btn\"\n onClick={() => {\n this.showPageMenu = !this.showPageMenu;\n if (this.showPageMenu) {\n requestAnimationFrame(() => document.addEventListener('click', this.pageMenuClickHandler, true));\n } else {\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }\n }}\n >\n {this.page} / {this.pageCount}\n </button>\n {this.showPageMenu && (\n <div id=\"ls-page-menu\" class=\"ls-dv-zoom-menu ls-dv-page-menu\" >\n {Array.from({ length: this.pageCount }, (_, i) => i + 1).map(p => (\n <button\n class={{ 'ls-dv-zoom-menu-item': true, 'active': this.page === p }}\n onClick={() => {\n this.goToPage(p);\n this.showPageMenu = false;\n document.removeEventListener('click', this.pageMenuClickHandler, true);\n }}\n >\n {p}\n {this.page === p && <ls-icon name=\"check-icon\" size={14} />}\n </button>\n ))}\n </div>\n )}\n <button\n onClick={() => {\n this.editor.pageNext();\n }}\n disabled={this.page === this.pageCount}\n id=\"next-page-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={this.page === this.pageCount ? dvI18n.t('statusbar.nonextpage') : dvI18n.t('statusbar.nextpage')}\n >\n <ls-icon name=\"chevron-right-icon\" />\n </button>\n </div>\n </div>\n <div class={'ls-dv-status-bar-group'}>\n <div class={'ls-dv-controls-bar'} style={{position: 'relative'}}>\n {/* <button onClick={() => this.editor.displayTable = true}><ls-icon name=\"table-icon\" /></button>\n <button onClick={() => this.editor.displayTable = false}><ls-icon name=\"template-icon\" /></button> */}\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.setZoom(this.editor.zoom * 0.8)} id=\"zoom-out-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.zoomout')}>\n <ls-icon name=\"zoom-out-icon\" />\n </button>\n <button\n id=\"zoom-level-btn\"\n class=\"ls-dv-zoom-level-btn\"\n onClick={() => {\n this.showZoomMenu = !this.showZoomMenu;\n if (this.showZoomMenu) {\n requestAnimationFrame(() => document.addEventListener('click', this.zoomMenuClickHandler, true));\n } else {\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }\n }}\n >\n {Math.round(this.zoom * 100)}%\n </button>\n {this.showZoomMenu && (\n <div id=\"ls-zoom-menu\" class=\"ls-dv-zoom-menu\">\n {[2, 1.75, 1.5, 1.25, 1, 0.75, 0.5, 0.25].map(level => (\n <button\n class={{ 'ls-dv-zoom-menu-item': true, 'active': Math.round(this.zoom * 100) === Math.round(level * 100) }}\n onClick={() => {\n this.setZoom(level);\n this.showZoomMenu = false;\n document.removeEventListener('click', this.zoomMenuClickHandler, true);\n }}\n >\n {Math.round(level * 100)}%{Math.round(this.zoom * 100) === Math.round(level * 100) && <ls-icon name=\"check-icon\" size={14} />}\n </button>\n ))}\n </div>\n )}\n <button onClick={() => this.setZoom(this.editor.zoom / 0.8)} id=\"zoom-in-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.zoomin')}>\n <ls-icon name=\"zoom-in-icon\" />\n </button>\n </div>\n {!isPreview && (\n <div class={'ls-dv-status-bar-section'}>\n <button onClick={() => this.fitWidth()} id=\"fit-width-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.fitwidth')}>\n <ls-icon name=\"fit-width-icon\" />\n </button>\n <button onClick={() => this.fitHeight()} id=\"fit-height-btn\" data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('statusbar.fitheight')}>\n <ls-icon name=\"fit-height-icon\" />\n </button>\n </div>\n )}\n\n <div class={'ls-dv-status-bar-section'} style={this.pageCount === 1 ? { display: 'none' } : {}}>\n <button\n onClick={() => {\n this.showThumbnails = !this.showThumbnails;\n if (this.showThumbnails) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.renderThumbnails();\n document.addEventListener('click', this.outsideClickHandler);\n });\n });\n } else {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n }}\n id=\"page-thumbnails-btn\"\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={dvI18n.t('statusbar.pagethumbnails')}\n >\n <ls-icon name={!this.showThumbnails ? 'side-panel-open-right-icon' : 'side-panel-close-right-icon'} size={18} />\n </button>\n </div>\n {this.showThumbnails && (\n <div class=\"ls-dv-thumbnail-popover\">\n <div id=\"ls-thumbnail-container\" class=\"ls-dv-thumbnail-grid\"></div>\n </div>\n )}\n </div>\n {!isPreview && <ls-helper-bar />}\n <span class=\"ls-dv-version\">v{version}</span>\n <ls-tooltip tooltipId=\"ls-dv-tooltip\" />\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -364,7 +364,7 @@ const LsSelectMenu = class {
|
|
|
364
364
|
};
|
|
365
365
|
LsSelectMenu.style = lsSelectMenuCss();
|
|
366
366
|
|
|
367
|
-
const version = "1.0.
|
|
367
|
+
const version = "1.0.2";
|
|
368
368
|
|
|
369
369
|
const lsStatusbarCss = () => `:host{position:absolute;z-index:1000;left:23.625rem;right:0.5rem;bottom:1rem;display:flex;flex-direction:row;gap:0.5rem;align-items:end;justify-content:space-between;height:2.25rem;overflow:visible}:host(.ls-dv-statusbar-preview){left:0;right:0;justify-content:center}.ls-dv-status-bar-group{display:flex;flex-direction:row;gap:0.5rem;align-items:end}.ls-dv-controls-bar{display:flex;flex-direction:row;background-color:white;border:1px solid var(--gray-30, #e0e2e5);box-shadow:0px 4px 16px rgba(0, 0, 0, 0.1);border-radius:1.125rem;height:fit-content}.ls-dv-page-nav{margin-left:-6rem;position:relative}:host(.ls-dv-statusbar-preview) .ls-dv-page-nav{margin-left:0}*{margin:0;padding:0;box-sizing:border-box}.ls-dv-status-bar-section{display:flex;flex-direction:row;align-items:center;gap:0.625rem;padding:0 0.625rem;height:2.25rem}.ls-dv-controls-bar>:not(:nth-child(1)){border-left:1px solid var(--gray-30, #e0e2e5)}button{border:0}button:hover{color:var(--gray-100, #45484d);border-radius:0.625rem}button:disabled{color:var(--gray-40, #d8d9dc);cursor:not-allowed}input[type=range]{-webkit-appearance:none;width:100%;height:0.5rem;background:var(--gray-20, #edeff2);border-radius:0.25rem;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0.5rem;height:0.5rem;background:var(--gray-70, #939599);border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:0.5rem;height:0.5rem;background:var(--gray-70, #939599);border:none;border-radius:50%;cursor:pointer}input[type=range]::-moz-range-track{background:var(--gray-20, #edeff2);height:0.5rem;border-radius:0.25rem}input[type=range]::-webkit-slider-runnable-track{background:var(--gray-20, #edeff2);height:0.5rem;border-radius:0.25rem}p{color:var(--gray-80, #6f7176);font-family:var(--font-family);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height)}span{color:var(--gray-80, #6f7176);font-family:var(--font-family);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height)}a{color:var(--primary-60, #4456f6);font-size:var(--text-sm);font-style:normal;font-weight:400;line-height:var(--text-sm-line-height);cursor:pointer}a:hover{text-decoration:underline;color:var(--primary-70, #2134dc)}.ls-dv-button-link,.ls-dv-button-link:hover{all:unset}select{appearance:none;height:2.25rem}.ls-dv-input-wrapper{position:relative;width:fit-content}#selectorIcon{position:absolute;top:50%;right:0.675rem;transform:translateY(-50%);pointer-events:none;color:var(--gray-80, #6f7176)}#selectLeadingIcon{position:absolute;top:50%;left:0.675rem;transform:translateY(-50%);pointer-events:none;color:var(--gray-80, #6f7176)}.ls-dv-has-leading-icon{padding-left:2.5rem}button{all:unset;border:0;appearance:button;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--gray-80, #6f7176);text-transform:capitalize}button.ls-dv-tertiary-grey:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-button-group{display:flex;border-radius:0.625rem;border:1px solid var(--gray-30, #e0e2e5);background:var(--white, #ffffff);overflow:clip}.ls-dv-button-group button{display:flex;background:transparent;border-radius:unset;padding:0.25rem 0.75rem;min-width:2.156rem;min-height:unset;color:var(--gray-80, #6f7176)}.ls-dv-button-group button:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-button-group>:first-child{border-radius:0.625rem 0 0 0.625rem}.ls-dv-button-group>:last-child{border-radius:0 0.5rem 0.5rem 0}.ls-dv-button-group>:not(:first-child){border-left:1px solid var(--gray-30, #e0e2e5)}.ls-dv-zoom-level-btn{font-family:var(--font-family);font-size:var(--text-sm);font-weight:400;color:var(--gray-80, #6f7176);padding:0.25rem 0.375rem;border-radius:0.25rem;margin:0 -0.25rem}.ls-dv-zoom-level-btn:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-zoom-menu{position:absolute;width:6rem;bottom:3rem;left:1rem;background:white;border:1px solid var(--gray-30, #e0e2e5);border-radius:1rem;box-shadow:0px 4px 24px rgba(0, 0, 0, 0.12);padding:0.25rem;z-index:1001;display:flex;flex-direction:column;gap:0.25rem}.ls-dv-page-menu{left:auto;max-height:60cqh;overflow-y:auto}.ls-dv-zoom-menu-item{position:relative;font-family:var(--font-family);font-size:var(--text-sm);font-weight:400;color:var(--gray-80, #6f7176);padding:0.375rem 0.625rem;border-radius:0.825rem;display:flex;align-items:center;justify-content:space-between}.ls-dv-zoom-menu-item:hover{background:var(--gray-10, #f7f8fa)}.ls-dv-zoom-menu-item.active{font-weight:500;color:var(--primary-70, #2134dc);background:var(--primary-10, #eff4ff)}.ls-dv-thumbnail-popover{position:absolute;bottom:3rem;right:-3rem;background:white;border:1px solid var(--gray-30, #e0e2e5);border-radius:1.75rem;box-shadow:0px 8px 24px rgba(0, 0, 0, 0.15);padding:0.75rem;z-index:1001;max-height:80cqh;overflow:hidden;display:flex;flex-direction:column}.ls-dv-thumbnail-grid{background:var(--gray-10, #f7f8fa);padding:0.75rem;border-radius:1rem;border:1px solid var(--gray-30, #e0e2e5);display:grid;grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));gap:1rem;overflow-y:auto;max-height:100%}.ls-dv-thumbnail-wrapper{display:flex;flex-direction:column;align-items:center;gap:0.25rem;cursor:pointer}.ls-dv-thumbnail-wrapper>span:last-child{font-size:var(--text-xs, 0.75rem);color:var(--gray-80, #6f7176);font-weight:500}.ls-dv-thumbnail{border:1px solid var(--gray-30, #e0e2e5);border-radius:0.5rem;cursor:pointer;transition:border-color 0.15s}.ls-dv-thumbnail:hover{border-color:var(--primary-40, #79adfc);box-shadow:0 0 0 2px rgba(163, 180, 249, 0.3)}.ls-dv-thumbnail.active{border-color:var(--primary-60, #4456f6);outline:0.25rem solid var(--primary-30, #9dc3fc);box-shadow:var(--shadow-md)}.ls-dv-thumbnail-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;margin-top:0.25rem}.ls-dv-thumbnail-dot{width:0.5rem;height:0.5rem;border-radius:50%;display:inline-block;border:2px solid var(--dot-color-60);background-color:var(--dot-color-40);cursor:pointer;transition:background-color 0.15s, border-color 0.15s}.ls-dv-thumbnail-dot:hover{background-color:var(--dot-color-60);border-color:var(--dot-color-70)}.ls-dv-version{position:absolute;bottom:100%;right:0;color:var(--gray-50, #afb0b2);font-size:0.625rem;padding-bottom:0.25rem;display:none}:host(.ls-dv-statusbar-preview) .ls-dv-version{display:block;bottom:-1.25rem;right:-0.5rem}`;
|
|
370
370
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, a as getElement, h, H as Host } from './index-CItPoq74.js';
|
|
2
2
|
import { d as dvI18n } from './i18n-WVWIAGo_.js';
|
|
3
|
-
import { o as oob, m as moveField, u as updateTemplate, r as recalculateCoordinates, s as syncRoles, b as matchData,
|
|
3
|
+
import { o as oob, m as moveField, u as updateTemplate, r as recalculateCoordinates, s as syncRoles, b as matchData, v as validate, g as getInputType, c as getApiType, d as addField, e as getTemplate } from './editorUtils-DcBt3fOj.js';
|
|
4
4
|
import { D as DEFAULT_FONT_SIZE$1, a as DEFAULT_FONT_NAME, F as FIELD_DEFAULTS } from './fieldDefaults-04cXI5GQ.js';
|
|
5
5
|
import { c as copySelected, a as cutSelected, p as pasteClipboard, u as updateSelectionBox, t as toolboxDragStart, m as mouseClick, b as mouseDown, d as mouseMove, e as mouseUp, f as mouseDoubleClick } from './mouseHandlers-CUHWhJed.js';
|
|
6
6
|
import { r as redo, a as undo, b as recordMutations } from './history-xqZBqrca.js';
|
|
@@ -30788,7 +30788,12 @@ const LsDocumentViewer = class {
|
|
|
30788
30788
|
}
|
|
30789
30789
|
matchData.bind(this)(result);
|
|
30790
30790
|
})
|
|
30791
|
-
.then(() => this.syncChange(me))
|
|
30791
|
+
.then(() => this.syncChange(me))
|
|
30792
|
+
.catch(() => {
|
|
30793
|
+
// Revalidate against current template state on API failure
|
|
30794
|
+
this.validationErrors = validate.bind(this)(this._template);
|
|
30795
|
+
this.validate.emit({ valid: this.validationErrors.length === 0, errors: this.validationErrors });
|
|
30796
|
+
}));
|
|
30792
30797
|
Promise.all(promises).finally(() => {
|
|
30793
30798
|
requestAnimationFrame(() => {
|
|
30794
30799
|
this.isMutating = false;
|
|
@@ -30822,6 +30827,19 @@ const LsDocumentViewer = class {
|
|
|
30822
30827
|
}
|
|
30823
30828
|
}
|
|
30824
30829
|
}
|
|
30830
|
+
// Optimistic validation: run validate against a temp template with the updated element
|
|
30831
|
+
const optimisticTemplate = {
|
|
30832
|
+
...this._template,
|
|
30833
|
+
elementConnection: {
|
|
30834
|
+
...this._template.elementConnection,
|
|
30835
|
+
templateElements: this._template.elementConnection.templateElements.map(el => {
|
|
30836
|
+
const updated = details.find(d => d.action === 'update' && d.data?.id === el.id);
|
|
30837
|
+
return updated ? { ...el, ...updated.data } : el;
|
|
30838
|
+
}),
|
|
30839
|
+
},
|
|
30840
|
+
};
|
|
30841
|
+
this.validationErrors = validate.bind(this)(optimisticTemplate);
|
|
30842
|
+
this.validate.emit({ valid: this.validationErrors.length === 0, errors: this.validationErrors });
|
|
30825
30843
|
}
|
|
30826
30844
|
handleFieldTypeSelected(event) {
|
|
30827
30845
|
const fields = this.component.shadowRoot.querySelectorAll('ls-toolbox-field');
|
|
@@ -31355,12 +31373,12 @@ const LsDocumentViewer = class {
|
|
|
31355
31373
|
return false;
|
|
31356
31374
|
}
|
|
31357
31375
|
render() {
|
|
31358
|
-
return (h(Host, { key: '
|
|
31376
|
+
return (h(Host, { key: '4d4c75a54c91e7273c430d8c2b282baa73df1e00' }, h(h.Fragment, null, this.isLoading && (h(h.Fragment, null, h("div", { key: '16fddb4381e60acd21ccb788f7384d462c9842f4', class: 'ls-dv-page-loader' }, h("ls-loading-logo", { key: '06f725f8d84b42705fc4ddd3fd30cd1b0080f0b6', size: 200, colour: "var(--primary-60)" })), h("div", { key: '4111150eb3477de0f4009ed9a1804e1e64462912', class: 'ls-dv-custom-loader-slot' }, h("slot", { key: '78000f2316bce8a385b569e01ff8f588d77b37a2', name: "custom-loader" })), this.mode === 'compose' && h("ls-compose-loader", { key: 'f4db44ff52abffca9e085e165e6efd8cd5cae9ad' }))), this.error && (h("div", { key: '1dba9f3d2b69fbcc148bd788260bbd5bbf0833eb', class: "ls-dv-error-state" }, h("div", { key: '58c86e02e48c7114aa3dce362716591638ac1cb0', class: "ls-dv-error-card" }, h("ls-icon", { key: '340716a3374fcb4001079280ca02d0c9ff7f449b', name: "exclamation-circle-icon", size: 32, style: { color: 'var(--red-60, #dc2626)' } }), h("p", { key: '52948097994a8a4f838303b851a5b0e2470cb2de', class: "ls-dv-error-title" }, this.errorTitle), h("p", { key: '75d191ca2ff7fe750dd0fe330cdde575971f95b2', class: "ls-dv-error-message" }, this.error)))), h("div", { key: 'f5ff447ed5f8b0609aec7adc244c2fa1ee78f6e5', class: "ls-dv-page-header" }, h("div", { key: 'a01d517df7980287605cf8efc2aa4e6668c59173', class: 'ls-dv-left-slot-wrapper' }, h("slot", { key: '8aacd47986783c01bf8c1d593ce5bd1142facfc5', name: "left-button" })), h("div", { key: 'b9e9245183f497757d3684ab25bd52279b2d0bf0', class: 'ls-dv-right-slot-wrapper' }, h("slot", { key: '7ce7e1b8449cee24a8fa6f99645b98f1ec67f4f3', name: "right-button" })), this.mode === 'editor' && (h("div", { key: '7ae7ab56697b25a04fadb171be58efa32124a480' }, h("span", { key: '7653b69dd162c49a0d87fe4584204f759bde97fc', class: "ls-dv-header-text-1" }, dvI18n.t('viewer.templatecreation')), h("span", { key: '91225711049bfbb4bfd42b1c3ba4fffbfb8913b7' }, "/"), h("span", { key: 'f4fcda04089ccdf5cc86999ba399a5017ea461e3', class: "ls-dv-header-text-2" }, this._template?.title))), this.mode === 'compose' && (h("div", { key: '6bfa21d0e4c80395e1e6477074cdc0d989f12a1d', style: { display: 'flex', alignItems: 'center', gap: '0.25rem' } }, h("slot", { key: '2a749c7fbd2f89e2bdba59b3a627be3decca9b1e', name: "top-bar" })))), h("form", { key: '436b84d724bef775dbe8e60abcfd3b1b6223b915', id: "ls-editor-form" }, h("ls-left-bar", { key: 'ee19abe6108dbae2ee8348a4a98ccb74c5ae72d4', mode: this.mode, selected: this.selected, manager: this.manager, signer: this.signer, filtertoolbox: this.filtertoolbox, template: this._template, recipients: this._recipients, validationErrors: this.validationErrors, fieldTypeSelected: this.fieldTypeSelected, displayTable: this.displayTable, selectedDataItems: this.selectedDataItems, busy: this.isMutating, onManagerChange: e => this.handleManagerChange(e.detail), onClearSelected: () => {
|
|
31359
31377
|
this.unselect();
|
|
31360
31378
|
const toolbar = this.component.shadowRoot.getElementById('ls-toolbar');
|
|
31361
31379
|
if (toolbar)
|
|
31362
31380
|
toolbar.dataItem = [];
|
|
31363
|
-
} }, h("slot", { key: '
|
|
31381
|
+
} }, h("slot", { key: '7da43061411b20834f28e6149bd1508d227ae4b9', name: "recipient-panel", slot: "recipient-panel" })), h("ls-toolbar", { key: 'fb6b389c2c3d75eac4ff2b802ee0bd0728a7c7e1', id: "ls-toolbar", template: this._template, editor: this, groupInfo: this.groupInfo, mode: this.mode, signer: this.signer, selected: this.selected, pageNum: this.pageNum }), h("div", { key: 'd8bd7fd6b6fcc26887376c8762589a8cec26b8dc', id: "ls-mid-area" }, h("div", { key: '808c838b658d92d451592decf4b8113311e8d6cd', class: { 'ls-dv-document-frame-wrapper': true, 'ls-dv-document-frame-wrapper--preview': this.mode === 'preview' }, id: "document-frame-wrapper" }, h("div", { key: '2a3332e5d99adf1727527f297dadc1de7efbb9c0', id: "ls-document-frame" }, h("canvas", { key: 'de67fd9855263650465fb7c1f818bccb2d594d55', id: "pdf-canvas", class: this.displayTable || this.isLoading ? 'ls-dv-hidden' : '' }), h("ls-editor-table", { key: '9ab1d398e33a5e8e9743017b95b700a7b625d6ba', editor: this, class: this.displayTable ? '' : 'ls-dv-hidden' }), h("div", { key: 'ed7c0ace0a6b2defdee1dd2479bf3c53af89bb4a', id: "ls-box-selector" }), h("div", { key: '2f862b72b295be46c2220dc159150b3531db20f0', id: "ls-drag-selector" }), this.mode !== 'preview' && !this._template?.locked && !this.isLoading && this._template?.elementConnection?.templateElements?.length > 0 && (h("ls-select-menu", { key: '6d8417c85f3dd9119089408b7735f50075e0048f', class: "ls-dv-select-menu-position", selected: this.selected, pageNum: this.pageNum, editor: this })), this.mode !== 'preview' && !this._template?.locked && !this.isLoading && this._template?.elementConnection?.templateElements?.length > 0 && (h("ls-select-menu", { key: 'c57c5e3c6a199426a3d1884aebca895adf6be195', class: "ls-dv-select-menu-floating", selected: this.selected, pageNum: this.pageNum, editor: this, floating: true })))), h("ls-statusbar", { key: 'f5987ae88a446e19a54c051ed7b0d420ce62e739', editor: this, page: this.pageNum, pageCount: this.pageCount, mode: this.mode }), this.mode === 'editor' && (h("div", { key: '37f5e0db9b1a55b1d8bde72de1dcaec584b99b8c', class: 'ls-dv-validation-tag-wrapper' }, h("ls-validation-tag", { key: '9494671b07d6542111b42c05908a5f1c150daa83', validationErrors: this.validationErrors }), h("slot", { key: '80e799322771024181781da6cf268ff0986cdfef', name: "next-button" })))))), h("ls-tooltip", { key: 'e13794838bb1484beb2c0b4bee1647b66e144042', tooltipId: "ls-dv-tooltip" })));
|
|
31364
31382
|
}
|
|
31365
31383
|
static get watchers() { return {
|
|
31366
31384
|
"language": ["languageChanged"],
|