u2ui 1.0.0

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 (440) hide show
  1. package/.htaccess +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +36 -0
  4. package/attr/behavior/README.md +25 -0
  5. package/attr/behavior/behavior.js +261 -0
  6. package/attr/behavior/manifest.json +43 -0
  7. package/attr/behavior/tests/minimal.html +19 -0
  8. package/attr/behavior/tests/test.html +98 -0
  9. package/attr/confirm/README.md +36 -0
  10. package/attr/confirm/confirm.js +90 -0
  11. package/attr/confirm/manifest.json +43 -0
  12. package/attr/confirm/tests/minimal.html +23 -0
  13. package/attr/confirm/tests/test.html +79 -0
  14. package/attr/draghandle/README.md +41 -0
  15. package/attr/draghandle/draghandle.js +42 -0
  16. package/attr/draghandle/tests/minimal.html +44 -0
  17. package/attr/focusgroup/README.md +49 -0
  18. package/attr/focusgroup/focusgroup.js +100 -0
  19. package/attr/focusgroup/manifest.json +38 -0
  20. package/attr/focusgroup/tests/minimal.html +27 -0
  21. package/attr/focusgroup/tests/test.html +154 -0
  22. package/attr/href/README.md +38 -0
  23. package/attr/href/href.js +42 -0
  24. package/attr/href/manifest.json +43 -0
  25. package/attr/href/tests/minimal.html +17 -0
  26. package/attr/href/tests/test.html +70 -0
  27. package/attr/intersect/README.md +42 -0
  28. package/attr/intersect/intersect.js +99 -0
  29. package/attr/intersect/manifest.json +57 -0
  30. package/attr/intersect/tests/minimal.html +30 -0
  31. package/attr/intersect/tests/test.html +64 -0
  32. package/attr/navigable/README.md +31 -0
  33. package/attr/navigable/TargetObserver.js +91 -0
  34. package/attr/navigable/U2TargetObserver.js +75 -0
  35. package/attr/navigable/manifest.json +42 -0
  36. package/attr/navigable/navigable.js +87 -0
  37. package/attr/navigable/tests/U1TargetObserver.html +56 -0
  38. package/attr/navigable/tests/minimal.html +17 -0
  39. package/attr/navigable/tests/targetObserver.html +106 -0
  40. package/attr/navigable/tests/test.html +84 -0
  41. package/attr/parallax/README.md +48 -0
  42. package/attr/parallax/parallax.js +119 -0
  43. package/attr/parallax/tests/minimal.html +25 -0
  44. package/attr/parallax/tests/performance.html +102 -0
  45. package/attr/parallax/tests/test.html +108 -0
  46. package/attr/skin/README.md +59 -0
  47. package/attr/skin/skin.css +51 -0
  48. package/attr/skin/tests/minimal.html +34 -0
  49. package/attr/skin/tests/test.html +96 -0
  50. package/class/badge/README.md +25 -0
  51. package/class/badge/badge.css +35 -0
  52. package/class/badge/tests/minimal.html +17 -0
  53. package/class/badge/tests/test.html +112 -0
  54. package/class/card1/README.md +45 -0
  55. package/class/card1/card1.css +30 -0
  56. package/class/card1/tests/minimal.html +33 -0
  57. package/class/card1/tests/test.html +78 -0
  58. package/class/flex/README.md +62 -0
  59. package/class/flex/flex.css +25 -0
  60. package/class/flex/tests/minimal.html +31 -0
  61. package/class/flex/tests/test.html +58 -0
  62. package/class/grid/README.md +52 -0
  63. package/class/grid/grid.css +40 -0
  64. package/class/grid/tests/minimal.html +34 -0
  65. package/class/grid/tests/test.html +78 -0
  66. package/class/input/README.md +49 -0
  67. package/class/input/input.css +33 -0
  68. package/class/input/tests/minimal.html +39 -0
  69. package/class/input/tests/test.html +29 -0
  70. package/class/reset/README.md +47 -0
  71. package/class/reset/reset.css +8 -0
  72. package/class/reset/tests/minimal.html +23 -0
  73. package/class/table/README.md +57 -0
  74. package/class/table/table.css +126 -0
  75. package/class/table/tests/minimal.html +40 -0
  76. package/class/table/tests/test.html +226 -0
  77. package/class/unstyle/README.md +32 -0
  78. package/class/unstyle/tests/minimal.html +22 -0
  79. package/class/unstyle/tests/test.html +32 -0
  80. package/class/unstyle/unstyle.css +12 -0
  81. package/class/width/README.md +48 -0
  82. package/class/width/tests/minimal.html +27 -0
  83. package/class/width/tests/test.html +101 -0
  84. package/class/width/width.css +22 -0
  85. package/css/base/README.md +25 -0
  86. package/css/base/base.css +127 -0
  87. package/css/base/beta.css +50 -0
  88. package/css/base/full.css +5 -0
  89. package/css/base/nomotion.css +9 -0
  90. package/css/base/print.css +36 -0
  91. package/css/base/tests/nomotion.html +89 -0
  92. package/css/base/tests/test.html +539 -0
  93. package/css/classes/README.md +17 -0
  94. package/css/classes/classes.css +78 -0
  95. package/css/classes/tests/test.html +63 -0
  96. package/css/classless/README.md +26 -0
  97. package/css/classless/aria.css +64 -0
  98. package/css/classless/classless.css +124 -0
  99. package/css/classless/full.css +11 -0
  100. package/css/classless/more.css +340 -0
  101. package/css/classless/simple.css +103 -0
  102. package/css/classless/snippeds/a/icons.css +12 -0
  103. package/css/classless/snippeds/experiments/conventions.css +41 -0
  104. package/css/classless/snippeds/hr/gradient.css +3 -0
  105. package/css/classless/snippeds/hr/section_sign.css +16 -0
  106. package/css/classless/snippeds/hr/tests.html +50 -0
  107. package/css/classless/tests/aria.html +101 -0
  108. package/css/classless/tests/foreign/classless-almond.css.html +445 -0
  109. package/css/classless/tests/foreign/classless-classless.css.html +831 -0
  110. package/css/classless/tests/foreign/classless-mvp.html +415 -0
  111. package/css/classless/tests/foreign/classless.sakura.html +224 -0
  112. package/css/classless/tests/foreign/stylestage.dev.html +304 -0
  113. package/css/classless/tests/foreign/test-homogenizer.html +433 -0
  114. package/css/classless/tests/foreign/test-html5-elements-tester.html +956 -0
  115. package/css/classless/tests/foreign/test-opinionated_css.html +148 -0
  116. package/css/classless/tests/list-bullet.html +110 -0
  117. package/css/classless/tests/more.html +246 -0
  118. package/css/classless/tests/oklch.experiments.html +280 -0
  119. package/css/classless/tests/test.html +106 -0
  120. package/css/classless/tests/variables.html +109 -0
  121. package/css/classless/variables.css +99 -0
  122. package/css/norm/README.md +37 -0
  123. package/css/norm/beta.css +40 -0
  124. package/css/norm/norm.css +98 -0
  125. package/css/norm/oldies.css +60 -0
  126. package/css/norm/tests/test.html +434 -0
  127. package/css/norm/tests/test.js +103 -0
  128. package/el/accordion/README.md +59 -0
  129. package/el/accordion/accordion.css +7 -0
  130. package/el/accordion/accordion.js +258 -0
  131. package/el/accordion/manifest.json +57 -0
  132. package/el/accordion/tests/minimal.html +44 -0
  133. package/el/accordion/tests/test.html +168 -0
  134. package/el/alert/README.md +67 -0
  135. package/el/alert/alert copy.js +224 -0
  136. package/el/alert/alert.css +73 -0
  137. package/el/alert/alert.js +187 -0
  138. package/el/alert/manifest.json +77 -0
  139. package/el/alert/tests/minimal.html +36 -0
  140. package/el/alert/tests/test.html +105 -0
  141. package/el/buttongroup/README.md +36 -0
  142. package/el/buttongroup/buttongroup.css +30 -0
  143. package/el/buttongroup/buttongroup.js +56 -0
  144. package/el/buttongroup/tests/minimal.html +31 -0
  145. package/el/buttongroup/tests/test.html +83 -0
  146. package/el/bytes/README.md +41 -0
  147. package/el/bytes/bytes.css +6 -0
  148. package/el/bytes/bytes.js +97 -0
  149. package/el/bytes/manifest.json +95 -0
  150. package/el/bytes/tests/minimal.html +19 -0
  151. package/el/bytes/tests/test.html +117 -0
  152. package/el/carousel/README.md +52 -0
  153. package/el/carousel/carousel.css +46 -0
  154. package/el/carousel/carousel.js +371 -0
  155. package/el/carousel/manifest.json +58 -0
  156. package/el/carousel/tests/experiments.html +77 -0
  157. package/el/carousel/tests/minimal.html +31 -0
  158. package/el/carousel/tests/nested.html +54 -0
  159. package/el/carousel/tests/test.html +136 -0
  160. package/el/carousel-nav/README.md +40 -0
  161. package/el/carousel-nav/carousel-nav.js +74 -0
  162. package/el/carousel-nav/tests/minimal.html +32 -0
  163. package/el/carousel-nav/tests/test.html +59 -0
  164. package/el/code/README.md +68 -0
  165. package/el/code/code.css +46 -0
  166. package/el/code/code.js +289 -0
  167. package/el/code/manifest.json +66 -0
  168. package/el/code/tests/minimal.html +35 -0
  169. package/el/code/tests/test.html +162 -0
  170. package/el/copy/README.md +35 -0
  171. package/el/copy/copy.css +3 -0
  172. package/el/copy/copy.js +118 -0
  173. package/el/copy/manifest.json +49 -0
  174. package/el/copy/tests/minimal.html +21 -0
  175. package/el/copy/tests/test.html +75 -0
  176. package/el/counter/README.md +47 -0
  177. package/el/counter/counter.css +8 -0
  178. package/el/counter/counter.js +95 -0
  179. package/el/counter/manifest.json +59 -0
  180. package/el/counter/tests/minimal.html +27 -0
  181. package/el/counter/tests/test.html +106 -0
  182. package/el/ico/README.md +162 -0
  183. package/el/ico/font/Font Awesome.css +22 -0
  184. package/el/ico/font/LigatureSymbols.css +7 -0
  185. package/el/ico/font/Material Icons.css +6 -0
  186. package/el/ico/font/RemixFilled.css +8 -0
  187. package/el/ico/font/RemixOutlined.css +8 -0
  188. package/el/ico/font/old/anicons.css +31 -0
  189. package/el/ico/font/old/devicons.css +210 -0
  190. package/el/ico/font/old/material.all.css +36 -0
  191. package/el/ico/font/old/remix.css +15 -0
  192. package/el/ico/font/old/utf8.css +54 -0
  193. package/el/ico/ico.css +111 -0
  194. package/el/ico/ico.js +189 -0
  195. package/el/ico/manifest.json +86 -0
  196. package/el/ico/tests/combinations.html +86 -0
  197. package/el/ico/tests/emojis.html +213 -0
  198. package/el/ico/tests/fonts.html +110 -0
  199. package/el/ico/tests/ico-directory.html +254 -0
  200. package/el/ico/tests/minimal.html +46 -0
  201. package/el/ico/tests/test.html +210 -0
  202. package/el/ico/tests/util-multi.svg +6 -0
  203. package/el/ico/tests/util.css +2 -0
  204. package/el/ico/tests/util.js +110 -0
  205. package/el/input/README.md +39 -0
  206. package/el/input/input.css +35 -0
  207. package/el/input/input.js +331 -0
  208. package/el/input/tests/formParticipation.html +113 -0
  209. package/el/input/tests/minimal.html +33 -0
  210. package/el/input/tests/test.html +258 -0
  211. package/el/masonry/README.md +51 -0
  212. package/el/masonry/manifest.json +60 -0
  213. package/el/masonry/masonry.css +27 -0
  214. package/el/masonry/masonry.js +92 -0
  215. package/el/masonry/tests/minimal.html +39 -0
  216. package/el/masonry/tests/test.html +42 -0
  217. package/el/number/README.md +47 -0
  218. package/el/number/manifest.json +121 -0
  219. package/el/number/number.css +6 -0
  220. package/el/number/number.js +67 -0
  221. package/el/number/tests/minimal.html +25 -0
  222. package/el/number/tests/test.html +138 -0
  223. package/el/out/README.md +32 -0
  224. package/el/out/manifest.json +38 -0
  225. package/el/out/out.css +2 -0
  226. package/el/out/out.js +59 -0
  227. package/el/out/tests/minimal.html +25 -0
  228. package/el/out/tests/test.html +37 -0
  229. package/el/parallax-bg/README.md +36 -0
  230. package/el/parallax-bg/parallax-bg.css +13 -0
  231. package/el/parallax-bg/parallax-bg.js +186 -0
  232. package/el/parallax-bg/tests/bg.jpg +0 -0
  233. package/el/parallax-bg/tests/bg1.jpg +0 -0
  234. package/el/parallax-bg/tests/bg2.jpg +0 -0
  235. package/el/parallax-bg/tests/demo.html +88 -0
  236. package/el/parallax-bg/tests/minimal.html +30 -0
  237. package/el/parallax-bg/tests/test.html +64 -0
  238. package/el/parallax-bg/tests/visible.html +90 -0
  239. package/el/qrcode/README.md +38 -0
  240. package/el/qrcode/manifest.json +43 -0
  241. package/el/qrcode/package.json +22 -0
  242. package/el/qrcode/qrcode.css +13 -0
  243. package/el/qrcode/qrcode.js +46 -0
  244. package/el/qrcode/tests/minimal.html +26 -0
  245. package/el/qrcode/tests/test.html +31 -0
  246. package/el/rating/README.md +45 -0
  247. package/el/rating/manifest.json +65 -0
  248. package/el/rating/rating.css +11 -0
  249. package/el/rating/rating.js +139 -0
  250. package/el/rating/tests/minimal.html +26 -0
  251. package/el/rating/tests/tests.html +77 -0
  252. package/el/rte/README.md +37 -0
  253. package/el/rte/rte.css +9 -0
  254. package/el/rte/rte.js +56 -0
  255. package/el/rte/tests/minimal.html +25 -0
  256. package/el/rte/tests/test.html +37 -0
  257. package/el/skeleton/README.md +30 -0
  258. package/el/skeleton/manifest.json +51 -0
  259. package/el/skeleton/skeleton.css +61 -0
  260. package/el/skeleton/skeleton.js +72 -0
  261. package/el/skeleton/tests/minimal.html +22 -0
  262. package/el/skeleton/tests/test.html +22 -0
  263. package/el/splitbutton/README.md +39 -0
  264. package/el/splitbutton/splitbutton.css +48 -0
  265. package/el/splitbutton/splitbutton.js +26 -0
  266. package/el/splitbutton/tests/minimal.html +30 -0
  267. package/el/splitbutton/tests/test.html +68 -0
  268. package/el/splitpanel/README.md +39 -0
  269. package/el/splitpanel/manifest.json +49 -0
  270. package/el/splitpanel/splitpanel.css +17 -0
  271. package/el/splitpanel/splitpanel.js +116 -0
  272. package/el/splitpanel/tests/minimal.html +31 -0
  273. package/el/splitpanel/tests/tests.html +121 -0
  274. package/el/table/README.md +68 -0
  275. package/el/table/manifest.json +43 -0
  276. package/el/table/table.css +59 -0
  277. package/el/table/table.js +194 -0
  278. package/el/table/tests/minimal.html +38 -0
  279. package/el/table/tests/test.html +108 -0
  280. package/el/tabs/README.md +50 -0
  281. package/el/tabs/manifest.json +59 -0
  282. package/el/tabs/tabs.css +23 -0
  283. package/el/tabs/tabs.js +210 -0
  284. package/el/tabs/tests/minimal.html +35 -0
  285. package/el/tabs/tests/test.html +180 -0
  286. package/el/textfit/README.md +34 -0
  287. package/el/textfit/manifest.json +45 -0
  288. package/el/textfit/tests/minimal.html +25 -0
  289. package/el/textfit/tests/test.html +26 -0
  290. package/el/textfit/textfit.css +6 -0
  291. package/el/textfit/textfit.js +80 -0
  292. package/el/time/README.md +72 -0
  293. package/el/time/manifest.json +118 -0
  294. package/el/time/tests/minimal.html +19 -0
  295. package/el/time/tests/test.html +160 -0
  296. package/el/time/time copy.js +141 -0
  297. package/el/time/time.js +168 -0
  298. package/el/time/time.old.uhtml.js +129 -0
  299. package/el/tooltip/README.md +48 -0
  300. package/el/tooltip/manifest.json +69 -0
  301. package/el/tooltip/tests/minimal.html +25 -0
  302. package/el/tooltip/tests/test.html +178 -0
  303. package/el/tooltip/tooltip.css +97 -0
  304. package/el/tooltip/tooltip.js +82 -0
  305. package/el/tree1/README.md +111 -0
  306. package/el/tree1/manifest.json +78 -0
  307. package/el/tree1/tests/animated.html +134 -0
  308. package/el/tree1/tests/custom.html +51 -0
  309. package/el/tree1/tests/minimal.html +44 -0
  310. package/el/tree1/tests/test.html +260 -0
  311. package/el/tree1/tree1.css +26 -0
  312. package/el/tree1/tree1.js +265 -0
  313. package/el/typewriter/README.md +62 -0
  314. package/el/typewriter/manifest.json +66 -0
  315. package/el/typewriter/tests/minimal.html +25 -0
  316. package/el/typewriter/tests/test.html +78 -0
  317. package/el/typewriter/typewriter.css +6 -0
  318. package/el/typewriter/typewriter.js +166 -0
  319. package/el/typewriter/typewriter.mp3 +0 -0
  320. package/js/Placer/Placer.js +156 -0
  321. package/js/Placer/README.md +62 -0
  322. package/js/Placer/tests/minimal.html +34 -0
  323. package/js/Placer/tests/test.html +49 -0
  324. package/js/PointerObserver/PointerObserver.js +130 -0
  325. package/js/PointerObserver/README.md +34 -0
  326. package/js/PointerObserver/tests/minimal.html +29 -0
  327. package/js/PointerObserver/tests/test.html +35 -0
  328. package/js/SelectorObserver/README.md +47 -0
  329. package/js/SelectorObserver/SelectorObserver.js +201 -0
  330. package/js/SelectorObserver/tests/minimal.html +21 -0
  331. package/js/SelectorObserver/tests/test.html +57 -0
  332. package/js/SelectorObserver/tests/tests.html +161 -0
  333. package/js/contextmenu/README.md +93 -0
  334. package/js/contextmenu/contextmenu.js +336 -0
  335. package/js/contextmenu/tests/minimal.html +44 -0
  336. package/js/contextmenu/tests/test.html +131 -0
  337. package/js/dialog/README.md +49 -0
  338. package/js/dialog/dialog.js +261 -0
  339. package/js/dialog/notification.mp3 +0 -0
  340. package/js/dialog/tests/minimal.html +29 -0
  341. package/js/dialog/tests/notification.mp3 +0 -0
  342. package/js/dialog/tests/test.html +135 -0
  343. package/js/rte/README.md +44 -0
  344. package/js/rte/old/NodeCleaner.js +315 -0
  345. package/js/rte/old/Rte/Rte.mjs +316 -0
  346. package/js/rte/old/Rte/Rte.ui.items.mjs +543 -0
  347. package/js/rte/old/Rte/Rte.ui.mjs +154 -0
  348. package/js/rte/old/Rte/crossbrowser.mjs +323 -0
  349. package/js/rte/old/Rte/font/tinymce.svg +98 -0
  350. package/js/rte/old/Rte/font/tinymce.woff +0 -0
  351. package/js/rte/old/Rte/helpers.mjs +159 -0
  352. package/js/rte/old/Rte/htmlparser.mjs +178 -0
  353. package/js/rte/old/Rte/index.mjs +5 -0
  354. package/js/rte/old/Rte/main.css +189 -0
  355. package/js/rte/old/old.rte.js +132 -0
  356. package/js/rte/old/range-selection.old.js +394 -0
  357. package/js/rte/rte.js +7 -0
  358. package/js/rte/src/behavior.js +228 -0
  359. package/js/rte/src/events.js +73 -0
  360. package/js/rte/src/fixes.js +251 -0
  361. package/js/rte/src/range.js +472 -0
  362. package/js/rte/src/rte.js +72 -0
  363. package/js/rte/src/ui/items/ai.js +167 -0
  364. package/js/rte/src/ui/items/code.js +93 -0
  365. package/js/rte/src/ui/items/undo.js +183 -0
  366. package/js/rte/src/ui.items.js +571 -0
  367. package/js/rte/src/ui.js +269 -0
  368. package/js/rte/src/util/htmlparser.js +178 -0
  369. package/js/rte/src/util/indentHtml.js +48 -0
  370. package/js/rte/tests/ai.html +81 -0
  371. package/js/rte/tests/behavior.html +88 -0
  372. package/js/rte/tests/events.html +69 -0
  373. package/js/rte/tests/fixes.html +95 -0
  374. package/js/rte/tests/minimal.html +34 -0
  375. package/js/rte/tests/notes.md +6 -0
  376. package/js/rte/tests/range.html +167 -0
  377. package/js/rte/tests/selection-explorer.html +222 -0
  378. package/js/rte/tests/test.html +92 -0
  379. package/js/shortcut/README.md +33 -0
  380. package/js/shortcut/shortcut.js +89 -0
  381. package/js/shortcut/tests/minimal.html +23 -0
  382. package/js/shortcut/tests/test.html +68 -0
  383. package/package.json +12 -0
  384. package/u2/README.md +4 -0
  385. package/u2/auto.js +161 -0
  386. package/u2/auto.ui.js +85 -0
  387. package/u2/experiments/Waiter/test.html +132 -0
  388. package/u2/experiments/getElementByIdPromise/test.html +76 -0
  389. package/u2/experiments/patchInputValue.html +124 -0
  390. package/u2/experiments/radiobutton/test.html +75 -0
  391. package/u2/experiments/tests/test.html +223 -0
  392. package/u2/experiments/u1-responsive/responsive.js +62 -0
  393. package/u2/experiments/u1-responsive/test.html +65 -0
  394. package/u2/experiments/u2Element.js +139 -0
  395. package/u2/experiments/u2Element.test.html +47 -0
  396. package/u2/old-stuff/IterableWeakMap/mod.js +70 -0
  397. package/u2/old-stuff/css/onStyleSheet/mod.js +114 -0
  398. package/u2/old-stuff/css/onStyleSheet/monkeypatches.js +28 -0
  399. package/u2/old-stuff/css/onStyleSheet/test/include.css +19 -0
  400. package/u2/old-stuff/css/onStyleSheet/test/style-has-include.css +6 -0
  401. package/u2/old-stuff/css/onStyleSheet/test/style-no-include.css +3 -0
  402. package/u2/old-stuff/css/onStyleSheet/test/test.html +48 -0
  403. package/u2/old-stuff/css/parser/mod.js +182 -0
  404. package/u2/old-stuff/css/parser/parser_old/mod.js +128 -0
  405. package/u2/old-stuff/css/parser/parser_old/test.html +43 -0
  406. package/u2/old-stuff/css/parser/parser_old/util.js +22 -0
  407. package/u2/old-stuff/css/parser/style.html +52 -0
  408. package/u2/old-stuff/css/parser/test.html +38 -0
  409. package/u2/old-stuff/el/ai-texter/README.md +23 -0
  410. package/u2/old-stuff/el/ai-texter/ai-texter.css +12 -0
  411. package/u2/old-stuff/el/ai-texter/ai-texter.js +153 -0
  412. package/u2/old-stuff/el/ai-texter/tests/minimal.html +47 -0
  413. package/u2/old-stuff/el/ai-texter/tests/test.html +71 -0
  414. package/u2/old-stuff/init.js +38 -0
  415. package/u2/old-stuff/markHashLinks.js +51 -0
  416. package/u2/old-stuff/onElement/mod.js +73 -0
  417. package/u2/old-stuff/test-helpers/mod.js +36 -0
  418. package/u2/old-stuff/test-helpers/test.html +4 -0
  419. package/u2/old-stuff/tests/init.js.html +51 -0
  420. package/u2/old-stuff/viewport.js +64 -0
  421. package/u2/projects.json +468 -0
  422. package/u2/tests/boilerplate.html +46 -0
  423. package/u2/tests/kacheln.html +245 -0
  424. package/u2/tests/showcase.html +270 -0
  425. package/u2/tests/showcase2.html +157 -0
  426. package/u2/tests/test-init.js +35 -0
  427. package/u2/tests/test.html +355 -0
  428. package/u2/tools/baseElement.js +95 -0
  429. package/u2/tools/baseElement.test.html +119 -0
  430. package/u2/tools/ce-inspector.js +308 -0
  431. package/u2/tools/ce-inspector.test.html +66 -0
  432. package/u2/tools/ce-manfest-from-element.js +207 -0
  433. package/u2/tools/dev-iframe.js +213 -0
  434. package/u2/tools/dev-iframe.test.html +75 -0
  435. package/u2/tools/eventsExplorer.js +101 -0
  436. package/u2/tools/logo/u1.svg +9 -0
  437. package/u2/tools/logo/u1ui.svg +6 -0
  438. package/u2/tools/update.repos.json.js +234 -0
  439. package/u2/u2.js +14 -0
  440. package/u2/utils.js +59 -0
