legalesign-document-viewer 1.0.2 → 1.0.3

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.
Files changed (89) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/ls-add-new-button_20.cjs.entry.js +1 -7
  3. package/dist/cjs/ls-assignee-select_21.cjs.entry.js +17 -13
  4. package/dist/cjs/ls-compose-loader_7.cjs.entry.js +1 -1
  5. package/dist/cjs/ls-document-viewer.cjs.entry.js +6 -2
  6. package/dist/cjs/ls-document-viewer.cjs.js +1 -1
  7. package/dist/collection/components/ls-document-options/ls-document-options.js +1 -10
  8. package/dist/collection/components/ls-document-options/ls-document-options.js.map +1 -1
  9. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +6 -2
  10. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
  11. package/dist/collection/components/ls-editor-field/ls-editor-field.js +9 -10
  12. package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
  13. package/dist/collection/components/ls-field-content/ls-field-content.js +8 -3
  14. package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
  15. package/dist/components/ls-document-options.js +1 -1
  16. package/dist/components/ls-document-viewer.js +22 -18
  17. package/dist/components/ls-document-viewer.js.map +1 -1
  18. package/dist/components/ls-editor-field.js +1 -1
  19. package/dist/components/ls-field-content.js +1 -1
  20. package/dist/components/ls-field-distribute.js +1 -1
  21. package/dist/components/ls-field-properties-checkbox.js +1 -1
  22. package/dist/components/ls-field-properties-date.js +1 -1
  23. package/dist/components/ls-field-properties-dropdown.js +2 -2
  24. package/dist/components/ls-field-properties-email.js +1 -1
  25. package/dist/components/ls-field-properties-file.js +1 -1
  26. package/dist/components/ls-field-properties-general.js +1 -1
  27. package/dist/components/ls-field-properties-multiple.js +1 -1
  28. package/dist/components/ls-field-properties-number.js +1 -1
  29. package/dist/components/ls-field-properties-signature.js +1 -1
  30. package/dist/components/ls-field-properties-text.js +1 -1
  31. package/dist/components/ls-field-properties.js +1 -1
  32. package/dist/components/ls-left-bar.js +1 -1
  33. package/dist/components/ls-statusbar.js +1 -1
  34. package/dist/components/{p-BJ7fvXXf.js → p-BCwakozA.js} +3 -3
  35. package/dist/components/{p-BJ7fvXXf.js.map → p-BCwakozA.js.map} +1 -1
  36. package/dist/components/{p-1ayYzye1.js → p-BN_BZ9eU.js} +4 -4
  37. package/dist/components/{p-1ayYzye1.js.map → p-BN_BZ9eU.js.map} +1 -1
  38. package/dist/components/{p-fd9JyL4S.js → p-BvZKfSxt.js} +4 -4
  39. package/dist/components/{p-fd9JyL4S.js.map → p-BvZKfSxt.js.map} +1 -1
  40. package/dist/components/{p-Dy-dPxzq.js → p-BzEVOvpL.js} +4 -4
  41. package/dist/components/{p-Dy-dPxzq.js.map → p-BzEVOvpL.js.map} +1 -1
  42. package/dist/components/{p-CxWGojFs.js → p-CLklwQ7z.js} +3 -11
  43. package/dist/components/p-CLklwQ7z.js.map +1 -0
  44. package/dist/components/{p-CvMzUIlC.js → p-CU_v-klT.js} +11 -12
  45. package/dist/components/{p-CvMzUIlC.js.map → p-CU_v-klT.js.map} +1 -1
  46. package/dist/components/{p-CbORhuHl.js → p-Ce1yNs3F.js} +14 -14
  47. package/dist/components/{p-CbORhuHl.js.map → p-Ce1yNs3F.js.map} +1 -1
  48. package/dist/components/{p-BEhTmCBW.js → p-Cue0UgwB.js} +4 -4
  49. package/dist/components/{p-BEhTmCBW.js.map → p-Cue0UgwB.js.map} +1 -1
  50. package/dist/components/{p-C3xBvNXU.js → p-Cwf28UAj.js} +16 -16
  51. package/dist/components/{p-C3xBvNXU.js.map → p-Cwf28UAj.js.map} +1 -1
  52. package/dist/components/{p-CmsA9-sZ.js → p-D7o_Ls97.js} +4 -4
  53. package/dist/components/{p-CmsA9-sZ.js.map → p-D7o_Ls97.js.map} +1 -1
  54. package/dist/components/{p-D1yC5psL.js → p-DP3FTRHD.js} +4 -4
  55. package/dist/components/{p-D1yC5psL.js.map → p-DP3FTRHD.js.map} +1 -1
  56. package/dist/components/{p-CeO915wm.js → p-DVfpfKI7.js} +4 -4
  57. package/dist/components/{p-CeO915wm.js.map → p-DVfpfKI7.js.map} +1 -1
  58. package/dist/components/{p-DNx0Ngpa.js → p-VFHHgnl2.js} +11 -6
  59. package/dist/components/p-VFHHgnl2.js.map +1 -0
  60. package/dist/components/{p-8hWonZD4.js → p-dLpaJicA.js} +4 -4
  61. package/dist/components/{p-8hWonZD4.js.map → p-dLpaJicA.js.map} +1 -1
  62. package/dist/components/{p-BbLFuN1Q.js → p-thlkOeP_.js} +3 -3
  63. package/dist/components/{p-BbLFuN1Q.js.map → p-thlkOeP_.js.map} +1 -1
  64. package/dist/components/{p-CgqKV0xf.js → p-xSOFT8uc.js} +4 -4
  65. package/dist/components/{p-CgqKV0xf.js.map → p-xSOFT8uc.js.map} +1 -1
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/esm/ls-add-new-button_20.entry.js +1 -7
  68. package/dist/esm/ls-assignee-select_21.entry.js +17 -13
  69. package/dist/esm/ls-compose-loader_7.entry.js +1 -1
  70. package/dist/esm/ls-document-viewer.entry.js +6 -2
  71. package/dist/esm/ls-document-viewer.entry.js.map +1 -1
  72. package/dist/esm/ls-document-viewer.js +1 -1
  73. package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
  74. package/dist/ls-document-viewer/{p-762b88d0.entry.js → p-0340d8ac.entry.js} +2 -2
  75. package/dist/ls-document-viewer/{p-762b88d0.entry.js.map → p-0340d8ac.entry.js.map} +1 -1
  76. package/dist/ls-document-viewer/{p-a27532c9.entry.js → p-af95c17c.entry.js} +2 -2
  77. package/dist/ls-document-viewer/p-ba48b708.entry.js +2 -0
  78. package/dist/ls-document-viewer/p-ba48b708.entry.js.map +1 -0
  79. package/dist/ls-document-viewer/p-d5c42d5f.entry.js +2 -0
  80. package/dist/ls-document-viewer/p-d5c42d5f.entry.js.map +1 -0
  81. package/dist/types/components/ls-document-options/ls-document-options.d.ts +0 -1
  82. package/package.json +1 -1
  83. package/dist/components/p-CxWGojFs.js.map +0 -1
  84. package/dist/components/p-DNx0Ngpa.js.map +0 -1
  85. package/dist/ls-document-viewer/p-3918ae76.entry.js +0 -2
  86. package/dist/ls-document-viewer/p-3918ae76.entry.js.map +0 -1
  87. package/dist/ls-document-viewer/p-c56fd5ed.entry.js +0 -2
  88. package/dist/ls-document-viewer/p-c56fd5ed.entry.js.map +0 -1
  89. /package/dist/ls-document-viewer/{p-a27532c9.entry.js.map → p-af95c17c.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { L as LsEditorField$1, d as defineCustomElement$1 } from './p-CvMzUIlC.js';
1
+ import { L as LsEditorField$1, d as defineCustomElement$1 } from './p-CU_v-klT.js';
2
2
 
3
3
  const LsEditorField = LsEditorField$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldContent$1, d as defineCustomElement$1 } from './p-DNx0Ngpa.js';
