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
@@ -1,114 +0,0 @@
1
- import {SelectorObserver} from '../../../js/SelectorObserver/SelectorObserver.js';
2
-
3
- const sheets = new WeakSet();
4
- const elements = new WeakSet();
5
-
6
- const start = performance.now();
7
-
8
- async function foundElement(el, byDebug){
9
- console.log('found new Element by '+byDebug, el, performance.now()-start+'ms');
10
- if (elements.has(el)) return; // what if element order changes?
11
- el.setAttribute('crossorigin','');
12
- elements.add(el);
13
- const sheet = await elSheetReady(el);
14
- checkSheet(el.sheet);
15
- }
16
-
17
- /*
18
- document.styleSheets has the right order of sheets, but imported sheets are not included
19
- */
20
- for (let sheet of document.styleSheets) {
21
- if (!sheet.ownerNode) console.warn('are root-sheets without ownerNode possible?');
22
- foundElement(sheet.ownerNode, 'document.styleSheets');
23
- }
24
- for (let sheet of document.adoptedStyleSheets) {
25
- if (sheet.ownerNode) console.warn('adoptedStyleSheets with a ownerNode possible?');
26
- foundElement(sheet.ownerNode, 'document.adoptedStyleSheets');
27
- }
28
-
29
- /*
30
- sometimes the load-event comes before mutationobserver? not really
31
- - first big .css?
32
- has to listen on document, window triggers on document-load
33
- */
34
- document.addEventListener('load',({target})=>{
35
- foundElement(target, 'load')
36
- if (!elements.has(target)) console.warn('load was first!!!');
37
- // console.log('triggered load', target, e);
38
- // if (target.tagName !== 'LINK') return;
39
- // if (target.rel !== 'stylesheet') return;
40
- // foundElement(target)
41
- },true);
42
-
43
- new SelectorObserver({
44
- on: el => {
45
- // checks all styleSheets and importRules, todo store urls global and check all if used url found
46
- // console.log(el.sheet)
47
- foundElement(el, 'SelectorObserver')
48
- //checkAllSheets();
49
- },
50
- }).observe('link[rel="stylesheet"], style');
51
-
52
-
53
- function checkSheet(sheet){
54
- let rules = false;
55
- try { rules = sheet.cssRules; } catch {} // firefox fails sometimes if we access sheet.cssRules immediate after found it, really?
56
- console.log('sheet found', rules?'rules accessible':'rules fail', sheet)
57
- if (sheets.has(sheet)) console.error('sheet already added!?');
58
- sheets.add(sheet);
59
- rules && checkImportRules(rules);
60
- }
61
- function checkImportRules(rules){
62
- for (let rule of rules) {
63
- if (rule instanceof CSSImportRule) {
64
- checkSheet(rule.styleSheet);
65
- } else continue; // or break? are they always first?
66
- }
67
- }
68
-
69
-
70
- /*
71
- const urls = {};
72
- function checkAllSheets(){
73
- for (let sheet of document.styleSheets) checkSheet(sheet);
74
- }
75
- function checkSheet(sheet){
76
- console.log('sheet',sheet)
77
- try { // firefox fails sometimes if we access sheet.cssRules immediate after found it
78
- checkImportRules(sheet.cssRules);
79
- } catch (e) {
80
- //console.log('fail',sheet, e) //
81
- }
82
- if (!sheet.href) return;
83
- console.log(urls)
84
- if (medialistHas(sheet.media, 'once')) {
85
- sheet.disabled = !!urls[sheet.href];
86
- urls[sheet.href] = 1;
87
- }
88
-
89
- }
90
- function checkImportRules(rules){
91
- for (let rule of rules) {
92
- if (rule instanceof CSSImportRule) checkSheet(rule.styleSheet);
93
- }
94
- }
95
- function medialistHas(mediaList, wanted){
96
- for (let medium of mediaList) if (medium === wanted) return true;
97
- }
98
- */
99
-
100
- /* utils */
101
-
102
- function elSheetReady(el){
103
- return new Promise(function(resolve, reject){
104
- if (el.sheet) resolve(el.sheet);
105
- el.addEventListener('load',()=>{
106
- if (el.sheet) resolve(el.sheet);
107
- else {
108
- console.log('no sheet yet', el);
109
- reject('no sheet!');
110
- }
111
- },{once:true})
112
- setTimeout(()=>reject('timeout'),2000)
113
- })
114
- }
@@ -1,28 +0,0 @@
1
-
2
- const sheetProto = CSSStyleSheet.prototype;
3
-
4
- // sheetProto.addRule
5
- // sheetProto.deleteRule
6
- // sheetProto.insertRule
7
- // sheetProto.removeRule
8
- // sheetProto.replace
9
- // sheetProto.media
10
- // //sheetProto.disabled ??
11
-
12
-
13
- const elProto = HTMLElement.prototype
14
- elProto.style // ??
15
- elProto.setAttribute // ??
16
-
17
-
18
- // document.adoptedStyleSheets
19
-
20
-
21
- const styleProto = CSSStyleDeclaration.prototype
22
-
23
- // styleProto.cssText
24
- // styleProto.getPropertyPriority
25
- // styleProto.getPropertyValue
26
- // //styleProto.item ??
27
- // styleProto.removeProperty
28
- // styleProto.setProperty
@@ -1,19 +0,0 @@
1
-
2
- @charset "UTF-8";
3
- body {
4
- --background:blue;
5
-
6
- --test:blue
7
- asdf
8
- }
9
-
10
-
11
- {}
12
-
13
- a{
14
- background: black;
15
- }
16
-
17
- @me🎆dia {
18
- background: black;
19
- }
@@ -1,6 +0,0 @@
1
- @import url(./include.css);
2
-
3
- body {
4
- x:y;
5
- background:transparent;
6
- }
@@ -1,3 +0,0 @@
1
- body {
2
- background:transparent;
3
- }
@@ -1,48 +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
- <title>u2-ico Test</title>
7
-
8
- <link rel=stylesheet href="./style-has-include.css" id=aLink media=screen>
9
- <link rel=stylesheet href="./style-no-include.css" >
10
-
11
- <link rel=stylesheet href="../../../css/norm/norm.css" crossorigin>
12
- <link rel=stylesheet href="../../../css/base/base.css">
13
-
14
- </head>
15
- <body>
16
-
17
- <style id=aStyle>
18
- .style {
19
- before:x;
20
- }
21
- </style>
22
-
23
- <script type=module>
24
- import '../mod.js';
25
-
26
- setTimeout(function(){
27
-
28
- console.assert(aLink.sheet.media.item(0) === 'screen', {errorMsg: 'sheet has the mediaList of its element'});
29
-
30
-
31
- console.log('dynamic add <link rel=stylesheet> elements')
32
- placeholder.innerHTML =
33
- `<link rel=stylesheet href="./style-has-include.css">
34
- <link rel=stylesheet href="./style-no-include.css">`;
35
- },3000)
36
- </script>
37
-
38
-
39
- <style>
40
- .style {
41
- after:x;
42
- }
43
- </style>
44
-
45
-
46
-
47
- <div id=placeholder>
48
- </div>
@@ -1,182 +0,0 @@
1
- // similiar:
2
- // https://github.com/anatoo/fnparse.js
3
- // https://github.com/francisrstokes/arcsecond
4
-
5
-
6
- export function stringIterator(string) {
7
- let pos = {line:0, column:0, position:0};
8
-
9
- return object({
10
- pointer:0,
11
- char:string[0],
12
- async next(){
13
- ++this.pointer;
14
- this.char = string[this.pointer];
15
-
16
- // ++pos.position;
17
- // ++pos.column;
18
- // if (this.char === "\n") { ++pos.line; pos.column = 0; }
19
-
20
- return this.char !== undefined;
21
- },
22
- async at(pointer){
23
- return string[pointer];
24
- },
25
- take(start, end) {
26
- return string.slice(start, end);
27
- /* // remove used part to save memory, only root consumers?
28
- let part = string.slice(start, end);
29
- string = string.substring(end);
30
- this.pointer = 0;
31
- return part;
32
- */
33
- },
34
- /*
35
- position(){
36
- return pos;
37
- }
38
- */
39
- //lookOut(offset) { return string[this.pointer+offset]; }, // char att offset relative to position
40
- });
41
- }
42
-
43
-
44
-
45
-
46
- var errorConsumer = fnConsumer(async strIter=>{
47
- await strIter.next();
48
- }, 'no expected');
49
-
50
-
51
- export async function tokenize(consumers, strIter, parent) { // startedAt needed?
52
- var tokens = [];
53
- let activeToken = null;
54
-
55
- consumers.push(errorConsumer)
56
-
57
- while (strIter.char !== undefined) {
58
-
59
- let oldPos = strIter.pointer; // check if moved
60
-
61
- for (let consumer of consumers) {
62
- let consumed = await consumer(strIter);
63
- if (consumed) {
64
- activeToken = token(strIter, {...consumed, parent, prev:activeToken});
65
- console.log(activeToken)
66
- tokens.push(activeToken);
67
- break;
68
- }
69
- }
70
-
71
- if (oldPos === strIter.pointer) {
72
- console.warn('strIter position not moved! zzz?');
73
- await strIter.next();
74
- }
75
-
76
- }
77
- return tokens;
78
- }
79
- function token(strIter, data){
80
- var obj = Object.create(null);
81
- Object.assign(obj, data);
82
- obj.text = strIter.take(obj.start, obj.end);
83
- return obj;
84
- }
85
-
86
-
87
-
88
- /* consumer generators */
89
-
90
- export function charsConsumer(chars, name) {
91
- const set = new Set(chars);
92
- return fnConsumer(async strIter=>{
93
- while (set.has(strIter.char) && await strIter.next());
94
- }, name??chars);
95
- }
96
- export function fnConsumer(fn, name) {
97
- name ??= fn.name;
98
- return async strIter=>{
99
- let start = strIter.pointer;
100
- var data = await fn(strIter);
101
- if (start !== strIter.pointer) return Object.assign({name, start, end:strIter.pointer}, data);
102
- }
103
- }
104
- export function startEndConsumer(start, end, escape, name){
105
- name ??= start;
106
- var startLen = start.length;
107
- return fnConsumer(async function(strIter){
108
- if (! await matchStart(strIter, start)) return;
109
- for (let i=startLen; i>1; i--) await strIter.next();
110
- while (await strIter.next()){
111
-
112
- if (await strIter.at(strIter.pointer-1) === escape) continue; // only works as singel char end
113
-
114
- if (await matchEnd(strIter, end)) {
115
- await strIter.next(); // move to the next char
116
- return;
117
- }
118
- }
119
- }, name);
120
- }
121
-
122
-
123
- /* helpers */
124
-
125
- export async function matchStart(strIter, str){
126
- var pos = 0;
127
- while (str[pos] === await strIter.at(strIter.pointer + pos)) {
128
- if (str[++pos] === undefined) return true;
129
- }
130
- }
131
- export async function matchEnd(strIter, str){
132
- let length = str.length-1;
133
- var pos = length;
134
- while (str[pos] === await strIter.at(strIter.pointer - (length-pos))) {
135
- if (--pos === -1) return true;
136
- }
137
- }
138
-
139
-
140
-
141
- export function object(obj){
142
- return Object.setPrototypeOf(obj,null);
143
- }
144
-
145
-
146
-
147
-
148
- /*
149
- async function stringInterator(stream){
150
- const reader = stream.getReader();
151
- let result = '';
152
- let streamDone = false;
153
-
154
- async function read(){
155
- let state = await reader.read();
156
- streamDone = state.done;
157
- obj.string += state.value;
158
- }
159
-
160
- const obj = object({
161
- string: '',
162
- position: -1,
163
- async next(){
164
- ++this.pointer;
165
- if (this.string[this.pointer] === undefined) {
166
- if (!streamDone) await read();
167
- this.char = string[this.pointer];
168
- }
169
- return this.char !== undefined;
170
- },
171
- async at(position){
172
- while(1) {
173
- let char = this.string[position];
174
- if (char !== undefined) return char;
175
- if (streamDone) return false;
176
- await read();
177
- }
178
- }
179
- });
180
- return obj;
181
- }
182
- */
@@ -1,128 +0,0 @@
1
- import { stringGenerator } from "./util.js";
2
-
3
-
4
-
5
- const tokens = {
6
- anyChar: {
7
- match:(char)=>{
8
- return true
9
- }
10
- },
11
- whiteSpace(strGen){
12
- return strGen.cha === ' ' || strGen.cha === "\n" || strGen.cha === "\t";
13
- },
14
- }
15
-
16
-
17
- export function parse(str) {
18
- const strGen = stringGenerator(str);
19
- walkParser(stylesheet, strGen)
20
- }
21
-
22
- function walkParser(parser, strGen){
23
-
24
- let startOuter = strGen.position;
25
- let endOuter = null;
26
-
27
- if (parser.start) startOuter -= parser.start.length;
28
-
29
- let char = strGen.current();
30
- do {
31
- if (parser.end && parser.end.match(char)) {
32
- endOuter = strGen.position + 1;
33
- break; // reached end
34
- }
35
- if (parser.contains) for (let subParser of parser.contains) {
36
- if (subParser.start.match(char)) {
37
- // todo: reset all subparser starts?
38
- strGen.next()
39
- walkParser(subParser, strGen); // continue in subParser if start matches
40
- }
41
- }
42
- } while(char = strGen.next());
43
-
44
- endOuter ??= strGen.position;
45
-
46
- var outer = strGen.string.slice(startOuter, endOuter);
47
- console.log('----' + parser.name + ': ---- ');
48
- console.dir('`'+outer+'`');
49
- }
50
-
51
-
52
- const comment = parser('comment', '/*', [], '*/');
53
- const slComment = parser('comment', '//', [], "\n");
54
-
55
- /*
56
- const comment = {
57
- name:'comment'
58
- start:'/*',
59
- end:'* /',
60
- };
61
- const slComment = {
62
- name:'slComment'
63
- start:'//',
64
- endBefore:"\n",
65
- }
66
- const dqString = {
67
- name:'string double-quote'
68
- start:'"',
69
- end:'"',
70
- }
71
- */
72
-
73
-
74
-
75
- const stringDEscape = parser('string dq escape', '\\', [],'"');
76
- const stringSEscape = parser('string sq escape', '\\', [],"'");
77
- //const stringD = parser('string dq', '"', [stringDEscape],'"');
78
-
79
- const stringD = parser('string dq', '"', ['\\"'],'"');
80
- const stringS = parser('string sq', "'", [stringSEscape],"'");
81
-
82
- const stylesheet = parser('stylesheet', '', [comment,slComment] );
83
-
84
- /*
85
- const comment = parser('comment', '/*', [], '* /');
86
-
87
- const stringDEscape = parser('string dq escape', '\\', [],'"');
88
- const stringSEscape = parser('string sq escape', '\\', [],"'");
89
- const stringD = parser('string dq', '"', [stringDEscape],'"');
90
- const stringS = parser('string sq', "'", [stringSEscape],"'");
91
-
92
- const block = parser('block', '{', [stringS],'}');
93
- const selector = parser('selector', '.', [comment], '{');
94
- const declaration = parser('declaration', '', [block,stringS,stringD],';');
95
- const rule = parser('rule', '', [selector, declaration, comment], '}');
96
- const atStatement = parser('at-statment', '@', [stringD, stringS], ';');
97
- const atBlock = parser('at-block', '@', [stringS, block],'}');
98
- const stylesheet = parser('stylesheet', '', [comment, atStatement, atBlock, rule], '}');
99
- */
100
-
101
-
102
-
103
-
104
- /*
105
- stylesheetRule = {
106
- contains:[whiteSpace,atRule,rule],
107
- }
108
- */
109
- function parser(name, start, contains, end){
110
- if (!contains) contains = [];
111
- if (!Array.isArray(contains)) contains = [contains];
112
- return {
113
- name,
114
- contains,
115
- start: toToken(start),
116
- end: end&&toToken(end),
117
- }
118
- }
119
-
120
-
121
- function toToken(token){
122
- if (token === '') return tokens.anyChar;
123
- return stringGenerator(token);
124
- if (typeof token === 'string' && token.lenght > 1) {
125
- return stringGenerator(token);
126
- }
127
- if (token.match) return token;
128
- }
@@ -1,43 +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
- <title>parser</title>
7
-
8
-
9
- <script="./mod.js"></script>
10
- </head>
11
- <body>
12
-
13
-
14
- <script type=module>
15
-
16
- import {parse} from './mod.js';
17
-
18
- // parse(
19
- // `@import \'xy\\\'z\';
20
- // .a /* test */ {
21
- // b:x;
22
- // a:var(--test);
23
- // }
24
- // /* x */
25
- // hallo welt
26
- // /* * / */
27
- // test`
28
- // );
29
-
30
- let str = `a /* /* \\*/ b
31
- //sl
32
- x
33
- `
34
- console.log(str)
35
-
36
- parse(str);
37
-
38
-
39
-
40
-
41
-
42
-
43
- </script>
@@ -1,22 +0,0 @@
1
- export function stringGenerator(string) {
2
- return {
3
- string: string,
4
- length: string.length,
5
- position:0,
6
- current(){ return string[this.position]; },
7
- next(){ return string[++this.position]; },
8
- lookOut(offset) { return string[this.position+offset]; }, // char att offset relative to position
9
- match(char){ // increments if char matches, resets if not, returns true if end reached
10
- if (string[this.position]===char) {
11
- this.position++;
12
- if (string[this.position] === undefined) {
13
- this.position = 0; // reset all keywords...!???!?!?
14
- return true;
15
- }
16
- } else {
17
- this.position = 0;
18
- }
19
- return false;
20
- }
21
- }
22
- }
@@ -1,52 +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
- <title>parser</title>
7
- </head>
8
- <body>
9
-
10
-
11
- <script type=module>
12
-
13
- import {dump} from 'https://cdn.jsdelivr.net/gh/nuxodin/dump.js@1.2.1/mod.min.js';
14
- import {tokenize, startEndConsumer, charsConsumer, fnConsumer,stringIterator} from "./mod.js";
15
-
16
-
17
- var whitespaces = charsConsumer(" \t\n", 'ws');
18
- var commentMl = startEndConsumer('/*','*/');
19
- var string = startEndConsumer('"', '"', '\\', 'string');
20
-
21
-
22
-
23
- var atStatement = startEndConsumer('@',';','\\','at-rule',{contains:[string]});
24
-
25
-
26
-
27
- export async function parse(str) {
28
- return await tokenize( [whitespaces, commentMl, atStatement] , stringIterator(str));
29
- }
30
-
31
-
32
- setTimeout(async function(){
33
-
34
- let str = styleContent.innerHTML;
35
- console.log(str)
36
- var tree = await parse(str, function(item){
37
- console.log('found', item.parser.name, item.outer);
38
- });
39
- dumpOut.innerHTML = dump(tree, {inherit: true});
40
-
41
-
42
- },10);
43
-
44
-
45
- </script>
46
- <div id=dumpOut></div>
47
-
48
- <style id=styleContent>
49
- @import url("import\"te;st");
50
-
51
- @import "asdf.ch";
52
- </style>
@@ -1,38 +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
- <title>parser</title>
7
- </head>
8
- <body>
9
-
10
-
11
- <script type=module>
12
-
13
- import {dump} from 'https://cdn.jsdelivr.net/gh/nuxodin/dump.js@1.2.1/mod.min.js';
14
- import {tokenize, startEndConsumer, charsConsumer, stringIterator} from "./mod.js";
15
-
16
-
17
- var whitespaces = charsConsumer(" \t\n", 'ws');
18
- var commentMl = startEndConsumer('/*','*/');
19
- var commentSl = startEndConsumer('//',"\n");
20
- var string = startEndConsumer('"', '"', '\\', 'string');
21
-
22
-
23
- export async function parseCode(str) {
24
- return await tokenize( [whitespaces, commentMl, commentSl, string] , stringIterator(str));
25
- }
26
-
27
-
28
- let str = `"a\\"" "x" /**/`
29
- console.log(str)
30
-
31
- var tree = await parseCode(str, function(item){
32
- console.log('found', item.parser.name, item.outer);
33
- });
34
-
35
- dumpOut.innerHTML = dump(tree, {inherit: true});
36
-
37
- </script>
38
- <div id=dumpOut></div>