u2ui 1.0.1 → 1.4.5

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 (591) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +36 -36
  3. package/attr/behavior/README.md +6 -4
  4. package/attr/behavior/behavior.js +265 -261
  5. package/attr/behavior/manifest.json +42 -42
  6. package/attr/confirm/README.md +8 -8
  7. package/attr/confirm/confirm.js +86 -90
  8. package/attr/confirm/manifest.json +42 -42
  9. package/attr/disableif/README.md +37 -0
  10. package/attr/disableif/disableif.js +59 -0
  11. package/attr/disableif/manifest.json +38 -0
  12. package/attr/draghandle/README.md +15 -15
  13. package/attr/draghandle/draghandle.js +24 -42
  14. package/attr/draghandle/manifest.json +30 -0
  15. package/attr/dropzone/README.md +32 -0
  16. package/attr/dropzone/dropzone.js +485 -0
  17. package/attr/dropzone/manifest.json +36 -0
  18. package/attr/focusgroup/README.md +9 -9
  19. package/attr/focusgroup/focusgroup.js +97 -100
  20. package/attr/focusgroup/manifest.json +30 -38
  21. package/attr/href/README.md +5 -5
  22. package/attr/href/href.js +50 -42
  23. package/attr/href/manifest.json +42 -42
  24. package/attr/intersect/README.md +15 -15
  25. package/attr/intersect/intersect.js +98 -98
  26. package/attr/intersect/manifest.json +44 -57
  27. package/attr/lightbox/README.md +27 -0
  28. package/attr/lightbox/lightbox.js +120 -0
  29. package/attr/lightbox/manifest.json +29 -0
  30. package/attr/movable/README.md +27 -0
  31. package/attr/movable/manifest.json +47 -0
  32. package/attr/movable/movable.js +111 -0
  33. package/attr/navigable/README.md +9 -9
  34. package/attr/navigable/TargetObserver.js +90 -91
  35. package/attr/navigable/U2TargetObserver.js +75 -75
  36. package/attr/navigable/manifest.json +34 -42
  37. package/attr/navigable/navigable.js +85 -87
  38. package/attr/parallax/README.md +10 -10
  39. package/attr/parallax/manifest.json +36 -0
  40. package/attr/parallax/parallax.js +119 -119
  41. package/attr/scrollspy/README.md +43 -0
  42. package/attr/scrollspy/manifest.json +28 -0
  43. package/attr/scrollspy/scrollspy.js +85 -0
  44. package/attr/selectable/README.md +42 -0
  45. package/attr/selectable/SelectionManager.js +171 -0
  46. package/attr/selectable/manifest.json +33 -0
  47. package/attr/selectable/selectable.js +28 -0
  48. package/attr/skin/README.md +15 -16
  49. package/attr/skin/manifest.json +40 -0
  50. package/attr/skin/skin.css +49 -50
  51. package/attr/store/README.md +41 -0
  52. package/attr/store/manifest.json +28 -0
  53. package/attr/store/store.js +62 -0
  54. package/class/badge/README.md +2 -2
  55. package/class/badge/badge.css +34 -34
  56. package/class/card/README.md +51 -0
  57. package/class/card/card.css +31 -0
  58. package/class/flex/README.md +16 -16
  59. package/class/flex/flex.css +15 -25
  60. package/class/grid/README.md +18 -18
  61. package/class/grid/grid.css +38 -40
  62. package/class/reset/README.md +6 -6
  63. package/class/reset/reset.css +8 -8
  64. package/class/table/README.md +22 -21
  65. package/class/table/table.css +125 -125
  66. package/class/unstyle/README.md +7 -5
  67. package/class/unstyle/unstyle.css +14 -12
  68. package/class/width/README.md +18 -18
  69. package/class/width/width.css +21 -22
  70. package/css/README.md +11 -0
  71. package/css/base/README.md +8 -2
  72. package/css/base/base.css +153 -127
  73. package/css/base/beta.css +34 -50
  74. package/css/base/full.css +5 -5
  75. package/css/base/nomotion.css +8 -8
  76. package/css/base/print.css +36 -36
  77. package/css/classless/README.md +10 -4
  78. package/css/classless/aria.css +51 -64
  79. package/css/classless/classless.css +118 -124
  80. package/css/classless/full.css +11 -11
  81. package/css/classless/more.css +314 -340
  82. package/css/classless/simple.css +314 -103
  83. package/css/classless/snippeds/a/icons.css +66 -12
  84. package/css/classless/snippeds/a/tests.html +118 -0
  85. package/css/classless/snippeds/blockquote/big-quotes.css +36 -0
  86. package/css/classless/snippeds/blockquote/tests.html +62 -0
  87. package/css/classless/snippeds/button/square.css +22 -0
  88. package/css/classless/snippeds/button/tests.html +53 -0
  89. package/css/classless/snippeds/experiments/aria-header-nav-dropdown.css +46 -0
  90. package/css/classless/snippeds/hr/gradient.css +2 -2
  91. package/css/classless/snippeds/hr/section_sign.css +16 -16
  92. package/css/classless/snippeds/hr/tests.html +49 -49
  93. package/css/classless/snippeds/p/indent.css +9 -0
  94. package/css/classless/snippeds/p/initial.css +9 -0
  95. package/css/classless/snippeds/p/tests.html +60 -0
  96. package/css/classless/variables.css +132 -99
  97. package/css/norm/README.md +7 -1
  98. package/css/norm/beta.css +41 -39
  99. package/css/norm/norm.css +89 -98
  100. package/css/norm/oldies.css +71 -60
  101. package/css/{classes → utils}/README.md +10 -4
  102. package/css/{classes/classes.css → utils/utils.css} +78 -78
  103. package/el/accordion/README.md +60 -59
  104. package/el/accordion/accordion.css +11 -7
  105. package/el/accordion/accordion.js +211 -258
  106. package/el/accordion/manifest.json +44 -57
  107. package/el/alert/README.md +86 -67
  108. package/el/alert/alert.css +72 -73
  109. package/el/alert/alert.js +206 -187
  110. package/el/alert/manifest.json +59 -77
  111. package/el/breadcrumb/README.md +41 -0
  112. package/el/breadcrumb/breadcrumb.css +22 -0
  113. package/el/breadcrumb/breadcrumb.js +119 -0
  114. package/el/breadcrumb/manifest.json +42 -0
  115. package/el/buttongroup/README.md +36 -36
  116. package/el/buttongroup/buttongroup.css +38 -30
  117. package/el/buttongroup/buttongroup.js +68 -56
  118. package/el/buttongroup/manifest.json +28 -0
  119. package/el/bytes/README.md +4 -4
  120. package/el/bytes/bytes.css +6 -6
  121. package/el/bytes/bytes.js +98 -97
  122. package/el/bytes/manifest.json +90 -95
  123. package/el/calendar/README.md +64 -0
  124. package/el/calendar/calendar.css +36 -0
  125. package/el/calendar/calendar.js +391 -0
  126. package/el/calendar/ext/drag.js +69 -0
  127. package/el/calendar/ext/keyNavigation.js +101 -0
  128. package/el/calendar/manifest.json +69 -0
  129. package/el/carousel/README.md +14 -14
  130. package/el/carousel/carousel.css +45 -46
  131. package/el/carousel/carousel.js +398 -371
  132. package/el/carousel/manifest.json +44 -58
  133. package/el/carousel-nav/README.md +13 -14
  134. package/el/carousel-nav/carousel-nav.js +74 -74
  135. package/el/carousel-nav/manifest.json +31 -0
  136. package/el/chart/README.md +46 -0
  137. package/el/chart/chart.css +7 -0
  138. package/el/chart/chart.js +188 -0
  139. package/el/chart/engines/apexcharts.js +103 -0
  140. package/el/chart/engines/billboard.js +79 -0
  141. package/el/chart/engines/chart.js.js +32 -0
  142. package/el/chart/engines/chartist.js +74 -0
  143. package/el/chart/engines/echarts.js +65 -0
  144. package/el/chart/engines/frappe.js +49 -0
  145. package/el/chart/engines/nvd3.js +139 -0
  146. package/el/chart/engines/plotly.js +73 -0
  147. package/el/chart/manifest.json +54 -0
  148. package/el/code/README.md +21 -21
  149. package/el/code/code.css +46 -46
  150. package/el/code/code.js +291 -289
  151. package/el/code/manifest.json +59 -66
  152. package/el/cookiebanner/README.md +70 -0
  153. package/el/cookiebanner/cookiebanner.css +42 -0
  154. package/el/cookiebanner/cookiebanner.js +161 -0
  155. package/el/cookiebanner/extensions/googleConsentMode.js +36 -0
  156. package/el/cookiebanner/knownItems.js +291 -0
  157. package/el/cookiebanner/manifest.json +85 -0
  158. package/el/cookiebanner/ui.js +426 -0
  159. package/el/copy/README.md +9 -7
  160. package/el/copy/copy.css +3 -3
  161. package/el/copy/copy.js +89 -117
  162. package/el/copy/manifest.json +37 -49
  163. package/el/counter/README.md +12 -9
  164. package/el/counter/counter.css +8 -8
  165. package/el/counter/counter.js +96 -95
  166. package/el/counter/manifest.json +50 -59
  167. package/el/drawer/README.md +35 -0
  168. package/el/drawer/drawer.css +77 -0
  169. package/el/drawer/drawer.js +166 -0
  170. package/el/drawer/manifest.json +27 -0
  171. package/el/fields/README.md +34 -0
  172. package/el/fields/fields.css +5 -0
  173. package/el/fields/fields.js +133 -0
  174. package/el/fields/manifest.json +32 -0
  175. package/el/ico/README.md +119 -118
  176. package/el/ico/debug.js +86 -0
  177. package/el/ico/font/Font Awesome.css +22 -22
  178. package/el/ico/font/LigatureSymbols.css +7 -7
  179. package/el/ico/font/Material Icons.css +6 -6
  180. package/el/ico/font/RemixFilled.css +8 -8
  181. package/el/ico/font/RemixOutlined.css +8 -8
  182. package/el/ico/font/old/anicons.css +31 -31
  183. package/el/ico/font/old/devicons.css +210 -210
  184. package/el/ico/font/old/material.all.css +36 -36
  185. package/el/ico/font/old/remix.css +15 -15
  186. package/el/ico/font/old/utf8.css +54 -54
  187. package/el/ico/ico.css +122 -110
  188. package/el/ico/ico.js +163 -189
  189. package/el/ico/manifest.json +68 -86
  190. package/el/input/README.md +41 -39
  191. package/el/input/input.css +95 -35
  192. package/el/input/input.js +682 -331
  193. package/el/input/manifest.json +54 -0
  194. package/el/maintitlebar/README.md +39 -0
  195. package/el/maintitlebar/maintitlebar.css +40 -0
  196. package/el/maintitlebar/maintitlebar.js +17 -0
  197. package/el/maintitlebar/manifest.json +32 -0
  198. package/el/masonry/README.md +19 -19
  199. package/el/masonry/manifest.json +49 -60
  200. package/el/masonry/masonry.css +27 -27
  201. package/el/masonry/masonry.js +93 -92
  202. package/el/menubutton/README.md +39 -0
  203. package/el/menubutton/manifest.json +44 -0
  204. package/el/{splitbutton/splitbutton.css → menubutton/menubutton.css} +51 -47
  205. package/el/menubutton/menubutton.js +90 -0
  206. package/el/number/README.md +9 -6
  207. package/el/number/manifest.json +162 -121
  208. package/el/number/number.css +6 -6
  209. package/el/number/number.js +67 -67
  210. package/el/out/README.md +5 -5
  211. package/el/out/manifest.json +26 -38
  212. package/el/out/out.css +2 -2
  213. package/el/out/out.js +42 -59
  214. package/el/pagination/README.md +32 -0
  215. package/el/pagination/manifest.json +47 -0
  216. package/el/pagination/pagination.css +27 -0
  217. package/el/pagination/pagination.js +147 -0
  218. package/el/parallax-bg/README.md +26 -6
  219. package/el/parallax-bg/manifest.json +32 -0
  220. package/el/parallax-bg/parallax-bg.css +13 -13
  221. package/el/parallax-bg/parallax-bg.js +197 -186
  222. package/el/qrcode/README.md +7 -7
  223. package/el/qrcode/manifest.json +32 -43
  224. package/el/qrcode/package.json +22 -22
  225. package/el/qrcode/qrcode.css +13 -13
  226. package/el/qrcode/qrcode.js +53 -45
  227. package/el/rating/README.md +9 -20
  228. package/el/rating/manifest.json +52 -65
  229. package/el/rating/rating.css +10 -10
  230. package/el/rating/rating.js +148 -139
  231. package/el/responsive/README.md +43 -0
  232. package/el/responsive/manifest.json +41 -0
  233. package/el/responsive/responsive.css +4 -0
  234. package/el/responsive/responsive.js +143 -0
  235. package/el/rte/README.md +10 -10
  236. package/el/rte/manifest.json +33 -0
  237. package/el/rte/rte.css +9 -9
  238. package/el/rte/rte.js +56 -56
  239. package/el/skeleton/README.md +3 -3
  240. package/el/skeleton/manifest.json +37 -51
  241. package/el/skeleton/skeleton.css +67 -60
  242. package/el/skeleton/skeleton.js +71 -72
  243. package/el/splitpanel/README.md +33 -13
  244. package/el/splitpanel/manifest.json +36 -49
  245. package/el/splitpanel/splitpanel.css +20 -17
  246. package/el/splitpanel/splitpanel.js +117 -116
  247. package/el/spot/README.md +36 -0
  248. package/el/spot/manifest.json +55 -0
  249. package/el/spot/spot.css +23 -0
  250. package/el/spot/spot.js +106 -0
  251. package/el/system/README.md +29 -0
  252. package/el/system/demoHtml.html +660 -0
  253. package/el/system/manifest.json +32 -0
  254. package/el/system/styler.js +661 -0
  255. package/el/system/system.js +84 -0
  256. package/el/table/README.md +80 -68
  257. package/el/table/ext/autoFormatTable.js +228 -0
  258. package/el/table/manifest.json +32 -43
  259. package/el/table/table.css +4 -59
  260. package/el/table/table.js +468 -194
  261. package/el/tabs/README.md +17 -17
  262. package/el/tabs/manifest.json +44 -59
  263. package/el/tabs/tabs.css +22 -22
  264. package/el/tabs/tabs.js +192 -210
  265. package/el/textfit/README.md +7 -7
  266. package/el/textfit/manifest.json +33 -45
  267. package/el/textfit/textfit.css +5 -5
  268. package/el/textfit/textfit.js +80 -80
  269. package/el/time/README.md +6 -5
  270. package/el/time/manifest.json +79 -118
  271. package/el/time/time.js +179 -168
  272. package/el/toc/README.md +27 -0
  273. package/el/toc/manifest.json +36 -0
  274. package/el/toc/toc.css +3 -0
  275. package/el/toc/toc.js +85 -0
  276. package/el/tooltip/README.md +13 -10
  277. package/el/tooltip/manifest.json +56 -69
  278. package/el/tooltip/tooltip.css +100 -97
  279. package/el/tooltip/tooltip.js +146 -82
  280. package/el/tree/README.md +133 -0
  281. package/el/tree/ext/dnd.js +53 -0
  282. package/el/tree/ext/item.js +35 -0
  283. package/el/tree/manifest.json +61 -0
  284. package/el/tree/tree.css +18 -0
  285. package/el/tree/tree.js +236 -0
  286. package/el/typewriter/README.md +11 -11
  287. package/el/typewriter/manifest.json +45 -66
  288. package/el/typewriter/typewriter.css +6 -6
  289. package/el/typewriter/typewriter.js +161 -166
  290. package/el/video/README.md +37 -0
  291. package/el/video/manifest.json +96 -0
  292. package/el/video/video.js +550 -0
  293. package/js/Placer/Placer.js +156 -156
  294. package/js/Placer/README.md +14 -16
  295. package/js/PointerObserver/PointerObserver-no-scroll.js +146 -0
  296. package/js/PointerObserver/PointerObserver.js +161 -130
  297. package/js/PointerObserver/README.md +6 -7
  298. package/js/SelectorObserver/README.md +9 -9
  299. package/js/SelectorObserver/SelectorObserver.js +199 -200
  300. package/js/Tour/README.md +56 -0
  301. package/js/Tour/Tour.js +156 -0
  302. package/js/contextmenu/README.md +6 -31
  303. package/js/contextmenu/contextmenu.js +338 -336
  304. package/js/dialog/README.md +8 -7
  305. package/js/dialog/dialog.js +228 -261
  306. package/js/drag/README.md +28 -0
  307. package/js/drag/drag.js +38 -0
  308. package/js/drag/indicateDrop.js +80 -0
  309. package/js/loading/README.md +24 -0
  310. package/js/loading/loading.js +139 -0
  311. package/js/navigator/README.md +26 -0
  312. package/js/navigator/navigator.js +430 -0
  313. package/js/navigator/url-change-event.js +29 -0
  314. package/js/rte/README.md +13 -14
  315. package/js/rte/old/NodeCleaner.js +315 -315
  316. package/js/rte/old/Rte/Rte.ui.mjs +154 -154
  317. package/js/rte/old/Rte/index.mjs +5 -5
  318. package/js/rte/old/Rte/main.css +189 -189
  319. package/js/rte/old/old.rte.js +131 -131
  320. package/js/rte/old/range-selection.old.js +394 -394
  321. package/js/rte/rte.js +7 -7
  322. package/js/rte/src/behavior.js +228 -228
  323. package/js/rte/src/events.js +73 -73
  324. package/js/rte/src/fixes.js +250 -250
  325. package/js/rte/src/range.js +469 -472
  326. package/js/rte/src/rte.js +71 -71
  327. package/js/rte/src/ui/items/ai.js +166 -167
  328. package/js/rte/src/ui/items/code.js +93 -93
  329. package/js/rte/src/ui/items/undo.js +183 -183
  330. package/js/rte/src/ui.items.js +6 -7
  331. package/js/rte/src/ui.js +268 -268
  332. package/js/rte/src/util/indentHtml.js +21 -15
  333. package/js/serviceWorker/README.md +17 -0
  334. package/js/serviceWorker/serviceWorker.js +84 -0
  335. package/js/serviceWorker/sw.js +221 -0
  336. package/js/shortcut/README.md +6 -6
  337. package/js/shortcut/shortcut.js +53 -89
  338. package/package.json +2 -4
  339. package/theme/brutalist/README.md +10 -0
  340. package/theme/brutalist/theme.css +98 -0
  341. package/theme/elegance/README.md +10 -0
  342. package/theme/elegance/theme.css +120 -0
  343. package/theme/luxury/README.md +10 -0
  344. package/theme/luxury/theme.css +107 -0
  345. package/theme/minimalism/README.md +10 -0
  346. package/theme/minimalism/theme.css +103 -0
  347. package/theme/natur/README.md +10 -0
  348. package/theme/natur/theme.css +101 -0
  349. package/theme/pastell/README.md +10 -0
  350. package/theme/pastell/theme.css +99 -0
  351. package/theme/pop/README.md +10 -0
  352. package/theme/pop/theme.css +101 -0
  353. package/theme/prompt.css +175 -0
  354. package/theme/retro/README.md +10 -0
  355. package/theme/retro/theme.css +99 -0
  356. package/theme/soft/README.md +10 -0
  357. package/theme/soft/theme.css +84 -0
  358. package/theme/tech/README.md +10 -0
  359. package/theme/tech/theme.css +98 -0
  360. package/theme/test/README.md +10 -0
  361. package/theme/test/theme.css +109 -0
  362. package/theme/test.html +284 -0
  363. package/theme/tmp/README.md +10 -0
  364. package/theme/tmp/theme.css +323 -0
  365. package/u2/auto.js +156 -161
  366. package/u2/auto.ui.js +82 -85
  367. package/u2/plan-scoped-refactoring.md +236 -0
  368. package/u2/projects.json +757 -467
  369. package/u2/tools/baseElement.js +217 -95
  370. package/u2/tools/baseElement.test.html +139 -119
  371. package/u2/tools/ce-inspector.js +307 -307
  372. package/u2/tools/ce-inspector.test.html +67 -65
  373. package/u2/tools/ce-manfest-from-element.js +207 -207
  374. package/u2/tools/dev-iframe.js +212 -213
  375. package/u2/tools/dev-iframe.test.html +72 -74
  376. package/u2/tools/eventsExplorer.js +102 -101
  377. package/u2/tools/logo/u1.svg +9 -9
  378. package/u2/tools/promiseElementById.js +14 -0
  379. package/u2/tools/update.repos.json.js +259 -234
  380. package/u2/tools/update.skill.js +176 -0
  381. package/u2/tools/variable-styler.js +317 -0
  382. package/u2/u2.js +30 -14
  383. package/u2/utils.js +61 -59
  384. package/.htaccess +0 -7
  385. package/attr/behavior/tests/minimal.html +0 -19
  386. package/attr/behavior/tests/test.html +0 -98
  387. package/attr/confirm/tests/minimal.html +0 -23
  388. package/attr/confirm/tests/test.html +0 -79
  389. package/attr/draghandle/tests/minimal.html +0 -44
  390. package/attr/focusgroup/tests/minimal.html +0 -27
  391. package/attr/focusgroup/tests/test.html +0 -154
  392. package/attr/href/tests/minimal.html +0 -17
  393. package/attr/href/tests/test.html +0 -70
  394. package/attr/intersect/tests/minimal.html +0 -30
  395. package/attr/intersect/tests/test.html +0 -64
  396. package/attr/navigable/tests/U1TargetObserver.html +0 -56
  397. package/attr/navigable/tests/minimal.html +0 -17
  398. package/attr/navigable/tests/targetObserver.html +0 -106
  399. package/attr/navigable/tests/test.html +0 -84
  400. package/attr/parallax/tests/minimal.html +0 -25
  401. package/attr/parallax/tests/performance.html +0 -102
  402. package/attr/parallax/tests/test.html +0 -108
  403. package/attr/skin/tests/minimal.html +0 -34
  404. package/attr/skin/tests/test.html +0 -96
  405. package/class/badge/tests/minimal.html +0 -17
  406. package/class/badge/tests/test.html +0 -112
  407. package/class/card1/README.md +0 -45
  408. package/class/card1/card1.css +0 -30
  409. package/class/card1/tests/minimal.html +0 -33
  410. package/class/card1/tests/test.html +0 -78
  411. package/class/flex/tests/minimal.html +0 -31
  412. package/class/flex/tests/test.html +0 -58
  413. package/class/grid/tests/minimal.html +0 -34
  414. package/class/grid/tests/test.html +0 -78
  415. package/class/input/README.md +0 -49
  416. package/class/input/input.css +0 -33
  417. package/class/input/tests/minimal.html +0 -39
  418. package/class/input/tests/test.html +0 -29
  419. package/class/reset/tests/minimal.html +0 -23
  420. package/class/table/tests/minimal.html +0 -40
  421. package/class/table/tests/test.html +0 -226
  422. package/class/unstyle/tests/minimal.html +0 -22
  423. package/class/unstyle/tests/test.html +0 -32
  424. package/class/width/tests/minimal.html +0 -27
  425. package/class/width/tests/test.html +0 -101
  426. package/css/base/tests/nomotion.html +0 -89
  427. package/css/base/tests/test.html +0 -539
  428. package/css/classes/tests/test.html +0 -63
  429. package/css/classless/snippeds/experiments/conventions.css +0 -41
  430. package/css/classless/tests/aria.html +0 -101
  431. package/css/classless/tests/foreign/classless-almond.css.html +0 -445
  432. package/css/classless/tests/foreign/classless-classless.css.html +0 -831
  433. package/css/classless/tests/foreign/classless-mvp.html +0 -415
  434. package/css/classless/tests/foreign/classless.sakura.html +0 -224
  435. package/css/classless/tests/foreign/stylestage.dev.html +0 -304
  436. package/css/classless/tests/foreign/test-homogenizer.html +0 -433
  437. package/css/classless/tests/foreign/test-html5-elements-tester.html +0 -956
  438. package/css/classless/tests/foreign/test-opinionated_css.html +0 -148
  439. package/css/classless/tests/list-bullet.html +0 -110
  440. package/css/classless/tests/more.html +0 -246
  441. package/css/classless/tests/oklch.experiments.html +0 -280
  442. package/css/classless/tests/test.html +0 -106
  443. package/css/classless/tests/variables.html +0 -109
  444. package/css/norm/tests/test.html +0 -434
  445. package/css/norm/tests/test.js +0 -103
  446. package/el/accordion/tests/minimal.html +0 -44
  447. package/el/accordion/tests/test.html +0 -168
  448. package/el/alert/alert copy.js +0 -224
  449. package/el/alert/tests/minimal.html +0 -36
  450. package/el/alert/tests/test.html +0 -105
  451. package/el/buttongroup/tests/minimal.html +0 -31
  452. package/el/buttongroup/tests/test.html +0 -83
  453. package/el/bytes/tests/minimal.html +0 -19
  454. package/el/bytes/tests/test.html +0 -117
  455. package/el/carousel/tests/experiments.html +0 -77
  456. package/el/carousel/tests/minimal.html +0 -31
  457. package/el/carousel/tests/nested.html +0 -54
  458. package/el/carousel/tests/test.html +0 -136
  459. package/el/carousel-nav/tests/minimal.html +0 -32
  460. package/el/carousel-nav/tests/test.html +0 -59
  461. package/el/code/tests/minimal.html +0 -35
  462. package/el/code/tests/test.html +0 -162
  463. package/el/copy/tests/minimal.html +0 -21
  464. package/el/copy/tests/test.html +0 -75
  465. package/el/counter/tests/minimal.html +0 -27
  466. package/el/counter/tests/test.html +0 -106
  467. package/el/ico/tests/combinations.html +0 -86
  468. package/el/ico/tests/emojis.html +0 -213
  469. package/el/ico/tests/fonts.html +0 -110
  470. package/el/ico/tests/ico-directory.html +0 -254
  471. package/el/ico/tests/minimal.html +0 -46
  472. package/el/ico/tests/test.html +0 -210
  473. package/el/ico/tests/util-multi.svg +0 -6
  474. package/el/ico/tests/util.css +0 -2
  475. package/el/ico/tests/util.js +0 -110
  476. package/el/input/tests/formParticipation.html +0 -113
  477. package/el/input/tests/minimal.html +0 -33
  478. package/el/input/tests/test.html +0 -258
  479. package/el/masonry/tests/minimal.html +0 -39
  480. package/el/masonry/tests/test.html +0 -42
  481. package/el/number/tests/minimal.html +0 -25
  482. package/el/number/tests/test.html +0 -138
  483. package/el/out/tests/minimal.html +0 -25
  484. package/el/out/tests/test.html +0 -37
  485. package/el/parallax-bg/tests/bg.jpg +0 -0
  486. package/el/parallax-bg/tests/bg1.jpg +0 -0
  487. package/el/parallax-bg/tests/bg2.jpg +0 -0
  488. package/el/parallax-bg/tests/demo.html +0 -88
  489. package/el/parallax-bg/tests/minimal.html +0 -30
  490. package/el/parallax-bg/tests/test.html +0 -64
  491. package/el/parallax-bg/tests/visible.html +0 -90
  492. package/el/qrcode/tests/minimal.html +0 -26
  493. package/el/qrcode/tests/test.html +0 -31
  494. package/el/rating/tests/minimal.html +0 -26
  495. package/el/rating/tests/tests.html +0 -77
  496. package/el/rte/tests/minimal.html +0 -25
  497. package/el/rte/tests/test.html +0 -37
  498. package/el/skeleton/tests/minimal.html +0 -22
  499. package/el/skeleton/tests/test.html +0 -22
  500. package/el/splitbutton/README.md +0 -39
  501. package/el/splitbutton/splitbutton.js +0 -26
  502. package/el/splitbutton/tests/minimal.html +0 -30
  503. package/el/splitbutton/tests/test.html +0 -68
  504. package/el/splitpanel/tests/minimal.html +0 -31
  505. package/el/splitpanel/tests/tests.html +0 -121
  506. package/el/table/tests/minimal.html +0 -38
  507. package/el/table/tests/test.html +0 -108
  508. package/el/tabs/tests/minimal.html +0 -35
  509. package/el/tabs/tests/test.html +0 -180
  510. package/el/textfit/tests/minimal.html +0 -25
  511. package/el/textfit/tests/test.html +0 -26
  512. package/el/time/tests/minimal.html +0 -19
  513. package/el/time/tests/test.html +0 -160
  514. package/el/time/time copy.js +0 -141
  515. package/el/time/time.old.uhtml.js +0 -129
  516. package/el/tooltip/tests/minimal.html +0 -25
  517. package/el/tooltip/tests/test.html +0 -178
  518. package/el/tree1/README.md +0 -111
  519. package/el/tree1/manifest.json +0 -78
  520. package/el/tree1/tests/animated.html +0 -134
  521. package/el/tree1/tests/custom.html +0 -51
  522. package/el/tree1/tests/minimal.html +0 -44
  523. package/el/tree1/tests/test.html +0 -260
  524. package/el/tree1/tree1.css +0 -26
  525. package/el/tree1/tree1.js +0 -265
  526. package/el/typewriter/tests/minimal.html +0 -25
  527. package/el/typewriter/tests/test.html +0 -78
  528. package/js/Placer/tests/minimal.html +0 -34
  529. package/js/Placer/tests/test.html +0 -49
  530. package/js/PointerObserver/tests/minimal.html +0 -29
  531. package/js/PointerObserver/tests/test.html +0 -35
  532. package/js/SelectorObserver/tests/minimal.html +0 -21
  533. package/js/SelectorObserver/tests/test.html +0 -57
  534. package/js/SelectorObserver/tests/tests.html +0 -161
  535. package/js/contextmenu/tests/minimal.html +0 -44
  536. package/js/contextmenu/tests/test.html +0 -131
  537. package/js/dialog/tests/minimal.html +0 -29
  538. package/js/dialog/tests/notification.mp3 +0 -0
  539. package/js/dialog/tests/test.html +0 -135
  540. package/js/rte/tests/ai.html +0 -81
  541. package/js/rte/tests/behavior.html +0 -88
  542. package/js/rte/tests/events.html +0 -69
  543. package/js/rte/tests/fixes.html +0 -95
  544. package/js/rte/tests/minimal.html +0 -34
  545. package/js/rte/tests/notes.md +0 -6
  546. package/js/rte/tests/range.html +0 -167
  547. package/js/rte/tests/selection-explorer.html +0 -222
  548. package/js/rte/tests/test.html +0 -92
  549. package/js/shortcut/tests/minimal.html +0 -23
  550. package/js/shortcut/tests/test.html +0 -68
  551. package/u2/experiments/Waiter/test.html +0 -132
  552. package/u2/experiments/getElementByIdPromise/test.html +0 -76
  553. package/u2/experiments/patchInputValue.html +0 -124
  554. package/u2/experiments/radiobutton/test.html +0 -75
  555. package/u2/experiments/tests/test.html +0 -223
  556. package/u2/experiments/u1-responsive/responsive.js +0 -62
  557. package/u2/experiments/u1-responsive/test.html +0 -65
  558. package/u2/experiments/u2Element.js +0 -139
  559. package/u2/experiments/u2Element.test.html +0 -47
  560. package/u2/old-stuff/IterableWeakMap/mod.js +0 -70
  561. package/u2/old-stuff/css/onStyleSheet/mod.js +0 -114
  562. package/u2/old-stuff/css/onStyleSheet/monkeypatches.js +0 -28
  563. package/u2/old-stuff/css/onStyleSheet/test/include.css +0 -19
  564. package/u2/old-stuff/css/onStyleSheet/test/style-has-include.css +0 -6
  565. package/u2/old-stuff/css/onStyleSheet/test/style-no-include.css +0 -3
  566. package/u2/old-stuff/css/onStyleSheet/test/test.html +0 -48
  567. package/u2/old-stuff/css/parser/mod.js +0 -182
  568. package/u2/old-stuff/css/parser/parser_old/mod.js +0 -128
  569. package/u2/old-stuff/css/parser/parser_old/test.html +0 -43
  570. package/u2/old-stuff/css/parser/parser_old/util.js +0 -22
  571. package/u2/old-stuff/css/parser/style.html +0 -52
  572. package/u2/old-stuff/css/parser/test.html +0 -38
  573. package/u2/old-stuff/el/ai-texter/README.md +0 -23
  574. package/u2/old-stuff/el/ai-texter/ai-texter.css +0 -12
  575. package/u2/old-stuff/el/ai-texter/ai-texter.js +0 -153
  576. package/u2/old-stuff/el/ai-texter/tests/minimal.html +0 -47
  577. package/u2/old-stuff/el/ai-texter/tests/test.html +0 -71
  578. package/u2/old-stuff/init.js +0 -38
  579. package/u2/old-stuff/markHashLinks.js +0 -51
  580. package/u2/old-stuff/onElement/mod.js +0 -73
  581. package/u2/old-stuff/test-helpers/mod.js +0 -36
  582. package/u2/old-stuff/test-helpers/test.html +0 -4
  583. package/u2/old-stuff/tests/init.js.html +0 -51
  584. package/u2/old-stuff/viewport.js +0 -64
  585. package/u2/tests/boilerplate.html +0 -46
  586. package/u2/tests/kacheln.html +0 -245
  587. package/u2/tests/showcase.html +0 -270
  588. package/u2/tests/showcase2.html +0 -157
  589. package/u2/tests/test-init.js +0 -35
  590. package/u2/tests/test.html +0 -355
  591. package/u2/tools/logo/u1ui.svg +0 -6