1
+ import { L as LsFieldContent$1, d as defineCustomElement$1 } from './p-VFHHgnl2.js';
2
2
 
3
3
  const LsFieldContent = LsFieldContent$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldDistribute$1, d as defineCustomElement$1 } from './p-BbLFuN1Q.js';
1
+ import { L as LsFieldDistribute$1, d as defineCustomElement$1 } from './p-thlkOeP_.js';
2
2
 
3
3
  const LsFieldDistribute = LsFieldDistribute$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesCheckbox$1, d as defineCustomElement$1 } from './p-CeO915wm.js';
1
+ import { L as LsFieldPropertiesCheckbox$1, d as defineCustomElement$1 } from './p-DVfpfKI7.js';
2
2
 
3
3
  const LsFieldPropertiesCheckbox = LsFieldPropertiesCheckbox$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesDate$1, d as defineCustomElement$1 } from './p-CmsA9-sZ.js';
1
+ import { L as LsFieldPropertiesDate$1, d as defineCustomElement$1 } from './p-D7o_Ls97.js';
2
2
 
3
3
  const LsFieldPropertiesDate = LsFieldPropertiesDate$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,8 +1,8 @@
1
1
  import { t as transformTag, p as proxyCustomElement, H, h, a as Host } from './p-DIvmRYeB.js';
