|  |  | @ -57,7 +57,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             <span class="relative"> |  |  |  |             <span class="relative"> | 
			
		
	
		
		
			
				
					
					|  |  |  |               <select |  |  |  |               <select | 
			
		
	
		
		
			
				
					
					|  |  |  |                 class="select input-bordered bg-white select-sm text-center pl-2" |  |  |  |                 class="select input-bordered bg-white select-sm text-center pl-2" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 style="font-size: 16px; width: 86px; text-align-last: center;" |  |  |  |                 style="font-size: 16px; line-height: 12px; width: 86px; text-align-last: center;" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 @change="$event.target.value ? preferences.font_size = parseInt($event.target.value) : delete preferences.font_size" |  |  |  |                 @change="$event.target.value ? preferences.font_size = parseInt($event.target.value) : delete preferences.font_size" | 
			
		
	
		
		
			
				
					
					|  |  |  |               > |  |  |  |               > | 
			
		
	
		
		
			
				
					
					|  |  |  |                 <option |  |  |  |                 <option | 
			
		
	
	
		
		
			
				
					|  |  | @ -77,12 +77,12 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |               </select> |  |  |  |               </select> | 
			
		
	
		
		
			
				
					
					|  |  |  |               <span |  |  |  |               <span | 
			
		
	
		
		
			
				
					
					|  |  |  |                 class="border-l pl-1.5 absolute bg-white bottom-0 pointer-events-none text-sm h-5" |  |  |  |                 class="border-l pl-1.5 absolute bg-white bottom-0 pointer-events-none text-sm h-5" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 style="right: 13px; top: 7px" |  |  |  |                 style="right: 13px; top: 6px" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               > |  |  |  |               > | 
			
		
	
		
		
			
				
					
					|  |  |  |                 pt |  |  |  |                 pt | 
			
		
	
		
		
			
				
					
					|  |  |  |               </span> |  |  |  |               </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |             </span> |  |  |  |             </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |             <span> |  |  |  |             <span class="flex"> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               <div |  |  |  |               <div | 
			
		
	
		
		
			
				
					
					|  |  |  |                 class="join" |  |  |  |                 class="join" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 style="height: 32px" |  |  |  |                 style="height: 32px" | 
			
		
	
	
		
		
			
				
					|  |  | @ -98,7 +98,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 </button> |  |  |  |                 </button> | 
			
		
	
		
		
			
				
					
					|  |  |  |               </div> |  |  |  |               </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |             </span> |  |  |  |             </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |             <span> |  |  |  |             <span class="flex"> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               <div |  |  |  |               <div | 
			
		
	
		
		
			
				
					
					|  |  |  |                 class="join" |  |  |  |                 class="join" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 style="height: 32px" |  |  |  |                 style="height: 32px" | 
			
		
	
	
		
		
			
				
					|  |  | @ -114,6 +114,32 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 </button> |  |  |  |                 </button> | 
			
		
	
		
		
			
				
					
					|  |  |  |               </div> |  |  |  |               </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |             </span> |  |  |  |             </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             <span class="flex"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <div class="dropdown modal-field-font-dropdown"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 <label | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   tabindex="0" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   class="cursor-pointer flex bg-white border input-bordered rounded-md h-8 items-center justify-center px-1" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   style="-webkit-appearance: none; -moz-appearance: none;" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   <component :is="valigns.find((v) => v.value === (preferences.valign || 'center'))?.icon" /> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 </label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 <div | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   tabindex="0" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   class="dropdown-content p-0 mt-1 block z-10 menu shadow bg-white border border-base-300 rounded-md" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   <div | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     v-for="(valign, index) in valigns" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     :key="index" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     :value="valign.value" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     :class="{ 'bg-base-300': preferences.valign == valign.value }" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     class="hover:bg-base-300 px-2 py-1.5 cursor-pointer" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     @click="[valign.value ? preferences.valign = valign.value : delete preferences.valign, closeDropdown()]" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     <component :is="valign.icon" /> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |             <span> |  |  |  |             <span> | 
			
		
	
		
		
			
				
					
					|  |  |  |               <select |  |  |  |               <select | 
			
		
	
		
		
			
				
					
					|  |  |  |                 class="input input-bordered bg-white input-sm text-lg rounded-md" |  |  |  |                 class="input input-bordered bg-white input-sm text-lg rounded-md" | 
			
		
	
	
		
		
			
				
					|  |  | @ -134,7 +160,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |         </div> |  |  |  |         </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <div class="mt-4"> |  |  |  |         <div class="mt-4"> | 
			
		
	
		
		
			
				
					
					|  |  |  |           <div |  |  |  |           <div | 
			
		
	
		
		
			
				
					
					|  |  |  |             class="flex items-center border border-base-content/20 rounded-xl bg-white px-4 h-16 modal-field-font-preview" |  |  |  |             class="flex border border-base-content/20 rounded-xl bg-white px-4 h-16 modal-field-font-preview" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             :style="{ |  |  |  |             :style="{ | 
			
		
	
		
		
			
				
					
					|  |  |  |               color: preferences.color || 'black', |  |  |  |               color: preferences.color || 'black', | 
			
		
	
		
		
			
				
					
					|  |  |  |               fontSize: (preferences.font_size || 12) + 'pt', |  |  |  |               fontSize: (preferences.font_size || 12) + 'pt', | 
			
		
	
	
		
		
			
				
					|  |  | @ -163,7 +189,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | </template> |  |  |  | </template> | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | <script> |  |  |  | <script> | 
			
		
	
		
		
			
				
					
					|  |  |  | import { IconChevronDown, IconBold, IconItalic, IconAlignLeft, IconAlignRight, IconAlignCenter } from '@tabler/icons-vue' |  |  |  | import { IconChevronDown, IconBold, IconItalic, IconAlignLeft, IconAlignRight, IconAlignCenter, IconAlignBoxCenterTop, IconAlignBoxCenterBottom, IconAlignBoxCenterMiddle } from '@tabler/icons-vue' | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export default { |  |  |  | export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |   name: 'FontModal', |  |  |  |   name: 'FontModal', | 
			
		
	
	
		
		
			
				
					|  |  | @ -213,6 +239,13 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |         { icon: IconAlignRight, value: 'right' } |  |  |  |         { icon: IconAlignRight, value: 'right' } | 
			
		
	
		
		
			
				
					
					|  |  |  |       ] |  |  |  |       ] | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     valigns () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       return [ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         { icon: IconAlignBoxCenterTop, value: 'top' }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         { icon: IconAlignBoxCenterMiddle, value: 'center' }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         { icon: IconAlignBoxCenterBottom, value: 'bottom' } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       ] | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     sizes () { |  |  |  |     sizes () { | 
			
		
	
		
		
			
				
					
					|  |  |  |       return [...Array(23).keys()].map(i => i + 6) |  |  |  |       return [...Array(23).keys()].map(i => i + 6) | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
	
		
		
			
				
					|  |  | @ -230,12 +263,15 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |         'justify-center': this.preferences.align === 'center', |  |  |  |         'justify-center': this.preferences.align === 'center', | 
			
		
	
		
		
			
				
					
					|  |  |  |         'justify-start': this.preferences.align === 'left', |  |  |  |         'justify-start': this.preferences.align === 'left', | 
			
		
	
		
		
			
				
					
					|  |  |  |         'justify-end': this.preferences.align === 'right', |  |  |  |         'justify-end': this.preferences.align === 'right', | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         'items-center': !this.preferences.valign || this.preferences.valign === 'center', | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         'items-start': this.preferences.valign === 'top', | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         'items-end': this.preferences.valign === 'bottom', | 
			
		
	
		
		
			
				
					
					|  |  |  |         'font-bold': ['bold_italic', 'bold'].includes(this.preferences.font_type), |  |  |  |         'font-bold': ['bold_italic', 'bold'].includes(this.preferences.font_type), | 
			
		
	
		
		
			
				
					
					|  |  |  |         italic: ['bold_italic', 'italic'].includes(this.preferences.font_type) |  |  |  |         italic: ['bold_italic', 'italic'].includes(this.preferences.font_type) | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     keys () { |  |  |  |     keys () { | 
			
		
	
		
		
			
				
					
					|  |  |  |       return ['font_type', 'font_size', 'color', 'align', 'font'] |  |  |  |       return ['font_type', 'font_size', 'color', 'align', 'valign', 'font'] | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   created () { |  |  |  |   created () { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |