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,100 +1,97 @@
1
-
2
- addEventListener('keydown', e => {
3
- if (e.defaultPrevented) return;
4
- if (e.altKey) return; // alt is reserved for browser back/forward
5
- if (e.ctrlKey || e.metaKey || e.shiftKey) return; // we only want to handle arrow keys without modifiers, in the future we could add a setting for this (focus last element with arrow left + shift)
6
-
7
- const isVertical = (e.code === 'ArrowUp' || e.code === 'ArrowDown');
8
- const isHorizontal = (e.code === 'ArrowLeft' || e.code === 'ArrowRight');
9
- if (!isVertical && !isHorizontal) return;
10
-
11
- const {target, container} = eventTargets(e);
12
- if (!container) return;
13
-
14
- if (isHorizontal) {
15
- if (target.tagName === 'INPUT' && (target.type !== 'checkbox' && target.type !== 'radio')) return;
16
- if (target.tagName === 'TEXTAREA') return;
17
- }
18
- if (isVertical) {
19
- if (target.tagName === 'SELECT') return;
20
- if (target.tagName === 'TEXTAREA') return;
21
- }
22
-
23
- const tmp = container.getAttribute('u2-focusgroup').split(' ');
24
- const options = Object.fromEntries(tmp.map(o => [o, true]));
25
- if (!options.horizontal && !options.vertical) {
26
- options.horizontal = true;
27
- options.vertical = true;
28
- }
29
-
30
- if (!options.horizontal && isHorizontal) return;
31
- if (!options.vertical && isVertical) return;
32
-
33
- let direction = 0;
34
- if (e.code === 'ArrowLeft' || e.code === 'ArrowUp') direction = -1;
35
- if (e.code === 'ArrowRight' || e.code === 'ArrowDown') direction = 1;
36
- if (direction === 0) return;
37
-
38
- const items = groupItems(container);
39
- if (items.length < 2) return;
40
-
41
- const index = items.indexOf(target);
42
-
43
- if (index === -1) {
44
- console.warn('should not happen, got a focusgroup-key-event, but the target is not focusable!');
45
- return;
46
- }
47
-
48
- let next = items[index + direction];
49
- if (!next && options.wrap) next = direction === 1 ? items.at(0) : items.at(-1);
50
- if (!next) return;
51
-
52
- next.focus();
53
-
54
- // remember
55
- if (options.remember) {
56
- items.forEach(el => el.setAttribute('tabindex', el === next ? '0' : '-1'));
57
- }
58
-
59
- e.preventDefault();
60
- });
61
-
62
-
63
- // addEventListener('focusin', e => {
64
- // const {target, container} = eventTargets(e);
65
- // if (!container) return;
66
- // const remember = container.getAttribute('u2-focusgroup').split(' ').includes('remember');
67
- // if (!remember) return;
68
- // groupItems(container).forEach(el => el.setAttribute('tabindex', el === target ? '0' : '-1'));
69
- // });
70
-
71
-
72
-
73
- function groupItems(container) {
74
- const selector = ' :not(u2-focusgroup) a[href], button, input, select, textarea, [contenteditable], [tabindex]';
75
- const elements = [...container.querySelectorAll(selector)];
76
-
77
- // handle slotted elements, beta
78
- const slots = container.matches('slot') ? [container] : container.querySelectorAll('slot'); // TODO: handle slotted elements
79
- slots.forEach(slot => {
80
- const slotted = slot.assignedElements({flatten: true}).filter(el => el.matches(selector));
81
- elements.push(...slotted);
82
- });
83
-
84
- return elements.filter(el => !el.disabled);
85
- }
86
-
87
- function eventTargets(event){
88
- let target = event.target;
89
- let container = target.closest('[u2-focusgroup]');
90
- if (!container) { // inside shadow dom
91
- target = event.originalTarget; // only for firefox?
92
- if (!target) return {};
93
- container = target.closest('[u2-focusgroup]');
94
- }
95
- if (!container) container = target.assignedSlot?.closest('[u2-focusgroup]'); // if slotted, ok?
96
- return {
97
- target,
98
- container
99
- };
100
- }
1
+
2
+ addEventListener('keydown', e => {
3
+ if (e.defaultPrevented) return;
4
+ if (e.altKey) return; // alt is reserved for browser back/forward
5
+ if (e.ctrlKey || e.metaKey || e.shiftKey) return; // we only want to handle arrow keys without modifiers, in the future we could add a setting for this (focus last element with arrow left + shift)
6
+
7
+ const isVertical = (e.code === 'ArrowUp' || e.code === 'ArrowDown');
8
+ const isHorizontal = (e.code === 'ArrowLeft' || e.code === 'ArrowRight');
9
+ if (!isVertical && !isHorizontal) return;
10
+
11
+ const {target, container} = eventTargets(e);
12
+ if (!container) return;
13
+
14
+ if (isHorizontal) {
15
+ if (target.tagName === 'INPUT' && (target.type !== 'checkbox' && target.type !== 'radio')) return;
16
+ if (target.tagName === 'TEXTAREA') return;
17
+ }
18
+ if (isVertical) {
19
+ if (target.tagName === 'SELECT') return;
20
+ if (target.tagName === 'TEXTAREA') return;
21
+ }
22
+
23
+ const tmp = container.getAttribute('u2-focusgroup').split(' ');
24
+ const options = Object.fromEntries(tmp.map(o => [o, true]));
25
+ if (!options.horizontal && !options.vertical) {
26
+ options.horizontal = true;
27
+ options.vertical = true;
28
+ }
29
+
30
+ if (!options.horizontal && isHorizontal) return;
31
+ if (!options.vertical && isVertical) return;
32
+
33
+ const direction = e.code === 'ArrowLeft' || e.code === 'ArrowUp' ? -1 : e.code === 'ArrowRight' || e.code === 'ArrowDown' ? 1 : 0;
34
+ if (direction === 0) return;
35
+
36
+ const items = groupItems(container);
37
+ if (items.length < 2) return;
38
+
39
+ const index = items.indexOf(target);
40
+
41
+ if (index === -1) {
42
+ console.warn('should not happen, got a focusgroup-key-event, but the target is not focusable!');
43
+ return;
44
+ }
45
+
46
+ let next = items[index + direction] || (options.wrap ? direction === 1 ? items.at(0) : items.at(-1) : null);
47
+ if (!next) return;
48
+
49
+ next.focus();
50
+
51
+ // remember
52
+ if (options.remember) {
53
+ items.forEach(el => el.setAttribute('tabindex', el === next ? '0' : '-1'));
54
+ }
55
+
56
+ e.preventDefault();
57
+ });
58
+
59
+
60
+ // addEventListener('focusin', e => {
61
+ // const {target, container} = eventTargets(e);
62
+ // if (!container) return;
63
+ // const remember = container.getAttribute('u2-focusgroup').split(' ').includes('remember');
64
+ // if (!remember) return;
65
+ // groupItems(container).forEach(el => el.setAttribute('tabindex', el === target ? '0' : '-1'));
66
+ // });
67
+
68
+
69
+
70
+ function groupItems(container) {
71
+ const selector = ' :not(u2-focusgroup) a[href], button, input, select, textarea, [contenteditable], [tabindex]';
72
+ const elements = [...container.querySelectorAll(selector)];
73
+
74
+ // handle slotted elements, beta
75
+ const slots = container.matches('slot') ? [container] : container.querySelectorAll('slot'); // TODO: handle slotted elements
76
+ slots.forEach(slot => {
77
+ const slotted = slot.assignedElements({flatten: true}).filter(el => el.matches(selector));
78
+ elements.push(...slotted);
79
+ });
80
+
81
+ return elements.filter(el => !el.disabled);
82
+ }
83
+
84
+ function eventTargets(event){
85
+ let target = event.target;
86
+ let container = target.closest('[u2-focusgroup]');
87
+ if (!container) { // inside shadow dom
88
+ target = event.originalTarget; // only for firefox?
89
+ if (!target) return {};
90
+ container = target.closest('[u2-focusgroup]');
91
+ }
92
+ container ||= target.assignedSlot?.closest('[u2-focusgroup]'); // if slotted, ok?
93
+ return {
94
+ target,
95
+ container
96
+ };
97
+ }
@@ -1,38 +1,30 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "readme": "README.md",
4
- "modules": [
5
- {
6
- "kind": "javascript-module",
7
- "path": "focusgroup.js",
8
- "declarations": [
9
- {
10
- "description": "Focus movement by arrow keys",
11
- "name": "u2-focusgroup",
12
- "members": [],
13
- "events": [],
14
- "attributes": [
15
- {
16
- "name": "u2-focusgroup",
17
- "description": "It allows you to focus elements with arrow keys inside a container.",
18
- "u2Examples": ["", "wrap", "wrap vertical remember", "remember"]
19
- }
20
- ],
21
- "cssProperties": [],
22
- "attributeName": "u2-focusgroup"
23
- }
24
- ],
25
- "exports": [
26
- {
27
- "kind": "custom-attribute-definition",
28
- "name": "u2-focusgroup",
29
- "declaration": {
30
- "name": "u2-focusgroup",
31
- "module": "focusgroup.js"
32
- }
33
- }
34
- ]
35
- }
36
- ]
37
- }
38
-
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "README.md",
4
+ "modules": [{
5
+ "kind": "javascript-module",
6
+ "path": "focusgroup.js",
7
+ "declarations": [{
8
+ "kind": "class",
9
+ "description": "Focus movement by arrow keys",
10
+ "name": "u2-focusgroup",
11
+ "members": [],
12
+ "events": [],
13
+ "attributes": [{
14
+ "name": "u2-focusgroup",
15
+ "description": "It allows you to focus elements with arrow keys inside a container.",
16
+ "u2Examples": ["", "wrap", "wrap vertical remember", "remember"]
17
+ }],
18
+ "cssProperties": [],
19
+ "attributeName": "u2-focusgroup"
20
+ }],
21
+ "exports": [{
22
+ "kind": "custom-attribute-definition",
23
+ "name": "u2-focusgroup",
24
+ "declaration": {
25
+ "name": "u2-focusgroup",
26
+ "module": "focusgroup.js"
27
+ }
28
+ }]
29
+ }]
30
+ }
@@ -1,24 +1,24 @@
1
1
  # [u2-href] - attribute
2
- Every element can be a link
2
+ Makes any element act as a link. `u2-href="url"`
3
3
 
4
4
  ## Usage
5
5
 
6
6
  ```html
7
- <div u2-href="http://schwups.ch" u2-href-target=_blank>
8
- Pseudo link
7
+ <div u2-href="http://schwups.ch" u2-href-target=_blank>
8
+ Pseudo link
9
9
  </div>
10
10
  ```
11
11
 
12
12
  ## Install
13
13
 
14
14
  ```html
15
- <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/attr/href/href.min.js" type=module async></script>
15
+ <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@main/attr/href/href.js" type=module async></script>
16
16
  ```
17
17
 
18
18
  ## Demos
19
19
 
20
- [minimal.html](http://gcdn.li/u2ui/u2@main/attr/href/tests/minimal.html)
21
20
  [test.html](http://gcdn.li/u2ui/u2@main/attr/href/tests/test.html)
21
+ [minimal.html](http://gcdn.li/u2ui/u2@main/attr/href/tests/minimal.html)
22
22
 
23
23
  ## Description
24
24
 
package/attr/href/href.js CHANGED
@@ -1,42 +1,50 @@
1
- /* Copyright (c) 2016 Tobias Buschor https://goo.gl/gl0mbf | MIT License https://goo.gl/HgajeK */
2
-
3
- document.addEventListener('click', e => {
4
- if (e.button !== 0) return; // only left-click
5
- if (e.defaultPrevented) return; // not if prevented
6
- const sel = getSelection();
7
- if (!sel.isCollapsed) { // only if the selection is collapsed.
8
- const textSelected = sel.anchorNode.nodeType === 3 || sel.focusNode.nodeType === 3;
9
- const shadowElSelected = sel.focusNode.nodeType === 11; // svg-use-element, firefox
10
- if (textSelected && !shadowElSelected) return;
11
- }
12
- if (!e.target.closest) return; // some targets have no closest method?
13
- const A = e.target.closest('[u2-href]');
14
- if (!A) return;
15
- if (e.target.closest('a,input,textarea,select,button,label')) return;
16
- //if (e.target.closest('[onclick]')) return; //
17
- //if (e.target.closest(c1.href.ignoreSelector)) return;
18
- if (e.target.isContentEditable) return; // not if contenteditable
19
- const href = A.getAttribute('u2-href'); // get the url
20
- if (!href) return;
21
-
22
- const url = new URL(href, location.href); // security check, as its not a standard attribute, puryfiers will probably not remove it
23
- if (url.protocol === 'javascript:') return;
24
-
25
- let target = A.getAttribute('u2-href-target'); // get the target
26
- if (e.ctrlKey) target = '_blank'; // better random-string?
27
- // var event = new CustomEvent('u2-href-navigate', { // trigger custom event with the ability to prevent Navigation
28
- // cancelable: true,
29
- // detail: {
30
- // url: href,
31
- // target: target,
32
- // }
33
- // });
34
- // window.dispatchEvent(event);
35
- // if (event.defaultPrevented) return;
36
- if (target) {
37
- window.open(href, target, 'noopener'); //!e.ctrlKey && win.focus(); // not needed in chrome, not working in ff
38
- } else {
39
- location.href = href;
40
- }
41
- });
42
- document.head.insertAdjacentHTML('afterbegin', '<style>:where([u2-href]){cursor:pointer}</style>');
1
+ document.addEventListener('click', e => {
2
+ if (e.button !== 0) return; // only left-click
3
+ if (e.defaultPrevented) return; // not if prevented
4
+ if (!e.target.closest) return; // some targets have no closest method?
5
+ const A = e.target.closest('[u2-href]');
6
+ if (!A) return;
7
+ let href = A.getAttribute('u2-href'); // get the url
8
+
9
+ if (href === '') {
10
+ const realA = A.querySelector('a[href]');
11
+ if (!realA) return;
12
+ href = realA.href;
13
+ }
14
+
15
+ if (e.target.isContentEditable) return;
16
+ if (e.target.closest('a,input,textarea,select,button,label')) return;
17
+ //if (e.target.closest('[onclick]')) return; //
18
+ //if (e.target.closest(c1.href.ignoreSelector)) return;
19
+
20
+ const sel = getSelection();
21
+ for (let i = 0; i < sel.rangeCount; i++) {
22
+ if (sel.getRangeAt(i).toString().trim() !== '') return;
23
+ }
24
+ // if (!sel.isCollapsed) { // only if the selection is collapsed. // deprecated
25
+ // const textSelected = sel.anchorNode.nodeType === 3 || sel.focusNode.nodeType === 3;
26
+ // const shadowElSelected = sel.focusNode.nodeType === 11; // svg-use-element, firefox
27
+ // if (textSelected && !shadowElSelected) return;
28
+ // }
29
+
30
+ const url = new URL(href, location.href); // security check, as its not a standard attribute, puryfiers will probably not remove it
31
+ if (url.protocol === 'javascript:') return;
32
+
33
+ let target = A.getAttribute('u2-href-target'); // get the target
34
+ if (e.ctrlKey || e.metaKey) target = '_blank';
35
+ // var event = new CustomEvent('u2-href-navigate', { // trigger custom event with the ability to prevent Navigation
36
+ // cancelable: true,
37
+ // detail: {
38
+ // url: href,
39
+ // target: target,
40
+ // }
41
+ // });
42
+ // window.dispatchEvent(event);
43
+ // if (event.defaultPrevented) return;
44
+ if (target) {
45
+ window.open(href, target, 'noopener,noreferrer'); //!e.ctrlKey && win.focus(); // not needed in chrome, not working in ff
46
+ } else {
47
+ location.href = href;
48
+ }
49
+ });
50
+ document.head.insertAdjacentHTML('afterbegin', '<style>:where([u2-href]){cursor:pointer}</style>');
@@ -1,43 +1,43 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "readme": "README.md",
4
- "modules": [
5
- {
6
- "kind": "javascript-module",
7
- "path": "href.js",
8
- "declarations": [
9
- {
10
- "summary": "Turn every element in a link",
11
- "description": "This attribute allows you to turn any element into a link by simply adding the `u2-href` attribute to it.\n`Ctrl + click` will open the link in a new tab.\nClicks on interactive elements inside the pseudo-link element prevent the link from being opened.\nXSS attacks are prevented by disallowing the `javascript:` protocol.",
12
- "name": "u2-href",
13
- "members": [],
14
- "events": [],
15
- "attributes": [
16
- {
17
- "name": "u2-href",
18
- "description": "The URL that the hyperlink points to.",
19
- "u2Examples": ["", "https://www.google.com", "./test.html", "#section1"]
20
- },{
21
- "name": "u2-href-target",
22
- "description": "The target attribute specifies where to open the linked document.",
23
- "u2Examples": ["_blank", "myFrame"]
24
- }
25
- ],
26
- "cssProperties": [],
27
- "attributeName": "u2-href"
28
- }
29
- ],
30
- "exports": [
31
- {
32
- "kind": "custom-attribute-definition",
33
- "name": "u2-href",
34
- "declaration": {
35
- "name": "u2-href",
36
- "module": "href.js"
37
- }
38
- }
39
- ]
40
- }
41
- ]
42
- }
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "README.md",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "href.js",
8
+ "declarations": [
9
+ {
10
+ "summary": "Turn every element in a link",
11
+ "description": "This attribute allows you to turn any element into a link by simply adding the `u2-href` attribute to it.\n`Ctrl + click` will open the link in a new tab.\nClicks on interactive elements inside the pseudo-link element prevent the link from being opened.\nXSS attacks are prevented by disallowing the `javascript:` protocol.",
12
+ "name": "u2-href",
13
+ "members": [],
14
+ "events": [],
15
+ "attributes": [
16
+ {
17
+ "name": "u2-href",
18
+ "description": "The URL that the hyperlink points to.",
19
+ "u2Examples": ["", "https://www.google.com", "./test.html", "#section1"]
20
+ },{
21
+ "name": "u2-href-target",
22
+ "description": "The target attribute specifies where to open the linked document.",
23
+ "u2Examples": ["_blank", "myFrame"]
24
+ }
25
+ ],
26
+ "cssProperties": [],
27
+ "attributeName": "u2-href"
28
+ }
29
+ ],
30
+ "exports": [
31
+ {
32
+ "kind": "custom-attribute-definition",
33
+ "name": "u2-href",
34
+ "declaration": {
35
+ "name": "u2-href",
36
+ "module": "href.js"
37
+ }
38
+ }
39
+ ]
40
+ }
41
+ ]
42
+ }
43
43
 
@@ -4,36 +4,36 @@ declarativ intersection-observer
4
4
  ## Usage
5
5
 
6
6
  ```html
7
- <div u2-intersect>intersect</div>
8
- <div u2-intersect>item 2</div>
7
+ <div u2-intersect>intersect</div>
8
+ <div u2-intersect>item 2</div>
9
9
  <div u2-intersect>item 3</div>
10
10
  ```
11
11
 
12
12
  ```css
13
- [u2-intersect] {
14
- --u2-intersect-margin:-10%;
15
- --u2-intersect-threshold:1;
16
- background:#fbb;
17
- }
18
- [u2-intersect].u2-intersected { background:#bfb; }
19
- [u2-intersect]::after {
20
- display:block;
21
- content:'below';
22
- }
23
- [u2-intersect].u2-intersected::after { content:'intersected'; }
13
+ [u2-intersect] {
14
+ --u2-intersect-margin:-10%;
15
+ --u2-intersect-threshold:1;
16
+ background:#fbb;
17
+ }
18
+ [u2-intersect].u2-intersected { background:#bfb; }
19
+ [u2-intersect]::after {
20
+ display:block;
21
+ content:'below';
22
+ }
23
+ [u2-intersect].u2-intersected::after { content:'intersected'; }
24
24
  [u2-intersect~="above"]::after { content:'above' }
25
25
  ```
26
26
 
27
27
  ## Install
28
28
 
29
29
  ```html
30
- <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@x.x.x/attr/intersect/intersect.min.js" type=module async></script>
30
+ <script src="https://cdn.jsdelivr.net/gh/u2ui/u2@main/attr/intersect/intersect.js" type=module async></script>
31
31
  ```
32
32
 
33
33
  ## Demos
34
34
 
35
- [minimal.html](http://gcdn.li/u2ui/u2@main/attr/intersect/tests/minimal.html)
36
35
  [test.html](http://gcdn.li/u2ui/u2@main/attr/intersect/tests/test.html)
36
+ [minimal.html](http://gcdn.li/u2ui/u2@main/attr/intersect/tests/minimal.html)
37
37
 
38
38
  ## About
39
39