2
2
  import { d as defineCustomElement$o } from './p-CgoyKNia.js';
3
3
  import { d as defineCustomElement$n } from './p-PwhF9_IW.js';
4
- import { d as defineCustomElement$m } from './p-CvMzUIlC.js';
5
- import { d as defineCustomElement$l } from './p-DNx0Ngpa.js';
4
+ import { d as defineCustomElement$m } from './p-CU_v-klT.js';
5
+ import { d as defineCustomElement$l } from './p-VFHHgnl2.js';
6
6
  import { d as defineCustomElement$k } from './p-DkV1l_zw.js';
7
7
  import { d as defineCustomElement$j } from './p-CSxx3aLG.js';
8
8
  import { d as defineCustomElement$i } from './p-Dab8K5mi.js';
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesEmail$1, d as defineCustomElement$1 } from './p-fd9JyL4S.js';
1
+ import { L as LsFieldPropertiesEmail$1, d as defineCustomElement$1 } from './p-BvZKfSxt.js';
2
2
 
3
3
  const LsFieldPropertiesEmail = LsFieldPropertiesEmail$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesFile$1, d as defineCustomElement$1 } from './p-D1yC5psL.js';
1
+ import { L as LsFieldPropertiesFile$1, d as defineCustomElement$1 } from './p-DP3FTRHD.js';
2
2
 
3
3
  const LsFieldPropertiesFile = LsFieldPropertiesFile$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesGeneral$1, d as defineCustomElement$1 } from './p-CgqKV0xf.js';
1
+ import { L as LsFieldPropertiesGeneral$1, d as defineCustomElement$1 } from './p-xSOFT8uc.js';
2
2
 
3
3
  const LsFieldPropertiesGeneral = LsFieldPropertiesGeneral$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesMultiple$1, d as defineCustomElement$1 } from './p-1ayYzye1.js';
1
+ import { L as LsFieldPropertiesMultiple$1, d as defineCustomElement$1 } from './p-BN_BZ9eU.js';
2
2
 
3
3
  const LsFieldPropertiesMultiple = LsFieldPropertiesMultiple$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesNumber$1, d as defineCustomElement$1 } from './p-BEhTmCBW.js';
1
+ import { L as LsFieldPropertiesNumber$1, d as defineCustomElement$1 } from './p-Cue0UgwB.js';
2
2
 
