u2ui 1.0.1 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +36 -36
  3. package/attr/behavior/README.md +6 -4
  4. package/attr/behavior/behavior.js +265 -261
  5. package/attr/behavior/manifest.json +42 -42
  6. package/attr/confirm/README.md +8 -8
  7. package/attr/confirm/confirm.js +87 -90
  8. package/attr/confirm/manifest.json +42 -42
  9. package/attr/disableif/README.md +37 -0
  10. package/attr/disableif/disableif.js +59 -0
  11. package/attr/disableif/manifest.json +38 -0
  12. package/attr/draghandle/README.md +15 -15
  13. package/attr/draghandle/draghandle.js +24 -42
  14. package/attr/draghandle/manifest.json +30 -0
  15. package/attr/dropzone/README.md +32 -0
  16. package/attr/dropzone/dropzone.js +485 -0
  17. package/attr/dropzone/manifest.json +36 -0
  18. package/attr/focusgroup/README.md +9 -9
  19. package/attr/focusgroup/focusgroup.js +97 -100
  20. package/attr/focusgroup/manifest.json +30 -38
  21. package/attr/href/README.md +5 -5
  22. package/attr/href/href.js +50 -42
  23. package/attr/href/manifest.json +42 -42
  24. package/attr/intersect/README.md +15 -15
  25. package/attr/intersect/intersect.js +98 -98
  26. package/attr/intersect/manifest.json +44 -57
  27. package/attr/lightbox/README.md +27 -0
  28. package/attr/lightbox/lightbox.js +120 -0
  29. package/attr/lightbox/manifest.json +29 -0
  30. package/attr/movable/README.md +27 -0
  31. package/attr/movable/manifest.json +47 -0
  32. package/attr/movable/movable.js +111 -0
  33. package/attr/navigable/README.md +9 -9
  34. package/attr/navigable/TargetObserver.js +90 -91
  35. package/attr/navigable/U2TargetObserver.js +75 -75
  36. package/attr/navigable/manifest.json +34 -42
  37. package/attr/navigable/navigable.js +85 -87
  38. package/attr/parallax/README.md +10 -10
  39. package/attr/parallax/manifest.json +36 -0
  40. package/attr/parallax/parallax.js +119 -119
  41. package/attr/scrollspy/README.md +43 -0
  42. package/attr/scrollspy/manifest.json +28 -0
  43. package/attr/scrollspy/scrollspy.js +85 -0
  44. package/attr/selectable/README.md +42 -0
  45. package/attr/selectable/SelectionManager.js +171 -0
  46. package/attr/selectable/manifest.json +33 -0
  47. package/attr/selectable/selectable.js +28 -0
  48. package/attr/skin/README.md +15 -16
  49. package/attr/skin/manifest.json +40 -0
  50. package/attr/skin/skin.css +49 -50
  51. package/attr/store/README.md +41 -0
  52. package/attr/store/manifest.json +28 -0
  53. package/attr/store/store.js +62 -0
  54. package/class/badge/README.md +2 -2
  55. package/class/badge/badge.css +34 -34
  56. package/class/card/README.md +51 -0
  57. package/class/card/card.css +31 -0
  58. package/class/flex/README.md +16 -16
  59. package/class/flex/flex.css +15 -25
  60. package/class/grid/README.md +18 -18
  61. package/class/grid/grid.css +38 -40
  62. package/class/reset/README.md +6 -6
  63. package/class/reset/reset.css +8 -8
  64. package/class/table/README.md +22 -21
  65. package/class/table/table.css +125 -125
  66. package/class/unstyle/README.md +7 -5
  67. package/class/unstyle/unstyle.css +15 -12
  68. package/class/width/README.md +18 -18
  69. package/class/width/width.css +21 -22
  70. package/css/README.md +11 -0
  71. package/css/base/README.md +8 -2
  72. package/css/base/base.css +153 -127
  73. package/css/base/beta.css +34 -50
  74. package/css/base/full.css +5 -5
  75. package/css/base/nomotion.css +8 -8
  76. package/css/base/print.css +36 -36
  77. package/css/classless/README.md +10 -4
  78. package/css/classless/aria.css +51 -64
  79. package/css/classless/classless.css +118 -124
  80. package/css/classless/full.css +11 -11
  81. package/css/classless/more.css +314 -340
  82. package/css/classless/simple.css +314 -103
  83. package/css/classless/snippeds/a/icons.css +66 -12
  84. package/css/classless/snippeds/a/tests.html +118 -0
  85. package/css/classless/snippeds/blockquote/big-quotes.css +36 -0
  86. package/css/classless/snippeds/blockquote/tests.html +62 -0
  87. package/css/classless/snippeds/button/square.css +22 -0
  88. package/css/classless/snippeds/button/tests.html +53 -0
  89. package/css/classless/snippeds/experiments/aria-header-nav-dropdown.css +46 -0
  90. package/css/classless/snippeds/hr/gradient.css +2 -2
  91. package/css/classless/snippeds/hr/section_sign.css +16 -16
  92. package/css/classless/snippeds/hr/tests.html +49 -49
  93. package/css/classless/snippeds/p/indent.css +9 -0
  94. package/css/classless/snippeds/p/initial.css +9 -0
  95. package/css/classless/snippeds/p/tests.html +60 -0
  96. package/css/classless/variables.css +132 -99
  97. package/css/norm/README.md +7 -1
  98. package/css/norm/beta.css +41 -39
  99. package/css/norm/norm.css +89 -98
  100. package/css/norm/oldies.css +71 -60
  101. package/css/{classes → utils}/README.md +10 -4
  102. package/css/{classes/classes.css → utils/utils.css} +78 -78
  103. package/el/accordion/README.md +60 -59
  104. package/el/accordion/accordion.css +11 -7
  105. package/el/accordion/accordion.js +211 -258
  106. package/el/accordion/manifest.json +44 -57
  107. package/el/alert/README.md +86 -67
  108. package/el/alert/alert.css +72 -73
  109. package/el/alert/alert.js +206 -187
  110. package/el/alert/manifest.json +59 -77
  111. package/el/breadcrumb/README.md +41 -0
  112. package/el/breadcrumb/breadcrumb.css +22 -0
  113. package/el/breadcrumb/breadcrumb.js +119 -0
  114. package/el/breadcrumb/manifest.json +42 -0
  115. package/el/buttongroup/README.md +36 -36
  116. package/el/buttongroup/buttongroup.css +38 -30
  117. package/el/buttongroup/buttongroup.js +68 -56
  118. package/el/buttongroup/manifest.json +28 -0
  119. package/el/bytes/README.md +4 -4
  120. package/el/bytes/bytes.css +6 -6
  121. package/el/bytes/bytes.js +98 -97
  122. package/el/bytes/manifest.json +90 -95
  123. package/el/calendar/README.md +64 -0
  124. package/el/calendar/calendar.css +36 -0
  125. package/el/calendar/calendar.js +391 -0
  126. package/el/calendar/ext/drag.js +69 -0
  127. package/el/calendar/ext/keyNavigation.js +101 -0
  128. package/el/calendar/manifest.json +69 -0
  129. package/el/carousel/README.md +14 -14
  130. package/el/carousel/carousel.css +45 -46
  131. package/el/carousel/carousel.js +398 -371
  132. package/el/carousel/manifest.json +44 -58
  133. package/el/carousel-nav/README.md +13 -14
  134. package/el/carousel-nav/carousel-nav.js +74 -74
  135. package/el/carousel-nav/manifest.json +31 -0
  136. package/el/chart/README.md +46 -0
  137. package/el/chart/chart.css +7 -0
  138. package/el/chart/chart.js +188 -0
  139. package/el/chart/engines/apexcharts.js +103 -0
  140. package/el/chart/engines/billboard.js +79 -0
  141. package/el/chart/engines/chart.js.js +32 -0
  142. package/el/chart/engines/chartist.js +74 -0
  143. package/el/chart/engines/echarts.js +65 -0
  144. package/el/chart/engines/frappe.js +49 -0
  145. package/el/chart/engines/nvd3.js +139 -0
  146. package/el/chart/engines/plotly.js +73 -0
  147. package/el/chart/manifest.json +54 -0
  148. package/el/code/README.md +21 -21
  149. package/el/code/code.css +46 -46
  150. package/el/code/code.js +291 -289
  151. package/el/code/manifest.json +59 -66
  152. package/el/cookiebanner/README.md +70 -0
  153. package/el/cookiebanner/cookiebanner.css +42 -0
  154. package/el/cookiebanner/cookiebanner.js +161 -0
  155. package/el/cookiebanner/extensions/googleConsentMode.js +36 -0
  156. package/el/cookiebanner/knownItems.js +291 -0
  157. package/el/cookiebanner/manifest.json +85 -0
  158. package/el/cookiebanner/ui.js +426 -0
  159. package/el/copy/README.md +9 -7
  160. package/el/copy/copy.css +3 -3
  161. package/el/copy/copy.js +89 -117
  162. package/el/copy/manifest.json +37 -49
  163. package/el/counter/README.md +12 -9
  164. package/el/counter/counter.css +8 -8
  165. package/el/counter/counter.js +96 -95
  166. package/el/counter/manifest.json +50 -59
  167. package/el/drawer/README.md +35 -0
  168. package/el/drawer/drawer.css +77 -0
  169. package/el/drawer/drawer.js +166 -0
  170. package/el/drawer/manifest.json +27 -0
  171. package/el/fields/README.md +34 -0
  172. package/el/fields/fields.css +5 -0
  173. package/el/fields/fields.js +133 -0
  174. package/el/fields/manifest.json +32 -0
  175. package/el/ico/README.md +119 -118
  176. package/el/ico/debug.js +86 -0
  177. package/el/ico/font/Font Awesome.css +22 -22
  178. package/el/ico/font/LigatureSymbols.css +7 -7
  179. package/el/ico/font/Material Icons.css +6 -6
  180. package/el/ico/font/RemixFilled.css +8 -8
  181. package/el/ico/font/RemixOutlined.css +8 -8
  182. package/el/ico/font/old/anicons.css +31 -31
  183. package/el/ico/font/old/devicons.css +210 -210
  184. package/el/ico/font/old/material.all.css +36 -36
  185. package/el/ico/font/old/remix.css +15 -15
  186. package/el/ico/font/old/utf8.css +54 -54
  187. package/el/ico/ico.css +122 -110
  188. package/el/ico/ico.js +163 -189
  189. package/el/ico/manifest.json +68 -86
  190. package/el/input/README.md +41 -39
  191. package/el/input/input.css +95 -35
  192. package/el/input/input.js +682 -331
  193. package/el/input/manifest.json +54 -0
  194. package/el/maintitlebar/README.md +39 -0
  195. package/el/maintitlebar/maintitlebar.css +40 -0
  196. package/el/maintitlebar/maintitlebar.js +17 -0
  197. package/el/maintitlebar/manifest.json +32 -0
  198. package/el/masonry/README.md +19 -19
  199. package/el/masonry/manifest.json +49 -60
  200. package/el/masonry/masonry.css +27 -27
  201. package/el/masonry/masonry.js +93 -92
  202. package/el/menubutton/README.md +39 -0
  203. package/el/menubutton/manifest.json +44 -0
  204. package/el/{splitbutton/splitbutton.css → menubutton/menubutton.css} +51 -47
  205. package/el/menubutton/menubutton.js +90 -0
  206. package/el/number/README.md +9 -6
  207. package/el/number/manifest.json +162 -121
  208. package/el/number/number.css +6 -6
  209. package/el/number/number.js +67 -67
  210. package/el/out/README.md +5 -5
  211. package/el/out/manifest.json +26 -38
  212. package/el/out/out.css +2 -2
  213. package/el/out/out.js +42 -59
  214. package/el/pagination/README.md +32 -0
  215. package/el/pagination/manifest.json +47 -0
  216. package/el/pagination/pagination.css +27 -0
  217. package/el/pagination/pagination.js +147 -0
  218. package/el/parallax-bg/README.md +26 -6
  219. package/el/parallax-bg/manifest.json +32 -0
  220. package/el/parallax-bg/parallax-bg.css +13 -13
  221. package/el/parallax-bg/parallax-bg.js +197 -186
  222. package/el/qrcode/README.md +7 -7
  223. package/el/qrcode/manifest.json +32 -43
  224. package/el/qrcode/package.json +22 -22
  225. package/el/qrcode/qrcode.css +13 -13
  226. package/el/qrcode/qrcode.js +53 -45
  227. package/el/rating/README.md +9 -20
  228. package/el/rating/manifest.json +52 -65
  229. package/el/rating/rating.css +10 -10
  230. package/el/rating/rating.js +148 -139
  231. package/el/responsive/README.md +43 -0
  232. package/el/responsive/manifest.json +41 -0
  233. package/el/responsive/responsive.css +4 -0
  234. package/el/responsive/responsive.js +143 -0
  235. package/el/rte/README.md +10 -10
  236. package/el/rte/manifest.json +33 -0
  237. package/el/rte/rte.css +9 -9
  238. package/el/rte/rte.js +56 -56
  239. package/el/skeleton/README.md +3 -3
  240. package/el/skeleton/manifest.json +37 -51
  241. package/el/skeleton/skeleton.css +67 -60
  242. package/el/skeleton/skeleton.js +71 -72
  243. package/el/splitpanel/README.md +33 -13
  244. package/el/splitpanel/manifest.json +36 -49
  245. package/el/splitpanel/splitpanel.css +20 -17
  246. package/el/splitpanel/splitpanel.js +117 -116
  247. package/el/spot/README.md +36 -0
  248. package/el/spot/manifest.json +55 -0
  249. package/el/spot/spot.css +23 -0
  250. package/el/spot/spot.js +106 -0
  251. package/el/system/README.md +29 -0
  252. package/el/system/demoHtml.html +660 -0
  253. package/el/system/manifest.json +32 -0
  254. package/el/system/styler.js +661 -0
  255. package/el/system/system.js +84 -0
  256. package/el/table/README.md +80 -68
  257. package/el/table/ext/autoFormatTable.js +228 -0
  258. package/el/table/manifest.json +32 -43
  259. package/el/table/table.css +4 -59
  260. package/el/table/table.js +468 -194
  261. package/el/tabs/README.md +17 -17
  262. package/el/tabs/manifest.json +44 -59
  263. package/el/tabs/tabs.css +22 -22
  264. package/el/tabs/tabs.js +192 -210
  265. package/el/textfit/README.md +7 -7
  266. package/el/textfit/manifest.json +33 -45
  267. package/el/textfit/textfit.css +5 -5
  268. package/el/textfit/textfit.js +80 -80
  269. package/el/time/README.md +6 -5
  270. package/el/time/manifest.json +79 -118
  271. package/el/time/time.js +179 -168
  272. package/el/toc/README.md +27 -0
  273. package/el/toc/manifest.json +36 -0
  274. package/el/toc/toc.css +3 -0
  275. package/el/toc/toc.js +87 -0
  276. package/el/tooltip/README.md +13 -10
  277. package/el/tooltip/manifest.json +56 -69
  278. package/el/tooltip/tooltip.css +100 -97
  279. package/el/tooltip/tooltip.js +146 -82
  280. package/el/tree/README.md +133 -0
  281. package/el/tree/ext/dnd.js +53 -0
  282. package/el/tree/ext/item.js +35 -0
  283. package/el/tree/manifest.json +61 -0
  284. package/el/tree/tree.css +18 -0
  285. package/el/tree/tree.js +236 -0
  286. package/el/typewriter/README.md +11 -11
  287. package/el/typewriter/manifest.json +45 -66
  288. package/el/typewriter/typewriter.css +6 -6
  289. package/el/typewriter/typewriter.js +161 -166
  290. package/el/video/README.md +37 -0
  291. package/el/video/manifest.json +96 -0
  292. package/el/video/video.js +550 -0
  293. package/js/Placer/Placer.js +156 -156
  294. package/js/Placer/README.md +14 -16
  295. package/js/PointerObserver/PointerObserver-no-scroll.js +146 -0
  296. package/js/PointerObserver/PointerObserver.js +161 -130
  297. package/js/PointerObserver/README.md +6 -7
  298. package/js/SelectorObserver/README.md +9 -9
  299. package/js/SelectorObserver/SelectorObserver.js +199 -200
  300. package/js/Tour/README.md +56 -0
  301. package/js/Tour/Tour.js +156 -0
  302. package/js/contextmenu/README.md +6 -31
  303. package/js/contextmenu/contextmenu.js +338 -336
  304. package/js/dialog/README.md +8 -7
  305. package/js/dialog/dialog.js +228 -261
  306. package/js/drag/README.md +28 -0
  307. package/js/drag/drag.js +38 -0
  308. package/js/drag/indicateDrop.js +80 -0
  309. package/js/loading/README.md +24 -0
  310. package/js/loading/loading.js +139 -0
  311. package/js/navigator/README.md +26 -0
  312. package/js/navigator/navigator.js +430 -0
  313. package/js/navigator/url-change-event.js +29 -0
  314. package/js/rte/README.md +13 -14
  315. package/js/rte/old/NodeCleaner.js +315 -315
  316. package/js/rte/old/Rte/Rte.ui.mjs +154 -154
  317. package/js/rte/old/Rte/index.mjs +5 -5
  318. package/js/rte/old/Rte/main.css +189 -189
  319. package/js/rte/old/old.rte.js +131 -131
  320. package/js/rte/old/range-selection.old.js +394 -394
  321. package/js/rte/rte.js +7 -7
  322. package/js/rte/src/behavior.js +228 -228
  323. package/js/rte/src/events.js +73 -73
  324. package/js/rte/src/fixes.js +250 -250
  325. package/js/rte/src/range.js +469 -472
  326. package/js/rte/src/rte.js +71 -71
  327. package/js/rte/src/ui/items/ai.js +166 -167
  328. package/js/rte/src/ui/items/code.js +93 -93
  329. package/js/rte/src/ui/items/undo.js +183 -183
  330. package/js/rte/src/ui.items.js +6 -7
  331. package/js/rte/src/ui.js +268 -268
  332. package/js/rte/src/util/indentHtml.js +21 -15
  333. package/js/serviceWorker/README.md +17 -0
  334. package/js/serviceWorker/serviceWorker.js +84 -0
  335. package/js/serviceWorker/sw.js +221 -0
  336. package/js/shortcut/README.md +6 -6
  337. package/js/shortcut/shortcut.js +53 -89
  338. package/package.json +2 -4
  339. package/theme/brutalist/README.md +10 -0
  340. package/theme/brutalist/theme.css +98 -0
  341. package/theme/elegance/README.md +10 -0
  342. package/theme/elegance/theme.css +120 -0
  343. package/theme/luxury/README.md +10 -0
  344. package/theme/luxury/theme.css +107 -0
  345. package/theme/minimalism/README.md +10 -0
  346. package/theme/minimalism/theme.css +103 -0
  347. package/theme/natur/README.md +10 -0
  348. package/theme/natur/theme.css +101 -0
  349. package/theme/pastell/README.md +10 -0
  350. package/theme/pastell/theme.css +99 -0
  351. package/theme/pop/README.md +10 -0
  352. package/theme/pop/theme.css +101 -0
  353. package/theme/prompt.css +175 -0
  354. package/theme/retro/README.md +10 -0
  355. package/theme/retro/theme.css +99 -0
  356. package/theme/soft/README.md +10 -0
  357. package/theme/soft/theme.css +84 -0
  358. package/theme/tech/README.md +10 -0
  359. package/theme/tech/theme.css +98 -0
  360. package/theme/test/README.md +10 -0
  361. package/theme/test/theme.css +109 -0
  362. package/theme/test.html +284 -0
  363. package/theme/tmp/README.md +10 -0
  364. package/theme/tmp/theme.css +323 -0
  365. package/u2/auto.js +151 -161
  366. package/u2/auto.ui.js +82 -85
  367. package/u2/plan-scoped-refactoring.md +236 -0
  368. package/u2/projects.json +757 -467
  369. package/u2/tools/baseElement.js +217 -95
  370. package/u2/tools/baseElement.test.html +139 -119
  371. package/u2/tools/ce-inspector.js +307 -307
  372. package/u2/tools/ce-inspector.test.html +67 -65
  373. package/u2/tools/ce-manfest-from-element.js +207 -207
  374. package/u2/tools/dev-iframe.js +212 -213
  375. package/u2/tools/dev-iframe.test.html +72 -74
  376. package/u2/tools/eventsExplorer.js +102 -101
  377. package/u2/tools/logo/u1.svg +9 -9
  378. package/u2/tools/promiseElementById.js +14 -0
  379. package/u2/tools/update.repos.json.js +259 -234
  380. package/u2/tools/update.skill.js +176 -0
  381. package/u2/tools/variable-styler.js +317 -0
  382. package/u2/u2.js +30 -14
  383. package/u2/utils.js +61 -59
  384. package/.htaccess +0 -7
  385. package/attr/behavior/tests/minimal.html +0 -19
  386. package/attr/behavior/tests/test.html +0 -98
  387. package/attr/confirm/tests/minimal.html +0 -23
  388. package/attr/confirm/tests/test.html +0 -79
  389. package/attr/draghandle/tests/minimal.html +0 -44
  390. package/attr/focusgroup/tests/minimal.html +0 -27
  391. package/attr/focusgroup/tests/test.html +0 -154
  392. package/attr/href/tests/minimal.html +0 -17
  393. package/attr/href/tests/test.html +0 -70
  394. package/attr/intersect/tests/minimal.html +0 -30
  395. package/attr/intersect/tests/test.html +0 -64
  396. package/attr/navigable/tests/U1TargetObserver.html +0 -56
  397. package/attr/navigable/tests/minimal.html +0 -17
  398. package/attr/navigable/tests/targetObserver.html +0 -106
  399. package/attr/navigable/tests/test.html +0 -84
  400. package/attr/parallax/tests/minimal.html +0 -25
  401. package/attr/parallax/tests/performance.html +0 -102
  402. package/attr/parallax/tests/test.html +0 -108
  403. package/attr/skin/tests/minimal.html +0 -34
  404. package/attr/skin/tests/test.html +0 -96
  405. package/class/badge/tests/minimal.html +0 -17
  406. package/class/badge/tests/test.html +0 -112
  407. package/class/card1/README.md +0 -45
  408. package/class/card1/card1.css +0 -30
  409. package/class/card1/tests/minimal.html +0 -33
  410. package/class/card1/tests/test.html +0 -78
  411. package/class/flex/tests/minimal.html +0 -31
  412. package/class/flex/tests/test.html +0 -58
  413. package/class/grid/tests/minimal.html +0 -34
  414. package/class/grid/tests/test.html +0 -78
  415. package/class/input/README.md +0 -49
  416. package/class/input/input.css +0 -33
  417. package/class/input/tests/minimal.html +0 -39
  418. package/class/input/tests/test.html +0 -29
  419. package/class/reset/tests/minimal.html +0 -23
  420. package/class/table/tests/minimal.html +0 -40
  421. package/class/table/tests/test.html +0 -226
  422. package/class/unstyle/tests/minimal.html +0 -22
  423. package/class/unstyle/tests/test.html +0 -32
  424. package/class/width/tests/minimal.html +0 -27
  425. package/class/width/tests/test.html +0 -101
  426. package/css/base/tests/nomotion.html +0 -89
  427. package/css/base/tests/test.html +0 -539
  428. package/css/classes/tests/test.html +0 -63
  429. package/css/classless/snippeds/experiments/conventions.css +0 -41
  430. package/css/classless/tests/aria.html +0 -101
  431. package/css/classless/tests/foreign/classless-almond.css.html +0 -445
  432. package/css/classless/tests/foreign/classless-classless.css.html +0 -831
  433. package/css/classless/tests/foreign/classless-mvp.html +0 -415
  434. package/css/classless/tests/foreign/classless.sakura.html +0 -224
  435. package/css/classless/tests/foreign/stylestage.dev.html +0 -304
  436. package/css/classless/tests/foreign/test-homogenizer.html +0 -433
  437. package/css/classless/tests/foreign/test-html5-elements-tester.html +0 -956
  438. package/css/classless/tests/foreign/test-opinionated_css.html +0 -148
  439. package/css/classless/tests/list-bullet.html +0 -110
  440. package/css/classless/tests/more.html +0 -246
  441. package/css/classless/tests/oklch.experiments.html +0 -280
  442. package/css/classless/tests/test.html +0 -106
  443. package/css/classless/tests/variables.html +0 -109
  444. package/css/norm/tests/test.html +0 -434
  445. package/css/norm/tests/test.js +0 -103
  446. package/el/accordion/tests/minimal.html +0 -44
  447. package/el/accordion/tests/test.html +0 -168
  448. package/el/alert/alert copy.js +0 -224
  449. package/el/alert/tests/minimal.html +0 -36
  450. package/el/alert/tests/test.html +0 -105
  451. package/el/buttongroup/tests/minimal.html +0 -31
  452. package/el/buttongroup/tests/test.html +0 -83
  453. package/el/bytes/tests/minimal.html +0 -19
  454. package/el/bytes/tests/test.html +0 -117
  455. package/el/carousel/tests/experiments.html +0 -77
  456. package/el/carousel/tests/minimal.html +0 -31
  457. package/el/carousel/tests/nested.html +0 -54
  458. package/el/carousel/tests/test.html +0 -136
  459. package/el/carousel-nav/tests/minimal.html +0 -32
  460. package/el/carousel-nav/tests/test.html +0 -59
  461. package/el/code/tests/minimal.html +0 -35
  462. package/el/code/tests/test.html +0 -162
  463. package/el/copy/tests/minimal.html +0 -21
  464. package/el/copy/tests/test.html +0 -75
  465. package/el/counter/tests/minimal.html +0 -27
  466. package/el/counter/tests/test.html +0 -106
  467. package/el/ico/tests/combinations.html +0 -86
  468. package/el/ico/tests/emojis.html +0 -213
  469. package/el/ico/tests/fonts.html +0 -110
  470. package/el/ico/tests/ico-directory.html +0 -254
  471. package/el/ico/tests/minimal.html +0 -46
  472. package/el/ico/tests/test.html +0 -210
  473. package/el/ico/tests/util-multi.svg +0 -6
  474. package/el/ico/tests/util.css +0 -2
  475. package/el/ico/tests/util.js +0 -110
  476. package/el/input/tests/formParticipation.html +0 -113
  477. package/el/input/tests/minimal.html +0 -33
  478. package/el/input/tests/test.html +0 -258
  479. package/el/masonry/tests/minimal.html +0 -39
  480. package/el/masonry/tests/test.html +0 -42
  481. package/el/number/tests/minimal.html +0 -25
  482. package/el/number/tests/test.html +0 -138
  483. package/el/out/tests/minimal.html +0 -25
  484. package/el/out/tests/test.html +0 -37
  485. package/el/parallax-bg/tests/bg.jpg +0 -0
  486. package/el/parallax-bg/tests/bg1.jpg +0 -0
  487. package/el/parallax-bg/tests/bg2.jpg +0 -0
  488. package/el/parallax-bg/tests/demo.html +0 -88
  489. package/el/parallax-bg/tests/minimal.html +0 -30
  490. package/el/parallax-bg/tests/test.html +0 -64
  491. package/el/parallax-bg/tests/visible.html +0 -90
  492. package/el/qrcode/tests/minimal.html +0 -26
  493. package/el/qrcode/tests/test.html +0 -31
  494. package/el/rating/tests/minimal.html +0 -26
  495. package/el/rating/tests/tests.html +0 -77
  496. package/el/rte/tests/minimal.html +0 -25
  497. package/el/rte/tests/test.html +0 -37
  498. package/el/skeleton/tests/minimal.html +0 -22
  499. package/el/skeleton/tests/test.html +0 -22
  500. package/el/splitbutton/README.md +0 -39
  501. package/el/splitbutton/splitbutton.js +0 -26
  502. package/el/splitbutton/tests/minimal.html +0 -30
  503. package/el/splitbutton/tests/test.html +0 -68
  504. package/el/splitpanel/tests/minimal.html +0 -31
  505. package/el/splitpanel/tests/tests.html +0 -121
  506. package/el/table/tests/minimal.html +0 -38
  507. package/el/table/tests/test.html +0 -108
  508. package/el/tabs/tests/minimal.html +0 -35
  509. package/el/tabs/tests/test.html +0 -180
  510. package/el/textfit/tests/minimal.html +0 -25
  511. package/el/textfit/tests/test.html +0 -26
  512. package/el/time/tests/minimal.html +0 -19
  513. package/el/time/tests/test.html +0 -160
  514. package/el/time/time copy.js +0 -141
  515. package/el/time/time.old.uhtml.js +0 -129
  516. package/el/tooltip/tests/minimal.html +0 -25
  517. package/el/tooltip/tests/test.html +0 -178
  518. package/el/tree1/README.md +0 -111
  519. package/el/tree1/manifest.json +0 -78
  520. package/el/tree1/tests/animated.html +0 -134
  521. package/el/tree1/tests/custom.html +0 -51
  522. package/el/tree1/tests/minimal.html +0 -44
  523. package/el/tree1/tests/test.html +0 -260
  524. package/el/tree1/tree1.css +0 -26
  525. package/el/tree1/tree1.js +0 -265
  526. package/el/typewriter/tests/minimal.html +0 -25
  527. package/el/typewriter/tests/test.html +0 -78
  528. package/js/Placer/tests/minimal.html +0 -34
  529. package/js/Placer/tests/test.html +0 -49
  530. package/js/PointerObserver/tests/minimal.html +0 -29
  531. package/js/PointerObserver/tests/test.html +0 -35
  532. package/js/SelectorObserver/tests/minimal.html +0 -21
  533. package/js/SelectorObserver/tests/test.html +0 -57
  534. package/js/SelectorObserver/tests/tests.html +0 -161
  535. package/js/contextmenu/tests/minimal.html +0 -44
  536. package/js/contextmenu/tests/test.html +0 -131
  537. package/js/dialog/tests/minimal.html +0 -29
  538. package/js/dialog/tests/notification.mp3 +0 -0
  539. package/js/dialog/tests/test.html +0 -135
  540. package/js/rte/tests/ai.html +0 -81
  541. package/js/rte/tests/behavior.html +0 -88
  542. package/js/rte/tests/events.html +0 -69
  543. package/js/rte/tests/fixes.html +0 -95
  544. package/js/rte/tests/minimal.html +0 -34
  545. package/js/rte/tests/notes.md +0 -6
  546. package/js/rte/tests/range.html +0 -167
  547. package/js/rte/tests/selection-explorer.html +0 -222
  548. package/js/rte/tests/test.html +0 -92
  549. package/js/shortcut/tests/minimal.html +0 -23
  550. package/js/shortcut/tests/test.html +0 -68
  551. package/u2/experiments/Waiter/test.html +0 -132
  552. package/u2/experiments/getElementByIdPromise/test.html +0 -76
  553. package/u2/experiments/patchInputValue.html +0 -124
  554. package/u2/experiments/radiobutton/test.html +0 -75
  555. package/u2/experiments/tests/test.html +0 -223
  556. package/u2/experiments/u1-responsive/responsive.js +0 -62
  557. package/u2/experiments/u1-responsive/test.html +0 -65
  558. package/u2/experiments/u2Element.js +0 -139
  559. package/u2/experiments/u2Element.test.html +0 -47
  560. package/u2/old-stuff/IterableWeakMap/mod.js +0 -70
  561. package/u2/old-stuff/css/onStyleSheet/mod.js +0 -114
  562. package/u2/old-stuff/css/onStyleSheet/monkeypatches.js +0 -28
  563. package/u2/old-stuff/css/onStyleSheet/test/include.css +0 -19
  564. package/u2/old-stuff/css/onStyleSheet/test/style-has-include.css +0 -6
  565. package/u2/old-stuff/css/onStyleSheet/test/style-no-include.css +0 -3
  566. package/u2/old-stuff/css/onStyleSheet/test/test.html +0 -48
  567. package/u2/old-stuff/css/parser/mod.js +0 -182
  568. package/u2/old-stuff/css/parser/parser_old/mod.js +0 -128
  569. package/u2/old-stuff/css/parser/parser_old/test.html +0 -43
  570. package/u2/old-stuff/css/parser/parser_old/util.js +0 -22
  571. package/u2/old-stuff/css/parser/style.html +0 -52
  572. package/u2/old-stuff/css/parser/test.html +0 -38
  573. package/u2/old-stuff/el/ai-texter/README.md +0 -23
  574. package/u2/old-stuff/el/ai-texter/ai-texter.css +0 -12
  575. package/u2/old-stuff/el/ai-texter/ai-texter.js +0 -153
  576. package/u2/old-stuff/el/ai-texter/tests/minimal.html +0 -47
  577. package/u2/old-stuff/el/ai-texter/tests/test.html +0 -71
  578. package/u2/old-stuff/init.js +0 -38
  579. package/u2/old-stuff/markHashLinks.js +0 -51
  580. package/u2/old-stuff/onElement/mod.js +0 -73
  581. package/u2/old-stuff/test-helpers/mod.js +0 -36
  582. package/u2/old-stuff/test-helpers/test.html +0 -4
  583. package/u2/old-stuff/tests/init.js.html +0 -51
  584. package/u2/old-stuff/viewport.js +0 -64
  585. package/u2/tests/boilerplate.html +0 -46
  586. package/u2/tests/kacheln.html +0 -245
  587. package/u2/tests/showcase.html +0 -270
  588. package/u2/tests/showcase2.html +0 -157
  589. package/u2/tests/test-init.js +0 -35
  590. package/u2/tests/test.html +0 -355
  591. package/u2/tools/logo/u1ui.svg +0 -6