@@ -0,0 +1,162 @@
1
+ # <u2-ico> - element
2
+ Universal icon-element
3
+
4
+ ## Features
5
+
6
+ - Use any icon set you want
7
+ - You can put direct SVG inside the element
8
+ - You can use a icon-font
9
+ - Or you define a directory, where the svg-files are located
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <u2-ico aria-label="alien">
15
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M128,16a96.11,96.11,0,0,0-96,96c0,24,12.56,55.06,33.61,83,21.18,28.15,44.5,45,62.39,45s41.21-16.81,62.39-45c21.05-28,33.61-59,33.61-83A96.11,96.11,0,0,0,128,16Zm49.61,169.42C160.24,208.49,140.31,224,128,224s-32.24-15.51-49.61-38.58C59.65,160.5,48,132.37,48,112a80,80,0,0,1,160,0C208,132.37,196.35,160.5,177.61,185.42ZM120,136A40,40,0,0,0,80,96a16,16,0,0,0-16,16,40,40,0,0,0,40,40A16,16,0,0,0,120,136ZM80,112a24,24,0,0,1,24,24h0A24,24,0,0,1,80,112Zm96-16a40,40,0,0,0-40,40,16,16,0,0,0,16,16,40,40,0,0,0,40-40A16,16,0,0,0,176,96Zm-24,40a24,24,0,0,1,24-24A24,24,0,0,1,152,136Zm0,48a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,184Z"></path></svg>
16
+ </u2-ico>
17
+
18
+
19
+ ```
20
+
21
+ ```css
22
+ @font-face {
23
+ font-family: 'RemixFilled';
24
+ font-style: normal;
25
+ font-weight: 400;
26
+ src: url(https://cdn.jsdelivr.net/npm/remixicon-ligatures@2.5.0/fonts/RemixFilled.woff2) format('woff2');
27
+ }
28
+
29
+ [icon="book"] {
30
+ --u2-ico-dir: 'https://cdn.jsdelivr.net/npm/@phosphor-icons/core@2.0.2/assets/regular/';
31
+ color:blue;
32
+ }
33
+ [icon="star"] {
34
+ --u2-ico-font: 'RemixFilled';
35
+ color:green;
36
+ }
37
+ u2-ico:has(>svg) {
38
+ color:red;
39
+ }
40
+ u2-ico {
41
+ --size:3rem;
42
+ }
43
+ ```
44
+
45
+ ## Install
46
+
47
+ ```html
48
+ <link href="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ico/ico.min.css" rel=stylesheet>
49
+ <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ico/ico.min.js" type=module async></script>
50
+ ```
51
+
52
+ ## Demos
53
+
54
+ [combinations.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/combinations.html)
55
+ [emojis.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/emojis.html)
56
+ [fonts.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/fonts.html)
57
+ [ico-directory.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/ico-directory.html)
58
+ [minimal.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/minimal.html)
59
+ [test.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/test.html)
60
+
61
+ ## Variant "icon-directory"
62
+
63
+ Use the css-property `--u2-ico-dir:https://x.y/icons-directory/` to define where the icons are located.
64
+ The value must be in quotes.
65
+
66
+ ### Placeholder "{icon}"
67
+
68
+ If the icon is not located at the end of the path (https://x.y/star.svg), you can use this placeholder:
69
+ ```css
70
+ html {
71
+ --u2-ico-dir:'https://x.y/24x-{icon}/baseline.svg';
72
+ }
73
+ ```
74
+
75
+ ### Icon-naming
76
+ We prefer to alwas use lowercase names for the icons and use the `-` as a separator. E.g. `arrow-right`.
77
+ But if your prefered Icon-Set uses other naming conventions, you can use the placeholder `{icon-name}` in the same form as the Iconset's files are named:
78
+ `{iconName}` => first word is lowercase, second word is uppercase and there is no separator.
79
+
80
+ ```css
81
+ html {
82
+ --u2-ico-dir:'https://cdn.jsdelivr.net/npm/@adobe/spectrum-css-workflow-icons@1.4.2/24/{IconName}';
83
+ }
84
+ ```
85
+
86
+ ### Some icon sets
87
+
88
+ See it in action:
89
+ [ico-directory.html](https://raw.githack.com/u2ui/ico.el/main/tests/ico-directory.html)
90
+
91
+ | Icon set | Directory |
92
+ | -------- | --------- |
93
+ | Material | `https://cdn.jsdelivr.net/npm/@material-icons/svg@1.0.11/svg/{icon_name}/baseline.svg` |
94
+ | Teenyicons | `https://cdn.jsdelivr.net/npm/teenyicons@0.4.1/outline/` |
95
+ | Feather | `https://cdn.jsdelivr.net/npm/feather-icons@4.28.0/dist/icons/` |
96
+ | Bootstrap | `https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/icons/` |
97
+ | Octicons | `https://cdn.jsdelivr.net/npm/octicons@8.5.0/build/svg/` |
98
+ | Bytesize | `https://cdn.jsdelivr.net/npm/bytesize-icons@1.4.0/dist/icons/` |
99
+ | Ionicons | `https://cdn.jsdelivr.net/npm/ionicons@5.5.1/dist/svg/` |
100
+ | Tabler Icons | `https://cdn.jsdelivr.net/npm/tabler-icons@1.35.0/icons/` |
101
+ | Fontawesome regular | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/regular/` |
102
+ | Fontawesome solid | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/solid/` |
103
+ | Fontawesome brands | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/brands/` |
104
+ | Dripicons | `https://cdn.jsdelivr.net/npm/dripicons@2.0.0/SVG/` |
105
+ | CoreUI Icons | `https://cdn.jsdelivr.net/npm/@coreui/icons@2.0.1/svg/free/cil-` |
106
+ | open-iconic | `https://cdn.jsdelivr.net/npm/open-iconic@1.1.1/svg/` |
107
+ | Radix | `https://cdn.jsdelivr.net/gh/radix-ui/icons@3.1.0/packages/radix-icons/icons/15/` |
108
+ | Heroicons outline | `https://cdn.jsdelivr.net/npm/heroicons@1.0.1/outline/` |
109
+ | Heroicons solid | `https://cdn.jsdelivr.net/npm/heroicons@1.0.1/solid/` |
110
+ | Typicons | `https://cdn.jsdelivr.net/npm/typicons.font@2.1.2/src/svg/` |
111
+ | Boxicons regular | `https://cdn.jsdelivr.net/npm/boxicons@2.0.7/svg/regular/bx-` |
112
+ | Boxicons solid | `https://cdn.jsdelivr.net/npm/boxicons@2.0.7/svg/solid/bxs-` |
113
+ | linearicons | `https://cdn.jsdelivr.net/npm/linearicons@1.0.2/dist/svg/` |
114
+ | FluentUI regular | `https://cdn.jsdelivr.net/npm/@svg-icons/fluentui-system-regular@1.56.0/` |
115
+ | FluentUI filled | `https://cdn.jsdelivr.net/npm/@svg-icons/fluentui-system-filled@1.56.0/` |
116
+ | Evil Icons | `https://cdn.jsdelivr.net/npm/evil-icons@1.10.1/assets/icons/ei-` |
117
+ | Eva Icons fill | `https://cdn.jsdelivr.net/npm/eva-icons@1.1.3/fill/svg/` |
118
+ | Eva Icons outline | `https://cdn.jsdelivr.net/npm/eva-icons@1.1.3/outline/svg/{icon}-outline.svg` |
119
+ | Zondicons | `https://cdn.jsdelivr.net/npm/zondicons@1.2.0/` |
120
+ | holasvg-icons | `https://cdn.jsdelivr.net/gh/marianabeldi/holasvg-icons/icons/` |
121
+ | Jam icons | `https://cdn.jsdelivr.net/gh/michaelampr/jam@3.1.0/icons/` |
122
+ | entypo | `https://cdn.jsdelivr.net/npm/entypo@2.2.1/src/Entypo/` |
123
+ | Adobe Spectrum | `https://cdn.jsdelivr.net/npm/@adobe/spectrum-css-workflow-icons@1.4.2/24/{IconName}.svg` |
124
+ | mono icons | `https://cdn.jsdelivr.net/npm/mono-icons@1.3.1/svg/` |
125
+ | line awesome | `https://cdn.jsdelivr.net/npm/line-awesome@1.3.0/svg/` |
126
+ | flat color icons | `https://cdn.jsdelivr.net/npm/flat-color-icons@1.1.0/svg/` |
127
+ | icons8 windows-10-icons | `https://cdn.jsdelivr.net/npm/windows-10-icons@1.0.1/svg/production/{icon_name}.svg` |
128
+ | fticons | `https://cdn.jsdelivr.net/npm/@financial-times/fticons@1.23.1/svg/` |
129
+ | photon icons | `https://cdn.jsdelivr.net/npm/photon-icons@5.4.0/icons/desktop/` |
130
+ | devicons | `https://cdn.jsdelivr.net/npm/devicons@1.8.0/!SVG/{icon_name}` |
131
+ | Figma UI Icons | `https://cdn.jsdelivr.net/npm/css.gg@2.0.0/icons/svg/` |
132
+ | ifolio licons | `https://cdn.jsdelivr.net/gh/ifolio/licons@master/svg/` |
133
+
134
+ ## Variant "icon-font":
135
+
136
+ Define the font used for the icons:
137
+ ```css
138
+ @font-face {
139
+ font-family: 'my icon font';
140
+ font-style: normal;
141
+ font-weight: 400;
142
+ src: url(my-icon-font.woff2) format('woff2');
143
+ }
144
+ html {
145
+ --u2-ico-font:'my icon font';
146
+ }
147
+ ```
148
+
149
+ Note: `--u2-ico-dir` is stronger then `--u2-ico-font`.
150
+
151
+ ## Variant "SVG":
152
+
153
+ Just put you svg inside the element:
154
+ ```html
155
+ <u2-ico><svg>...</svg></u2-ico>
156
+ ```
157
+
158
+ ## About
159
+
160
+ - MIT License, Copyright (c) 2022 <u2> (like all repositories in this organization) <br>
161
+ - Suggestions, ideas, finding bugs and making pull requests make us very happy. ♥
162
+
@@ -0,0 +1,22 @@
1
+ /* solid and brand are free */
2
+
3
+ /*
4
+ wow, i can use same font-family-name in two font-face-rules.
5
+ disadvantage: both fonts are loaded regardless of used in content
6
+ */
7
+
8
+ @font-face {
9
+ font-family: 'Font Awesome';
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ xsrc: url(https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome/webfonts/fa-solid-900.woff2) format('woff2');
13
+ src: url(https://pro.fontawesome.com/releases/v6.0.0-beta1/webfonts/fa-solid-900.woff2) format('woff2');
14
+ }
15
+
16
+ @font-face {
17
+ font-family: 'Font Awesome';
18
+ font-style: normal;
19
+ font-weight: 400;
20
+ src: url(https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome/webfonts/fa-brands-400.woff2) format('woff2');
21
+ }
22
+
@@ -0,0 +1,7 @@
1
+ /* http://kudakurage.com/ligature_symbols/ */
2
+ @font-face {
3
+ font-family: 'LigatureSymbols';
4
+ font-style: normal;
5
+ font-weight: 400;
6
+ src: url(https://rawcdn.githack.com/kudakurage/LigatureSymbols/d54f43cd72d190b7a3c0b2ee1644fac770b4a146/LigatureSymbols-2.11.woff) format('woff');
7
+ }
@@ -0,0 +1,6 @@
1
+ @font-face {
2
+ font-family: 'Material Icons';
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ src: url(https://fonts.gstatic.com/s/materialicons/v77/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
6
+ }
@@ -0,0 +1,8 @@
1
+ /* https://remixicon.com/ */
2
+
3
+ @font-face {
4
+ font-family: 'RemixFilled';
5
+ font-style: normal;
6
+ font-weight: 400;
7
+ src: url(https://cdn.jsdelivr.net/npm/remixicon-ligatures@2.5.0/fonts/RemixFilled.woff2) format('woff2');
8
+ }
@@ -0,0 +1,8 @@
1
+ /* https://remixicon.com/ */
2
+
3
+ @font-face {
4
+ font-family: 'RemixOutlined';
5
+ font-style: normal;
6
+ font-weight: 400;
7
+ src: url(https://cdn.jsdelivr.net/npm/remixicon-ligatures@2.5.0/fonts/RemixOutlined.woff2) format('woff2');
8
+ }
@@ -0,0 +1,31 @@
1
+ /* https://typogram.github.io/Anicons/use.html */
2
+
3
+ @font-face {
4
+ font-family: 'Anicons Regular';
5
+ font-style: normal;
6
+ font-weight: 400;
7
+ xxxsrc: url(https://res.cloudinary.com/dr6lvwubh/raw/upload/v1581441981/Anicons/AniconsGX.ttf);
8
+ src: url(https://rawcdn.githack.com/Typogram/Anicons/9f441f3231e73ce0a395ede0070276779f13c882/webfonts/AniconsGX.ttf);
9
+
10
+ }
11
+ @font-face {
12
+ font-family: 'Anicons Color';
13
+ font-style: normal;
14
+ font-weight: 400;
15
+ src: url(https://rawcdn.githack.com/Typogram/Anicons/9f441f3231e73ce0a395ede0070276779f13c882/webfonts/AniconsColorGX.ttf);
16
+ }
17
+
18
+ u2-ico[font="anicon"] {
19
+ --u2-ico-font:"Anicons Regular";
20
+ transition: font-variation-settings .5s ease;
21
+ font-variation-settings: "TIME" 1;
22
+ }
23
+ u2-ico[font="anicon"][variant=color] {
24
+ --u2-ico-font:"Anicons Color";
25
+ }
26
+
27
+ :focus u2-ico[font=anicon][animate=focus] ,
28
+ u2-ico[font=anicon][animate=hover]:hover ,
29
+ u2-ico[font=anicon][animated] {
30
+ font-variation-settings: "TIME" 100;
31
+ }
@@ -0,0 +1,210 @@
1
+ @font-face {
2
+ font-family: 'devicons';
3
+ src: url("https://cdn.jsdelivr.net/npm/devicons@1.8.0/fonts/devicons.woff") format("woff");
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+
8
+ u2-ico[font=devicons] {
9
+ --u2-ico-font:'devicons';
10
+ }
11
+
12
+ /* feature syntax? *
13
+ u2-ico {
14
+ &[icon=git] {--after:"\e602"}
15
+ &[icon=git_compare] {--after:"\e602"}
16
+ &[icon=git]:after {--after:"\e602"}
17
+ &[icon=git_compare]:after {--after:"\e628"}
18
+ } /* */
19
+
20
+ u2-ico[icon=git]:after { content: "\e602" }
21
+ u2-ico[icon=git_compare]:after { content: "\e628" }
22
+ u2-ico[icon=git_branch]:after { content: "\e625" }
23
+ u2-ico[icon=git_commit]:after { content: "\e629" }
24
+ u2-ico[icon=git_pull_request]:after { content: "\e626" }
25
+ u2-ico[icon=git_merge]:after { content: "\e627" }
26
+ u2-ico[icon=bitbucket]:after { content: "\e603" }
27
+ u2-ico[icon=github_alt]:after { content: "\e608" }
28
+ u2-ico[icon=github_badge]:after { content: "\e609" }
29
+ u2-ico[icon=github]:after { content: "\e60a" }
30
+ u2-ico[icon=github_full]:after { content: "\e617" }
31
+ u2-ico[icon=java]:after { content: "\e638" }
32
+ u2-ico[icon=ruby]:after { content: "\e639" }
33
+ u2-ico[icon=scala]:after { content: "\e637" }
34
+ u2-ico[icon=python]:after { content: "\e63c" }
35
+ u2-ico[icon=go]:after { content: "\e624" }
36
+ u2-ico[icon=ruby_on_rails]:after { content: "\e63b" }
37
+ u2-ico[icon=django]:after { content: "\e61d" }
38
+ u2-ico[icon=markdown]:after { content: "\e63e" }
39
+ u2-ico[icon=php]:after { content: "\e63d" }
40
+ u2-ico[icon=mysql]:after { content: "\e604" }
41
+ u2-ico[icon=streamline]:after { content: "\e605" }
42
+ u2-ico[icon=database]:after { content: "\e606" }
43
+ u2-ico[icon=laravel]:after { content: "\e63f" }
44
+ u2-ico[icon=javascript]:after { content: "\e64e" }
45
+ u2-ico[icon=angular]:after { content: "\e653" }
46
+ u2-ico[icon=backbone]:after { content: "\e652" }
47
+ u2-ico[icon=coffeescript]:after { content: "\e651" }
48
+ u2-ico[icon=jquery]:after { content: "\e650" }
49
+ u2-ico[icon=modernizr]:after { content: "\e620" }
50
+ u2-ico[icon=jquery_ui]:after { content: "\e654" }
51
+ u2-ico[icon=ember]:after { content: "\e61b" }
52
+ u2-ico[icon=dojo]:after { content: "\e61c" }
53
+ u2-ico[icon=nodejs]:after { content: "\e619" }
54
+ u2-ico[icon=nodejs_small]:after { content: "\e618" }
55
+ u2-ico[icon=javascript_shield]:after { content: "\e64f" }
56
+ u2-ico[icon=bootstrap]:after { content: "\e647" }
57
+ u2-ico[icon=sass]:after { content: "\e64b" }
58
+ u2-ico[icon=css3_full]:after { content: "\e64a" }
59
+ u2-ico[icon=css3]:after { content: "\e649" }
60
+ u2-ico[icon=html5]:after { content: "\e636" }
61
+ u2-ico[icon=html5_multimedia]:after { content: "\e632" }
62
+ u2-ico[icon=html5_device_access]:after { content: "\e633" }
63
+ u2-ico[icon=html5_3d_effects]:after { content: "\e635" }
64
+ u2-ico[icon=html5_connectivity]:after { content: "\e634" }
65
+ u2-ico[icon=ghost_small]:after { content: "\e614" }
66
+ u2-ico[icon=ghost]:after { content: "\e61f" }
67
+ u2-ico[icon=magento]:after { content: "\e640" }
68
+ u2-ico[icon=joomla]:after { content: "\e641" }
69
+ u2-ico[icon=jekyll_small]:after { content: "\e60d" }
70
+ u2-ico[icon=drupal]:after { content: "\e642" }
71
+ u2-ico[icon=wordpress]:after { content: "\e60b" }
72
+ u2-ico[icon=grunt]:after { content: "\e64c" }
73
+ u2-ico[icon=bower]:after { content: "\e64d" }
74
+ u2-ico[icon=npm]:after { content: "\e61e" }
75
+ u2-ico[icon=yahoo_small]:after { content: "\e62b" }
76
+ u2-ico[icon=yahoo]:after { content: "\e615" }
77
+ u2-ico[icon=bing_small]:after { content: "\e600" }
78
+ u2-ico[icon=windows]:after { content: "\e60f" }
79
+ u2-ico[icon=linux]:after { content: "\e612" }
80
+ u2-ico[icon=ubuntu]:after { content: "\e63a" }
81
+ u2-ico[icon=android]:after { content: "\e60e" }
82
+ u2-ico[icon=apple]:after { content: "\e611" }
83
+ u2-ico[icon=appstore]:after { content: "\e613" }
84
+ u2-ico[icon=phonegap]:after { content: "\e630" }
85
+ u2-ico[icon=blackberry]:after { content: "\e623" }
86
+ u2-ico[icon=stackoverflow]:after { content: "\e610" }
87
+ u2-ico[icon=techcrunch]:after { content: "\e62c" }
88
+ u2-ico[icon=codrops]:after { content: "\e62f" }
89
+ u2-ico[icon=css_tricks]:after { content: "\e601" }
90
+ u2-ico[icon=smashing_magazine]:after { content: "\e62d" }
91
+ u2-ico[icon=netmagazine]:after { content: "\e62e" }
92
+ u2-ico[icon=codepen]:after { content: "\e616" }
93
+ u2-ico[icon=cssdeck]:after { content: "\e62a" }
94
+ u2-ico[icon=hackernews]:after { content: "\e61a" }
95
+ u2-ico[icon=dropbox]:after { content: "\e607" }
96
+ u2-ico[icon=google_drive]:after { content: "\e631" }
97
+ u2-ico[icon=visualstudio]:after { content: "\e60c" }
98
+ u2-ico[icon=unity_small]:after { content: "\e621" }
99
+ u2-ico[icon=raspberry_pi]:after { content: "\e622" }
100
+ u2-ico[icon=chrome]:after { content: "\e643" }
101
+ u2-ico[icon=ie]:after { content: "\e644" }
102
+ u2-ico[icon=firefox]:after { content: "\e645" }
103
+ u2-ico[icon=opera]:after { content: "\e646" }
104
+ u2-ico[icon=safari]:after { content: "\e648" }
105
+ u2-ico[icon=swift]:after { content: "\e655" }
106
+ u2-ico[icon=symfony]:after { content: "\e656" }
107
+ u2-ico[icon=symfony_badge]:after { content: "\e657" }
108
+ u2-ico[icon=less]:after { content: "\e658" }
109
+ u2-ico[icon=stylus]:after { content: "\e659" }
110
+ u2-ico[icon=trello]:after { content: "\e65a" }
111
+ u2-ico[icon=atlassian]:after { content: "\e65b" }
112
+ u2-ico[icon=jira]:after { content: "\e65c" }
113
+ u2-ico[icon=envato]:after { content: "\e65d" }
114
+ u2-ico[icon=snap_svg]:after { content: "\e65e" }
115
+ u2-ico[icon=raphael]:after { content: "\e65f" }
116
+ u2-ico[icon=google_analytics]:after { content: "\e660" }
117
+ u2-ico[icon=compass]:after { content: "\e661" }
118
+ u2-ico[icon=onedrive]:after { content: "\e662" }
119
+ u2-ico[icon=gulp]:after { content: "\e663" }
120
+ u2-ico[icon=atom]:after { content: "\e664" }
121
+ u2-ico[icon=cisco]:after { content: "\e665" }
122
+ u2-ico[icon=nancy]:after { content: "\e666" }
123
+ u2-ico[icon=clojure]:after { content: "\e668" }
124
+ u2-ico[icon=clojure_alt]:after { content: "\e66a" }
125
+ u2-ico[icon=perl]:after { content: "\e669" }
126
+ u2-ico[icon=celluloid]:after { content: "\e66b" }
127
+ u2-ico[icon=w3c]:after { content: "\e66c" }
128
+ u2-ico[icon=redis]:after { content: "\e66d" }
129
+ u2-ico[icon=postgresql]:after { content: "\e66e" }
130
+ u2-ico[icon=webplatform]:after { content: "\e66f" }
131
+ u2-ico[icon=jenkins]:after { content: "\e667" }
132
+ u2-ico[icon=requirejs]:after { content: "\e670" }
133
+ u2-ico[icon=opensource]:after { content: "\e671" }
134
+ u2-ico[icon=typo3]:after { content: "\e672" }
135
+ u2-ico[icon=uikit]:after { content: "\e673" }
136
+ u2-ico[icon=doctrine]:after { content: "\e674" }
137
+ u2-ico[icon=groovy]:after { content: "\e675" }
138
+ u2-ico[icon=nginx]:after { content: "\e676" }
139
+ u2-ico[icon=haskell]:after { content: "\e677" }
140
+ u2-ico[icon=zend]:after { content: "\e678" }
141
+ u2-ico[icon=gnu]:after { content: "\e679" }
142
+ u2-ico[icon=yeoman]:after { content: "\e67a" }
143
+ u2-ico[icon=heroku]:after { content: "\e67b" }
144
+ u2-ico[icon=debian]:after { content: "\e67d" }
145
+ u2-ico[icon=travis]:after { content: "\e67e" }
146
+ u2-ico[icon=dotnet]:after { content: "\e67f" }
147
+ u2-ico[icon=codeigniter]:after { content: "\e680" }
148
+ u2-ico[icon=javascript_badge]:after { content: "\e681" }
149
+ u2-ico[icon=yii]:after { content: "\e682" }
150
+ u2-ico[icon=msql_server]:after { content: "\e67c" }
151
+ u2-ico[icon=composer]:after { content: "\e683" }
152
+ u2-ico[icon=krakenjs_badge]:after { content: "\e684" }
153
+ u2-ico[icon=krakenjs]:after { content: "\e685" }
154
+ u2-ico[icon=mozilla]:after { content: "\e686" }
155
+ u2-ico[icon=firebase]:after { content: "\e687" }
156
+ u2-ico[icon=sizzlejs]:after { content: "\e688" }
157
+ u2-ico[icon=creativecommons]:after { content: "\e689" }
158
+ u2-ico[icon=creativecommons_badge]:after { content: "\e68a" }
159
+ u2-ico[icon=mitlicence]:after { content: "\e68b" }
160
+ u2-ico[icon=senchatouch]:after { content: "\e68c" }
161
+ u2-ico[icon=bugsense]:after { content: "\e68d" }
162
+ u2-ico[icon=extjs]:after { content: "\e68e" }
163
+ u2-ico[icon=mootools_badge]:after { content: "\e68f" }
164
+ u2-ico[icon=mootools]:after { content: "\e690" }
165
+ u2-ico[icon=ruby_rough]:after { content: "\e691" }
166
+ u2-ico[icon=komodo]:after { content: "\e692" }
167
+ u2-ico[icon=coda]:after { content: "\e693" }
168
+ u2-ico[icon=bintray]:after { content: "\e694" }
169
+ u2-ico[icon=terminal]:after { content: "\e695" }
170
+ u2-ico[icon=code]:after { content: "\e696" }
171
+ u2-ico[icon=responsive]:after { content: "\e697" }
172
+ u2-ico[icon=dart]:after { content: "\e698" }
173
+ u2-ico[icon=aptana]:after { content: "\e699" }
174
+ u2-ico[icon=mailchimp]:after { content: "\e69a" }
175
+ u2-ico[icon=netbeans]:after { content: "\e69b" }
176
+ u2-ico[icon=dreamweaver]:after { content: "\e69c" }
177
+ u2-ico[icon=brackets]:after { content: "\e69d" }
178
+ u2-ico[icon=eclipse]:after { content: "\e69e" }
179
+ u2-ico[icon=cloud9]:after { content: "\e69f" }
180
+ u2-ico[icon=scrum]:after { content: "\e6a0" }
181
+ u2-ico[icon=prolog]:after { content: "\e6a1" }
182
+ u2-ico[icon=terminal_badge]:after { content: "\e6a2" }
183
+ u2-ico[icon=code_badge]:after { content: "\e6a3" }
184
+ u2-ico[icon=mongodb]:after { content: "\e6a4" }
185
+ u2-ico[icon=meteor]:after { content: "\e6a5" }
186
+ u2-ico[icon=meteorfull]:after { content: "\e6a6" }
187
+ u2-ico[icon=fsharp]:after { content: "\e6a7" }
188
+ u2-ico[icon=rust]:after { content: "\e6a8" }
189
+ u2-ico[icon=ionic]:after { content: "\e6a9" }
190
+ u2-ico[icon=sublime]:after { content: "\e6aa" }
191
+ u2-ico[icon=appcelerator]:after { content: "\e6ab" }
192
+ u2-ico[icon=asterisk]:after { content: "\e6ac" }
193
+ u2-ico[icon=aws]:after { content: "\e6ad" }
194
+ u2-ico[icon=digital-ocean]:after { content: "\e6ae" }
195
+ u2-ico[icon=dlang]:after { content: "\e6af" }
196
+ u2-ico[icon=docker]:after { content: "\e6b0" }
197
+ u2-ico[icon=erlang]:after { content: "\e6b1" }
198
+ u2-ico[icon=google-cloud-platform]:after { content: "\e6b2" }
199
+ u2-ico[icon=grails]:after { content: "\e6b3" }
200
+ u2-ico[icon=illustrator]:after { content: "\e6b4" }
201
+ u2-ico[icon=intellij]:after { content: "\e6b5" }
202
+ u2-ico[icon=materializecss]:after { content: "\e6b6" }
203
+ u2-ico[icon=openshift]:after { content: "\e6b7" }
204
+ u2-ico[icon=photoshop]:after { content: "\e6b8" }
205
+ u2-ico[icon=rackspace]:after { content: "\e6b9" }
206
+ u2-ico[icon=react]:after { content: "\e6ba" }
207
+ u2-ico[icon=redhat]:after { content: "\e6bb" }
208
+ u2-ico[icon=scriptcs]:after { content: "\e6bc" }
209
+ u2-ico[icon=sqllite]:after { content: "\e6c4" }
210
+ u2-ico[icon=vim]:after { content: "\e6c5" }
@@ -0,0 +1,36 @@
1
+ /* https://material.io/resources/icons/ */
2
+ @font-face {
3
+ font-family: 'Material Icons';
4
+ font-style: normal;
5
+ font-weight: 400;
6
+ src: url(https://fonts.gstatic.com/s/materialicons/v77/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
7
+ }
8
+ @font-face {
9
+ font-family: 'Material Icons Outlined';
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v45/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2');
13
+ }
14
+ @font-face {
15
+ font-family: 'Material Icons Round';
16
+ font-style: normal;
17
+ font-weight: 400;
18
+ src: url(https://fonts.gstatic.com/s/materialiconsround/v44/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP.woff2) format('woff2');
19
+ }
20
+ @font-face {
21
+ font-family: 'Material Icons Sharp';
22
+ font-style: normal;
23
+ font-weight: 400;
24
+ src: url(https://fonts.gstatic.com/s/materialiconssharp/v45/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvR.woff2) format('woff2');
25
+ }
26
+ @font-face {
27
+ font-family: 'Material Icons Two Tone';
28
+ font-style: normal;
29
+ font-weight: 400;
30
+ src: url(https://fonts.gstatic.com/s/materialiconstwotone/v43/hESh6WRmNCxEqUmNyh3JDeGxjVVyMg4tHGctNCu0.woff2) format('woff2');
31
+ }
32
+ u2-ico[font=material] { --u2-ico-font:Material Icons; }
33
+ u2-ico[font=material][variant=outlined] { --u2-ico-font:Material Icons Outlined; }
34
+ u2-ico[font=material][variant=round] { --u2-ico-font:Material Icons Round; }
35
+ u2-ico[font=material][variant=sharp] { --u2-ico-font:Material Icons Sharp; }
36
+ u2-ico[font=material][variant=twotone] { --u2-ico-font:Material Icons Two Tone; }
@@ -0,0 +1,15 @@
1
+ /* https://remixicon.com/ */
2
+ @font-face {
3
+ font-family: 'RemixOutlined';
4
+ font-style: normal;
5
+ font-weight: 400;
6
+ src: url(https://cdn.jsdelivr.net/npm/remixicon-ligatures@2.5.0/fonts/RemixOutlined.woff2) format('woff2');
7
+ }
8
+ @font-face {
9
+ font-family: 'RemixFilled';
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ src: url(https://cdn.jsdelivr.net/npm/remixicon-ligatures@2.5.0/fonts/RemixFilled.woff2) format('woff2');
13
+ }
14
+ u2-ico[font=remix] { --u2-ico-font:RemixFilled; }
15
+ u2-ico[font=remix][variant=outlined] { --u2-ico-font:RemixOutlined; }
@@ -0,0 +1,54 @@
1
+ /*
2
+ https://stackoverflow.com/a/40020609/4865307
3
+ https://docs.google.com/spreadsheets/d/1KQDH9uArJr-8m4UvAEd02ixaX_-wauSwjy9qYCwIOvE/edit#gid=645289137
4
+
5
+
6
+ # emoji list
7
+ https://apps.timwhitlock.info/emoji/tables/unicode
8
+ https://www.unicode.org/emoji/charts/full-emoji-list.html
9
+
10
+ # monochrome emoji fonts
11
+
12
+ Noto Emoji
13
+ https://www.fontspace.com/noto-emoji-font-f22283
14
+ cdn: https://cdn.jsdelivr.net/gh/googlefonts/noto-emoji@2.038/fonts/NotoEmoji-Regular.ttf
15
+
16
+ Symbola Font
17
+ https://www.fontspace.com/symbola-font-f22021
18
+
19
+ Code2003
20
+ https://www.fontspace.com/code2003-font-f24444
21
+
22
+ Unifont Font (pixelated)
23
+ https://www.fontspace.com/unifont-font-f26370
24
+
25
+ EmojiSymbols Font (c)blockworks - Kenichi Kaneko (attribution required)
26
+ http://emojisymbols.com/
27
+
28
+ */
29
+
30
+ /* good names */
31
+ u2-ico[font=utf8][icon=close]:before { content:'✕' }
32
+ u2-ico[font=utf8][icon=star]:before { content:'★' }
33
+ u2-ico[font=utf8][icon=heart]:before { content:'♥' }
34
+ u2-ico[font=utf8][icon=airplane]:before { content:'✈' }
35
+ u2-ico[font=utf8][icon=check]:before { content:'✔' }
36
+ u2-ico[font=utf8][icon=sun]:before { content:'☼' }
37
+ u2-ico[font=utf8][icon=pensil]:before { content:'✎' }
38
+ u2-ico[font=utf8][icon=previous]:before { content:'❮' }
39
+ u2-ico[font=utf8][icon=next]:before { content:'❯' }
40
+ u2-ico[font=utf8][icon=telefon]:before { content:'☎' }
41
+ u2-ico[font=utf8][icon=cloud]:before { content:'☁' }
42
+ u2-ico[font=utf8][icon=email]:before { content:'✉' }
43
+ u2-ico[font=utf8][icon=drag_indicator]:before { content:'⠿' }
44
+ u2-ico[font=utf8][icon=menu]:before { content:'≡' }
45
+ u2-ico[font=utf8][icon=list]:before { content:'≔' }
46
+ u2-ico[font=utf8][icon=music]:before { content:'🎜' }
47
+
48
+
49
+
50
+
51
+
52
+ /* ok names? compare with material-icons and report if wrong*/
53
+ u2-ico[font=utf8][icon=arrow_right]:before { content:'▶' }
54
+ u2-ico[font=utf8][icon=arrow_left]:before { content:'◀' }