u2ui 1.0.1 → 1.4.6

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 +87 -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 +15 -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 +87 -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 +151 -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
@@ -1,23 +0,0 @@
1
- ## Install
2
-
3
- ```html
4
- <link href="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ai-texter/ai-texter.min.css" rel=stylesheet>
5
- <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ai-texter/ai-texter.min.js" type=module async></script>
6
- ```
7
-
8
- ## Install
9
-
10
- ```html
11
- <link href="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ai-texter/ai-texter.min.css" rel=stylesheet>
12
- <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/el/ai-texter/ai-texter.min.js" type=module async></script>
13
- ```
14
-
15
- ## Demos
16
-
17
- [test.html](http://gcdn.li/u2ui/u2@main/el/ai-texter/tests/test.html)
18
-
19
- ## About
20
-
21
- - MIT License, Copyright (c) 2022 <u2> (like all repositories in this organization) <br>
22
- - Suggestions, ideas, finding bugs and making pull requests make us very happy. ♥
23
-
@@ -1,12 +0,0 @@
1
- u2-ai-texter {
2
- border: 1px solid currentColor;
3
- position: absolute;
4
- padding:0;
5
- margin:0;
6
- xmin-width: 12rem;
7
-
8
- }
9
-
10
- u2-ai-texter:not(:defined) {
11
- display: none;
12
- }
@@ -1,153 +0,0 @@
1
- /* this is a input for ai prompts or a menu for pre-selected prompts, to help write in a textarea, or contenteditable */
2
- /* usage:
3
- <label>
4
- <textarea></textarea>
5
- <u2-ai-texter endpoint="/api"></u2-ai-texter> <!-- this will create an input where the user can insert ist prompts -->
6
- </label>
7
-
8
- // for a specific textarea, save prompts using localStorage
9
- <textarea id=test></textarea>
10
- <u2-ai-texter endpoint="/api" for="#test" safe></u2-ai-texter> <!-- this will create an combobox where saved prompts can be selected, they are saved using the id as identifier -->
11
-
12
- <u2-ai-texter endpoint="/api" for="#test" safe="my-global-prompts"></u2-ai-texter> <!-- this will create an combobox where saved prompts can be selected, they are saved using the save-attribute-value as identifier -->
13
-
14
- or for every textarea, using predefined prompts
15
- <u2-ai-texter endpoint="/api" for="textarea">
16
- <menu>
17
- <button value="prompt1">prompt 1</button>
18
- <button value="prompt1">prompt 2</button>
19
- </menu>
20
- </u2-ai-texter>
21
- */
22
-
23
- import {Placer} from '../../../../js/Placer/Placer.js';
24
-
25
- class Texter extends HTMLElement {
26
- constructor() {
27
- super(); // Ruft den Konstruktor der Basisklasse auf
28
- this.attachShadow({mode: 'open'}); // Erstellt ein Shadow DOM
29
- this.placer = new Placer(this, { x:'center', y:'after', margin:-5 });
30
- }
31
-
32
- connectedCallback() {
33
- this.shadowRoot.innerHTML = `
34
- <style>
35
- :host {
36
- border: 1px solid currentColor;
37
- position: absolute;
38
- padding:0;
39
- border-radius: .5em;
40
- }
41
- :host(:focus-within) {
42
- outline: .4em solid blue;
43
- }
44
- form {
45
- display:flex;
46
- }
47
- input {
48
- outline:none;
49
- flex: 1 1 auto;
50
- border:0;
51
- padding: .5em;
52
- }
53
- button {
54
- all: unset;
55
- display:flex;
56
- align-items:center;
57
- padding: .4em;
58
- }
59
- </style>
60
- <form>
61
- <slot>
62
- <input placeholder="Make the text more unique...">
63
- </slot>
64
- <button>
65
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z"></path></svg>
66
- </button>
67
- </form>
68
- `;
69
- this.setAttribute('popover', 'manual');
70
- this.shadowRoot.querySelector('form').addEventListener('submit', (event) => {
71
- event.preventDefault();
72
- this.request(this.shadowRoot.querySelector('input').value);
73
- });
74
- }
75
- showFor(element) {
76
- this.currentTarget = element;
77
- this.showPopover();
78
- this.placer.toElement(element);
79
- this.placer.followElement(element);
80
- }
81
- hide() {
82
- this.hidePopover();
83
- }
84
-
85
- async request(prompt) {
86
- const target = this.currentTarget;
87
-
88
- const text = target.value != null ? target.value : target.innerHTML;
89
-
90
- const body = {
91
- //model: "llama3-8b-8192",
92
- model: "llama3-70b-8192",
93
- stream: false,
94
- messages: [{
95
- role: "system",
96
- content: `You are a text editor. Return only the full(!) edited text without any explanations!
97
-
98
- Example 1:\n
99
- Prompt: You're a stupid bloke.\n
100
- Text: friendlier\n
101
- Answer: We seem to have different perspectives.\n
102
-
103
- Example 2:\n
104
- Prompt: Es war einmal ein\n
105
- Text: schreib weiter\n
106
- Answer: Es war einmal ein kleines Mädchen.\n
107
- `,
108
- },{
109
- role: "user",
110
- content: `Prompt: ${prompt}\nText: ${text}`,
111
- }],
112
- };
113
-
114
- const endpoint = this.getAttribute('api');
115
- const apiKey = this.getAttribute('api-key');
116
-
117
- const result = await fetch(endpoint, {
118
- method: 'POST',
119
- headers: {
120
- 'Content-Type': 'application/json',
121
- 'Authorization': `Bearer ${apiKey}`
122
- },
123
- body: JSON.stringify(body),
124
- }).then(response => response.json());
125
-
126
- console.log(result);
127
-
128
- const value = result.choices[0].message.content;
129
-
130
- target[target.value != null ? 'value' : 'innerHTML'] = value;
131
- }
132
- }
133
-
134
- customElements.define('u2-ai-texter', Texter);
135
-
136
-
137
-
138
- addEventListener('focusin', ({target}) => {
139
-
140
- if (target.matches('u2-ai-texter')) return;
141
-
142
- document.querySelectorAll('u2-ai-texter').forEach(texter => {
143
- if (!target.matches) return;
144
- if (target.matches(texter.getAttribute('for'))) {
145
- texter.showFor(target);
146
- } else {
147
- const texter = target.parentNode.querySelector(':scope > u2-ai-texter');
148
- if (texter) {
149
- texter.showFor(target);
150
- }
151
- }
152
- });
153
- });
@@ -1,47 +0,0 @@
1
- <!DOCTYPE HTML>
2
- <html lang=en>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name=viewport content="width=device-width">
6
- <script src="../../../u2/tests/test-init.js" type=module async></script>
7
- <!-- <script src="../../u2/auto.js" type=module async></script> -->
8
- <title>Test</title>
9
-
10
- <link rel=stylesheet href="../../../css/classless/full.css">
11
- <link rel=stylesheet href="../../../css/classless/simple.css">
12
-
13
- <link href="../../../el/code/code.css" rel=stylesheet>
14
- <script src="../../../el/code/code.js" type=module async></script>
15
-
16
-
17
-
18
- <!--script src="../../../el/tooltip/tooltip.js" type=module async></script>
19
- <link href="../../../el/tooltip/tooltip.css" rel=stylesheet>
20
- <script src="../../../el/ico/ico.js" type=module async></script>
21
- <link href="../../../el/ico/ico.css" rel=stylesheet> -->
22
-
23
- <style>
24
- body {
25
- place-content: initial;
26
- }
27
- </style>
28
-
29
- <link href="../ai-texter.css" rel=stylesheet>
30
- <script src="../ai-texter.js" type=module async></script>
31
-
32
- <body>
33
-
34
- <section class="main">
35
-
36
- <label>
37
- <textarea></textarea>
38
- <u2-ai-texter api="https://api.groq.com/openai/v1/chat/completions" api-key="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"></u2-ai-texter>
39
- </label>
40
-
41
- </section>
42
-
43
- <style class="main">
44
- u2-ai-texter {
45
- background: #f8f8f8;
46
- }
47
- </style>
@@ -1,71 +0,0 @@
1
- <!DOCTYPE HTML>
2
- <html lang=en>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name=viewport content="width=device-width">
6
- <script src="../../../u2/tests/test-init.js" type=module async></script>
7
- <!-- <script src="../../u2/auto.js" type=module async></script> -->
8
- <title>Test</title>
9
-
10
- <link rel=stylesheet href="../../../css/classless/full.css">
11
- <link rel=stylesheet href="../../../css/classless/simple.css">
12
-
13
- <link href="../../../el/code/code.css" rel=stylesheet>
14
- <script src="../../../el/code/code.js" type=module async></script>
15
-
16
- <!--script src="../../../el/tooltip/tooltip.js" type=module async></script>
17
- <link href="../../../el/tooltip/tooltip.css" rel=stylesheet>
18
- <script src="../../../el/ico/ico.js" type=module async></script>
19
- <link href="../../../el/ico/ico.css" rel=stylesheet> -->
20
-
21
- <style>
22
- body {
23
- place-content: initial;
24
- }
25
- </style>
26
-
27
- <link href="../ai-texter.css" rel=stylesheet>
28
- <script src="../ai-texter.js" type=module async></script>
29
-
30
- <body>
31
-
32
- <section>
33
-
34
- <h2>u2-ai-texter</h2>
35
- <label>
36
- same container
37
- <textarea></textarea>
38
- <u2-ai-texter api="https://api.groq.com/openai/v1/chat/completions" api-key="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"></u2-ai-texter>
39
- </label>
40
-
41
-
42
- <h2>Using "for" attribute</h2>
43
- <label>
44
- Textarea 1
45
- <textarea class="forTest"></textarea>
46
- </label>
47
- <label>
48
- Textarea 1
49
- <textarea class="forTest"></textarea>
50
- </label>
51
- <u2-ai-texter for=".forTest" api="https://api.groq.com/openai/v1/chat/completions" api-key="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"></u2-ai-texter>
52
-
53
- <h2>Using custom buttons</h2>
54
-
55
- <label>
56
- Using custom buttons
57
- <textarea></textarea>
58
- <u2-ai-texter api="https://api.groq.com/openai/v1/chat/completions" api-key="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">
59
- <button>korrektur</button>
60
- <button>ausführlicher</button>
61
- </u2-ai-texter>
62
- </label>
63
-
64
- <h2>Using contenteditable</h2>
65
-
66
- <div contenteditable>
67
- <p>Contenteditable</p>
68
- </div>
69
- <u2-ai-texter for="[contenteditable]" api="https://api.groq.com/openai/v1/chat/completions" api-key="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"></u2-ai-texter>
70
-
71
- </section>
@@ -1,38 +0,0 @@
1
-
2
- /* prevent double-click selection */
3
- addEventListener('mousedown', e => {
4
- if (e.detail < 2) return; // // check event.ctrlKey/event.shiftKey/event.altKey?
5
- let target = e.composedPath()[0]; // shadow dom
6
- if (!target.closest('summary,label')) return;
7
- e.preventDefault();
8
- });
9
-
10
-
11
- /*
12
-
13
- Copy styles to the shadow-dom
14
- - add functionality to a custom Element Class we can inherit?
15
-
16
- new SelectorObserver({
17
- on: el => {
18
- for (let ss of document.styleSheets) el.shadowRoot.append(ss.ownerNode.cloneNode());
19
- } ,
20
- }).observe('[deep-css]');
21
-
22
- */
23
-
24
-
25
-
26
- /*
27
-
28
- Add classes on running transitions
29
- - does this take up too much performance?
30
-
31
- addEventListener('transitionstart',e=>{
32
- e.target.classList.add('u2-animating')
33
- })
34
- addEventListener('transitionend',e=>{
35
- e.target.classList.remove('u2-animating')
36
- })
37
-
38
- */
@@ -1,51 +0,0 @@
1
-
2
-
3
- console.warn('todo!');
4
-
5
- /* mark link, todo: loop nav elements, for now it only works with one nav */
6
- var links = null;
7
- var getLinks = function(){
8
- if (links) return links;
9
- var els = document.querySelectorAll('a[href]');
10
- links = [];
11
- for (var i=0,a; a=els[i++];) {
12
- var matches = a.href.match(/#(.*)/);
13
- if (!matches) continue;
14
- var id = matches[1];
15
- if (!id) continue;
16
- var target = document.getElementById(id);
17
- if (!target) continue;
18
- links.push({a, target, id});
19
- }
20
- setTimeout(()=> links = null, 3000);
21
- return links;
22
- };
23
-
24
- var listen = function(e){
25
- var links = getLinks(), winner, i=0, link;
26
- while (link=links[i++]) {
27
- var pos = link.target.getBoundingClientRect();
28
- if (pos.top > 140) break; // first target below viewport
29
- winner = link;
30
- }
31
- winner && markLinksActivated(winner.id);
32
- };
33
-
34
- document.addEventListener('DOMContentLoaded',listen);
35
- addEventListener('scroll',listen);
36
- addEventListener('resize',listen);
37
-
38
- var latestWinner;
39
- function markLinksActivated(id){
40
- if (latestWinner === id) return;
41
- latestWinner = id;
42
- var actives = document.querySelectorAll('.hashLinkActive');
43
- for (var i=0,item; item=actives[i++];) item.classList.remove('hashLinkActive');
44
- var links = getLinks();
45
- for (i=0; item=links[i++];) {
46
- item.id === id && item.a.classList.add('hashLinkActive');
47
- }
48
- }
49
-
50
- addEventListener('pushstate',e=>markLinksActivated(location.hash));
51
- //addEventListener('cms.navigator-navigated', e=>markLinksActivated(location.hash)); // todo: make onpopstate-polyfill
@@ -1,73 +0,0 @@
1
- /* Copyright (c) 2016 Tobias Buschor https://goo.gl/gl0mbf | MIT License https://goo.gl/HgajeK */
2
-
3
- console.warn('deprecated!');
4
-
5
- var listeners = [],
6
- //root = document.documentElement,
7
- root = document,
8
- Observer;
9
-
10
- export function onElement (selector, options/*, disconnectedCallback*/) {
11
- if (typeof options === 'function') {
12
- options = { parsed:options }
13
- }
14
- var listener = {
15
- selector: selector,
16
- immediate: options.immediate,
17
- elements: new WeakSet(),
18
- };
19
- if (options.parsed) {
20
- listener.parsed = function(el){
21
- requestAnimationFrame(()=>options.parsed(el));
22
- }
23
- }
24
- try {
25
- var els = root.querySelectorAll(listener.selector), i=0, el;
26
- } catch(e) {
27
- console.error('invalid selector: "'+listener.selector+'"');
28
- return;
29
- }
30
- while (el = els[i++]) {
31
- listener.elements.add(el);
32
- listener.parsed && listener.parsed.call(el, el);
33
- listener.immediate && listener.immediate.call(el, el);
34
- }
35
-
36
- listeners.push(listener);
37
- if (!Observer) {
38
- Observer = new MutationObserver(checkMutations);
39
- Observer.observe(root, {
40
- childList: true,
41
- subtree: true
42
- });
43
- }
44
- checkListener(listener);
45
- };
46
- function checkListener(listener, target) {
47
- var i=0, el, els = [];
48
- target && target.matches(listener.selector) && els.push(target);
49
- if (loaded) { // ok? check inside node on innerHTML - only when loaded
50
- Array.prototype.push.apply(els, (target||root).querySelectorAll(listener.selector));
51
- // els.push(...found)?
52
- }
53
- while (el = els[i++]) {
54
- if (listener.elements.has(el)) continue;
55
- listener.elements.add(el);
56
- listener.parsed && listener.parsed.call(el, el);
57
- listener.immediate && listener.immediate.call(el, el);
58
- }
59
- }
60
- function checkListeners(inside) {
61
- var i=0, listener;
62
- while (listener = listeners[i++]) checkListener(listener, inside);
63
- }
64
- function checkMutations(mutations) {
65
- var j=0, i, mutation, nodes, target;
66
- while (mutation = mutations[j++]) {
67
- nodes = mutation.addedNodes, i=0;
68
- while (target=nodes[i++]) target.nodeType === 1 && checkListeners(target);
69
- }
70
- }
71
-
72
- let loaded = false;
73
- document.addEventListener('DOMContentLoaded',()=> loaded = true );
@@ -1,36 +0,0 @@
1
- /**
2
- * @description create a big test-dom structure
3
- * @returns HTMLElement, the created root
4
- * @usage
5
- * var root = createBigDom({ depth=40, num=5000, maxChildren=100,
6
- * createElement:()=>{
7
- * var el = document.createElement('article');
8
- * el.innerHTML = 'test';
9
- * return el;
10
- * }
11
- * });
12
- */
13
- export function createBigDom({ createElement, root, depth = 40, num = 5000, maxChildren = 100 } = {}) {
14
- // https://web.dev/dom-size/#how-the-lighthouse-dom-size-audit-fails
15
- if (!root) {
16
- var root = document.createElement('div');
17
- document.body.append(root);
18
- }
19
- root.className = 'bigDom';
20
- let aDepth = 0;
21
- let aNum = 0;
22
- function addChildren(parent) {
23
- aDepth++;
24
- for (let i = 0; i < maxChildren; i++) {
25
- if (aNum >= num) break;
26
- const el = createElement ? createElement() : document.createElement('span');
27
- parent.append(el);
28
- aNum++;
29
- if (aNum >= num) return;
30
- if (aDepth < depth) addChildren(el);
31
- }
32
- aDepth--;
33
- }
34
- addChildren(root);
35
- return root;
36
- }
@@ -1,4 +0,0 @@
1
-
2
- <body>
3
- <script src="test.js" type=module async></script>
4
- </body>
@@ -1,51 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Level.css TEST</title>
6
- <meta name="viewport" content="width=device-width">
7
-
8
-
9
- <script src="../init.js" type=module async></script>
10
- <link rel=stylesheet href="../../../css/base/full.css" crossorigin>
11
-
12
-
13
- <body>
14
-
15
- <section>
16
-
17
- <h2>Doubleclick on label and on summary should not select the text, but it is still selectable</h2>
18
- <div id=dblClickTest>
19
- <label>
20
- A label for:
21
- <input>
22
- </label>
23
-
24
- <details>
25
- <summary>Summary</summary>
26
- <div>
27
- Details Content
28
- </div>
29
- </details>
30
- </div>
31
-
32
-
33
- <div id=dblClickTest_shadow style="border:1px solid">
34
- The same inside Shadow-Dom<br>
35
-
36
-
37
- </div>
38
- <script>
39
-
40
- /*
41
- shadowDeepCss = function(shadow){
42
- for (let ss of document.styleSheets) shadow.append(ss.ownerNode.cloneNode());
43
- }
44
- */
45
-
46
- let shadow = dblClickTest_shadow.attachShadow({mode: 'open'});
47
- //shadowDeepCss(shadow);
48
- shadow.innerHTML += '<slot></slot>' + dblClickTest.innerHTML;
49
-
50
- </script>
51
- </section>
@@ -1,64 +0,0 @@
1
-
2
- const docEl = document.documentElement
3
- let lastY = 0;
4
- const onScroll = function(){
5
- const upScroll = lastY >= scrollY;
6
- docEl.classList[upScroll?'add':'remove']('u2-scroll-up');
7
- lastY = scrollY;
8
- const isTop = lastY <= 20; // 0 is not enough on iOS
9
- docEl.classList[isTop?'remove':'add']('u2-scroll-not-top');
10
- };
11
- onScroll();
12
- addEventListener('scroll',onScroll);
13
-
14
-
15
-
16
-
17
- let lastHMin = null;
18
- function check(){
19
- let hMin = window.innerHeight;
20
- if (lastHMin !== null) {
21
- hMin = Math.abs(hMin - lastHMin) > 150 ? hMin : lastHMin; // tested: 114px
22
- }
23
- document.documentElement.style.setProperty('--u2-vh-min', hMin +'px');
24
- lastHMin = hMin;
25
- };
26
- check();
27
- addEventListener('resize',check);
28
-
29
-
30
-
31
-
32
-
33
- /*
34
- // https://github.com/joppuyo/large-small-dynamic-viewport-units-polyfill/blob/master/src/index.js
35
- const docEl = document.documentElement;
36
-
37
- if (CSS.supports('height:1svh')) {
38
- docEl.style.setProperty('--1svh', "1svh");
39
- docEl.style.setProperty('--1dvh', "1dvh");
40
- docEl.style.setProperty('--1lvh', "1lvh");
41
- } else {
42
- recalc();
43
- document.addEventListener('DOMContentLoaded', recalc)
44
- window.addEventListener('resize', recalc);
45
- }
46
-
47
- function recalc() {
48
- const svh = docEl.clientHeight * 0.01;
49
- docEl.style.setProperty('--1svh', (svh + "px"));
50
- const dvh = window.innerHeight * 0.01;
51
- docEl.style.setProperty('--1dvh', (dvh + "px"));
52
-
53
- //const parent = docEl;
54
- const parent = document.body;
55
- if (parent) {
56
- const fixed = document.createElement("div");
57
- fixed.style.cssText = 'width:1px;height:100vh;position:fixed;left:0;top:0;bottom:0;visibility:hidden';
58
- parent.append(fixed);
59
- const lvh = fixed.clientHeight * 0.01;
60
- docEl.style.setProperty('--1lvh', (lvh + "px"));
61
- fixed.remove();
62
- }
63
- };
64
- */
@@ -1,46 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang=en>
3
- <head>
4
- <meta charset=utf-8>
5
- <title>Todo: Title</title>
6
- <meta name=viewport content="width=device-width, viewport-fit=cover">
7
- <meta name=theme-color content="#ff0">
8
- <meta name=apple-mobile-web-app-capable content="yes">
9
- <meta name=apple-mobile-web-app-status-bar-style content="black-translucent">
10
-
11
- <script src="https://cdn.jsdelivr.net/gh/nuxodin/lazyfill/mod.js" type=module crossorigin></script>
12
- <script src="https://cdn.jsdelivr.net/gh/nuxodin/lazyfill/htmlfills.js" type=module crossorigin></script>
13
-
14
- <script src="../../../u2/auto.min.js?debug=1" type=module crossorigin></script>
15
-
16
- <!--
17
- Inspiration:
18
- https://www.matuzo.at/blog/html-boilerplate/
19
- -->
20
-
21
- <body>
22
-
23
- <header role=banner>
24
- <div class=u2-width>
25
- Header
26
- </div>
27
- </header>
28
-
29
- <main>
30
- <section>
31
- <div class=u2-width>
32
- Section 1
33
- </div>
34
- </section>
35
- <section>
36
- <div class=u2-width>
37
- Section 2
38
- </div>
39
- </section>
40
- </main>
41
-
42
- <footer role=contentinfo>
43
- <div class=u2-width>
44
- Footer
45
- </div>
46
- </footer>