3
3
  const LsFieldPropertiesNumber = LsFieldPropertiesNumber$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesSignature$1, d as defineCustomElement$1 } from './p-8hWonZD4.js';
1
+ import { L as LsFieldPropertiesSignature$1, d as defineCustomElement$1 } from './p-dLpaJicA.js';
2
2
 
3
3
  const LsFieldPropertiesSignature = LsFieldPropertiesSignature$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldPropertiesText$1, d as defineCustomElement$1 } from './p-Dy-dPxzq.js';
1
+ import { L as LsFieldPropertiesText$1, d as defineCustomElement$1 } from './p-BzEVOvpL.js';
2
2
 
3
3
  const LsFieldPropertiesText = LsFieldPropertiesText$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsFieldProperties$1, d as defineCustomElement$1 } from './p-CbORhuHl.js';
1
+ import { L as LsFieldProperties$1, d as defineCustomElement$1 } from './p-Ce1yNs3F.js';
2
2
 
3
3
  const LsFieldProperties = LsFieldProperties$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsLeftBar$1, d as defineCustomElement$1 } from './p-C3xBvNXU.js';
1
+ import { L as LsLeftBar$1, d as defineCustomElement$1 } from './p-Cwf28UAj.js';
2
2
 
3
3
  const LsLeftBar = LsLeftBar$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LsStatusbar$1, d as defineCustomElement$1 } from './p-BJ7fvXXf.js';
1
+ import { L as LsStatusbar$1, d as defineCustomElement$1 } from './p-BCwakozA.js';
2
2
 
3
3
  const LsStatusbar = LsStatusbar$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -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.2";
10
+ const version = "1.0.3";
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-BJ7fvXXf.js.map
342
+ //# sourceMappingURL=p-BCwakozA.js.map
343
343
 
344
- //# sourceMappingURL=p-BJ7fvXXf.js.map
344
+ //# sourceMappingURL=p-BCwakozA.js.map
@@ -1 +1 @@
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}
1
+ {"file":"p-BCwakozA.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,13 +1,13 @@
1
1
  import { t as transformTag, p as proxyCustomElement, H, c as createEvent, h, a as Host } from './p-DIvmRYeB.js';
2
2
  import { d as dvI18n } from './p-WVWIAGo_.js';
3
3
  import { g as getDefaultValidationForType, a as getFieldPlaceholder } from './p--oiqur2Y.js';
4
- import { d as defineCustomElement$l, v as validateFieldValue, a as validationTypes } from './p-CvMzUIlC.js';
4
+ import { d as defineCustomElement$l, v as validateFieldValue, a as validationTypes } from './p-CU_v-klT.js';
5
5
  import { f as forceCloseDatePicker } from './index.js';
6
6
  import { d as defineCustomElement$n } from './p-CgoyKNia.js';
7
7
  import { d as defineCustomElement$m } from './p-PwhF9_IW.js';
8
8
  import { d as defineCustomElement$k } from './p-DRDChAg6.js';
9
9
  import { d as defineCustomElement$j } from './p-DkV1l_zw.js';
10
- import { d as defineCustomElement$i } from './p-BbLFuN1Q.js';
10
+ import { d as defineCustomElement$i } from './p-thlkOeP_.js';
11
11
  import { d as defineCustomElement$h } from './p-CSxx3aLG.js';
12
12
  import { d as defineCustomElement$g } from './p-Dab8K5mi.js';
13
13
  import { d as defineCustomElement$f } from './p-C1SFI6sR.js';
@@ -524,6 +524,6 @@ function defineCustomElement() {
524
524
  defineCustomElement();
525
525
 
526
526
  export { LsFieldPropertiesMultiple as L, defineCustomElement as d };
527
- //# sourceMappingURL=p-1ayYzye1.js.map
527
+ //# sourceMappingURL=p-BN_BZ9eU.js.map
528
528
 
529
- //# sourceMappingURL=p-1ayYzye1.js.map
529
+ //# sourceMappingURL=p-BN_BZ9eU.js.map