@@ -0,0 +1,284 @@
1
+ <!DOCTYPE html>
2
+ <html lang=en>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>U2-Themes Tester</title>
6
+ <meta name="viewport" content="width=device-width">
7
+
8
+ <script src="../../u2/u2/tests/test-init.js" type=module async></script>
9
+ <script src="../../u2/u2/auto.js" type=module async></script>
10
+ <link href="../css/classless/full.css" rel=stylesheet>
11
+ <link href="../css/classless/simple.css" rel=stylesheet>
12
+
13
+ <body>
14
+
15
+ <header class=u2-width>
16
+ <h1>U2-Themes Demo</h1>
17
+ <u2-toc></u2-toc>
18
+ </header>
19
+
20
+ <main>
21
+ <u2-system> </u2-system>
22
+ <section class="u2-width">
23
+ <h2>Classless</h2>
24
+ <p>In this section you can see the classless part of the U2-Themes. Its just the HTML styled with the U2-Themes.</p>
25
+ <h3>Inline-Elements</h3>
26
+ <p>
27
+ Here you can view the typography and text level semantic elements.
28
+ The <a href="#">a element</a> example.
29
+ The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples.
30
+ The <b>b element</b> example.
31
+ The <cite>cite element</cite> example.
32
+ The <code>code element</code> example.
33
+ The <del>del element</del> example.
34
+ The <dfn>dfn element</dfn> and <dfn title="Title text">dfn element with title</dfn> examples.
35
+ The <em>em element</em> example.
36
+ The <i>i element</i> example.
37
+ The <ins>ins element</ins> example.
38
+ The <kbd>kbd element</kbd> example.
39
+ The <mark>mark element</mark> example.
40
+ The <q>q element <q>inside</q> a q element</q> example.
41
+ </p>
42
+ <p>
43
+ A second paragraph to see the distance between the elements.
44
+ The <s>s element</s> example.
45
+ The <samp>samp element</samp> example.
46
+ The <small>small element</small> example.
47
+ The <span>span element</span> example.
48
+ The <strong>strong element</strong> example.
49
+ The <sub>sub element</sub> example.
50
+ The <sup>sup element</sup> example.
51
+ The <u>u element</u> example.
52
+ The <var>var element</var> example.
53
+ Now that we have seen the different elements, a second paragraph follows to see the distance between them.
54
+ </p>
55
+
56
+ <h3>Form Elements</h3>
57
+ <form>
58
+ <fieldset class="u2-flex" style="align-items:baseline">
59
+ <legend>Fieldset Title</legend>
60
+ <label>
61
+ Label
62
+ <input placeholder="Text Input" type="text">
63
+ </label>
64
+ <label>
65
+ Checkbox
66
+ <input type="checkbox">
67
+ </label>
68
+ <label>
69
+ Radio
70
+ <input type="radio">
71
+ </label>
72
+ <label>
73
+ Select
74
+ <select>
75
+ <option>Option One</option>
76
+ <option>Option Two</option>
77
+ <option>Option Three</option>
78
+ </select>
79
+ </label>
80
+ <label>
81
+ Textarea
82
+ <textarea placeholder="Enter your message here"></textarea>
83
+ </label>
84
+ <label>
85
+ Range Input
86
+ <input type="range" min="0" max="100">
87
+ </label>
88
+ <button>Button</button>
89
+ <button disabled>Disabled</button>
90
+ </fieldset>
91
+ </form>
92
+
93
+
94
+ <h3>Block-Elements</h3>
95
+
96
+ <h4>Details and Summary</h4>
97
+ <details>
98
+ <summary>Details and Summary</summary>
99
+ <p>Here is some more information.</p>
100
+ </details>
101
+
102
+ <h4>Table</h4>
103
+ <table class="u2-table">
104
+ <thead>
105
+ <tr>
106
+ <th>Product
107
+ <th>Price
108
+ <th>Status
109
+ <tbody>
110
+ <tr>
111
+ <td>Apple
112
+ <td>1.20 CHF
113
+ <td>In Stock
114
+ <tr>
115
+ <td>Bread
116
+ <td>2.80 CHF
117
+ <td>Low Stock
118
+ <tr>
119
+ <td>Cheese
120
+ <td>4.50 CHF
121
+ <td>Out of Stock
122
+ </table>
123
+
124
+ <article>
125
+ <h4>Article Title</h4>
126
+ <p>Article content goes here.</p>
127
+ </article>
128
+
129
+ <blockquote>
130
+ When you have eliminated the impossible, whatever remains, however improbable, must be the truth.
131
+ <footer>Sherlock Holmes</footer>
132
+ </blockquote>
133
+
134
+ <dl>
135
+ <dt>Definition List
136
+ <dd>Definition List content goes here.
137
+ <dt>Item 2
138
+ <dd>Definition List content goes here.
139
+ </dl>
140
+
141
+ <figure>
142
+ <figcaption>Figure Title</figcaption>
143
+ <p>Figure content goes here.</p>
144
+ </figure>
145
+
146
+ <pre><code>pre and code foobar() {
147
+ print &quot;Welcome to flavor country!&quot;;
148
+ }</code></pre>
149
+
150
+ <progress value="70" max="100">70%</progress>
151
+ <meter value="2" min="0" max="10">2 out of 10</meter>
152
+
153
+
154
+ <p>A nested list:</p>
155
+ <ol>
156
+ <li>
157
+ <p>First, get these ingredients:</p>
158
+ <ul>
159
+ <li>carrots
160
+ <li>celery
161
+ <li>lentils
162
+ </ul>
163
+ <li>
164
+ <p>Boil some water.</p>
165
+ <li>
166
+ <p>Dump everything in the pot and follow this algorithm:</p>
167
+ <p>Do not bump wooden spoon or it will fall.</p>
168
+ </ol>
169
+
170
+ <pre><code>find wooden spoon
171
+ uncover pot
172
+ stir
173
+ cover pot
174
+ balance wooden spoon precariously on pot handle
175
+ wait 10 minutes
176
+ goto first step (or shut off burner when done)</code></pre>
177
+
178
+ <table>
179
+ <caption>Table: Data on shoe sizes, materials, and colors</caption>
180
+ <thead>
181
+ <tr>
182
+ <th>Size
183
+ <th>Material
184
+ <th>Color
185
+ <tbody>
186
+ <tr>
187
+ <td>9
188
+ <td>leather
189
+ <td>brown
190
+ <tr>
191
+ <td>10
192
+ <td>hemp canvas
193
+ <td>natural
194
+ <tr>
195
+ <td>11
196
+ <td>glass
197
+ <td>transparent
198
+ </table>
199
+
200
+ <button onclick="dialog1.showModal()">Open Dialog</button>
201
+ <dialog id="dialog1">
202
+ <form method=dialog>
203
+ <h2>Dialog title goes here.</h2>
204
+ <p>Dialog text goes here.</p>
205
+ <button>Close</button>
206
+ </form>
207
+ </dialog>
208
+
209
+ </section>
210
+
211
+ <section style="padding-block:2rem; margin-block:2rem" class="u2-width" u2-skin="invert">
212
+ <h3>U2 Elements</h3>
213
+ <p>The U2 Pattern Library is a collection of reusable components and patterns for modern web development. It is designed to be a starting point for building web applications and even other Design Systems.</p>
214
+ </section>
215
+
216
+ <section class="u2-width">
217
+
218
+ <h4>Tabs</h4>
219
+
220
+ <u2-tabs>
221
+ <h4>First Tab</h4>
222
+ <p>Content of the first tab</p>
223
+ <h4>Second Tab</h4>
224
+ <p>Content of the second tab</p>
225
+ </u2-tabs>
226
+
227
+ <h4>Alert</h4>
228
+
229
+ <u2-alert open variant="error" dismissable>
230
+ <h4>Alert title goes here.</h4>
231
+ <p>Alert text goes here.</p>
232
+ </u2-alert>
233
+
234
+ <u2-alert open variant="success" dismissable>
235
+ <p>Alert text goes here.</p>
236
+ </u2-alert>
237
+
238
+ <br><br>
239
+
240
+ <h4>Accordion</h4>
241
+ <u2-accordion>
242
+ <h4>Accordion</h4>
243
+ <h5>Here you can put any content you want.</h5>
244
+ <p>After the hightest Headinglevel, you can put any content you want, it will be the content of the accordion.</p>
245
+
246
+ <h4>Component</h4>
247
+ <h5>More content</h5>
248
+ <p>After the hightest Headinglevel, you can put any content you want, it will be the content of the accordion.</p>
249
+
250
+ <h4>Another Part</h4>
251
+ <h5>More content</h5>
252
+ <p>After the hightest Headinglevel, you can put any content you want, it will be the content of the accordion.</p>
253
+ </u2-accordion>
254
+
255
+
256
+ <h4>Button Group</h4>
257
+
258
+ <u2-buttongroup gap>
259
+ <button>Button</button>
260
+ <button>Group</button>
261
+ <button>Button 3</button>
262
+ <button>Button 4</button>
263
+ <button>Button 5</button>
264
+ </u2-buttongroup>
265
+
266
+ <br><br>
267
+
268
+ <hr>
269
+
270
+ <div u2-skin="invert" style="padding:2rem">
271
+ <h3>Inverts dark and light colors</h3>
272
+ <p>Here you can see the invert skin in action.</p>
273
+ <button>Button</button>
274
+ </div>
275
+
276
+ </section>
277
+
278
+
279
+ </main>
280
+ <footer>
281
+ <p>Footer text goes here.</p>
282
+ </footer>
283
+
284
+
@@ -0,0 +1,10 @@
1
+ ## About
2
+
3
+ - MIT License, Copyright (c) 2022 <u2> (like all repositories in this organization) <br>
4
+ - Suggestions, ideas, finding bugs and making pull requests make us very happy. ♥
5
+
6
+ ## About
7
+
8
+ - MIT License, Copyright (c) 2022 <u2> (like all repositories in this organization) <br>
9
+ - Suggestions, ideas, finding bugs and making pull requests make us very happy. ♥
10
+
@@ -0,0 +1,323 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
2
+
3
+ html {
4
+ --color: #207acc;
5
+ --accent: #ff6b35;
6
+ --color-space: oklch;
7
+ --hue-shift: 0;
8
+
9
+ --width: 50rem;
10
+ --gap: 1rem;
11
+ --line-width: 1px;
12
+ --radius: .5rem;
13
+ --shadow-x: 0rem;
14
+ --shadow-y: .25rem;
15
+
16
+ --control-padding-x: .75em;
17
+ --control-padding-y: .5em;
18
+ --control-border-width: var(--line-width);
19
+ --control-radius: var(--radius);
20
+
21
+ --font-1: 'Inter', system-ui, sans-serif;
22
+ --font-2: 'JetBrains Mono', monospace;
23
+ --font-1-variation: "wdth" var(--font-1-wdth, 100), "opsz" var(--font-1-opsz, 14), "GRAD" var(--font-1-grad, 0), "MONO" var(--font-1-mono, 0), "CASL" var(--font-1-casl, 0);
24
+ --font-2-variation: "wdth" var(--font-2-wdth, 100), "opsz" var(--font-2-opsz, 14), "GRAD" var(--font-2-grad, 0), "MONO" var(--font-2-mono, 0), "CASL" var(--font-2-casl, 0);
25
+ }
26
+
27
+ :focus-visible {
28
+ outline: .12rem solid var(--color);
29
+ outline-offset: .18rem;
30
+ transition: outline-width .15s ease;
31
+
32
+ &:active {
33
+ outline-width: .3rem;
34
+ }
35
+ }
36
+
37
+ input, textarea, select, button, .btn {
38
+ box-shadow: var(--shadow);
39
+ transition: box-shadow .2s ease, transform .15s ease;
40
+
41
+ &:hover {
42
+ box-shadow: var(--shadow-l);
43
+ }
44
+
45
+ &:active {
46
+ transform: translateY(1px);
47
+ box-shadow: var(--shadow-s);
48
+ }
49
+ }
50
+
51
+ button, .btn {
52
+ background-color: var(--color);
53
+ color: var(--color-bg);
54
+ padding-inline: var(--gap);
55
+ font-weight: 500;
56
+ cursor: pointer;
57
+ border: none;
58
+
59
+ &:hover {
60
+ background-color: var(--color-dark);
61
+ }
62
+
63
+ &:focus {
64
+ background-color: var(--color-dark);
65
+ outline-color: var(--color);
66
+ }
67
+
68
+ &:active {
69
+ background-color: var(--color-darker);
70
+ }
71
+
72
+ &:disabled {
73
+ background-color: var(--gray);
74
+ cursor: not-allowed;
75
+ opacity: .6;
76
+ }
77
+ }
78
+
79
+ dialog {
80
+ border: var(--line-width) solid var(--color-line);
81
+ border-radius: var(--radius);
82
+ box-shadow: var(--shadow-l);
83
+ padding: calc(var(--gap) * 1.5);
84
+ max-width: min(90vw, var(--width));
85
+
86
+ &::backdrop {
87
+ background-color: color-mix(in srgb, var(--color-text), transparent 60%);
88
+ backdrop-filter: blur(4px);
89
+ }
90
+ }
91
+
92
+ u2-alert {
93
+ background-color: var(--color-lightest);
94
+ color: var(--color-darkest);
95
+ border: var(--line-width) solid var(--color);
96
+ border-left-width: calc(var(--line-width) * 4);
97
+ padding: var(--gap);
98
+ border-radius: var(--radius);
99
+
100
+ &::part(icon) {
101
+ align-self: start;
102
+ color: var(--color);
103
+ }
104
+
105
+ &[type="warning"] {
106
+ background-color: color-mix(in srgb, var(--orange), #fff 90%);
107
+ border-color: var(--orange);
108
+ color: color-mix(in srgb, var(--orange), #000 70%);
109
+
110
+ &::part(icon) {
111
+ color: var(--orange);
112
+ }
113
+ }
114
+
115
+ &[type="error"] {
116
+ background-color: color-mix(in srgb, var(--red), #fff 90%);
117
+ border-color: var(--red);
118
+ color: color-mix(in srgb, var(--red), #000 70%);
119
+
120
+ &::part(icon) {
121
+ color: var(--red);
122
+ }
123
+ }
124
+
125
+ &[type="success"] {
126
+ background-color: color-mix(in srgb, var(--green), #fff 90%);
127
+ border-color: var(--green);
128
+ color: color-mix(in srgb, var(--green), #000 70%);
129
+
130
+ &::part(icon) {
131
+ color: var(--green);
132
+ }
133
+ }
134
+ }
135
+
136
+ u2-accordion {
137
+ gap: calc(var(--gap) * .5);
138
+
139
+ &::part(trigger) {
140
+ background-color: var(--color-area);
141
+ border: var(--line-width) solid var(--color-line);
142
+ padding: var(--control-padding-y) var(--control-padding-x);
143
+ border-radius: var(--radius);
144
+ cursor: pointer;
145
+ font-weight: 500;
146
+ transition: background-color .2s ease, border-color .2s ease;
147
+ }
148
+
149
+ &::part(trigger):hover {
150
+ background-color: var(--color-lighter);
151
+ border-color: var(--color);
152
+ }
153
+
154
+ &::part(trigger):focus,
155
+ &::part(trigger):active {
156
+ background-color: var(--color-lighter);
157
+ border-color: var(--color);
158
+ }
159
+
160
+ &::part(trigger)[aria-expanded="true"] {
161
+ background-color: var(--color);
162
+ color: var(--color-bg);
163
+ border-color: var(--color-dark);
164
+ }
165
+
166
+ &::part(content) {
167
+ padding: var(--gap);
168
+ border: var(--line-width) solid var(--color-line);
169
+ border-top: none;
170
+ border-radius: 0 0 var(--radius) var(--radius);
171
+ }
172
+ }
173
+
174
+ table.u2-table {
175
+ border-collapse: collapse;
176
+ width: 100%;
177
+
178
+ & > thead {
179
+ border-bottom: calc(var(--line-width) * 2) solid var(--color);
180
+ }
181
+
182
+ & > tbody {
183
+ & tr:hover {
184
+ background-color: var(--color-lightest);
185
+ }
186
+ }
187
+
188
+ & > tfoot {
189
+ border-top: calc(var(--line-width) * 2) solid var(--color-line);
190
+ font-weight: 600;
191
+ }
192
+
193
+ & > * td {
194
+ padding: calc(var(--gap) * .5) var(--gap);
195
+ border-bottom: var(--line-width) solid var(--color-line);
196
+ }
197
+
198
+ & > * th {
199
+ padding: calc(var(--gap) * .75) var(--gap);
200
+ text-align: left;
201
+ font-weight: 600;
202
+ color: var(--color-darker);
203
+ }
204
+ }
205
+
206
+ .u2-card {
207
+ border: var(--line-width) solid var(--color-line);
208
+ border-radius: var(--radius);
209
+ background-color: var(--color-bg);
210
+ box-shadow: var(--shadow);
211
+ overflow: hidden;
212
+
213
+ & > * {
214
+ padding: var(--gap);
215
+ }
216
+
217
+ & > header {
218
+ background-color: var(--color-area);
219
+ font-weight: 600;
220
+ border-bottom: var(--line-width) solid var(--color-line);
221
+ }
222
+
223
+ & > footer {
224
+ background-color: var(--color-area);
225
+ border-top: var(--line-width) solid var(--color-line);
226
+ }
227
+ }
228
+
229
+ /* ============================================
230
+ OPINIONATED STYLES
231
+ Feel free to review, modify, or remove these
232
+ ============================================ */
233
+
234
+ /* Smooth scrolling for better UX */
235
+ html {
236
+ scroll-behavior: smooth;
237
+ }
238
+
239
+ /* Better text rendering */
240
+ body {
241
+ -webkit-font-smoothing: antialiased;
242
+ -moz-osx-font-smoothing: grayscale;
243
+ text-rendering: optimizeLegibility;
244
+ }
245
+
246
+ /* Code blocks and inline code styling */
247
+ code, pre, kbd, samp {
248
+ font-family: var(--font-2);
249
+ font-size: .9em;
250
+ }
251
+
252
+ code {
253
+ background-color: var(--color-area);
254
+ padding: .2em .4em;
255
+ border-radius: calc(var(--radius) * .5);
256
+ }
257
+
258
+ pre code {
259
+ background-color: transparent;
260
+ padding: 0;
261
+ }
262
+
263
+ /* Link styling - opinionated underline behavior */
264
+ a {
265
+ color: var(--color);
266
+ text-decoration-thickness: .1em;
267
+ text-underline-offset: .15em;
268
+ transition: color .2s ease, text-decoration-color .2s ease;
269
+
270
+ &:hover {
271
+ color: var(--color-dark);
272
+ text-decoration-thickness: .15em;
273
+ }
274
+
275
+ &:active {
276
+ color: var(--color-darker);
277
+ }
278
+ }
279
+
280
+ /* Subtle hover effect on interactive elements */
281
+ button, .btn, select, input[type="checkbox"], input[type="radio"] {
282
+ &:hover:not(:disabled) {
283
+ transform: translateY(-1px);
284
+ }
285
+ }
286
+
287
+ /* Selection styling */
288
+ ::selection {
289
+ background-color: var(--color-light);
290
+ color: var(--color-bg);
291
+ }
292
+
293
+ /* Fancy focus rings for keyboard navigation */
294
+ @media (prefers-reduced-motion: no-preference) {
295
+ :focus-visible {
296
+ animation: focus-pulse .3s ease-out;
297
+ }
298
+
299
+ @keyframes focus-pulse {
300
+ 0% { outline-width: .3rem; opacity: .7; }
301
+ 100% { outline-width: .12rem; opacity: 1; }
302
+ }
303
+ }
304
+
305
+ /* Dark mode adjustments - subtle shadow tweaks */
306
+ @media (prefers-color-scheme: dark) {
307
+ html {
308
+ --shadow-blur: calc(var(--gap) * 1.5);
309
+ }
310
+ }
311
+
312
+ /* Reduced motion respect */
313
+ @media (prefers-reduced-motion: reduce) {
314
+ *, *::before, *::after {
315
+ animation-duration: .01ms !important;
316
+ animation-iteration-count: 1 !important;
317
+ transition-duration: .01ms !important;
318
+ }
319
+
320
+ html {
321
+ scroll-behavior: auto;
322
+ }
323
+ }