@oneonefour/rkui 0.0.0-stage → 0.0.3

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 (1068) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -2
  3. package/THIRD_PARTY_NOTICES.md +60 -0
  4. package/astro/index.d.ts +14 -0
  5. package/astro/index.js +153 -0
  6. package/dist/colors.d.ts +74 -0
  7. package/dist/colors.js +263 -0
  8. package/dist/fonts/jetbrains-mono/OFL.txt +93 -0
  9. package/dist/fonts/jetbrains-mono/jetbrains-mono-greek.woff2 +0 -0
  10. package/dist/fonts/jetbrains-mono/jetbrains-mono-italic-greek.woff2 +0 -0
  11. package/dist/fonts/jetbrains-mono/jetbrains-mono-italic-latin.woff2 +0 -0
  12. package/dist/fonts/jetbrains-mono/jetbrains-mono-italic-symbols.woff2 +0 -0
  13. package/dist/fonts/jetbrains-mono/jetbrains-mono-latin.woff2 +0 -0
  14. package/dist/fonts/jetbrains-mono/jetbrains-mono-symbols.woff2 +0 -0
  15. package/dist/fonts/roboto-slab/LICENSE.txt +202 -0
  16. package/dist/fonts/roboto-slab/roboto-slab-greek.woff2 +0 -0
  17. package/dist/fonts/roboto-slab/roboto-slab-latin.woff2 +0 -0
  18. package/dist/fonts/roboto-slab/roboto-slab-symbols.woff2 +0 -0
  19. package/dist/fonts/xmind/OFL.txt +93 -0
  20. package/dist/fonts/xmind/xmind-greek.woff2 +0 -0
  21. package/dist/fonts/xmind/xmind-italic-greek.woff2 +0 -0
  22. package/dist/fonts/xmind/xmind-italic-latin.woff2 +0 -0
  23. package/dist/fonts/xmind/xmind-italic-symbols.woff2 +0 -0
  24. package/dist/fonts/xmind/xmind-latin.woff2 +0 -0
  25. package/dist/fonts/xmind/xmind-symbols.woff2 +0 -0
  26. package/dist/icons/LICENSE-phosphor.txt +21 -0
  27. package/dist/icons/LICENSE-tabler.txt +21 -0
  28. package/dist/icons/acorn.svg +1 -0
  29. package/dist/icons/acorn.vue +1 -0
  30. package/dist/icons/air-traffic-control.svg +1 -0
  31. package/dist/icons/air-traffic-control.vue +1 -0
  32. package/dist/icons/airplane-in-flight.svg +1 -0
  33. package/dist/icons/airplane-in-flight.vue +1 -0
  34. package/dist/icons/airplane-landing.svg +1 -0
  35. package/dist/icons/airplane-landing.vue +1 -0
  36. package/dist/icons/airplane-takeoff.svg +1 -0
  37. package/dist/icons/airplane-takeoff.vue +1 -0
  38. package/dist/icons/airplane-taxiing.svg +1 -0
  39. package/dist/icons/airplane-taxiing.vue +1 -0
  40. package/dist/icons/airplane-tilt.svg +1 -0
  41. package/dist/icons/airplane-tilt.vue +1 -0
  42. package/dist/icons/airplane.svg +1 -0
  43. package/dist/icons/airplane.vue +1 -0
  44. package/dist/icons/ambulance.svg +1 -0
  45. package/dist/icons/ambulance.vue +1 -0
  46. package/dist/icons/anchor-simple.svg +1 -0
  47. package/dist/icons/anchor-simple.vue +1 -0
  48. package/dist/icons/anchor.svg +1 -0
  49. package/dist/icons/anchor.vue +1 -0
  50. package/dist/icons/angle.svg +1 -0
  51. package/dist/icons/angle.vue +1 -0
  52. package/dist/icons/aperture.svg +1 -0
  53. package/dist/icons/aperture.vue +1 -0
  54. package/dist/icons/app-window.svg +1 -0
  55. package/dist/icons/app-window.vue +1 -0
  56. package/dist/icons/approximate-equals.svg +1 -0
  57. package/dist/icons/approximate-equals.vue +1 -0
  58. package/dist/icons/arrow-counter-clockwise.svg +1 -0
  59. package/dist/icons/arrow-counter-clockwise.vue +1 -0
  60. package/dist/icons/arrow-left.svg +1 -0
  61. package/dist/icons/arrow-left.vue +1 -0
  62. package/dist/icons/arrow-right.svg +1 -0
  63. package/dist/icons/arrow-right.vue +1 -0
  64. package/dist/icons/arrow-square-out.svg +1 -0
  65. package/dist/icons/arrow-square-out.vue +1 -0
  66. package/dist/icons/arrow-up.svg +1 -0
  67. package/dist/icons/arrow-up.vue +1 -0
  68. package/dist/icons/arrows-out.svg +1 -0
  69. package/dist/icons/arrows-out.vue +1 -0
  70. package/dist/icons/atom.svg +1 -0
  71. package/dist/icons/atom.vue +1 -0
  72. package/dist/icons/bank.svg +1 -0
  73. package/dist/icons/bank.vue +1 -0
  74. package/dist/icons/barn.svg +1 -0
  75. package/dist/icons/barn.vue +1 -0
  76. package/dist/icons/barricade.svg +1 -0
  77. package/dist/icons/barricade.vue +1 -0
  78. package/dist/icons/battery-charging.svg +1 -0
  79. package/dist/icons/battery-charging.vue +1 -0
  80. package/dist/icons/bezier-curve.svg +1 -0
  81. package/dist/icons/bezier-curve.vue +1 -0
  82. package/dist/icons/bicycle.svg +1 -0
  83. package/dist/icons/bicycle.vue +1 -0
  84. package/dist/icons/binary.svg +1 -0
  85. package/dist/icons/binary.vue +1 -0
  86. package/dist/icons/binoculars.svg +1 -0
  87. package/dist/icons/binoculars.vue +1 -0
  88. package/dist/icons/biohazard.svg +1 -0
  89. package/dist/icons/biohazard.vue +1 -0
  90. package/dist/icons/bird.svg +1 -0
  91. package/dist/icons/bird.vue +1 -0
  92. package/dist/icons/blueprint.svg +1 -0
  93. package/dist/icons/blueprint.vue +1 -0
  94. package/dist/icons/boat.svg +1 -0
  95. package/dist/icons/boat.vue +1 -0
  96. package/dist/icons/book-open-text.svg +1 -0
  97. package/dist/icons/book-open-text.vue +1 -0
  98. package/dist/icons/bounding-box.svg +1 -0
  99. package/dist/icons/bounding-box.vue +1 -0
  100. package/dist/icons/brackets-angle.svg +1 -0
  101. package/dist/icons/brackets-angle.vue +1 -0
  102. package/dist/icons/brackets-curly.svg +1 -0
  103. package/dist/icons/brackets-curly.vue +1 -0
  104. package/dist/icons/brackets-round.svg +1 -0
  105. package/dist/icons/brackets-round.vue +1 -0
  106. package/dist/icons/brackets-square.svg +1 -0
  107. package/dist/icons/brackets-square.vue +1 -0
  108. package/dist/icons/brain.svg +1 -0
  109. package/dist/icons/brain.vue +1 -0
  110. package/dist/icons/bridge.svg +1 -0
  111. package/dist/icons/bridge.vue +1 -0
  112. package/dist/icons/briefcase.svg +1 -0
  113. package/dist/icons/briefcase.vue +1 -0
  114. package/dist/icons/browser.svg +1 -0
  115. package/dist/icons/browser.vue +1 -0
  116. package/dist/icons/bug-beetle.svg +1 -0
  117. package/dist/icons/bug-beetle.vue +1 -0
  118. package/dist/icons/bug.svg +1 -0
  119. package/dist/icons/bug.vue +1 -0
  120. package/dist/icons/building-apartment.svg +1 -0
  121. package/dist/icons/building-apartment.vue +1 -0
  122. package/dist/icons/building-office.svg +1 -0
  123. package/dist/icons/building-office.vue +1 -0
  124. package/dist/icons/building.svg +1 -0
  125. package/dist/icons/building.vue +1 -0
  126. package/dist/icons/buildings.svg +1 -0
  127. package/dist/icons/buildings.vue +1 -0
  128. package/dist/icons/bulldozer.svg +1 -0
  129. package/dist/icons/bulldozer.vue +1 -0
  130. package/dist/icons/bus.svg +1 -0
  131. package/dist/icons/bus.vue +1 -0
  132. package/dist/icons/butterfly.svg +1 -0
  133. package/dist/icons/butterfly.vue +1 -0
  134. package/dist/icons/cable-car.svg +1 -0
  135. package/dist/icons/cable-car.vue +1 -0
  136. package/dist/icons/cactus.svg +1 -0
  137. package/dist/icons/cactus.vue +1 -0
  138. package/dist/icons/calculator.svg +1 -0
  139. package/dist/icons/calculator.vue +1 -0
  140. package/dist/icons/calendar-blank.svg +1 -0
  141. package/dist/icons/calendar-blank.vue +1 -0
  142. package/dist/icons/camera.svg +1 -0
  143. package/dist/icons/camera.vue +1 -0
  144. package/dist/icons/campfire.svg +1 -0
  145. package/dist/icons/campfire.vue +1 -0
  146. package/dist/icons/car-battery.svg +1 -0
  147. package/dist/icons/car-battery.vue +1 -0
  148. package/dist/icons/car-profile.svg +1 -0
  149. package/dist/icons/car-profile.vue +1 -0
  150. package/dist/icons/car-simple.svg +1 -0
  151. package/dist/icons/car-simple.vue +1 -0
  152. package/dist/icons/car.svg +1 -0
  153. package/dist/icons/car.vue +1 -0
  154. package/dist/icons/caret-down.svg +1 -0
  155. package/dist/icons/caret-down.vue +1 -0
  156. package/dist/icons/caret-left.svg +1 -0
  157. package/dist/icons/caret-left.vue +1 -0
  158. package/dist/icons/caret-right.svg +1 -0
  159. package/dist/icons/caret-right.vue +1 -0
  160. package/dist/icons/caret-up.svg +1 -0
  161. package/dist/icons/caret-up.vue +1 -0
  162. package/dist/icons/cell-tower.svg +1 -0
  163. package/dist/icons/cell-tower.vue +1 -0
  164. package/dist/icons/chalkboard-teacher.svg +1 -0
  165. package/dist/icons/chalkboard-teacher.vue +1 -0
  166. package/dist/icons/charging-station.svg +1 -0
  167. package/dist/icons/charging-station.vue +1 -0
  168. package/dist/icons/chart-bar-horizontal.svg +1 -0
  169. package/dist/icons/chart-bar-horizontal.vue +1 -0
  170. package/dist/icons/chart-bar.svg +1 -0
  171. package/dist/icons/chart-bar.vue +1 -0
  172. package/dist/icons/chart-donut.svg +1 -0
  173. package/dist/icons/chart-donut.vue +1 -0
  174. package/dist/icons/chart-line-down.svg +1 -0
  175. package/dist/icons/chart-line-down.vue +1 -0
  176. package/dist/icons/chart-line-up.svg +1 -0
  177. package/dist/icons/chart-line-up.vue +1 -0
  178. package/dist/icons/chart-line.svg +1 -0
  179. package/dist/icons/chart-line.vue +1 -0
  180. package/dist/icons/chart-pie-slice.svg +1 -0
  181. package/dist/icons/chart-pie-slice.vue +1 -0
  182. package/dist/icons/chart-pie.svg +1 -0
  183. package/dist/icons/chart-pie.vue +1 -0
  184. package/dist/icons/chart-polar.svg +1 -0
  185. package/dist/icons/chart-polar.vue +1 -0
  186. package/dist/icons/chart-scatter.svg +1 -0
  187. package/dist/icons/chart-scatter.vue +1 -0
  188. package/dist/icons/check-circle.svg +1 -0
  189. package/dist/icons/check-circle.vue +1 -0
  190. package/dist/icons/check.svg +1 -0
  191. package/dist/icons/check.vue +1 -0
  192. package/dist/icons/circle-half.svg +1 -0
  193. package/dist/icons/circle-half.vue +1 -0
  194. package/dist/icons/circle-notch.svg +1 -0
  195. package/dist/icons/circle-notch.vue +1 -0
  196. package/dist/icons/circuitry.svg +1 -0
  197. package/dist/icons/circuitry.vue +1 -0
  198. package/dist/icons/city.svg +1 -0
  199. package/dist/icons/city.vue +1 -0
  200. package/dist/icons/clock.svg +1 -0
  201. package/dist/icons/clock.vue +1 -0
  202. package/dist/icons/closed-captioning.svg +1 -0
  203. package/dist/icons/closed-captioning.vue +1 -0
  204. package/dist/icons/cloud-arrow-down.svg +1 -0
  205. package/dist/icons/cloud-arrow-down.vue +1 -0
  206. package/dist/icons/cloud-arrow-up.svg +1 -0
  207. package/dist/icons/cloud-arrow-up.vue +1 -0
  208. package/dist/icons/cloud-check.svg +1 -0
  209. package/dist/icons/cloud-check.vue +1 -0
  210. package/dist/icons/cloud-fog.svg +1 -0
  211. package/dist/icons/cloud-fog.vue +1 -0
  212. package/dist/icons/cloud-lightning.svg +1 -0
  213. package/dist/icons/cloud-lightning.vue +1 -0
  214. package/dist/icons/cloud-moon.svg +1 -0
  215. package/dist/icons/cloud-moon.vue +1 -0
  216. package/dist/icons/cloud-rain.svg +1 -0
  217. package/dist/icons/cloud-rain.vue +1 -0
  218. package/dist/icons/cloud-slash.svg +1 -0
  219. package/dist/icons/cloud-slash.vue +1 -0
  220. package/dist/icons/cloud-snow.svg +1 -0
  221. package/dist/icons/cloud-snow.vue +1 -0
  222. package/dist/icons/cloud-sun.svg +1 -0
  223. package/dist/icons/cloud-sun.vue +1 -0
  224. package/dist/icons/cloud-warning.svg +1 -0
  225. package/dist/icons/cloud-warning.vue +1 -0
  226. package/dist/icons/cloud-x.svg +1 -0
  227. package/dist/icons/cloud-x.vue +1 -0
  228. package/dist/icons/cloud.svg +1 -0
  229. package/dist/icons/cloud.vue +1 -0
  230. package/dist/icons/clover.svg +1 -0
  231. package/dist/icons/clover.vue +1 -0
  232. package/dist/icons/code-block.svg +1 -0
  233. package/dist/icons/code-block.vue +1 -0
  234. package/dist/icons/code-simple.svg +1 -0
  235. package/dist/icons/code-simple.vue +1 -0
  236. package/dist/icons/code.svg +1 -0
  237. package/dist/icons/code.vue +1 -0
  238. package/dist/icons/columns.svg +1 -0
  239. package/dist/icons/columns.vue +1 -0
  240. package/dist/icons/command.svg +1 -0
  241. package/dist/icons/command.vue +1 -0
  242. package/dist/icons/compass-rose.svg +1 -0
  243. package/dist/icons/compass-rose.vue +1 -0
  244. package/dist/icons/compass-tool.svg +1 -0
  245. package/dist/icons/compass-tool.vue +1 -0
  246. package/dist/icons/compass.svg +1 -0
  247. package/dist/icons/compass.vue +1 -0
  248. package/dist/icons/computer-tower.svg +1 -0
  249. package/dist/icons/computer-tower.vue +1 -0
  250. package/dist/icons/copy.svg +1 -0
  251. package/dist/icons/copy.vue +1 -0
  252. package/dist/icons/cow.svg +1 -0
  253. package/dist/icons/cow.vue +1 -0
  254. package/dist/icons/cpu.svg +1 -0
  255. package/dist/icons/cpu.vue +1 -0
  256. package/dist/icons/crane-tower.svg +1 -0
  257. package/dist/icons/crane-tower.vue +1 -0
  258. package/dist/icons/crane.svg +1 -0
  259. package/dist/icons/crane.vue +1 -0
  260. package/dist/icons/cube-focus.svg +1 -0
  261. package/dist/icons/cube-focus.vue +1 -0
  262. package/dist/icons/cube-transparent.svg +1 -0
  263. package/dist/icons/cube-transparent.vue +1 -0
  264. package/dist/icons/cube.svg +1 -0
  265. package/dist/icons/cube.vue +1 -0
  266. package/dist/icons/cylinder.svg +1 -0
  267. package/dist/icons/cylinder.vue +1 -0
  268. package/dist/icons/database.svg +1 -0
  269. package/dist/icons/database.vue +1 -0
  270. package/dist/icons/desktop-tower.svg +1 -0
  271. package/dist/icons/desktop-tower.vue +1 -0
  272. package/dist/icons/desktop.svg +1 -0
  273. package/dist/icons/desktop.vue +1 -0
  274. package/dist/icons/dice-five.svg +1 -0
  275. package/dist/icons/dice-five.vue +1 -0
  276. package/dist/icons/divide.svg +1 -0
  277. package/dist/icons/divide.vue +1 -0
  278. package/dist/icons/dna.svg +1 -0
  279. package/dist/icons/dna.vue +1 -0
  280. package/dist/icons/download-simple.svg +1 -0
  281. package/dist/icons/download-simple.vue +1 -0
  282. package/dist/icons/drone.svg +1 -0
  283. package/dist/icons/drone.vue +1 -0
  284. package/dist/icons/drop-half-bottom.svg +1 -0
  285. package/dist/icons/drop-half-bottom.vue +1 -0
  286. package/dist/icons/drop-half.svg +1 -0
  287. package/dist/icons/drop-half.vue +1 -0
  288. package/dist/icons/drop-simple.svg +1 -0
  289. package/dist/icons/drop-simple.vue +1 -0
  290. package/dist/icons/drop-slash.svg +1 -0
  291. package/dist/icons/drop-slash.vue +1 -0
  292. package/dist/icons/drop.svg +1 -0
  293. package/dist/icons/drop.vue +1 -0
  294. package/dist/icons/engine.svg +1 -0
  295. package/dist/icons/engine.vue +1 -0
  296. package/dist/icons/envelope-simple.svg +1 -0
  297. package/dist/icons/envelope-simple.vue +1 -0
  298. package/dist/icons/equals.svg +1 -0
  299. package/dist/icons/equals.vue +1 -0
  300. package/dist/icons/eye-slash.svg +1 -0
  301. package/dist/icons/eye-slash.vue +1 -0
  302. package/dist/icons/eye.svg +1 -0
  303. package/dist/icons/eye.vue +1 -0
  304. package/dist/icons/face-mask.svg +1 -0
  305. package/dist/icons/face-mask.vue +1 -0
  306. package/dist/icons/factory.svg +1 -0
  307. package/dist/icons/factory.vue +1 -0
  308. package/dist/icons/farm.svg +1 -0
  309. package/dist/icons/farm.vue +1 -0
  310. package/dist/icons/file-archive.svg +1 -0
  311. package/dist/icons/file-archive.vue +1 -0
  312. package/dist/icons/file-arrow-down.svg +1 -0
  313. package/dist/icons/file-arrow-down.vue +1 -0
  314. package/dist/icons/file-c-sharp.svg +1 -0
  315. package/dist/icons/file-c-sharp.vue +1 -0
  316. package/dist/icons/file-c.svg +1 -0
  317. package/dist/icons/file-c.vue +1 -0
  318. package/dist/icons/file-cloud.svg +1 -0
  319. package/dist/icons/file-cloud.vue +1 -0
  320. package/dist/icons/file-code.svg +1 -0
  321. package/dist/icons/file-code.vue +1 -0
  322. package/dist/icons/file-cpp.svg +1 -0
  323. package/dist/icons/file-cpp.vue +1 -0
  324. package/dist/icons/file-css.svg +1 -0
  325. package/dist/icons/file-css.vue +1 -0
  326. package/dist/icons/file-csv.svg +1 -0
  327. package/dist/icons/file-csv.vue +1 -0
  328. package/dist/icons/file-html.svg +1 -0
  329. package/dist/icons/file-html.vue +1 -0
  330. package/dist/icons/file-image.svg +1 -0
  331. package/dist/icons/file-image.vue +1 -0
  332. package/dist/icons/file-ini.svg +1 -0
  333. package/dist/icons/file-ini.vue +1 -0
  334. package/dist/icons/file-js.svg +1 -0
  335. package/dist/icons/file-js.vue +1 -0
  336. package/dist/icons/file-jsx.svg +1 -0
  337. package/dist/icons/file-jsx.vue +1 -0
  338. package/dist/icons/file-md.svg +1 -0
  339. package/dist/icons/file-md.vue +1 -0
  340. package/dist/icons/file-pdf.svg +1 -0
  341. package/dist/icons/file-pdf.vue +1 -0
  342. package/dist/icons/file-py.svg +1 -0
  343. package/dist/icons/file-py.vue +1 -0
  344. package/dist/icons/file-rs.svg +1 -0
  345. package/dist/icons/file-rs.vue +1 -0
  346. package/dist/icons/file-sql.svg +1 -0
  347. package/dist/icons/file-sql.vue +1 -0
  348. package/dist/icons/file-svg.svg +1 -0
  349. package/dist/icons/file-svg.vue +1 -0
  350. package/dist/icons/file-text.svg +1 -0
  351. package/dist/icons/file-text.vue +1 -0
  352. package/dist/icons/file-ts.svg +1 -0
  353. package/dist/icons/file-ts.vue +1 -0
  354. package/dist/icons/file-tsx.svg +1 -0
  355. package/dist/icons/file-tsx.vue +1 -0
  356. package/dist/icons/file-txt.svg +1 -0
  357. package/dist/icons/file-txt.vue +1 -0
  358. package/dist/icons/file-vue.svg +1 -0
  359. package/dist/icons/file-vue.vue +1 -0
  360. package/dist/icons/file-xls.svg +1 -0
  361. package/dist/icons/file-xls.vue +1 -0
  362. package/dist/icons/file-zip.svg +1 -0
  363. package/dist/icons/file-zip.vue +1 -0
  364. package/dist/icons/fire-simple.svg +1 -0
  365. package/dist/icons/fire-simple.vue +1 -0
  366. package/dist/icons/fire-truck.svg +1 -0
  367. package/dist/icons/fire-truck.vue +1 -0
  368. package/dist/icons/fire.svg +1 -0
  369. package/dist/icons/fire.vue +1 -0
  370. package/dist/icons/fish-simple.svg +1 -0
  371. package/dist/icons/fish-simple.vue +1 -0
  372. package/dist/icons/fish.svg +1 -0
  373. package/dist/icons/fish.vue +1 -0
  374. package/dist/icons/flame.svg +1 -0
  375. package/dist/icons/flame.vue +1 -0
  376. package/dist/icons/flask.svg +1 -0
  377. package/dist/icons/flask.vue +1 -0
  378. package/dist/icons/flow-arrow.svg +1 -0
  379. package/dist/icons/flow-arrow.vue +1 -0
  380. package/dist/icons/flower-lotus.svg +1 -0
  381. package/dist/icons/flower-lotus.vue +1 -0
  382. package/dist/icons/flower-tulip.svg +1 -0
  383. package/dist/icons/flower-tulip.vue +1 -0
  384. package/dist/icons/flower.svg +1 -0
  385. package/dist/icons/flower.vue +1 -0
  386. package/dist/icons/footprints.svg +1 -0
  387. package/dist/icons/footprints.vue +1 -0
  388. package/dist/icons/function.svg +1 -0
  389. package/dist/icons/function.vue +1 -0
  390. package/dist/icons/funnel.svg +1 -0
  391. package/dist/icons/funnel.vue +1 -0
  392. package/dist/icons/garage.svg +1 -0
  393. package/dist/icons/garage.vue +1 -0
  394. package/dist/icons/gas-can.svg +1 -0
  395. package/dist/icons/gas-can.vue +1 -0
  396. package/dist/icons/gas-pump.svg +1 -0
  397. package/dist/icons/gas-pump.vue +1 -0
  398. package/dist/icons/gauge.svg +1 -0
  399. package/dist/icons/gauge.vue +1 -0
  400. package/dist/icons/gear-fine.svg +1 -0
  401. package/dist/icons/gear-fine.vue +1 -0
  402. package/dist/icons/gear-six.svg +1 -0
  403. package/dist/icons/gear-six.vue +1 -0
  404. package/dist/icons/gear.svg +1 -0
  405. package/dist/icons/gear.vue +1 -0
  406. package/dist/icons/git-branch.svg +1 -0
  407. package/dist/icons/git-branch.vue +1 -0
  408. package/dist/icons/git-commit.svg +1 -0
  409. package/dist/icons/git-commit.vue +1 -0
  410. package/dist/icons/git-diff.svg +1 -0
  411. package/dist/icons/git-diff.vue +1 -0
  412. package/dist/icons/git-fork.svg +1 -0
  413. package/dist/icons/git-fork.vue +1 -0
  414. package/dist/icons/git-merge.svg +1 -0
  415. package/dist/icons/git-merge.vue +1 -0
  416. package/dist/icons/git-pull-request.svg +1 -0
  417. package/dist/icons/git-pull-request.vue +1 -0
  418. package/dist/icons/globe-hemisphere-east.svg +1 -0
  419. package/dist/icons/globe-hemisphere-east.vue +1 -0
  420. package/dist/icons/globe-hemisphere-west.svg +1 -0
  421. package/dist/icons/globe-hemisphere-west.vue +1 -0
  422. package/dist/icons/globe-simple.svg +1 -0
  423. package/dist/icons/globe-simple.vue +1 -0
  424. package/dist/icons/globe-stand.svg +1 -0
  425. package/dist/icons/globe-stand.vue +1 -0
  426. package/dist/icons/globe.svg +1 -0
  427. package/dist/icons/globe.vue +1 -0
  428. package/dist/icons/gps-fix.svg +1 -0
  429. package/dist/icons/gps-fix.vue +1 -0
  430. package/dist/icons/gps.svg +1 -0
  431. package/dist/icons/gps.vue +1 -0
  432. package/dist/icons/gradient.svg +1 -0
  433. package/dist/icons/gradient.vue +1 -0
  434. package/dist/icons/graduation-cap.svg +1 -0
  435. package/dist/icons/graduation-cap.vue +1 -0
  436. package/dist/icons/grains-slash.svg +1 -0
  437. package/dist/icons/grains-slash.vue +1 -0
  438. package/dist/icons/grains.svg +1 -0
  439. package/dist/icons/grains.vue +1 -0
  440. package/dist/icons/graph.svg +1 -0
  441. package/dist/icons/graph.vue +1 -0
  442. package/dist/icons/graphics-card.svg +1 -0
  443. package/dist/icons/graphics-card.vue +1 -0
  444. package/dist/icons/greater-than-or-equal.svg +1 -0
  445. package/dist/icons/greater-than-or-equal.vue +1 -0
  446. package/dist/icons/greater-than.svg +1 -0
  447. package/dist/icons/greater-than.vue +1 -0
  448. package/dist/icons/grid-four.svg +1 -0
  449. package/dist/icons/grid-four.vue +1 -0
  450. package/dist/icons/grid-nine.svg +1 -0
  451. package/dist/icons/grid-nine.vue +1 -0
  452. package/dist/icons/hammer.svg +1 -0
  453. package/dist/icons/hammer.vue +1 -0
  454. package/dist/icons/hand-waving.svg +1 -0
  455. package/dist/icons/hand-waving.vue +1 -0
  456. package/dist/icons/hard-drive.svg +1 -0
  457. package/dist/icons/hard-drive.vue +1 -0
  458. package/dist/icons/hard-drives.svg +1 -0
  459. package/dist/icons/hard-drives.vue +1 -0
  460. package/dist/icons/hard-hat.svg +1 -0
  461. package/dist/icons/hard-hat.vue +1 -0
  462. package/dist/icons/head-circuit.svg +1 -0
  463. package/dist/icons/head-circuit.vue +1 -0
  464. package/dist/icons/hospital.svg +1 -0
  465. package/dist/icons/hospital.vue +1 -0
  466. package/dist/icons/house-line.svg +1 -0
  467. package/dist/icons/house-line.vue +1 -0
  468. package/dist/icons/house-simple.svg +1 -0
  469. package/dist/icons/house-simple.vue +1 -0
  470. package/dist/icons/house.svg +1 -0
  471. package/dist/icons/house.vue +1 -0
  472. package/dist/icons/hurricane.svg +1 -0
  473. package/dist/icons/hurricane.vue +1 -0
  474. package/dist/icons/identification-card.svg +1 -0
  475. package/dist/icons/identification-card.vue +1 -0
  476. package/dist/icons/image.svg +1 -0
  477. package/dist/icons/image.vue +1 -0
  478. package/dist/icons/images.svg +1 -0
  479. package/dist/icons/images.vue +1 -0
  480. package/dist/icons/infinity.svg +1 -0
  481. package/dist/icons/infinity.vue +1 -0
  482. package/dist/icons/info.svg +1 -0
  483. package/dist/icons/info.vue +1 -0
  484. package/dist/icons/intersect-three.svg +1 -0
  485. package/dist/icons/intersect-three.vue +1 -0
  486. package/dist/icons/intersection.svg +1 -0
  487. package/dist/icons/intersection.vue +1 -0
  488. package/dist/icons/island.svg +1 -0
  489. package/dist/icons/island.vue +1 -0
  490. package/dist/icons/jeep.svg +1 -0
  491. package/dist/icons/jeep.vue +1 -0
  492. package/dist/icons/kanban.svg +1 -0
  493. package/dist/icons/kanban.vue +1 -0
  494. package/dist/icons/keyboard.svg +1 -0
  495. package/dist/icons/keyboard.vue +1 -0
  496. package/dist/icons/laptop.svg +1 -0
  497. package/dist/icons/laptop.vue +1 -0
  498. package/dist/icons/leaf.svg +1 -0
  499. package/dist/icons/leaf.vue +1 -0
  500. package/dist/icons/less-than-or-equal.svg +1 -0
  501. package/dist/icons/less-than-or-equal.vue +1 -0
  502. package/dist/icons/less-than.svg +1 -0
  503. package/dist/icons/less-than.vue +1 -0
  504. package/dist/icons/lightbulb.svg +1 -0
  505. package/dist/icons/lightbulb.vue +1 -0
  506. package/dist/icons/lighthouse.svg +1 -0
  507. package/dist/icons/lighthouse.vue +1 -0
  508. package/dist/icons/lightning-slash.svg +1 -0
  509. package/dist/icons/lightning-slash.vue +1 -0
  510. package/dist/icons/lightning.svg +1 -0
  511. package/dist/icons/lightning.vue +1 -0
  512. package/dist/icons/line-segment.svg +1 -0
  513. package/dist/icons/line-segment.vue +1 -0
  514. package/dist/icons/line-segments.svg +1 -0
  515. package/dist/icons/line-segments.vue +1 -0
  516. package/dist/icons/link.svg +1 -0
  517. package/dist/icons/link.vue +1 -0
  518. package/dist/icons/list-bullets.svg +1 -0
  519. package/dist/icons/list-bullets.vue +1 -0
  520. package/dist/icons/list.svg +1 -0
  521. package/dist/icons/list.vue +1 -0
  522. package/dist/icons/magic-wand.svg +1 -0
  523. package/dist/icons/magic-wand.vue +1 -0
  524. package/dist/icons/magnet-straight.svg +1 -0
  525. package/dist/icons/magnet-straight.vue +1 -0
  526. package/dist/icons/magnet.svg +1 -0
  527. package/dist/icons/magnet.vue +1 -0
  528. package/dist/icons/magnifying-glass-minus.svg +1 -0
  529. package/dist/icons/magnifying-glass-minus.vue +1 -0
  530. package/dist/icons/magnifying-glass-plus.svg +1 -0
  531. package/dist/icons/magnifying-glass-plus.vue +1 -0
  532. package/dist/icons/magnifying-glass.svg +1 -0
  533. package/dist/icons/magnifying-glass.vue +1 -0
  534. package/dist/icons/map-pin-area.svg +1 -0
  535. package/dist/icons/map-pin-area.vue +1 -0
  536. package/dist/icons/map-pin-line.svg +1 -0
  537. package/dist/icons/map-pin-line.vue +1 -0
  538. package/dist/icons/map-pin-simple-area.svg +1 -0
  539. package/dist/icons/map-pin-simple-area.vue +1 -0
  540. package/dist/icons/map-pin-simple-line.svg +1 -0
  541. package/dist/icons/map-pin-simple-line.vue +1 -0
  542. package/dist/icons/map-pin-simple.svg +1 -0
  543. package/dist/icons/map-pin-simple.vue +1 -0
  544. package/dist/icons/map-pin.svg +1 -0
  545. package/dist/icons/map-pin.vue +1 -0
  546. package/dist/icons/map-trifold.svg +1 -0
  547. package/dist/icons/map-trifold.vue +1 -0
  548. package/dist/icons/math-operations.svg +1 -0
  549. package/dist/icons/math-operations.vue +1 -0
  550. package/dist/icons/member-of.svg +1 -0
  551. package/dist/icons/member-of.vue +1 -0
  552. package/dist/icons/memory.svg +1 -0
  553. package/dist/icons/memory.vue +1 -0
  554. package/dist/icons/meteor.svg +1 -0
  555. package/dist/icons/meteor.vue +1 -0
  556. package/dist/icons/microscope.svg +1 -0
  557. package/dist/icons/microscope.vue +1 -0
  558. package/dist/icons/minus.svg +1 -0
  559. package/dist/icons/minus.vue +1 -0
  560. package/dist/icons/monitor.svg +1 -0
  561. package/dist/icons/monitor.vue +1 -0
  562. package/dist/icons/moon-stars.svg +1 -0
  563. package/dist/icons/moon-stars.vue +1 -0
  564. package/dist/icons/moon.svg +1 -0
  565. package/dist/icons/moon.vue +1 -0
  566. package/dist/icons/moped-front.svg +1 -0
  567. package/dist/icons/moped-front.vue +1 -0
  568. package/dist/icons/moped.svg +1 -0
  569. package/dist/icons/moped.vue +1 -0
  570. package/dist/icons/motorcycle.svg +1 -0
  571. package/dist/icons/motorcycle.vue +1 -0
  572. package/dist/icons/mountains.svg +1 -0
  573. package/dist/icons/mountains.vue +1 -0
  574. package/dist/icons/navigation-arrow.svg +1 -0
  575. package/dist/icons/navigation-arrow.vue +1 -0
  576. package/dist/icons/network.svg +1 -0
  577. package/dist/icons/network.vue +1 -0
  578. package/dist/icons/newspaper-clipping.svg +1 -0
  579. package/dist/icons/newspaper-clipping.vue +1 -0
  580. package/dist/icons/not-equals.svg +1 -0
  581. package/dist/icons/not-equals.vue +1 -0
  582. package/dist/icons/not-member-of.svg +1 -0
  583. package/dist/icons/not-member-of.vue +1 -0
  584. package/dist/icons/not-subset-of.svg +1 -0
  585. package/dist/icons/not-subset-of.vue +1 -0
  586. package/dist/icons/not-superset-of.svg +1 -0
  587. package/dist/icons/not-superset-of.vue +1 -0
  588. package/dist/icons/notebook.svg +1 -0
  589. package/dist/icons/notebook.vue +1 -0
  590. package/dist/icons/nuclear-plant.svg +1 -0
  591. package/dist/icons/nuclear-plant.vue +1 -0
  592. package/dist/icons/package.svg +1 -0
  593. package/dist/icons/package.vue +1 -0
  594. package/dist/icons/paint-brush.svg +1 -0
  595. package/dist/icons/paint-brush.vue +1 -0
  596. package/dist/icons/palette.svg +1 -0
  597. package/dist/icons/palette.vue +1 -0
  598. package/dist/icons/park.svg +1 -0
  599. package/dist/icons/park.vue +1 -0
  600. package/dist/icons/path.svg +1 -0
  601. package/dist/icons/path.vue +1 -0
  602. package/dist/icons/pause.svg +1 -0
  603. package/dist/icons/pause.vue +1 -0
  604. package/dist/icons/pen-nib.svg +1 -0
  605. package/dist/icons/pen-nib.vue +1 -0
  606. package/dist/icons/percent.svg +1 -0
  607. package/dist/icons/percent.vue +1 -0
  608. package/dist/icons/person-simple-bike.svg +1 -0
  609. package/dist/icons/person-simple-bike.vue +1 -0
  610. package/dist/icons/person-simple-circle.svg +1 -0
  611. package/dist/icons/person-simple-circle.vue +1 -0
  612. package/dist/icons/person-simple-hike.svg +1 -0
  613. package/dist/icons/person-simple-hike.vue +1 -0
  614. package/dist/icons/person-simple-walk.svg +1 -0
  615. package/dist/icons/person-simple-walk.vue +1 -0
  616. package/dist/icons/pi.svg +1 -0
  617. package/dist/icons/pi.vue +1 -0
  618. package/dist/icons/picnic-table.svg +1 -0
  619. package/dist/icons/picnic-table.vue +1 -0
  620. package/dist/icons/planet.svg +1 -0
  621. package/dist/icons/planet.vue +1 -0
  622. package/dist/icons/plant.svg +1 -0
  623. package/dist/icons/plant.vue +1 -0
  624. package/dist/icons/play.svg +1 -0
  625. package/dist/icons/play.vue +1 -0
  626. package/dist/icons/plug-charging.svg +1 -0
  627. package/dist/icons/plug-charging.vue +1 -0
  628. package/dist/icons/plug.svg +1 -0
  629. package/dist/icons/plug.vue +1 -0
  630. package/dist/icons/plus-minus.svg +1 -0
  631. package/dist/icons/plus-minus.vue +1 -0
  632. package/dist/icons/plus.svg +1 -0
  633. package/dist/icons/plus.vue +1 -0
  634. package/dist/icons/police-car.svg +1 -0
  635. package/dist/icons/police-car.vue +1 -0
  636. package/dist/icons/potted-plant.svg +1 -0
  637. package/dist/icons/potted-plant.vue +1 -0
  638. package/dist/icons/presentation-chart.svg +1 -0
  639. package/dist/icons/presentation-chart.vue +1 -0
  640. package/dist/icons/printer.svg +1 -0
  641. package/dist/icons/printer.vue +1 -0
  642. package/dist/icons/pulse.svg +1 -0
  643. package/dist/icons/pulse.vue +1 -0
  644. package/dist/icons/puzzle-piece.svg +1 -0
  645. package/dist/icons/puzzle-piece.vue +1 -0
  646. package/dist/icons/question.svg +1 -0
  647. package/dist/icons/question.vue +1 -0
  648. package/dist/icons/quotes.svg +1 -0
  649. package/dist/icons/quotes.vue +1 -0
  650. package/dist/icons/radical.svg +1 -0
  651. package/dist/icons/radical.vue +1 -0
  652. package/dist/icons/radioactive.svg +1 -0
  653. package/dist/icons/radioactive.vue +1 -0
  654. package/dist/icons/rainbow-cloud.svg +1 -0
  655. package/dist/icons/rainbow-cloud.vue +1 -0
  656. package/dist/icons/rainbow.svg +1 -0
  657. package/dist/icons/rainbow.vue +1 -0
  658. package/dist/icons/recycle.svg +1 -0
  659. package/dist/icons/recycle.vue +1 -0
  660. package/dist/icons/road-horizon.svg +1 -0
  661. package/dist/icons/road-horizon.vue +1 -0
  662. package/dist/icons/robot.svg +1 -0
  663. package/dist/icons/robot.vue +1 -0
  664. package/dist/icons/rocket-launch.svg +1 -0
  665. package/dist/icons/rocket-launch.vue +1 -0
  666. package/dist/icons/rocket.svg +1 -0
  667. package/dist/icons/rocket.vue +1 -0
  668. package/dist/icons/rows.svg +1 -0
  669. package/dist/icons/rows.vue +1 -0
  670. package/dist/icons/rss.svg +1 -0
  671. package/dist/icons/rss.vue +1 -0
  672. package/dist/icons/ruler.svg +1 -0
  673. package/dist/icons/ruler.vue +1 -0
  674. package/dist/icons/sailboat.svg +1 -0
  675. package/dist/icons/sailboat.vue +1 -0
  676. package/dist/icons/satellite.svg +1 -0
  677. package/dist/icons/satellite.vue +1 -0
  678. package/dist/icons/scales.svg +1 -0
  679. package/dist/icons/scales.vue +1 -0
  680. package/dist/icons/scooter.svg +1 -0
  681. package/dist/icons/scooter.vue +1 -0
  682. package/dist/icons/screwdriver.svg +1 -0
  683. package/dist/icons/screwdriver.vue +1 -0
  684. package/dist/icons/seal-check.svg +1 -0
  685. package/dist/icons/seal-check.vue +1 -0
  686. package/dist/icons/share-network.svg +1 -0
  687. package/dist/icons/share-network.vue +1 -0
  688. package/dist/icons/shipping-container.svg +1 -0
  689. package/dist/icons/shipping-container.vue +1 -0
  690. package/dist/icons/shooting-star.svg +1 -0
  691. package/dist/icons/shooting-star.vue +1 -0
  692. package/dist/icons/shovel.svg +1 -0
  693. package/dist/icons/shovel.vue +1 -0
  694. package/dist/icons/shuffle.svg +1 -0
  695. package/dist/icons/shuffle.vue +1 -0
  696. package/dist/icons/sigma.svg +1 -0
  697. package/dist/icons/sigma.vue +1 -0
  698. package/dist/icons/signpost.svg +1 -0
  699. package/dist/icons/signpost.vue +1 -0
  700. package/dist/icons/sliders-horizontal.svg +1 -0
  701. package/dist/icons/sliders-horizontal.vue +1 -0
  702. package/dist/icons/snowflake.svg +1 -0
  703. package/dist/icons/snowflake.vue +1 -0
  704. package/dist/icons/solar-panel.svg +1 -0
  705. package/dist/icons/solar-panel.vue +1 -0
  706. package/dist/icons/solar-roof.svg +1 -0
  707. package/dist/icons/solar-roof.vue +1 -0
  708. package/dist/icons/sparkle.svg +1 -0
  709. package/dist/icons/sparkle.vue +1 -0
  710. package/dist/icons/speaker-high.svg +1 -0
  711. package/dist/icons/speaker-high.vue +1 -0
  712. package/dist/icons/speaker-slash.svg +1 -0
  713. package/dist/icons/speaker-slash.vue +1 -0
  714. package/dist/icons/speedometer.svg +1 -0
  715. package/dist/icons/speedometer.vue +1 -0
  716. package/dist/icons/sphere.svg +1 -0
  717. package/dist/icons/sphere.vue +1 -0
  718. package/dist/icons/sprite.svg +418 -0
  719. package/dist/icons/stack-simple.svg +1 -0
  720. package/dist/icons/stack-simple.vue +1 -0
  721. package/dist/icons/stack.svg +1 -0
  722. package/dist/icons/stack.vue +1 -0
  723. package/dist/icons/star-four.svg +1 -0
  724. package/dist/icons/star-four.vue +1 -0
  725. package/dist/icons/star.svg +1 -0
  726. package/dist/icons/star.vue +1 -0
  727. package/dist/icons/steering-wheel.svg +1 -0
  728. package/dist/icons/steering-wheel.vue +1 -0
  729. package/dist/icons/stop.svg +1 -0
  730. package/dist/icons/stop.vue +1 -0
  731. package/dist/icons/storefront.svg +1 -0
  732. package/dist/icons/storefront.vue +1 -0
  733. package/dist/icons/subset-of.svg +1 -0
  734. package/dist/icons/subset-of.vue +1 -0
  735. package/dist/icons/subset-proper-of.svg +1 -0
  736. package/dist/icons/subset-proper-of.vue +1 -0
  737. package/dist/icons/subway.svg +1 -0
  738. package/dist/icons/subway.vue +1 -0
  739. package/dist/icons/sun-dim.svg +1 -0
  740. package/dist/icons/sun-dim.vue +1 -0
  741. package/dist/icons/sun-horizon.svg +1 -0
  742. package/dist/icons/sun-horizon.vue +1 -0
  743. package/dist/icons/sun.svg +1 -0
  744. package/dist/icons/sun.vue +1 -0
  745. package/dist/icons/superset-of.svg +1 -0
  746. package/dist/icons/superset-of.vue +1 -0
  747. package/dist/icons/superset-proper-of.svg +1 -0
  748. package/dist/icons/superset-proper-of.vue +1 -0
  749. package/dist/icons/table.svg +1 -0
  750. package/dist/icons/table.vue +1 -0
  751. package/dist/icons/tag.svg +1 -0
  752. package/dist/icons/tag.vue +1 -0
  753. package/dist/icons/taxi.svg +1 -0
  754. package/dist/icons/taxi.vue +1 -0
  755. package/dist/icons/tent.svg +1 -0
  756. package/dist/icons/tent.vue +1 -0
  757. package/dist/icons/terminal-window.svg +1 -0
  758. package/dist/icons/terminal-window.vue +1 -0
  759. package/dist/icons/terminal.svg +1 -0
  760. package/dist/icons/terminal.vue +1 -0
  761. package/dist/icons/test-tube.svg +1 -0
  762. package/dist/icons/test-tube.vue +1 -0
  763. package/dist/icons/thermometer-cold.svg +1 -0
  764. package/dist/icons/thermometer-cold.vue +1 -0
  765. package/dist/icons/thermometer-hot.svg +1 -0
  766. package/dist/icons/thermometer-hot.vue +1 -0
  767. package/dist/icons/thermometer-simple.svg +1 -0
  768. package/dist/icons/thermometer-simple.vue +1 -0
  769. package/dist/icons/thermometer.svg +1 -0
  770. package/dist/icons/thermometer.vue +1 -0
  771. package/dist/icons/tire.svg +1 -0
  772. package/dist/icons/tire.vue +1 -0
  773. package/dist/icons/toolbox.svg +1 -0
  774. package/dist/icons/toolbox.vue +1 -0
  775. package/dist/icons/tornado.svg +1 -0
  776. package/dist/icons/tornado.vue +1 -0
  777. package/dist/icons/tractor.svg +1 -0
  778. package/dist/icons/tractor.vue +1 -0
  779. package/dist/icons/traffic-cone.svg +1 -0
  780. package/dist/icons/traffic-cone.vue +1 -0
  781. package/dist/icons/traffic-sign.svg +1 -0
  782. package/dist/icons/traffic-sign.vue +1 -0
  783. package/dist/icons/traffic-signal.svg +1 -0
  784. package/dist/icons/traffic-signal.vue +1 -0
  785. package/dist/icons/train-regional.svg +1 -0
  786. package/dist/icons/train-regional.vue +1 -0
  787. package/dist/icons/train-simple.svg +1 -0
  788. package/dist/icons/train-simple.vue +1 -0
  789. package/dist/icons/train.svg +1 -0
  790. package/dist/icons/train.vue +1 -0
  791. package/dist/icons/tram.svg +1 -0
  792. package/dist/icons/tram.vue +1 -0
  793. package/dist/icons/translate.svg +1 -0
  794. package/dist/icons/translate.vue +1 -0
  795. package/dist/icons/tree-evergreen.svg +1 -0
  796. package/dist/icons/tree-evergreen.vue +1 -0
  797. package/dist/icons/tree-palm.svg +1 -0
  798. package/dist/icons/tree-palm.vue +1 -0
  799. package/dist/icons/tree-structure.svg +1 -0
  800. package/dist/icons/tree-structure.vue +1 -0
  801. package/dist/icons/tree-view.svg +1 -0
  802. package/dist/icons/tree-view.vue +1 -0
  803. package/dist/icons/tree.svg +1 -0
  804. package/dist/icons/tree.vue +1 -0
  805. package/dist/icons/trend-down.svg +1 -0
  806. package/dist/icons/trend-down.vue +1 -0
  807. package/dist/icons/trend-up.svg +1 -0
  808. package/dist/icons/trend-up.vue +1 -0
  809. package/dist/icons/trophy.svg +1 -0
  810. package/dist/icons/trophy.vue +1 -0
  811. package/dist/icons/truck-trailer.svg +1 -0
  812. package/dist/icons/truck-trailer.vue +1 -0
  813. package/dist/icons/truck.svg +1 -0
  814. package/dist/icons/truck.vue +1 -0
  815. package/dist/icons/umbrella-simple.svg +1 -0
  816. package/dist/icons/umbrella-simple.vue +1 -0
  817. package/dist/icons/umbrella.svg +1 -0
  818. package/dist/icons/umbrella.vue +1 -0
  819. package/dist/icons/union.svg +1 -0
  820. package/dist/icons/union.vue +1 -0
  821. package/dist/icons/upload-simple.svg +1 -0
  822. package/dist/icons/upload-simple.vue +1 -0
  823. package/dist/icons/users.svg +1 -0
  824. package/dist/icons/users.vue +1 -0
  825. package/dist/icons/van.svg +1 -0
  826. package/dist/icons/van.vue +1 -0
  827. package/dist/icons/vector-three.svg +1 -0
  828. package/dist/icons/vector-three.vue +1 -0
  829. package/dist/icons/vector-two.svg +1 -0
  830. package/dist/icons/vector-two.vue +1 -0
  831. package/dist/icons/video.svg +1 -0
  832. package/dist/icons/video.vue +1 -0
  833. package/dist/icons/virus.svg +1 -0
  834. package/dist/icons/virus.vue +1 -0
  835. package/dist/icons/warehouse.svg +1 -0
  836. package/dist/icons/warehouse.vue +1 -0
  837. package/dist/icons/warning.svg +1 -0
  838. package/dist/icons/warning.vue +1 -0
  839. package/dist/icons/wave-sawtooth.svg +1 -0
  840. package/dist/icons/wave-sawtooth.vue +1 -0
  841. package/dist/icons/wave-sine.svg +1 -0
  842. package/dist/icons/wave-sine.vue +1 -0
  843. package/dist/icons/wave-square.svg +1 -0
  844. package/dist/icons/wave-square.vue +1 -0
  845. package/dist/icons/wave-triangle.svg +1 -0
  846. package/dist/icons/wave-triangle.vue +1 -0
  847. package/dist/icons/waveform.svg +1 -0
  848. package/dist/icons/waveform.vue +1 -0
  849. package/dist/icons/waves.svg +1 -0
  850. package/dist/icons/waves.vue +1 -0
  851. package/dist/icons/wind.svg +1 -0
  852. package/dist/icons/wind.vue +1 -0
  853. package/dist/icons/windmill.svg +1 -0
  854. package/dist/icons/windmill.vue +1 -0
  855. package/dist/icons/wrench.svg +1 -0
  856. package/dist/icons/wrench.vue +1 -0
  857. package/dist/icons/x-circle.svg +1 -0
  858. package/dist/icons/x-circle.vue +1 -0
  859. package/dist/icons/x.svg +1 -0
  860. package/dist/icons/x.vue +1 -0
  861. package/dist/rkui.css +1 -0
  862. package/dist/rkui.js +41 -0
  863. package/dist/types/components/alert/alert-enhance.d.ts +0 -0
  864. package/dist/types/components/code/highlight.d.ts +9 -0
  865. package/dist/types/components/drawer/drawer-enhance.d.ts +21 -0
  866. package/dist/types/components/file/file-enhance.d.ts +6 -0
  867. package/dist/types/components/folder/folder-enhance.d.ts +1 -0
  868. package/dist/types/components/overflow/overflow-enhance.d.ts +1 -0
  869. package/dist/types/components/quote/quote-enhance.d.ts +1 -0
  870. package/dist/types/components/sidebar/sidebar-enhance.d.ts +1 -0
  871. package/dist/types/components/table/table-enhance.d.ts +1 -0
  872. package/dist/types/components/tooltip/tooltip-enhance.d.ts +7 -0
  873. package/dist/types/shared/after-slide.d.ts +10 -0
  874. package/dist/types/shared/clock-face.d.ts +93 -0
  875. package/dist/types/shared/dial-face.d.ts +58 -0
  876. package/dist/types/shared/dial-geometry.d.ts +66 -0
  877. package/dist/types/shared/each-element.d.ts +9 -0
  878. package/dist/types/shared/light-angle.d.ts +22 -0
  879. package/package.json +100 -4
  880. package/src/base/base.css +144 -0
  881. package/src/base/fonts.css +158 -0
  882. package/src/base/type.css +17 -0
  883. package/src/components/alert/Alert.vue +66 -0
  884. package/src/components/alert/alert-enhance.js +43 -0
  885. package/src/components/alert/alert.css +125 -0
  886. package/src/components/badge/Badge.vue +74 -0
  887. package/src/components/badge/BadgeHost.vue +24 -0
  888. package/src/components/badge/badge.css +142 -0
  889. package/src/components/ballot/Ballot.vue +71 -0
  890. package/src/components/ballot/BallotOption.vue +83 -0
  891. package/src/components/ballot/ballot.css +208 -0
  892. package/src/components/breadcrumbs/Breadcrumbs.vue +47 -0
  893. package/src/components/breadcrumbs/breadcrumbs.css +104 -0
  894. package/src/components/button/Button.vue +130 -0
  895. package/src/components/button/button.css +93 -0
  896. package/src/components/callout/Callout.vue +31 -0
  897. package/src/components/callout/callout.css +39 -0
  898. package/src/components/card/Card.vue +59 -0
  899. package/src/components/card/card.css +117 -0
  900. package/src/components/checkbox/Checkbox.vue +50 -0
  901. package/src/components/checkbox/Radio.vue +51 -0
  902. package/src/components/checkbox/checkbox.css +82 -0
  903. package/src/components/chip/Chip.vue +60 -0
  904. package/src/components/chip/ChipGroup.vue +59 -0
  905. package/src/components/chip/chip.css +73 -0
  906. package/src/components/clock/Clock.vue +200 -0
  907. package/src/components/clock/clock-element.ts +6 -0
  908. package/src/components/clock/clock.css +258 -0
  909. package/src/components/code/CodeBlock.vue +210 -0
  910. package/src/components/code/code.css +185 -0
  911. package/src/components/code/highlight.js +46 -0
  912. package/src/components/color-picker/ColorInput.vue +54 -0
  913. package/src/components/color-picker/ColorPicker.vue +110 -0
  914. package/src/components/color-picker/ColorTile.vue +28 -0
  915. package/src/components/color-picker/color-picker-element.ts +7 -0
  916. package/src/components/color-picker/color-picker.css +219 -0
  917. package/src/components/date-time/date-time.css +53 -0
  918. package/src/components/dial/Dial.vue +247 -0
  919. package/src/components/dial/dial-element.ts +6 -0
  920. package/src/components/dial/dial.css +299 -0
  921. package/src/components/drawer/Cabinet.vue +67 -0
  922. package/src/components/drawer/Drawer.vue +155 -0
  923. package/src/components/drawer/drawer-enhance.js +123 -0
  924. package/src/components/drawer/drawer.css +889 -0
  925. package/src/components/field/Field.vue +49 -0
  926. package/src/components/field/field.css +31 -0
  927. package/src/components/figure/figure.css +30 -0
  928. package/src/components/file/File.vue +73 -0
  929. package/src/components/file/file-enhance.js +35 -0
  930. package/src/components/file/file.css +130 -0
  931. package/src/components/folder/Folder.vue +241 -0
  932. package/src/components/folder/Tab.vue +25 -0
  933. package/src/components/folder/folder-enhance.js +231 -0
  934. package/src/components/folder/folder.css +582 -0
  935. package/src/components/folder/tab-items.ts +67 -0
  936. package/src/components/folder/tab-slot.ts +80 -0
  937. package/src/components/header-band/HeaderBand.vue +52 -0
  938. package/src/components/header-band/header-band.css +54 -0
  939. package/src/components/icon/icon.css +20 -0
  940. package/src/components/input/Input.vue +69 -0
  941. package/src/components/input/Textarea.vue +68 -0
  942. package/src/components/input/input.css +66 -0
  943. package/src/components/light-direction/LightDirection.vue +64 -0
  944. package/src/components/light-direction/light-direction-element.ts +6 -0
  945. package/src/components/loader/Loader.vue +39 -0
  946. package/src/components/loader/loader.css +132 -0
  947. package/src/components/logo/Logo.vue +128 -0
  948. package/src/components/logo/logo.css +233 -0
  949. package/src/components/maths/Equation.vue +64 -0
  950. package/src/components/maths/EquationReference.vue +31 -0
  951. package/src/components/maths/Maths.vue +32 -0
  952. package/src/components/maths/maths.css +220 -0
  953. package/src/components/maths/render-maths.ts +45 -0
  954. package/src/components/motion/Motion.vue +23 -0
  955. package/src/components/motion/motion.css +19 -0
  956. package/src/components/number/Stepper.vue +138 -0
  957. package/src/components/number/number.css +116 -0
  958. package/src/components/number/stepper-element.ts +6 -0
  959. package/src/components/overflow/Scroll.vue +43 -0
  960. package/src/components/overflow/overflow-enhance.js +45 -0
  961. package/src/components/overflow/overflow.css +397 -0
  962. package/src/components/pagination/Pagination.vue +254 -0
  963. package/src/components/pagination/pagination.css +87 -0
  964. package/src/components/popup/Popup.vue +26 -0
  965. package/src/components/popup/popup.css +53 -0
  966. package/src/components/progress/Progress.vue +47 -0
  967. package/src/components/progress/progress.css +170 -0
  968. package/src/components/quote/Quote.vue +48 -0
  969. package/src/components/quote/quote-enhance.js +70 -0
  970. package/src/components/quote/quote.css +73 -0
  971. package/src/components/range/Range.vue +169 -0
  972. package/src/components/range/range-element.ts +8 -0
  973. package/src/components/range/range.css +315 -0
  974. package/src/components/range-ticks/range-ticks.css +29 -0
  975. package/src/components/search/Search.vue +113 -0
  976. package/src/components/search/search.css +138 -0
  977. package/src/components/segmented/Segmented.vue +46 -0
  978. package/src/components/segmented/SegmentedOption.vue +61 -0
  979. package/src/components/segmented/segmented.css +181 -0
  980. package/src/components/select/Select.vue +181 -0
  981. package/src/components/select/select.css +93 -0
  982. package/src/components/sidebar/Sidebar.vue +79 -0
  983. package/src/components/sidebar/SidebarGroup.vue +29 -0
  984. package/src/components/sidebar/SidebarLink.vue +46 -0
  985. package/src/components/sidebar/sidebar-enhance.js +26 -0
  986. package/src/components/sidebar/sidebar.css +543 -0
  987. package/src/components/spinner/Spinner.vue +36 -0
  988. package/src/components/spinner/spinner.css +147 -0
  989. package/src/components/spinner-dots/Dots.vue +48 -0
  990. package/src/components/spinner-dots/spinner-dots.css +167 -0
  991. package/src/components/sticky-note/StickyNote.vue +104 -0
  992. package/src/components/sticky-note/sticky-note.css +206 -0
  993. package/src/components/switch/Switch.vue +52 -0
  994. package/src/components/switch/switch.css +73 -0
  995. package/src/components/table/Table.vue +142 -0
  996. package/src/components/table/table-enhance.js +58 -0
  997. package/src/components/table/table.css +622 -0
  998. package/src/components/theme-toggle/ThemeToggle.vue +114 -0
  999. package/src/components/theme-toggle/theme-toggle-element.ts +6 -0
  1000. package/src/components/theme-toggle/theme-toggle.css +7 -0
  1001. package/src/components/tiles/Tile.vue +90 -0
  1002. package/src/components/tiles/Tiles.vue +45 -0
  1003. package/src/components/tiles/tiles.css +93 -0
  1004. package/src/components/tooltip/Tooltip.vue +31 -0
  1005. package/src/components/tooltip/tooltip-enhance.js +42 -0
  1006. package/src/components/tooltip/tooltip.css +118 -0
  1007. package/src/components/topbar/BackToTop.vue +18 -0
  1008. package/src/components/topbar/TopBar.vue +25 -0
  1009. package/src/components/topbar/topbar.css +127 -0
  1010. package/src/components/water/Flask.vue +44 -0
  1011. package/src/components/water/Pending.vue +32 -0
  1012. package/src/components/water/water.css +262 -0
  1013. package/src/components/widget-frame/WidgetFrame.vue +31 -0
  1014. package/src/components/widget-frame/widget-frame.css +46 -0
  1015. package/src/enhance.js +13 -0
  1016. package/src/fonts/jetbrains-mono/OFL.txt +93 -0
  1017. package/src/fonts/jetbrains-mono/jetbrains-mono-greek.woff2 +0 -0
  1018. package/src/fonts/jetbrains-mono/jetbrains-mono-italic-greek.woff2 +0 -0
  1019. package/src/fonts/jetbrains-mono/jetbrains-mono-italic-latin.woff2 +0 -0
  1020. package/src/fonts/jetbrains-mono/jetbrains-mono-italic-symbols.woff2 +0 -0
  1021. package/src/fonts/jetbrains-mono/jetbrains-mono-latin.woff2 +0 -0
  1022. package/src/fonts/jetbrains-mono/jetbrains-mono-symbols.woff2 +0 -0
  1023. package/src/fonts/roboto-slab/LICENSE.txt +202 -0
  1024. package/src/fonts/roboto-slab/roboto-slab-greek.woff2 +0 -0
  1025. package/src/fonts/roboto-slab/roboto-slab-latin.woff2 +0 -0
  1026. package/src/fonts/roboto-slab/roboto-slab-symbols.woff2 +0 -0
  1027. package/src/fonts/xmind/OFL.txt +93 -0
  1028. package/src/fonts/xmind/xmind-greek.woff2 +0 -0
  1029. package/src/fonts/xmind/xmind-italic-greek.woff2 +0 -0
  1030. package/src/fonts/xmind/xmind-italic-latin.woff2 +0 -0
  1031. package/src/fonts/xmind/xmind-italic-symbols.woff2 +0 -0
  1032. package/src/fonts/xmind/xmind-latin.woff2 +0 -0
  1033. package/src/fonts/xmind/xmind-symbols.woff2 +0 -0
  1034. package/src/head-scripts/table-init.js +9 -0
  1035. package/src/head-scripts/theme-init.js +10 -0
  1036. package/src/icons/LICENSE-phosphor.txt +21 -0
  1037. package/src/icons/LICENSE-tabler.txt +21 -0
  1038. package/src/icons/icon-set.js +715 -0
  1039. package/src/icons/sources/satellite-duotone.svg +2 -0
  1040. package/src/index.css +64 -0
  1041. package/src/interactive-enhance.js +22 -0
  1042. package/src/interactive.css +239 -0
  1043. package/src/shared/after-slide.js +14 -0
  1044. package/src/shared/astro-attributes.d.ts +58 -0
  1045. package/src/shared/clock-face.js +148 -0
  1046. package/src/shared/component-id.ts +17 -0
  1047. package/src/shared/define-element.ts +51 -0
  1048. package/src/shared/dial-face.js +111 -0
  1049. package/src/shared/dial-geometry.js +96 -0
  1050. package/src/shared/each-element.js +38 -0
  1051. package/src/shared/field-attrs.ts +32 -0
  1052. package/src/shared/hues.ts +111 -0
  1053. package/src/shared/light-angle.js +49 -0
  1054. package/src/shared/live-value.ts +142 -0
  1055. package/src/shared/model-start.ts +23 -0
  1056. package/src/shared/option-group.ts +19 -0
  1057. package/src/shared/option-slot.ts +97 -0
  1058. package/src/shared/slot-html.ts +53 -0
  1059. package/src/shared/split-attrs.ts +64 -0
  1060. package/src/shared/starting-option.ts +14 -0
  1061. package/src/tokens/colors.css +122 -0
  1062. package/src/tokens/fallback.css +67 -0
  1063. package/src/tokens/motion.css +31 -0
  1064. package/src/tokens/palettes.css +36 -0
  1065. package/src/tokens/shadow-color.css +178 -0
  1066. package/src/tokens/shadows.css +127 -0
  1067. package/src/tokens/space.css +20 -0
  1068. package/src/tsconfig.json +19 -0