package/el/ico/README.md CHANGED
@@ -1,158 +1,159 @@
1
- # <u2-ico> - element
2
- Universal icon-element
1
+ # <u2-ico> - element
2
+ Icon `<u2-ico icon="edit" aria-label="edit">🖉</u2-ico>` uses `html { --u2-ico-dir:'https://example.com/svg/{icon_name}.svg'`
3
3
 
4
4
  ## Features
5
5
 
6
- - Use any icon set you want
7
- - You can put direct SVG inside the element
8
- - You can use a icon-font
6
+ - Use any icon set you want
7
+ - You can put direct SVG inside the element
8
+ - You can use a icon-font
9
9
  - Or you define a directory, where the svg-files are located
10
10
 
11
11
  ## Usage
12
12
 
13
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
-
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
18
 
19
19
  ```
20
20
 
21
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;
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
42
  }
43
43
  ```
44
44
 
45
45
  ## Install
46
46
 
47
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>
48
+ <link href="https://cdn.jsdelivr.net/gh/u2ui/u2@main/el/ico/ico.css" rel=stylesheet>
49
+ <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@main/el/ico/ico.js" type=module async></script>
50
50
  ```
51
51
 
52
52
  ## Demos
53
53
 
54
+ [ico-directory.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/ico-directory.html)
54
55
  [combinations.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/combinations.html)
56
+ [test.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/test.html)
55
57
  [emojis.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/emojis.html)
56
58
  [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
59
  [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
+ [sprite.html](http://gcdn.li/u2ui/u2@main/el/ico/tests/sprite.html)
60
61
 
61
62
  ## Variant "icon-directory"
62
63
 
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/` |
64
+ Use the css-property `--u2-ico-dir:https://x.y/icons-directory/` to define where the icons are located.
65
+ The value must be in quotes.
66
+
67
+ ### Placeholder "{icon}"
68
+
69
+ If the icon is not located at the end of the path (https://x.y/star.svg), you can use this placeholder:
70
+ ```css
71
+ html {
72
+ --u2-ico-dir:'https://x.y/24x-{icon}/baseline.svg';
73
+ }
74
+ ```
75
+
76
+ ### Icon-naming
77
+ We prefer to alwas use lowercase names for the icons and use the `-` as a separator. E.g. `arrow-right`.
78
+ 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:
79
+ `{iconName}` => first word is lowercase, second word is uppercase and there is no separator.
80
+
81
+ ```css
82
+ html {
83
+ --u2-ico-dir:'https://cdn.jsdelivr.net/npm/@adobe/spectrum-css-workflow-icons@1.4.2/24/{IconName}';
84
+ }
85
+ ```
86
+
87
+ ### Some icon sets
88
+
89
+ See it in action:
90
+ [ico-directory.html](https://raw.githack.com/u2ui/ico.el/main/tests/ico-directory.html)
91
+
92
+ | Icon set | Directory |
93
+ | -------- | --------- |
94
+ | Material | `https://cdn.jsdelivr.net/npm/@material-icons/svg@1.0.33/svg/{icon_name}/baseline.svg` |
95
+ | Teenyicons | `https://cdn.jsdelivr.net/npm/teenyicons@0.4.1/outline/` |
96
+ | Feather | `https://cdn.jsdelivr.net/npm/feather-icons@4.28.0/dist/icons/` |
97
+ | Bootstrap | `https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/icons/` |
98
+ | Octicons | `https://cdn.jsdelivr.net/npm/octicons@8.5.0/build/svg/` |
99
+ | Bytesize | `https://cdn.jsdelivr.net/npm/bytesize-icons@1.4.0/dist/icons/` |
100
+ | Ionicons | `https://cdn.jsdelivr.net/npm/ionicons@5.5.1/dist/svg/` |
101
+ | Tabler Icons | `https://cdn.jsdelivr.net/npm/tabler-icons@1.35.0/icons/` |
102
+ | Fontawesome regular | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/regular/` |
103
+ | Fontawesome solid | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/solid/` |
104
+ | Fontawesome brands | `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/svgs/brands/` |
105
+ | Dripicons | `https://cdn.jsdelivr.net/npm/dripicons@2.0.0/SVG/` |
106
+ | CoreUI Icons | `https://cdn.jsdelivr.net/npm/@coreui/icons@2.0.1/svg/free/cil-` |
107
+ | open-iconic | `https://cdn.jsdelivr.net/npm/open-iconic@1.1.1/svg/` |
108
+ | Radix | `https://cdn.jsdelivr.net/gh/radix-ui/icons@3.1.0/packages/radix-icons/icons/15/` |
109
+ | Heroicons outline | `https://cdn.jsdelivr.net/npm/heroicons@1.0.1/outline/` |
110
+ | Heroicons solid | `https://cdn.jsdelivr.net/npm/heroicons@1.0.1/solid/` |
111
+ | Typicons | `https://cdn.jsdelivr.net/npm/typicons.font@2.1.2/src/svg/` |
112
+ | Boxicons regular | `https://cdn.jsdelivr.net/npm/boxicons@2.0.7/svg/regular/bx-` |
113
+ | Boxicons solid | `https://cdn.jsdelivr.net/npm/boxicons@2.0.7/svg/solid/bxs-` |
114
+ | linearicons | `https://cdn.jsdelivr.net/npm/linearicons@1.0.2/dist/svg/` |
115
+ | FluentUI regular | `https://cdn.jsdelivr.net/npm/@svg-icons/fluentui-system-regular@1.56.0/` |
116
+ | FluentUI filled | `https://cdn.jsdelivr.net/npm/@svg-icons/fluentui-system-filled@1.56.0/` |
117
+ | Evil Icons | `https://cdn.jsdelivr.net/npm/evil-icons@1.10.1/assets/icons/ei-` |
118
+ | Eva Icons fill | `https://cdn.jsdelivr.net/npm/eva-icons@1.1.3/fill/svg/` |
119
+ | Eva Icons outline | `https://cdn.jsdelivr.net/npm/eva-icons@1.1.3/outline/svg/{icon}-outline.svg` |
120
+ | Zondicons | `https://cdn.jsdelivr.net/npm/zondicons@1.2.0/` |
121
+ | holasvg-icons | `https://cdn.jsdelivr.net/gh/marianabeldi/holasvg-icons/icons/` |
122
+ | Jam icons | `https://cdn.jsdelivr.net/gh/michaelampr/jam@3.1.0/icons/` |
123
+ | entypo | `https://cdn.jsdelivr.net/npm/entypo@2.2.1/src/Entypo/` |
124
+ | Adobe Spectrum | `https://cdn.jsdelivr.net/npm/@adobe/spectrum-css-workflow-icons@1.4.2/24/{IconName}.svg` |
125
+ | mono icons | `https://cdn.jsdelivr.net/npm/mono-icons@1.3.1/svg/` |
126
+ | line awesome | `https://cdn.jsdelivr.net/npm/line-awesome@1.3.0/svg/` |
127
+ | flat color icons | `https://cdn.jsdelivr.net/npm/flat-color-icons@1.1.0/svg/` |
128
+ | icons8 windows-10-icons | `https://cdn.jsdelivr.net/npm/windows-10-icons@1.0.1/svg/production/{icon_name}.svg` |
129
+ | fticons | `https://cdn.jsdelivr.net/npm/@financial-times/fticons@1.23.1/svg/` |
130
+ | photon icons | `https://cdn.jsdelivr.net/npm/photon-icons@5.4.0/icons/desktop/` |
131
+ | devicons | `https://cdn.jsdelivr.net/npm/devicons@1.8.0/!SVG/{icon_name}` |
132
+ | Figma UI Icons | `https://cdn.jsdelivr.net/npm/css.gg@2.0.0/icons/svg/` |
132
133
  | ifolio licons | `https://cdn.jsdelivr.net/gh/ifolio/licons@master/svg/` |
133
134
 
134
135
  ## Variant "icon-font":
135
136
 
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
-
137
+ Define the font used for the icons:
138
+ ```css
139
+ @font-face {
140
+ font-family: 'my icon font';
141
+ font-style: normal;
142
+ font-weight: 400;
143
+ src: url(my-icon-font.woff2) format('woff2');
144
+ }
145
+ html {
146
+ --u2-ico-font:'my icon font';
147
+ }
148
+ ```
149
+
149
150
  Note: `--u2-ico-dir` is stronger then `--u2-ico-font`.
150
151
 
151
152
  ## Variant "SVG":
152
153
 
153
- Just put you svg inside the element:
154
- ```html
155
- <u2-ico><svg>...</svg></u2-ico>
154
+ Just put you svg inside the element:
155
+ ```html
156
+ <u2-ico><svg>...</svg></u2-ico>
156
157
  ```
157
158
 
158
159
  ## About
@@ -0,0 +1,86 @@
1
+ // Track loaded icons for combining into a single SVG sprite
2
+ const iconRegistry = new Map();
3
+
4
+ /**
5
+ * Get all unique icon sources that have been loaded
6
+ * @returns {Array<string>} Array of unique icon source URLs
7
+ */
8
+ function getAllIconSources() {
9
+ return Array.from(iconRegistry.keys());
10
+ }
11
+
12
+ document.addEventListener('u2-ico-loaded', (e) => {
13
+ const icoElement = e.composedPath()[0];
14
+ const icoDir = getComputedStyle(icoElement).getPropertyValue('--u2-ico-dir').trim();
15
+ const iconName = icoElement.getAttribute('icon');
16
+ if (!iconName || !icoDir || icoDir.includes('.svg#')) return;
17
+ const svgElement = icoElement.querySelector('svg');
18
+ if (!svgElement) return;
19
+ iconRegistry.has(icoDir) || iconRegistry.set(icoDir, new Map());
20
+ iconRegistry.get(icoDir).set(iconName, svgElement.outerHTML);
21
+ });
22
+
23
+ /**
24
+ * Generates and returns a combined SVG sprite containing all loaded icons as individual SVGs
25
+ * @param {string} icoDir - The icon directory to generate the sprite for
26
+ * @param {string} [prefix=''] - Optional prefix to add to all icon IDs
27
+ * @returns {string} Combined SVG sprite as a string
28
+ */
29
+ function generateCombinedSvg(icoDir, prefix = '') {
30
+ if (!iconRegistry.has(icoDir) || iconRegistry.get(icoDir).size === 0) {
31
+ console.warn(`No icons found for directory: ${icoDir}`);
32
+ return '';
33
+ }
34
+ const icons = iconRegistry.get(icoDir);
35
+ let sprite = '<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">\n';
36
+ for (const [name, svg] of icons) {
37
+ const prefixedSvg = svg.replace(/<svg([^>]*)>/, `<svg id="${prefix}${name}"$1>`).replace(/>\s+</g, '><');
38
+ sprite += ` ${prefixedSvg}\n`;
39
+ }
40
+ sprite += '</svg>';
41
+ return sprite;
42
+ }
43
+
44
+ /**
45
+ * Outputs the combined SVG sprite to the console for easy copying
46
+ * @param {string} icoDir - The icon directory to output the sprite for
47
+ */
48
+ function outputCombinedSvgToConsole(icoDir) {
49
+ const combinedSvg = generateCombinedSvg(icoDir);
50
+ if (combinedSvg) {
51
+ console.log(`%cCombined SVG Sprite for ${icoDir}:`, 'font-weight: bold; color: #4CAF50;');
52
+ console.log(combinedSvg);
53
+ console.log(`%cUsage: --u2-ico-dir:'/path/to/your/sprite.svg#icon-name'`, 'font-weight: bold;');
54
+ console.log(`%cNote: You can also use --u2-ico-dir:'/path/to/your/sprite.svg#{prefix}{icon}' with a custom prefix`, 'font-style: italic;');
55
+ }
56
+ }
57
+
58
+ // Export functions for manual control if needed
59
+ window.u2IcoDebug = {
60
+ getIconRegistry: () => iconRegistry,
61
+ getAllIconSources,
62
+ generateCombinedSvg,
63
+ outputCombinedSvgToConsole,
64
+
65
+ /**
66
+ * Automatically output all registered icon sets to the console
67
+ */
68
+ outputAllCombinedSvgs: () => {
69
+ for (const [dir] of iconRegistry) {
70
+ outputCombinedSvgToConsole(dir);
71
+ }
72
+ if (iconRegistry.size === 0) {
73
+ console.log('No icons have been loaded yet. Call u2IcoDebug.outputAllCombinedSvgs() to output all registered icon sets to the console.');
74
+ }
75
+ }
76
+ };
77
+
78
+ // Auto-output combined SVGs when the page is fully loaded
79
+ if (document.readyState === 'loading') {
80
+ document.addEventListener('DOMContentLoaded', () => {
81
+ // Small delay to ensure all icons are loaded
82
+ setTimeout(window.u2IcoDebug.outputAllCombinedSvgs, 1000);
83
+ });
84
+ } else {
85
+ setTimeout(window.u2IcoDebug.outputAllCombinedSvgs, 1000);
86
+ }
@@ -1,22 +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
-
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
+
@@ -1,7 +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
- }
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
+ }
@@ -1,6 +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
- }
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
+ }
@@ -1,8 +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
- }
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
+ }
@@ -1,8 +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
- }
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
+ }
@@ -1,31 +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
- }
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
+ }