File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/landing/ui/tool/auto_font_scale/dist/auto_font_scale.bundle.js.map
Back
{"version":3,"file":"auto_font_scale.bundle.js","sources":["../src/entry.js","../src/auto_font_scale.js"],"sourcesContent":["import {Dom, Type} from 'main.core';\n\nexport default class Entry\n{\n\tstatic STEP_SIZE_PERCENTS = 10;\n\n\tstatic MIN_SIZE = 12;\n\tstatic MIN_LINE_HEIGHT = 1.4;\n\tstatic MIN_LETTER_SPACING = 0;\n\n\telement: HTMLElement;\n\n\tstartSize: number;\n\tcurrentSize: number;\n\n\tletterSpacingRatio: number;\n\tcurrentLetterSpacing: number;\n\n\tstartLineHeight: number;\n\tcurrentLineHeight: number;\n\n\tprevWidth: number;\n\tmaxHeight: number = 0;\n\n\tintervalId: number;\n\n\tconstructor(element: HTMLElement)\n\t{\n\t\tthis.element = element;\n\n\t\tEntry.MIN_SIZE = 8;\n\t\tthis.startSize = parseInt(Dom.style(element, \"font-size\"));\n\t\tthis.currentSize = this.startSize;\n\n\t\tthis.letterSpacingRatio = Dom.style(element, \"letter-spacing\");\n\t\tthis.letterSpacingRatio = parseFloat(this.letterSpacingRatio) || 0;\n\t\tthis.letterSpacingRatio /= this.startSize;\n\t\tthis.currentLetterSpacing = Entry.MIN_LETTER_SPACING;\n\n\t\tthis.startLineHeight = parseFloat(Dom.style(element, \"line-height\"));\n\t\tthis.startLineHeight = Type.isNumber(this.startLineHeight)\n\t\t\t? (this.startLineHeight / this.startSize).toFixed(1)\n\t\t\t: Entry.MIN_LINE_HEIGHT;\n\t\tthis.currentLineHeight = this.startLineHeight;\n\n\t\tthis.prevWidth = this.element.clientWidth;\n\t\tthis.calcMaxHeight();\n\t}\n\n\t/**\n\t * Calculate max height by parent element\n\t */\n\tcalcMaxHeight()\n\t{\n\t\tthis.maxHeight = document.documentElement.clientHeight * 0.9;\n\t\tif (this.element.offsetParent)\n\t\t{\n\t\t\t// todo: need check parent height if it has, f.e. min-height: 75vh?\n\t\t\tthis.maxHeight = Math.min(this.maxHeight, this.element.offsetParent.clientHeight);\n\t\t}\n\t}\n\n\t/**\n\t * Resets font size style\n\t */\n\tresetSize()\n\t{\n\t\tthis.element.style.setProperty('font-size', null);\n\t\tthis.element.style.setProperty('letter-spacing', null);\n\t\tthis.element.style.setProperty('line-height', null);\n\n\t\tthis.currentSize = this.startSize;\n\t\tthis.currentLineHeight = this.startLineHeight;\n\t\tthis.currentLetterSpacing = this.letterSpacingRatio * this.startSize;\n\t}\n\n\t/**\n\t * Check needed and adjust\n\t */\n\tadjust()\n\t{\n\t\tthis.calcMaxHeight();\n\n\t\tif (this.isNeedDecrease())\n\t\t{\n\t\t\tthis.decreaseSize();\n\t\t}\n\t\telse if (this.isNeedIncrease())\n\t\t{\n\t\t\tthis.increaseSize();\n\t\t}\n\t}\n\n\t/**\n\t * Check if need decrease size\n\t * @return {boolean}\n\t */\n\tisNeedDecrease(): boolean\n\t{\n\t\treturn (\n\t\t\t(\n\t\t\t\tthis.element.scrollWidth > this.element.clientWidth\n\t\t\t\t|| this.element.offsetHeight > this.maxHeight\n\t\t\t)\n\t\t\t&& this.currentSize > Entry.MIN_SIZE\n\t\t);\n\t}\n\n\t/**\n\t * Decrease size step-by-step, until text is big\n\t */\n\tdecreaseSize(): void\n\t{\n\t\tlet newSize = this.currentSize - (this.currentSize * Entry.STEP_SIZE_PERCENTS / 100);\n\t\tnewSize = Math.floor(newSize);\n\t\tnewSize = Math.max(Entry.MIN_SIZE, newSize);\n\n\t\tif (this.currentSize !== newSize)\n\t\t{\n\t\t\tif (!this.intervalId)\n\t\t\t{\n\t\t\t\tthis.intervalId = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\tif (this.isNeedDecrease())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.decreaseSize();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.finishAdjust();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setFontSize(newSize);\n\t\t}\n\n\n\t}\n\n\t/**\n\t * Check if need increase size\n\t * @return {boolean}\n\t */\n\tisNeedIncrease(): boolean\n\t{\n\t\treturn (\n\t\t\t!this.isNeedDecrease()\n\t\t\t&& this.element.clientWidth > this.prevWidth\n\t\t\t&& (this.element.clientWidth - this.prevWidth) > this.element.clientWidth * Entry\n\t\t\t&& this.currentSize < this.startSize\n\t\t);\n\t}\n\n\t/**\n\t * Increase size step-by-step, until text is small\n\t */\n\tincreaseSize(): void\n\t{\n\t\tlet newSize = this.currentSize + (this.currentSize * Entry.STEP_SIZE_PERCENTS / (100 - Entry.STEP_SIZE_PERCENTS));\n\t\tnewSize = Math.ceil(newSize);\n\t\tnewSize = Math.min(this.startSize, newSize);\n\n\t\tif (this.currentSize !== newSize)\n\t\t{\n\t\t\tif (!this.intervalId)\n\t\t\t{\n\t\t\t\tthis.intervalId = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\tif (this.isNeedIncrease())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.increaseSize();\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.isNeedDecrease())\n\t\t\t\t\t{\n\t\t\t\t\t\t// one step correction if size big\n\t\t\t\t\t\tthis.decreaseSize();\n\t\t\t\t\t\tthis.finishAdjust();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.finishAdjust();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setFontSize(newSize);\n\t\t}\n\t}\n\n\t/**\n\t * Stop increase or decrease processing\n\t */\n\tfinishAdjust()\n\t{\n\t\tclearInterval(this.intervalId);\n\t\tthis.intervalId = null;\n\t\tthis.prevWidth = this.element.clientWidth;\n\t}\n\n\t/**\n\t * Set (if needed) new font size, calculate and set new letter spacing and line height\n\t * @param size\n\t */\n\tsetFontSize(size: number)\n\t{\n\t\tif (\n\t\t\tsize !== this.currentSize\n\t\t\t&& size <= this.startSize\n\t\t)\n\t\t{\n\t\t\tthis.currentSize = size;\n\t\t\tthis.element.style.setProperty('font-size', this.currentSize + \"px\", \"important\");\n\n\t\t\t// LINE HEIGHT correction\n\t\t\tif (this.startLineHeight > Entry.MIN_LINE_HEIGHT)\n\t\t\t{\n\t\t\t\tlet newLineHeight =\n\t\t\t\t\tEntry.MIN_LINE_HEIGHT\n\t\t\t\t\t+ ((this.startLineHeight - Entry.MIN_LINE_HEIGHT) * size / this.startSize)\n\t\t\t\t;\n\t\t\t\tnewLineHeight = newLineHeight.toFixed(1);\n\t\t\t\tnewLineHeight = Math.max(newLineHeight, Entry.MIN_LINE_HEIGHT);\n\n\t\t\t\tif (\n\t\t\t\t\tnewLineHeight <= this.startLineHeight\n\t\t\t\t\t&& newLineHeight !== this.currentLineHeight\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.element.style.setProperty('line-height', newLineHeight, \"important\");\n\t\t\t\t\tthis.currentLineHeight = newLineHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// LETTER SPACING correction\n\t\t\tif (this.letterSpacingRatio > Entry.MIN_LETTER_SPACING)\n\t\t\t{\n\t\t\t\tlet newLetterSpacing = this.letterSpacingRatio * size;\n\t\t\t\tnewLetterSpacing = Math.round(newLetterSpacing);\n\n\t\t\t\tif (newLetterSpacing !== this.currentLetterSpacing)\n\t\t\t\t{\n\t\t\t\t\tthis.element.style.setProperty('letter-spacing', newLetterSpacing + 'px', \"important\");\n\t\t\t\t\tthis.currentLetterSpacing = newLetterSpacing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","import {Type, Runtime} from 'main.core';\nimport Entry from './entry';\n\nconst bind = BX.Landing.Utils.bind;\nconst slice = BX.Landing.Utils.slice;\nconst onCustomEvent = BX.Landing.Utils.onCustomEvent;\nlet lastWidth = BX.width(window);\n\nexport class AutoFontScale\n{\n\tstatic WIDTH_LIMIT: number = 768;\n\n\t/**\n\t * Checks than need adjust\n\t * @return {boolean}\n\t */\n\tstatic isNeedAdjust()\n\t{\n\t\treturn BX.width(window) <= AutoFontScale.WIDTH_LIMIT;\n\t}\n\n\t/**\n\t * Checks that window resize\n\t * @return {boolean}\n\t */\n\tstatic isResized()\n\t{\n\t\tconst result = lastWidth !== BX.width(window);\n\t\tlastWidth = BX.width(window);\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Implements interface for works with responsive texts\n\t * @param {HTMLElement[]} elements\n\t */\n\tconstructor(elements: [HTMLElement])\n\t{\n\t\tthis.entries = elements.map(this.createEntry, this);\n\n\t\tthis.onResize = Runtime.debounce(this.onResize, 500);\n\t\tbind(window, \"resize\", this.onResize.bind(this, false));\n\t\tbind(window, \"orientationchange\", this.onResize.bind(this, true));\n\n\t\tonCustomEvent(\"BX.Landing.Block:init\", this.onAddBlock.bind(this));\n\t\tthis.adjust(true);\n\t}\n\n\tonResize(forceAdjust)\n\t{\n\t\tthis.adjust(forceAdjust);\n\t}\n\n\t/**\n\t * Adjusts text\n\t * @param {boolean} [forceAdjust]\n\t */\n\tadjust(forceAdjust)\n\t{\n\t\tif (forceAdjust === true || AutoFontScale.isResized())\n\t\t{\n\t\t\tconst needAdjust = AutoFontScale.isNeedAdjust();\n\t\t\tthis.entries.forEach(entry =>\n\t\t\t{\n\t\t\t\tif (needAdjust)\n\t\t\t\t{\n\t\t\t\t\tentry.adjust();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tentry.resetSize();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Creates entry\n\t * @param {HTMLElement} element\n\t * @return {Entry}\n\t */\n\tcreateEntry(element: HTMLElement)\n\t{\n\t\treturn new Entry(element);\n\t}\n\n\t/**\n\t * Adds elements\n\t * @param {HTMLElement[]} elements\n\t */\n\taddElements(elements)\n\t{\n\t\telements.forEach(element => {\n\t\t\tconst containsElement = this.entries.some(entry =>\n\t\t\t{\n\t\t\t\treturn entry.element === element;\n\t\t\t});\n\n\t\t\tif (!containsElement)\n\t\t\t{\n\t\t\t\tthis.entries.push(this.createEntry(element));\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t/**\n\t * Handles add block event\n\t * @param {BX.Landing.Event.Block} event\n\t */\n\tonAddBlock(event)\n\t{\n\t\tconst elements = slice(event.block.querySelectorAll(\"h1, h2, h3, h4, h5, [data-auto-font-scale]\"));\n\t\tthis.addElements(elements);\n\t}\n}"],"names":["Entry","constructor","element","maxHeight","MIN_SIZE","startSize","parseInt","Dom","style","currentSize","letterSpacingRatio","parseFloat","currentLetterSpacing","MIN_LETTER_SPACING","startLineHeight","Type","isNumber","toFixed","MIN_LINE_HEIGHT","currentLineHeight","prevWidth","clientWidth","calcMaxHeight","document","documentElement","clientHeight","offsetParent","Math","min","resetSize","setProperty","adjust","isNeedDecrease","decreaseSize","isNeedIncrease","increaseSize","scrollWidth","offsetHeight","newSize","STEP_SIZE_PERCENTS","floor","max","intervalId","setInterval","finishAdjust","setFontSize","ceil","clearInterval","size","newLineHeight","newLetterSpacing","round","bind","BX","Landing","Utils","slice","onCustomEvent","lastWidth","width","window","AutoFontScale","isNeedAdjust","WIDTH_LIMIT","isResized","result","elements","entries","map","createEntry","onResize","Runtime","debounce","onAddBlock","forceAdjust","needAdjust","forEach","entry","addElements","containsElement","some","push","event","block","querySelectorAll"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.29 |
proxy
|
phpinfo
|
Settings