package/src/index.css ADDED
@@ -0,0 +1,64 @@
1
+ /* rkui: the one stylesheet a site links. Order matters: tokens first, and the shared
2
+ interactive states last so they win over each component's rest styles. */
3
+
4
+ @import './tokens/colors.css';
5
+ @import './tokens/palettes.css';
6
+ @import './tokens/space.css';
7
+ @import './tokens/motion.css';
8
+ @import './tokens/shadows.css';
9
+ @import './tokens/fallback.css';
10
+ @import './base/fonts.css';
11
+ @import './base/type.css';
12
+ @import './base/base.css';
13
+ @import './tokens/shadow-color.css';
14
+
15
+ @import './components/icon/icon.css';
16
+ @import './components/button/button.css';
17
+ @import './components/field/field.css';
18
+ @import './components/input/input.css';
19
+ @import './components/select/select.css';
20
+ @import './components/checkbox/checkbox.css';
21
+ @import './components/switch/switch.css';
22
+ @import './components/range/range.css';
23
+ @import './components/segmented/segmented.css';
24
+ @import './components/theme-toggle/theme-toggle.css';
25
+ @import './components/chip/chip.css';
26
+ @import './components/card/card.css';
27
+ @import './components/callout/callout.css';
28
+ @import './components/sticky-note/sticky-note.css';
29
+ @import './components/widget-frame/widget-frame.css';
30
+ @import './components/file/file.css';
31
+ @import './components/date-time/date-time.css';
32
+ @import './components/search/search.css';
33
+ @import './components/number/number.css';
34
+ @import './components/tiles/tiles.css';
35
+ @import './components/color-picker/color-picker.css';
36
+ @import './components/ballot/ballot.css';
37
+ @import './components/range-ticks/range-ticks.css';
38
+ @import './components/dial/dial.css';
39
+ @import './components/clock/clock.css';
40
+ @import './components/code/code.css';
41
+ @import './components/drawer/drawer.css';
42
+ @import './components/badge/badge.css';
43
+ @import './components/spinner/spinner.css';
44
+ @import './components/progress/progress.css';
45
+ @import './components/water/water.css';
46
+ @import './components/spinner-dots/spinner-dots.css';
47
+ @import './components/loader/loader.css';
48
+ @import './components/tooltip/tooltip.css';
49
+ @import './components/popup/popup.css';
50
+ @import './components/alert/alert.css';
51
+ @import './components/breadcrumbs/breadcrumbs.css';
52
+ @import './components/folder/folder.css';
53
+ @import './components/pagination/pagination.css';
54
+ @import './components/maths/maths.css';
55
+ @import './components/figure/figure.css';
56
+ @import './components/quote/quote.css';
57
+ @import './components/overflow/overflow.css';
58
+ @import './components/table/table.css';
59
+ @import './components/sidebar/sidebar.css';
60
+ @import './components/topbar/topbar.css';
61
+ @import './components/header-band/header-band.css';
62
+ @import './components/logo/logo.css';
63
+ @import './components/motion/motion.css';
64
+ @import './interactive.css';
@@ -0,0 +1,22 @@
1
+ /* Safari drops :focus-visible from a radio that an arrow key moves focus to, so the focus band
2
+ on Folder, Segmented, Tiles and the other radio groups (interactive.css) disappears. This marks
3
+ such a radio with data-rkui-focus-visible, and the CSS shows the band for a marked radio that
4
+ has focus. Where the radio still matches :focus-visible, nothing is marked. */
5
+ const MARK = 'data-rkui-focus-visible'
6
+
7
+ document.addEventListener('keydown', () => {
8
+ const before = document.activeElement
9
+ // The arrow key moves focus after its keydown listeners have run.
10
+ requestAnimationFrame(() => {
11
+ const radio = document.activeElement
12
+ if (radio !== before && radio?.matches('input[type="radio"]:not(:focus-visible)')) {
13
+ radio.setAttribute(MARK, '')
14
+ }
15
+ })
16
+ })
17
+
18
+ // Each move of focus clears the mark, which the arrow key's frame then sets again. A blur
19
+ // wouldn't do: Safari fires none when a focused radio is removed.
20
+ document.addEventListener('focusin', () =>
21
+ document.querySelector(`[${MARK}]`)?.removeAttribute(MARK),
22
+ )
@@ -0,0 +1,239 @@
1
+ /* The states every interactive component shares: the pop, the flush press for unfilled buttons,
2
+ the pushed-in deck key and tile, the focus band and disabled. Loaded after the components, so
3
+ these win over their rest styles. The range slider's thumb can't join these lists
4
+ (pseudo-elements), so range.css repeats them. */
5
+
6
+ /* Pop: hover lifts the element and grows its shadow; press sinks it into the shadow. A ballot row
7
+ pops its tile from anywhere on the row, and a drawer's handle its pull; :where() keeps that
8
+ below the tile's checked, focused and disabled states. */
9
+ :is(
10
+ .rkui-button,
11
+ .rkui-chip,
12
+ .rkui-card--link,
13
+ .rkui-checkbox,
14
+ .rkui-radio,
15
+ .rkui-switch,
16
+ .rkui-tile,
17
+ .rkui-color-input,
18
+ .rkui-logo,
19
+ .rkui-drawer-pull
20
+ ) {
21
+ box-shadow: var(--rkui-shadow);
22
+ transition:
23
+ translate var(--rkui-duration-fast) ease,
24
+ box-shadow var(--rkui-duration-fast) ease;
25
+ }
26
+
27
+ @media (hover: hover) {
28
+ :is(
29
+ .rkui-button,
30
+ .rkui-chip,
31
+ .rkui-card--link,
32
+ .rkui-checkbox,
33
+ .rkui-radio,
34
+ .rkui-switch,
35
+ .rkui-tile,
36
+ .rkui-color-input,
37
+ .rkui-logo:where(a)
38
+ ):hover,
39
+ .rkui-segmented--deck label:hover,
40
+ .rkui-sidebar--deck .rkui-sidebar-link:where(:not([aria-current='page'])):hover,
41
+ :where(.rkui-ballot-option:hover) > .rkui-tile,
42
+ :where(.rkui-drawer-handle:hover) > .rkui-drawer-pull {
43
+ box-shadow: var(--rkui-shadow-hover);
44
+ translate: calc(-1 * var(--rkui-lift-offset-x)) calc(-1 * var(--rkui-lift-offset-y));
45
+ }
46
+ }
47
+
48
+ :is(
49
+ .rkui-button,
50
+ .rkui-chip,
51
+ .rkui-card--link,
52
+ .rkui-checkbox,
53
+ .rkui-radio,
54
+ .rkui-switch,
55
+ .rkui-tile,
56
+ .rkui-color-input,
57
+ .rkui-logo:where(a)
58
+ ):active,
59
+ .rkui-segmented--deck label:active,
60
+ .rkui-sidebar--deck .rkui-sidebar-link:where(:not([aria-current='page'])):active,
61
+ :where(.rkui-ballot-option:active) > .rkui-tile,
62
+ :where(.rkui-drawer-handle:active) > .rkui-drawer-pull {
63
+ box-shadow: var(--rkui-shadow-pressed);
64
+ translate: var(--rkui-press-offset-x) var(--rkui-press-offset-y);
65
+ }
66
+
67
+ /* A busy button keeps its resting shadow and doesn't pop, since it can't be used until it's done.
68
+ :where() keeps this below the focus band. */
69
+ .rkui-button:where([aria-busy='true']) {
70
+ cursor: progress;
71
+ }
72
+
73
+ .rkui-button:where([aria-busy='true']):is(:hover, :active) {
74
+ box-shadow: var(--rkui-shadow);
75
+ translate: none;
76
+ }
77
+
78
+ /* Unfilled buttons sit flush. Pressed, the frame stays put and gets an inset shadow on the raised
79
+ background (so the dark inset shows in dark mode), and the label sinks: the padding shifts by
80
+ --rkui-press-offset, which moves the label without resizing. */
81
+ .rkui-button--unfilled,
82
+ .rkui-button--unfilled:hover {
83
+ box-shadow: none;
84
+ translate: none;
85
+ }
86
+
87
+ .rkui-button--unfilled:active {
88
+ background: var(--rkui-raised);
89
+ box-shadow: var(--rkui-shadow-inset);
90
+ translate: none;
91
+ padding-block: calc(var(--rkui-button-padding-block) + var(--rkui-press-offset-y))
92
+ calc(var(--rkui-button-padding-block) - var(--rkui-press-offset-y));
93
+ padding-inline: calc(var(--rkui-button-padding-inline) + var(--rkui-press-offset-x))
94
+ calc(var(--rkui-button-padding-inline) - var(--rkui-press-offset-x));
95
+ }
96
+
97
+ /* A checked deck key, or a sidebar deck's current page, is pushed in by the whole shadow offset,
98
+ flush with the page, and doesn't pop. */
99
+ .rkui-segmented--deck label:has(:checked),
100
+ .rkui-sidebar--deck .rkui-sidebar-link[aria-current='page'] {
101
+ box-shadow: none;
102
+ translate: var(--rkui-shadow-offset-x) var(--rkui-shadow-offset-y);
103
+ }
104
+
105
+ /* A checked tile, the current page's, or a toggle button that is on, is pushed in the same way,
106
+ with an inset shadow instead, at the toggles' pace. */
107
+ .rkui-tile:is(:has(:checked), [aria-current='page']),
108
+ .rkui-button:has(:checked) {
109
+ box-shadow: var(--rkui-shadow-inset);
110
+ translate: var(--rkui-shadow-offset-x) var(--rkui-shadow-offset-y);
111
+ transition-duration: var(--rkui-duration-spring);
112
+ }
113
+
114
+ /* Folder tabs pop with their position offsets instead of translate. A translate transition puts
115
+ the tab on its own compositor layer, which snaps to whole pixels and can open a hairline at the
116
+ join with the sheet. The clip at the sheet's edge (folder.css) moves with the offsets. The
117
+ offsets are physical, as the light is, so a tab on a strip turned on end still lifts towards it. */
118
+ .rkui-folder-tab {
119
+ top: var(--rkui-folder-tab-y);
120
+ left: var(--rkui-folder-tab-x);
121
+ box-shadow: var(--rkui-shadow);
122
+ transition:
123
+ top var(--rkui-duration-fast) ease,
124
+ left var(--rkui-duration-fast) ease,
125
+ clip-path var(--rkui-duration-fast) ease,
126
+ box-shadow var(--rkui-duration-fast) ease;
127
+ }
128
+
129
+ @media (hover: hover) {
130
+ .rkui-folder-tab:hover {
131
+ --rkui-folder-tab-x: calc(-1 * var(--rkui-lift-offset-x));
132
+ --rkui-folder-tab-y: calc(-1 * var(--rkui-lift-offset-y));
133
+
134
+ box-shadow: var(--rkui-shadow-hover);
135
+ }
136
+ }
137
+
138
+ .rkui-folder-tab:active {
139
+ --rkui-folder-tab-x: var(--rkui-press-offset-x);
140
+ --rkui-folder-tab-y: var(--rkui-press-offset-y);
141
+
142
+ box-shadow: var(--rkui-shadow-pressed);
143
+ }
144
+
145
+ /* The selected folder tab is joined to the sheet and doesn't pop; its shadow is on ::before
146
+ (folder.css). It takes the selected state at once, so the press it was clicked with doesn't
147
+ ease back across the join. */
148
+ .rkui-folder-tab:is(:has(:checked), [aria-current='page']) {
149
+ --rkui-folder-tab-x: 0px;
150
+ --rkui-folder-tab-y: 0px;
151
+
152
+ box-shadow: none;
153
+ transition: none;
154
+ }
155
+
156
+ /* Focus band. Toggle buttons, chips, cards, tiles, colour input frames, segmented groups (deck
157
+ keys included) and folder tabs show it for the input or link inside them, and a drawer's pull
158
+ for its handle; a segmented group shows it on the group, never on one option. Chips and tiles
159
+ can also be links, focused themselves. A radio marked data-rkui-focus-visible counts as
160
+ :focus-visible: Safari drops it after an arrow key (interactive-enhance.js). */
161
+ :is(
162
+ .rkui-button,
163
+ .rkui-chip,
164
+ .rkui-tile,
165
+ .rkui-checkbox,
166
+ .rkui-radio,
167
+ .rkui-switch,
168
+ .rkui-input,
169
+ .rkui-select,
170
+ .rkui-logo:where(a)
171
+ ):focus-visible,
172
+ /* :where() keeps each selector's specificity what it was, so the cascade doesn't change. */
173
+ .rkui-radio:where([data-rkui-focus-visible]):focus,
174
+ :is(.rkui-folder-tab, .rkui-folder-sheet):focus-visible,
175
+ .rkui-folder-tab:has(:focus-visible, :where([data-rkui-focus-visible]):focus),
176
+ .rkui-sidebar--deck .rkui-sidebar-link:focus-visible,
177
+ .rkui-drawer-handle:focus-visible > .rkui-drawer-pull,
178
+ :is(.rkui-button, .rkui-chip, .rkui-card--link, .rkui-segmented, .rkui-tile, .rkui-color-input):has(
179
+ :focus-visible,
180
+ :where([data-rkui-focus-visible]):focus
181
+ ) {
182
+ outline: var(--rkui-focus-width) solid var(--rkui-focus);
183
+ outline-offset: var(--rkui-focus-offset);
184
+ box-shadow: none;
185
+ }
186
+
187
+ /* The selected folder tab's band is drawn by its ::before in place of its shadow, and stops at
188
+ the sheet's edge like the tab's outline does. */
189
+ .rkui-folder-tab:is(:has(:checked), [aria-current='page']):is(
190
+ :focus-visible,
191
+ :has(:focus-visible, :where([data-rkui-focus-visible]):focus)
192
+ ) {
193
+ outline: none;
194
+ }
195
+
196
+ .rkui-folder-tab:is(:has(:checked), [aria-current='page']):is(
197
+ :focus-visible,
198
+ :has(:focus-visible, :where([data-rkui-focus-visible]):focus)
199
+ )::before {
200
+ outline: var(--rkui-focus-width) solid var(--rkui-focus);
201
+ outline-offset: var(--rkui-focus-offset);
202
+ box-shadow: none;
203
+ --rkui-folder-cut: 0px;
204
+ }
205
+
206
+ /* A focused sheet comes in front of the tabs, so its whole focus band shows, and loses its
207
+ shadow, so its selected tab does too. */
208
+ .rkui-folder-sheet:focus-visible {
209
+ z-index: 3;
210
+ }
211
+
212
+ .rkui-folder:has(> .rkui-folder-sheet:focus-visible) > .rkui-folder-strip .rkui-folder-tab::before {
213
+ box-shadow: none;
214
+ }
215
+
216
+ /* Disabled: dimmed and flat, with no pop. */
217
+ :is(
218
+ .rkui-button,
219
+ .rkui-checkbox,
220
+ .rkui-radio,
221
+ .rkui-switch,
222
+ .rkui-input,
223
+ .rkui-select,
224
+ .rkui-range
225
+ ):disabled,
226
+ :is(.rkui-button, .rkui-chip, .rkui-segmented label, .rkui-tile, .rkui-color-input):has(:disabled),
227
+ .rkui-ballot-option:has(:disabled) > .rkui-ballot-text,
228
+ .rkui-folder-tab.rkui-folder-tab--off {
229
+ opacity: 0.45;
230
+ cursor: not-allowed;
231
+ box-shadow: none;
232
+ translate: none;
233
+ }
234
+
235
+ /* A folder step tab with nowhere to go, at either end of the strip, doesn't pop either. */
236
+ .rkui-folder-tab.rkui-folder-tab--off {
237
+ --rkui-folder-tab-x: 0px;
238
+ --rkui-folder-tab-y: 0px;
239
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Runs `callback` once a segmented control's sliding pill has reached the newly checked option:
3
+ * after `--rkui-duration-slide`, read where the control is, so it is immediate under reduced
4
+ * motion. Use it when checking an option restyles the whole page (a theme or palette switch), which
5
+ * can otherwise cut the slide short.
6
+ *
7
+ * @param {Element} control the `.rkui-segmented` group, or any element inside it
8
+ * @param {() => void} callback
9
+ */
10
+ export function afterSlide(control, callback) {
11
+ const duration = getComputedStyle(control).getPropertyValue('--rkui-duration-slide').trim()
12
+ const milliseconds = duration.endsWith('ms') ? parseFloat(duration) : parseFloat(duration) * 1000
13
+ setTimeout(callback, Number.isFinite(milliseconds) ? milliseconds : 0)
14
+ }
@@ -0,0 +1,58 @@
1
+ // The form and link attributes an Astro page may pass to an rkui component, which hands them on
2
+ // to its native element (an input's `name`, a button's `disabled`). Astro checks a Vue component's
3
+ // tags against its props and the global HTML attributes only, so this adds these to that list.
4
+ // This adds them to every tag in Astro pages, so `<div disabled>` is no longer caught. For type
5
+ // checking only; keep it alphabetical. Each type copies Astro's own (astro-jsx.d.ts), which these
6
+ // declarations must match.
7
+ //
8
+ // An Astro project that installs rkui adds this line to its `src/env.d.ts`:
9
+ // /// <reference types="@oneonefour/rkui/astro-attributes" />
10
+ declare namespace astroHTML.JSX {
11
+ interface HTMLAttributes {
12
+ accept?: string | undefined | null
13
+ autocomplete?: string | undefined | null
14
+ checked?: boolean | string | undefined | null
15
+ closedby?: 'none' | 'closerequest' | 'any' | undefined | null
16
+ cols?: number | string | undefined | null
17
+ // `string & {}`: any other string, while editors still suggest the named commands.
18
+ command?:
19
+ | 'show-modal'
20
+ | 'close'
21
+ | 'request-close'
22
+ | 'show-popover'
23
+ | 'hide-popover'
24
+ | 'toggle-popover'
25
+ | (string & {})
26
+ | undefined
27
+ | null
28
+ commandfor?: string | undefined | null
29
+ disabled?: boolean | string | undefined | null
30
+ download?: string | boolean | undefined | null
31
+ form?: string | undefined | null
32
+ formaction?: string | undefined | null
33
+ formenctype?: string | undefined | null
34
+ formmethod?: string | undefined | null
35
+ formnovalidate?: boolean | string | undefined | null
36
+ formtarget?: string | undefined | null
37
+ list?: string | undefined | null
38
+ max?: number | string | undefined | null
39
+ maxlength?: number | string | undefined | null
40
+ min?: number | string | undefined | null
41
+ minlength?: number | string | undefined | null
42
+ multiple?: boolean | string | undefined | null
43
+ name?: string | undefined | null
44
+ pattern?: string | undefined | null
45
+ placeholder?: string | undefined | null
46
+ popovertarget?: string | undefined | null
47
+ popovertargetaction?: 'hide' | 'show' | 'toggle' | undefined | null
48
+ readonly?: boolean | string | undefined | null
49
+ rel?: string | undefined | null
50
+ required?: boolean | string | undefined | null
51
+ rows?: number | string | undefined | null
52
+ step?: number | string | undefined | null
53
+ target?: string | undefined | null
54
+ type?: string | undefined | null
55
+ value?: string | string[] | number | undefined | null
56
+ wrap?: string | undefined | null
57
+ }
58
+ }
@@ -0,0 +1,148 @@
1
+ import {
2
+ VIEWBOX,
3
+ arcPath,
4
+ nearestTurn,
5
+ percentOfFace,
6
+ polarToCartesian,
7
+ radialLine,
8
+ wrap,
9
+ } from './dial-geometry.js'
10
+
11
+ /** The day and night ring, where the hour hand's tag rides */
12
+ const RING_RADIUS = 86
13
+ const RING_WIDTH = 28
14
+ const TICK_INNER_RADIUS = 58
15
+ const QUARTER_TICK_INNER_RADIUS = 54
16
+ const TICK_OUTER_RADIUS = 66
17
+ const MINUTE_HAND_RADIUS = 40
18
+
19
+ /** The hour hand goes round once a day, with noon at the top and midnight at the bottom. */
20
+ const DEGREES_PER_HOUR = 360 / 24
21
+ const DEGREES_PER_MINUTE = 360 / 60
22
+ const NOON_ANGLE = 12 * DEGREES_PER_HOUR
23
+
24
+ /**
25
+ * @param {number} value
26
+ * @returns {string} the value as two digits
27
+ */
28
+ export function twoDigits(value) {
29
+ return String(value).padStart(2, '0')
30
+ }
31
+
32
+ /**
33
+ * @param {number} hours
34
+ * @param {number} minutes
35
+ * @param {{ hour: number, minute: number }} [previous] where the hands point now; both start at 0
36
+ * @returns {{ hour: number, minute: number }} the angles for the hands, each the nearest turn to
37
+ * where it points now
38
+ */
39
+ export function clockHandAngles(hours, minutes, previous = { hour: 0, minute: 0 }) {
40
+ const hourAngle = wrap((hours + minutes / 60) * DEGREES_PER_HOUR - NOON_ANGLE, 360)
41
+ return {
42
+ hour: nearestTurn(previous.hour, hourAngle),
43
+ minute: nearestTurn(previous.minute, minutes * DEGREES_PER_MINUTE),
44
+ }
45
+ }
46
+
47
+ /**
48
+ * @param {string} name
49
+ * @param {number} angle
50
+ * @returns {string} the properties that tell CSS where to centre the day or night icon, on the ring
51
+ */
52
+ function iconPlacement(name, angle) {
53
+ const { x, y } = percentOfFace(RING_RADIUS, angle)
54
+ return `--rkui-clock-${name}-x: ${x}%; --rkui-clock-${name}-y: ${y}%`
55
+ }
56
+
57
+ /** Inline CSS for the face element: where the day and night icons sit on the ring. */
58
+ export const FACE_STYLE = `${iconPlacement('day', 0)}; ${iconPlacement('night', 180)}`
59
+
60
+ const SIX_AM = 6 * DEGREES_PER_HOUR - NOON_ANGLE
61
+ const SIX_PM = 18 * DEGREES_PER_HOUR - NOON_ANGLE
62
+ const RING_INNER_EDGE = RING_RADIUS - RING_WIDTH / 2
63
+ const RING_OUTER_EDGE = RING_RADIUS + RING_WIDTH / 2
64
+
65
+ /**
66
+ * The day and night ring: the day half over the top and the night half under it, as SVG paths
67
+ * `width` wide, and its edges: a circle of radius `innerEdge` and a line at each end.
68
+ */
69
+ export const RING = {
70
+ width: RING_WIDTH,
71
+ day: arcPath(RING_RADIUS, SIX_AM, SIX_AM + 180),
72
+ night: arcPath(RING_RADIUS, SIX_PM, SIX_PM + 180),
73
+ innerEdge: RING_INNER_EDGE,
74
+ edges: [
75
+ radialLine(RING_INNER_EDGE, RING_OUTER_EDGE, SIX_AM),
76
+ radialLine(RING_INNER_EDGE, RING_OUTER_EDGE, SIX_PM),
77
+ ],
78
+ }
79
+
80
+ /** A tick for every five minutes, as the ends of SVG lines; the ones at the quarters are longer. */
81
+ export const TICKS = Array.from({ length: 12 }, (_, index) => {
82
+ const quarter = index % 3 === 0
83
+ const inner = quarter ? QUARTER_TICK_INNER_RADIUS : TICK_INNER_RADIUS
84
+ return { quarter, line: radialLine(inner, TICK_OUTER_RADIUS, index * 5 * DEGREES_PER_MINUTE) }
85
+ })
86
+
87
+ /** How far each hand reaches from the centre, in SVG units; its tag sits at the tip. */
88
+ const HAND_RADII = { hour: RING_RADIUS, minute: MINUTE_HAND_RADIUS }
89
+
90
+ /**
91
+ * @param {'hour' | 'minute'} hand
92
+ * @returns {string} the hand's length as a percentage of the face, for `--rkui-hand-length`
93
+ */
94
+ export function handLength(hand) {
95
+ return `${(HAND_RADII[hand] / VIEWBOX) * 100}%`
96
+ }
97
+
98
+ /**
99
+ * @param {string} value a time input's value, "HH:MM"
100
+ * @returns {{ hours: number, minutes: number }} the time; an empty value is midnight
101
+ */
102
+ export function parseTime(value) {
103
+ const [hours = 0, minutes = 0] = value.split(':').map(Number)
104
+ return { hours, minutes }
105
+ }
106
+
107
+ /**
108
+ * @param {number} hours any whole number; it wraps round the day
109
+ * @param {number} minutes from 0 to 59
110
+ * @returns {string} the time as a time input's value, "HH:MM"
111
+ */
112
+ export function formatTime(hours, minutes) {
113
+ return `${twoDigits(wrap(hours, 24))}:${twoDigits(minutes)}`
114
+ }
115
+
116
+ /**
117
+ * @param {{ x: number, y: number }} point a point on the face, in SVG units
118
+ * @param {{ hour: number, minute: number }} angles where the hands point
119
+ * @returns {'hour' | 'minute'} the hand whose tag is nearer the point
120
+ */
121
+ export function nearestHand(point, angles) {
122
+ /** @param {'hour' | 'minute'} hand */
123
+ const distance = (hand) => {
124
+ const tag = polarToCartesian(HAND_RADII[hand], angles[hand])
125
+ return Math.hypot(point.x - tag.x, point.y - tag.y)
126
+ }
127
+ return distance('hour') < distance('minute') ? 'hour' : 'minute'
128
+ }
129
+
130
+ /**
131
+ * The time a dragged hand sets. The hour hand keeps the minutes; the minute hand snaps to `step`
132
+ * and, passing 12, moves the hour on or back, as on a real clock.
133
+ * @param {'hour' | 'minute'} hand
134
+ * @param {number} angle where the pointer is, clockwise from 12, 0 to 360
135
+ * @param {{ hours: number, minutes: number }} time the time before this move
136
+ * @param {number} step the minutes the minute hand snaps to
137
+ * @returns {{ hours: number, minutes: number }} the new time; `hours` may be outside 0 to 23
138
+ */
139
+ export function draggedTime(hand, angle, { hours, minutes }, step) {
140
+ if (hand === 'hour') {
141
+ return { hours: Math.round((angle + NOON_ANGLE) / DEGREES_PER_HOUR - minutes / 60), minutes }
142
+ }
143
+ const minute = wrap(Math.round(angle / DEGREES_PER_MINUTE / step) * step, 60)
144
+ let hour = hours
145
+ if (minutes >= 45 && minute < 15) hour += 1
146
+ if (minutes < 15 && minute >= 45) hour -= 1
147
+ return { hours: hour, minutes: minute }
148
+ }
@@ -0,0 +1,17 @@
1
+ import { getCurrentInstance, useId } from 'vue'
2
+
3
+ /** How many ids have been made for apps with no `idPrefix`. */
4
+ let unprefixed = 0
5
+
6
+ /**
7
+ * A unique id for a component's element, e.g. 'rkui-stepper-s1-0'. Call it in `<script setup>`,
8
+ * as for `useId()`. It is Vue's `useId()` behind the library's prefix when the app has an
9
+ * `idPrefix` (Astro sets one for each island that renders on the server, and `defineElement` one
10
+ * for each element). Without one, `useId()` would count from 0 in every app on the page, so a
11
+ * counter shared by the whole page is used instead: those apps (`client:only` islands) never
12
+ * hydrate, so the server never needs the same id.
13
+ */
14
+ export function useComponentId(component: string): string {
15
+ const hasPrefix = Boolean(getCurrentInstance()?.appContext.config.idPrefix)
16
+ return `rkui-${component}-${hasPrefix ? useId() : `u${unprefixed++}`}`
17
+ }
@@ -0,0 +1,51 @@
1
+ import { defineCustomElement, h, useHost, type Component } from 'vue'
2
+
3
+ /** The attributes each element had when it started, kept for when it is moved and restarts. */
4
+ const startingAttributes = new WeakMap<HTMLElement, Record<string, string>>()
5
+ /** How many element apps have started, for each one's id prefix. */
6
+ let apps = 0
7
+
8
+ /** Reads `host`'s attributes and takes them off it, the first time only. */
9
+ function takeAttributes(host: HTMLElement): Record<string, string> {
10
+ let attrs = startingAttributes.get(host)
11
+ if (!attrs) {
12
+ attrs = {}
13
+ for (const { name, value } of [...host.attributes]) attrs[name] = value
14
+ for (const name of Object.keys(attrs)) host.removeAttribute(name)
15
+ startingAttributes.set(host, attrs)
16
+ }
17
+ return attrs
18
+ }
19
+
20
+ /**
21
+ * Registers `component` as the custom element `tag`, for plain HTML pages, which have no other way
22
+ * to say "put a Stepper here". The element renders the component in place, in the light DOM, so
23
+ * the page's CSS styles it. The element's attributes become the component's props and attributes,
24
+ * and move off the element, which takes no space of its own: `<rkui-stepper value="3">` renders
25
+ * just the Stepper. They are read once, when the element first starts: changing one later does
26
+ * nothing, and a moved element keeps the ones it started with.
27
+ */
28
+ export function defineElement(tag: string, component: Component) {
29
+ const element = defineCustomElement(
30
+ {
31
+ // Vue would also hand the element's attributes on; they are read once, here, instead.
32
+ inheritAttrs: false,
33
+ setup() {
34
+ // Always set here: this setup only ever runs inside the element.
35
+ const host = useHost()!
36
+ const attrs = takeAttributes(host)
37
+ host.style.setProperty('display', 'contents')
38
+ return () => h(component, attrs)
39
+ },
40
+ },
41
+ {
42
+ shadowRoot: false,
43
+ // Each element is its own Vue app; without a prefix of its own, every app's ids would
44
+ // start from the same number (component-id.ts).
45
+ configureApp(app) {
46
+ app.config.idPrefix = `e${++apps}`
47
+ },
48
+ },
49
+ )
50
+ customElements.define(tag, element)
51
+ }