From fef6e6684c7229087bc20f839b81787459df7e1a Mon Sep 17 00:00:00 2001 From: yajun Date: Fri, 4 Nov 2022 10:10:27 +0800 Subject: [PATCH] =?UTF-8?q?Task:=20#118836=20iconfont=E5=BD=A9=E8=89=B2?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E7=8E=B0=E6=9C=89=E6=96=B9=E6=A1=88=EF=BC=88?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=9B=BE=E6=A0=87=E8=AE=BE=E8=AE=A1=E7=BB=84?= =?UTF-8?q?=E6=AD=A3=E5=9C=A8=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=90=8E=E7=BB=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=9B=E5=85=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/panels/iconfont/REMEAD.md | 63 +++++ src/test/panels/iconfont/iconfont.ts | 253 ++++++++++++++++++ .../panels/iconfont/iconfont/iconfont.css | 131 +++++++++ src/test/panels/iconfont/iconfont/iconfont.js | 1 + .../panels/iconfont/iconfont/iconfont.json | 212 +++++++++++++++ .../panels/iconfont/iconfont/iconfont.ttf | Bin 0 -> 5696 bytes 6 files changed, 660 insertions(+) create mode 100644 src/test/panels/iconfont/REMEAD.md create mode 100644 src/test/panels/iconfont/iconfont.ts create mode 100644 src/test/panels/iconfont/iconfont/iconfont.css create mode 100644 src/test/panels/iconfont/iconfont/iconfont.js create mode 100644 src/test/panels/iconfont/iconfont/iconfont.json create mode 100644 src/test/panels/iconfont/iconfont/iconfont.ttf diff --git a/src/test/panels/iconfont/REMEAD.md b/src/test/panels/iconfont/REMEAD.md new file mode 100644 index 0000000..ab32385 --- /dev/null +++ b/src/test/panels/iconfont/REMEAD.md @@ -0,0 +1,63 @@ +# iconfont字体库 +## 介绍 +iconfont字体库支持多色图标字体,可通过Unicode、fontclass和symbol三种方式进行引用。 +## 使用方法 +> Unicode 引用 +``` +第一步:设置@font-face + +@font-face { + font-family: 'iconfont'; + src: + url('iconfont.ttf?t=1667368773903') format('truetype'); +} + +第二步:定义样式,如 + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +第三步:挑选相应图标并获取字体编码,应用于页面(字体编码可在iconfont.json文件中查询) + +3 +``` +> font-class 引用 +``` +第一步:引用生成的iconfont.css文件 + + +第二步:挑选相应图标并获取类名,应用于页面: + + +``` + +> Symbol 引用 +``` +第一步:引入iconfont.js: + + + +第二步:加入通用 CSS 代码(引入一次就行): + + + +第三步:挑选相应图标并获取类名,应用于页面: + + + +``` \ No newline at end of file diff --git a/src/test/panels/iconfont/iconfont.ts b/src/test/panels/iconfont/iconfont.ts new file mode 100644 index 0000000..8486f6f --- /dev/null +++ b/src/test/panels/iconfont/iconfont.ts @@ -0,0 +1,253 @@ +import {html, LitElement, CSSResultArray, PropertyValueMap} from 'lit' +import {customElement} from 'lit/decorators.js' +import {sharedPickerStyles} from '../shared-picker-styles' + +@customElement('panel-iconfont') +export class PanelIconFont extends LitElement { + public icondata = { + id: '3736756', + name: '32px', + font_family: 'iconfont', + css_prefix_text: '', + description: '', + glyphs: [ + { + icon_id: '32595741', + name: 'add', + font_class: 'add', + unicode: 'e611', + unicode_decimal: 58897, + }, + { + icon_id: '32595742', + name: 'airplane', + font_class: 'airplane', + unicode: 'e612', + unicode_decimal: 58898, + }, + { + icon_id: '32595743', + name: 'alarm-clock', + font_class: 'alarm-clock', + unicode: 'e613', + unicode_decimal: 58899, + }, + { + icon_id: '32595744', + name: 'alarm', + font_class: 'alarm', + unicode: 'e614', + unicode_decimal: 58900, + }, + { + icon_id: '32595745', + name: 'alarm-stop', + font_class: 'alarm-stop', + unicode: 'e615', + unicode_decimal: 58901, + }, + { + icon_id: '32595746', + name: 'bluetooth', + font_class: 'bluetooth', + unicode: 'e616', + unicode_decimal: 58902, + }, + { + icon_id: '32595747', + name: 'right', + font_class: 'right', + unicode: 'e617', + unicode_decimal: 58903, + }, + { + icon_id: '32595748', + name: 'more', + font_class: 'more', + unicode: 'e618', + unicode_decimal: 58904, + }, + { + icon_id: '32595749', + name: 'message', + font_class: 'message', + unicode: 'e619', + unicode_decimal: 58905, + }, + { + icon_id: '32595750', + name: 'search', + font_class: 'search', + unicode: 'e61a', + unicode_decimal: 58906, + }, + { + icon_id: '32595751', + name: 'close', + font_class: 'close', + unicode: 'e61b', + unicode_decimal: 58907, + }, + { + icon_id: '32595752', + name: 'call', + font_class: 'call', + unicode: 'e61c', + unicode_decimal: 58908, + }, + { + icon_id: '32595753', + name: 'delete', + font_class: 'delete', + unicode: 'e61d', + unicode_decimal: 58909, + }, + { + icon_id: '32595754', + name: 'lock', + font_class: 'lock', + unicode: 'e61e', + unicode_decimal: 58910, + }, + { + icon_id: '32595755', + name: 'signal-0', + font_class: 'signal-0', + unicode: 'e61f', + unicode_decimal: 58911, + }, + { + icon_id: '32595756', + name: 'settings', + font_class: 'settings', + unicode: 'e620', + unicode_decimal: 58912, + }, + { + icon_id: '32595757', + name: 'signal-roaming', + font_class: 'signal-roaming', + unicode: 'e621', + unicode_decimal: 58913, + }, + { + icon_id: '32595758', + name: 'signal-1', + font_class: 'signal-1', + unicode: 'e622', + unicode_decimal: 58914, + }, + { + icon_id: '32595759', + name: 'signal-3', + font_class: 'signal-3', + unicode: 'e623', + unicode_decimal: 58915, + }, + { + icon_id: '32595760', + name: 'tick', + font_class: 'tick', + unicode: 'e624', + unicode_decimal: 58916, + }, + { + icon_id: '32595761', + name: 'signal-4', + font_class: 'signal-4', + unicode: 'e625', + unicode_decimal: 58917, + }, + { + icon_id: '32595762', + name: 'signal-2', + font_class: 'signal-2', + unicode: 'e626', + unicode_decimal: 58918, + }, + { + icon_id: '32595763', + name: 'skip-forward', + font_class: 'skip-forward', + unicode: 'e627', + unicode_decimal: 58919, + }, + { + icon_id: '32595764', + name: 'wifi-1', + font_class: 'wifi-1', + unicode: 'e628', + unicode_decimal: 58920, + }, + { + icon_id: '32595765', + name: 'wifi-3', + font_class: 'wifi-3', + unicode: 'e629', + unicode_decimal: 58921, + }, + { + icon_id: '32595766', + name: 'location', + font_class: 'location', + unicode: 'e62a', + unicode_decimal: 58922, + }, + { + icon_id: '32595767', + name: 'wifi-4', + font_class: 'wifi-4', + unicode: 'e62b', + unicode_decimal: 58923, + }, + { + icon_id: '32595768', + name: 'wifi-2', + font_class: 'wifi-2', + unicode: 'e62c', + unicode_decimal: 58924, + }, + { + icon_id: '32595769', + name: 'wifi-permissions', + font_class: 'wifi-permissions', + unicode: 'e62d', + unicode_decimal: 58925, + }, + ], + } + + initIconCode() { + let html = '' + for (let i = 0; i < this.icondata.glyphs.length; i++) { + html += + '&#x' + + this.icondata.glyphs[i].unicode + + ';' + } + let node = document.createElement('div') + node.className = 'p-scroll' + node.innerHTML = html + this.shadowRoot!.querySelector('.abc')!.appendChild(node) + } + + firstUpdated() { + this.initIconCode() + } + + render() { + return html` +
+ ` + } + + public static override get styles(): CSSResultArray { + return [sharedPickerStyles] + } +} + +declare global { + interface HTMLElementTagNameMap { + 'panel-iconfont': PanelIconFont + } +} diff --git a/src/test/panels/iconfont/iconfont/iconfont.css b/src/test/panels/iconfont/iconfont/iconfont.css new file mode 100644 index 0000000..0c20bee --- /dev/null +++ b/src/test/panels/iconfont/iconfont/iconfont.css @@ -0,0 +1,131 @@ +@font-face { + font-family: "iconfont"; /* Project id 3736756 */ + /* Color fonts */ + src: + url('iconfont.ttf?t=1667368773903') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.add:before { + content: "\e611"; +} + +.airplane:before { + content: "\e612"; +} + +.alarm-clock:before { + content: "\e613"; +} + +.alarm:before { + content: "\e614"; +} + +.alarm-stop:before { + content: "\e615"; +} + +.bluetooth:before { + content: "\e616"; +} + +.right:before { + content: "\e617"; +} + +.more:before { + content: "\e618"; +} + +.message:before { + content: "\e619"; +} + +.search:before { + content: "\e61a"; +} + +.close:before { + content: "\e61b"; +} + +.call:before { + content: "\e61c"; +} + +.delete:before { + content: "\e61d"; +} + +.lock:before { + content: "\e61e"; +} + +.signal-0:before { + content: "\e61f"; +} + +.settings:before { + content: "\e620"; +} + +.signal-roaming:before { + content: "\e621"; +} + +.signal-1:before { + content: "\e622"; +} + +.signal-3:before { + content: "\e623"; +} + +.tick:before { + content: "\e624"; +} + +.signal-4:before { + content: "\e625"; +} + +.signal-2:before { + content: "\e626"; +} + +.skip-forward:before { + content: "\e627"; +} + +.wifi-1:before { + content: "\e628"; +} + +.wifi-3:before { + content: "\e629"; +} + +.location:before { + content: "\e62a"; +} + +.wifi-4:before { + content: "\e62b"; +} + +.wifi-2:before { + content: "\e62c"; +} + +.wifi-permissions:before { + content: "\e62d"; +} + diff --git a/src/test/panels/iconfont/iconfont/iconfont.js b/src/test/panels/iconfont/iconfont/iconfont.js new file mode 100644 index 0000000..d3515c6 --- /dev/null +++ b/src/test/panels/iconfont/iconfont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_3736756='',function(t){var l=(l=document.getElementsByTagName("script"))[l.length-1],a=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var i,h,p,o,d,e=function(l,a){a.parentNode.insertBefore(l,a)};if(a&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}i=function(){var l,a=document.createElement("div");a.innerHTML=t._iconfont_svg_string_3736756,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(l=document.body).firstChild?e(a,l.firstChild):l.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(i,0):(h=function(){document.removeEventListener("DOMContentLoaded",h,!1),i()},document.addEventListener("DOMContentLoaded",h,!1)):document.attachEvent&&(p=i,o=t.document,d=!1,s(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,c())})}function c(){d||(d=!0,p())}function s(){try{o.documentElement.doScroll("left")}catch(l){return void setTimeout(s,50)}c()}}(window); \ No newline at end of file diff --git a/src/test/panels/iconfont/iconfont/iconfont.json b/src/test/panels/iconfont/iconfont/iconfont.json new file mode 100644 index 0000000..a03922c --- /dev/null +++ b/src/test/panels/iconfont/iconfont/iconfont.json @@ -0,0 +1,212 @@ +{ + "id": "3736756", + "name": "32px", + "font_family": "iconfont", + "css_prefix_text": "", + "description": "", + "glyphs": [ + { + "icon_id": "32595741", + "name": "add", + "font_class": "add", + "unicode": "e611", + "unicode_decimal": 58897 + }, + { + "icon_id": "32595742", + "name": "airplane", + "font_class": "airplane", + "unicode": "e612", + "unicode_decimal": 58898 + }, + { + "icon_id": "32595743", + "name": "alarm-clock", + "font_class": "alarm-clock", + "unicode": "e613", + "unicode_decimal": 58899 + }, + { + "icon_id": "32595744", + "name": "alarm", + "font_class": "alarm", + "unicode": "e614", + "unicode_decimal": 58900 + }, + { + "icon_id": "32595745", + "name": "alarm-stop", + "font_class": "alarm-stop", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "32595746", + "name": "bluetooth", + "font_class": "bluetooth", + "unicode": "e616", + "unicode_decimal": 58902 + }, + { + "icon_id": "32595747", + "name": "right", + "font_class": "right", + "unicode": "e617", + "unicode_decimal": 58903 + }, + { + "icon_id": "32595748", + "name": "more", + "font_class": "more", + "unicode": "e618", + "unicode_decimal": 58904 + }, + { + "icon_id": "32595749", + "name": "message", + "font_class": "message", + "unicode": "e619", + "unicode_decimal": 58905 + }, + { + "icon_id": "32595750", + "name": "search", + "font_class": "search", + "unicode": "e61a", + "unicode_decimal": 58906 + }, + { + "icon_id": "32595751", + "name": "close", + "font_class": "close", + "unicode": "e61b", + "unicode_decimal": 58907 + }, + { + "icon_id": "32595752", + "name": "call", + "font_class": "call", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "32595753", + "name": "delete", + "font_class": "delete", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "32595754", + "name": "lock", + "font_class": "lock", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "32595755", + "name": "signal-0", + "font_class": "signal-0", + "unicode": "e61f", + "unicode_decimal": 58911 + }, + { + "icon_id": "32595756", + "name": "settings", + "font_class": "settings", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "32595757", + "name": "signal-roaming", + "font_class": "signal-roaming", + "unicode": "e621", + "unicode_decimal": 58913 + }, + { + "icon_id": "32595758", + "name": "signal-1", + "font_class": "signal-1", + "unicode": "e622", + "unicode_decimal": 58914 + }, + { + "icon_id": "32595759", + "name": "signal-3", + "font_class": "signal-3", + "unicode": "e623", + "unicode_decimal": 58915 + }, + { + "icon_id": "32595760", + "name": "tick", + "font_class": "tick", + "unicode": "e624", + "unicode_decimal": 58916 + }, + { + "icon_id": "32595761", + "name": "signal-4", + "font_class": "signal-4", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "32595762", + "name": "signal-2", + "font_class": "signal-2", + "unicode": "e626", + "unicode_decimal": 58918 + }, + { + "icon_id": "32595763", + "name": "skip-forward", + "font_class": "skip-forward", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "32595764", + "name": "wifi-1", + "font_class": "wifi-1", + "unicode": "e628", + "unicode_decimal": 58920 + }, + { + "icon_id": "32595765", + "name": "wifi-3", + "font_class": "wifi-3", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "32595766", + "name": "location", + "font_class": "location", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "32595767", + "name": "wifi-4", + "font_class": "wifi-4", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "32595768", + "name": "wifi-2", + "font_class": "wifi-2", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "32595769", + "name": "wifi-permissions", + "font_class": "wifi-permissions", + "unicode": "e62d", + "unicode_decimal": 58925 + } + ] +} diff --git a/src/test/panels/iconfont/iconfont/iconfont.ttf b/src/test/panels/iconfont/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6cdfd584cede87149f1019609e2ff3f74049fd2a GIT binary patch literal 5696 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 literal 0 HcmV?d00001