@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
@@ -0,0 +1,185 @@
1
+ /* Code block: a panel pressed into the page by a hard inner shadow, with an optional
2
+ language caption and a copy button. The button stays hidden until CodeBlock.vue runs in the
3
+ browser and marks the figure data-rkui-live. It comes after the code so that readers reach the code first, and
4
+ the grid lifts it into the header row. Pre is a scroll region for long lines (overflow.css),
5
+ which the keyboard can scroll (tabindex="0"). The caption may start with a mark for the
6
+ language (the site's logo, a file-type icon, or the file extension as text), coloured by
7
+ --rkui-code-lang-color (default --rkui-muted).
8
+
9
+ <figure class="rkui-code">
10
+ <figcaption class="rkui-code-header">
11
+ <span class="rkui-code-lang">
12
+ <svg class="rkui-icon rkui-icon--small" aria-hidden="true">…optional logo or file-type
13
+ icon…</svg>
14
+ Python
15
+ </span>
16
+ </figcaption>
17
+ <pre class="rkui-scroll" tabindex="0"><code>…</code></pre>
18
+ <button type="button" class="rkui-button rkui-button--small rkui-code-copy">
19
+ <svg class="rkui-icon rkui-icon--small">…copy icon…</svg>
20
+ <span class="rkui-code-copy-label">Copy</span>
21
+ </button>
22
+ </figure>
23
+
24
+ It has the same space above and below as an equation or a quote, so code in a page's prose is
25
+ spaced without a rule of the site's own.
26
+
27
+ Without the figcaption there is no title area: the copy button sits in the code's top-right
28
+ corner. The copy button can be left out too.
29
+
30
+ Opt-in modifiers: .rkui-scroll--bar on the pre keeps its scrollbar visible, with no dots
31
+ (CodeBlock.vue's `bar`), .rkui-code--editor
32
+ puts the caption in a darker strip, like an editor tab, and .rkui-code--copy-hover shows the
33
+ copy button only while the pointer is over the block or focus is inside it.
34
+
35
+ Highlighted code is coloured by Shiki's css-variables theme (highlight.js), which paints each
36
+ token with var(--rkui-shiki-token-*); .rkui-code maps those onto the --rkui-code-* colour
37
+ tokens. */
38
+
39
+ .rkui-code {
40
+ --rkui-recess-floor: var(--rkui-panel);
41
+ --rkui-code-inset: var(--rkui-shadow-recess);
42
+ /* Where the caption and the code start: past the scroll region's dot gutter where that is
43
+ wider (the pill look, overflow.css) */
44
+ --rkui-code-pad: max(var(--rkui-space-4), var(--rkui-dots-gutter));
45
+
46
+ display: grid;
47
+ grid-template-columns: minmax(0, 1fr) auto;
48
+ margin: var(--rkui-space-5) 0;
49
+ border-radius: var(--rkui-radius);
50
+ background: var(--rkui-recess-floor);
51
+ box-shadow: var(--rkui-code-inset);
52
+ color: var(--rkui-fg);
53
+
54
+ --rkui-shiki-foreground: var(--rkui-fg);
55
+ --rkui-shiki-background: transparent;
56
+ --rkui-shiki-token-keyword: var(--rkui-code-keyword);
57
+ --rkui-shiki-token-function: var(--rkui-code-function);
58
+ --rkui-shiki-token-string: var(--rkui-code-string);
59
+ --rkui-shiki-token-string-expression: var(--rkui-code-string);
60
+ --rkui-shiki-token-constant: var(--rkui-code-number);
61
+ --rkui-shiki-token-comment: var(--rkui-code-comment);
62
+ --rkui-shiki-token-parameter: var(--rkui-fg);
63
+ --rkui-shiki-token-punctuation: var(--rkui-fg);
64
+ --rkui-shiki-token-link: var(--rkui-navy-deep);
65
+ }
66
+
67
+ .rkui-code-header {
68
+ display: flex;
69
+ align-items: center;
70
+ grid-row: 1;
71
+ grid-column: 1 / -1;
72
+ padding: var(--rkui-space-2) var(--rkui-code-pad) 0;
73
+ }
74
+
75
+ .rkui-code-lang {
76
+ display: inline-flex;
77
+ align-items: center;
78
+ gap: var(--rkui-space-2);
79
+ color: var(--rkui-muted);
80
+ font-size: var(--rkui-step--1);
81
+ font-weight: 600;
82
+ letter-spacing: 0.1em;
83
+ text-transform: uppercase;
84
+ }
85
+
86
+ /* The mark is sized to the caption text. Wide marks keep their shape: the width follows the
87
+ viewBox. */
88
+ .rkui-code-lang svg {
89
+ inline-size: auto;
90
+ block-size: 1.25em;
91
+ color: var(--rkui-code-lang-color, var(--rkui-muted));
92
+ }
93
+
94
+ /* A single-colour logo is paths with no fill of their own, filled with the caption's colour. The
95
+ file-type icons are lines, marked fill="none", which they keep. */
96
+ .rkui-code-lang svg:not([fill]) {
97
+ fill: currentColor;
98
+ }
99
+
100
+ /* The scroll region's dot gutters (overflow.css) take the outer part of the side padding, so the
101
+ code stays in line with the caption. */
102
+ .rkui-code pre {
103
+ grid-column: 1 / -1;
104
+ margin: 0;
105
+ padding: var(--rkui-space-4);
106
+ padding-inline: calc(var(--rkui-code-pad) - var(--rkui-scroll-gutter));
107
+ background-color: transparent;
108
+ font-size: var(--rkui-step--1);
109
+ line-height: var(--rkui-line-height-body);
110
+ }
111
+
112
+ .rkui-code-copy {
113
+ grid-row: 1;
114
+ grid-column: 2;
115
+ align-self: center;
116
+ margin: var(--rkui-space-2) var(--rkui-space-3) 0 0;
117
+ }
118
+
119
+ /* No caption: the code takes the first row, and the copy button sits over its top-right corner. */
120
+ .rkui-code:not(:has(> .rkui-code-header)) > pre {
121
+ grid-row: 1;
122
+ }
123
+
124
+ .rkui-code:not(:has(> .rkui-code-header)) > .rkui-code-copy {
125
+ position: relative;
126
+ align-self: start;
127
+ margin-block-start: var(--rkui-space-3);
128
+ }
129
+
130
+ /* Until CodeBlock runs in the browser (it sets data-rkui-live), the button would do nothing. It
131
+ keeps its space, so the caption row doesn't grow when it shows. */
132
+ .rkui-code:not([data-rkui-live]) > .rkui-code-copy {
133
+ visibility: hidden;
134
+ }
135
+
136
+ /* Copy on hover: the button rolls down into place while the pointer is over the block, or focus
137
+ is inside it, so the keyboard reaches it. It stays put on a touch screen, which has no hover.
138
+ It moves by transform, as the button's own lift and press use translate, whose transitions are
139
+ kept. */
140
+ @media (hover: hover) {
141
+ .rkui-code--copy-hover > .rkui-code-copy {
142
+ opacity: 0;
143
+ transform: translateY(-100%);
144
+ transition:
145
+ translate var(--rkui-duration-fast) ease,
146
+ box-shadow var(--rkui-duration-fast) ease,
147
+ opacity var(--rkui-duration-fast) ease,
148
+ transform var(--rkui-duration-spring) var(--rkui-ease-snap);
149
+ }
150
+
151
+ .rkui-code--copy-hover:is(:hover, :focus-within) > .rkui-code-copy {
152
+ opacity: 1;
153
+ transform: none;
154
+ }
155
+ }
156
+
157
+ /* The panel shows the focus band for its scroll region: a ring of the outline colour for the band
158
+ to hug. The pre keeps its own focus ring (overflow.css) in browsers without :has(). */
159
+ .rkui-code:has(pre:focus-visible) {
160
+ outline: var(--rkui-focus-width) solid var(--rkui-focus);
161
+ outline-offset: var(--rkui-outline-width);
162
+ box-shadow:
163
+ 0 0 0 var(--rkui-outline-width) var(--rkui-line-unfilled),
164
+ var(--rkui-code-inset);
165
+ }
166
+
167
+ .rkui-code:has(pre:focus-visible) pre {
168
+ outline: none;
169
+ box-shadow: none;
170
+ }
171
+
172
+ /* The editor look is flat: no inner shadow. A blank shadow, not none, so it can sit in a list. */
173
+ .rkui-code--editor {
174
+ --rkui-code-inset: 0 0 transparent;
175
+ }
176
+
177
+ .rkui-code--editor .rkui-code-header {
178
+ padding-block: var(--rkui-space-2);
179
+ border-radius: var(--rkui-radius) var(--rkui-radius) 0 0;
180
+ background: var(--rkui-panel-tab);
181
+ }
182
+
183
+ .rkui-code--editor .rkui-code-copy {
184
+ margin-block: var(--rkui-space-2);
185
+ }
@@ -0,0 +1,46 @@
1
+ // Syntax highlighting for CodeBlock, run on the server only. Shiki's css-variables theme paints each
2
+ // token with var(--rkui-shiki-token-*), which code.css maps onto the --rkui-code-* colour tokens.
3
+ import { bundledLanguages, createCssVariablesTheme, getSingletonHighlighter } from 'shiki'
4
+
5
+ const theme = createCssVariablesTheme({ name: 'css-variables', variablePrefix: '--rkui-shiki-' })
6
+
7
+ /**
8
+ * A Shiki transformer that keeps only what goes inside the `<code>`: the highlighted lines.
9
+ * @type {import('shiki').ShikiTransformer}
10
+ */
11
+ const linesOnly = {
12
+ root(root) {
13
+ const pre = root.children[0]
14
+ const code = pre?.type === 'element' ? pre.children[0] : undefined
15
+ return { type: 'root', children: code?.type === 'element' ? code.children : [] }
16
+ },
17
+ }
18
+
19
+ /**
20
+ * The Shiki language `lang` and the ones it may hold that Shiki only loads when asked, such as
21
+ * the languages of a Markdown file's fenced code. None for a language Shiki doesn't know.
22
+ *
23
+ * @param {string} lang
24
+ * @returns {Promise<string[]>}
25
+ */
26
+ async function languagesFor(lang) {
27
+ if (!(lang in bundledLanguages)) return []
28
+ const { default: grammars } = await bundledLanguages[lang]()
29
+ const embedded = grammars.flatMap((grammar) => grammar.embeddedLangsLazy ?? [])
30
+ return [lang, ...embedded.filter((name) => name in bundledLanguages)]
31
+ }
32
+
33
+ /**
34
+ * Loads Shiki and the language `lang`, and returns a function that highlights code in it (as
35
+ * plain text for a language Shiki doesn't know), at once, as the HTML that goes inside its
36
+ * `<code>`. CodeBlock loads it before it renders, and highlights its slot's text as it renders.
37
+ *
38
+ * @param {string} lang
39
+ * @returns {Promise<(code: string) => string>}
40
+ */
41
+ export async function highlighter(lang) {
42
+ const langs = await languagesFor(lang)
43
+ const shiki = await getSingletonHighlighter({ themes: [theme], langs })
44
+ const known = langs.length ? lang : 'plaintext'
45
+ return (code) => shiki.codeToHtml(code, { lang: known, theme, transformers: [linesOnly] })
46
+ }
@@ -0,0 +1,54 @@
1
+ <!--
2
+ A native colour input on its own, with no palette, in a frame that pops and a paint brush icon.
3
+ `class` and `style` go on the frame; other attributes (name, disabled, ...) go on the input. In a
4
+ `.vue` file, `v-model` is the input's value, a colour such as "#1f6f78". Without one, `value` is
5
+ the starting colour.
6
+
7
+ @example
8
+ <ColorInput label="Background colour" name="background" />
9
+ <ColorInput v-model="background" label="Background colour" />
10
+ -->
11
+ <script setup lang="ts">
12
+ import { useAttrs } from 'vue'
13
+ import PaintBrushIcon from '@oneonefour/rkui/icons/paint-brush.vue'
14
+ import { useLiveValue } from '../../shared/live-value'
15
+ import { splitAttrs } from '../../shared/split-attrs'
16
+
17
+ defineOptions({ inheritAttrs: false })
18
+
19
+ interface Props {
20
+ /** The input's accessible name. */
21
+ label: string
22
+ }
23
+
24
+ const { label } = defineProps<Props>()
25
+
26
+ const attrs = useAttrs()
27
+ /** The input's value (`v-model`); the page's `value` attribute when left out. */
28
+ const model = defineModel<string>()
29
+ if (model.value === undefined) model.value = attrs.value as string | undefined
30
+ // In the browser, the colour chosen before the input woke up wins.
31
+ const vLiveValue = useLiveValue(model)
32
+
33
+ /**
34
+ * The page's attributes: `class` and `style` for the frame (`outer`), the rest for the input.
35
+ * `value` is left out: the model holds it.
36
+ */
37
+ function pageAttrs() {
38
+ const { value, ...rest } = attrs
39
+ return splitAttrs(rest)
40
+ }
41
+ </script>
42
+
43
+ <template>
44
+ <span class="rkui-color-input" v-bind="pageAttrs().outer">
45
+ <input
46
+ v-live-value
47
+ v-model="model"
48
+ type="color"
49
+ :aria-label="label"
50
+ v-bind="pageAttrs().inner"
51
+ />
52
+ <PaintBrushIcon />
53
+ </span>
54
+ </template>
@@ -0,0 +1,110 @@
1
+ <!--
2
+ A colour picker: a tile group of colour tiles, radios for one choice. The slot holds its
3
+ ColorTiles; with none, it shows every hue of the palette. `class`, `style` and other attributes go
4
+ on the fieldset (`disabled` disables the whole group). In a `.vue` file, `v-model` is the chosen
5
+ tile's value, or 'custom'. With `v-model`, the parent's value is the starting value unless it is
6
+ undefined; then `value`, or else the first tile marked `checked`, applies and is handed to the
7
+ parent.
8
+
9
+ Without `custom` it works with no JavaScript, in any page; a plain HTML page writes its HTML.
10
+
11
+ With `custom` it ends with a custom colour tile: a radio and a native colour input, whose colour
12
+ is sent as `<name>-custom`. Picking a colour checks that tile, which needs the browser, so:
13
+ - in an Astro page it needs `client:visible`, and draws every hue itself: ColorTiles written in
14
+ an Astro page or MDX stop the build. For fewer hues, write the picker in a `.vue` file;
15
+ - a plain HTML page writes `<rkui-color-picker custom legend="…" value="…">`, which draws every
16
+ hue.
17
+ Until it runs, the custom tile is chosen from the keyboard or by clicking its outline.
18
+
19
+ @example
20
+ <ColorPicker v-model="accent" legend="Accent" custom>
21
+ <ColorTile value="teal" checked />
22
+ <ColorTile value="coral" />
23
+ </ColorPicker>
24
+ -->
25
+ <script setup lang="ts">
26
+ import { computed, provide, useSlots, type VNode } from 'vue'
27
+ import PaintBrushIcon from '@oneonefour/rkui/icons/paint-brush.vue'
28
+ import PaletteIcon from '@oneonefour/rkui/icons/palette.vue'
29
+ import ColorTile from './ColorTile.vue'
30
+ import { useComponentId } from '../../shared/component-id'
31
+ import { HUES } from '../../shared/hues'
32
+ import { vLiveChecked } from '../../shared/live-value'
33
+ import { modelWithStart } from '../../shared/model-start'
34
+ import { NAME_PLACEHOLDER } from '../../shared/option-group'
35
+ import { checkedValue, fillSlot, OPTION_GROUP } from '../../shared/option-slot'
36
+ import { slotHtml } from '../../shared/slot-html'
37
+
38
+ interface Props {
39
+ /** The group's name; visually hidden unless `flair` is 'stroke'. */
40
+ legend: string
41
+ /** The radios' name, filled into every tile; a unique one is made when left out. */
42
+ name?: string
43
+ /**
44
+ * The value chosen at the start: a hue, or 'custom'. Tiles written in an Astro page or MDX say
45
+ * `checked` instead; the first tile marked `checked` when left out.
46
+ */
47
+ value?: string
48
+ /** End the group with a custom colour tile; none when left out. */
49
+ custom?: boolean
50
+ /** Flair for the checked tile; none when left out. Open, see DECISIONS ("Colour-tile flair"). */
51
+ flair?: 'brush' | 'drops' | 'stroke'
52
+ }
53
+
54
+ const { legend, name, value, custom, flair } = defineProps<Props>()
55
+
56
+ /** The chosen tile's value, or 'custom' (`v-model`); `value` or the `checked` tile's when left out. */
57
+ const model = defineModel<string>()
58
+ const slots = useSlots()
59
+ const selection = modelWithStart(model, () => value ?? checkedValue(slots.default?.() ?? [], false))
60
+ const generatedName = useComponentId('color-picker')
61
+ const group = computed(() => ({ name: name ?? generatedName, multiple: false, model: selection }))
62
+ provide(OPTION_GROUP, group)
63
+
64
+ /**
65
+ * The tiles from the slot, with the group's name filled in. With `custom` they must be Vue
66
+ * components: tiles Astro rendered as page HTML would be rebuilt when the picker wakes up.
67
+ */
68
+ function tiles(vnodes: VNode[]): VNode[] {
69
+ // Tiles Astro rendered carry the name placeholder that fillSlot fills in.
70
+ const pageHtml = vnodes.some((vnode) => slotHtml(vnode)?.includes(NAME_PLACEHOLDER))
71
+ if (custom && pageHtml) {
72
+ throw new Error(
73
+ 'ColorPicker: with `custom`, its ColorTiles must be written in a .vue file. In an Astro or ' +
74
+ 'MDX page, leave the tiles out to show every hue.',
75
+ )
76
+ }
77
+ return fillSlot(vnodes, group.value)
78
+ }
79
+ </script>
80
+
81
+ <template>
82
+ <fieldset :class="['rkui-tiles', flair && `rkui-tiles--${flair}`]">
83
+ <legend v-if="flair === 'stroke'">
84
+ <PaletteIcon class="rkui-icon rkui-icon--small" />
85
+ {{ legend }}
86
+ </legend>
87
+ <legend v-else class="rkui-visually-hidden">{{ legend }}</legend>
88
+ <template v-if="$slots.default">
89
+ <component :is="tile" v-for="(tile, i) in tiles($slots.default())" :key="i" />
90
+ </template>
91
+ <ColorTile v-for="hue in HUES" v-else :key="hue" :value="hue" />
92
+ <label v-if="custom" class="rkui-tile rkui-tile--custom-color">
93
+ <input
94
+ v-live-checked
95
+ v-model="selection"
96
+ type="radio"
97
+ :name="group.name"
98
+ value="custom"
99
+ aria-label="Custom colour"
100
+ />
101
+ <input
102
+ type="color"
103
+ :name="`${group.name}-custom`"
104
+ aria-label="Choose custom colour"
105
+ @input="selection = 'custom'"
106
+ />
107
+ <PaintBrushIcon />
108
+ </label>
109
+ </fieldset>
110
+ </template>
@@ -0,0 +1,28 @@
1
+ <!--
2
+ One colour tile of a ColorPicker: a Tile filled with a hue and named by it, with a radio under
3
+ it. Put tiles in a ColorPicker, which fills in their `name` and holds their `v-model`. `class`
4
+ and `style` go on the label; other attributes go on the input.
5
+
6
+ @example
7
+ <ColorTile value="teal" checked />
8
+ -->
9
+ <script setup lang="ts">
10
+ import Tile from '../tiles/Tile.vue'
11
+ import type { Hue } from '../../shared/hues'
12
+
13
+ interface Props {
14
+ /** The hue the tile shows, and the value the form sends when it is chosen. */
15
+ value: Hue
16
+ /** Starts chosen; unchosen when left out. */
17
+ checked?: boolean
18
+ /** Can't be chosen; enabled when left out. */
19
+ disabled?: boolean
20
+ }
21
+
22
+ const { value, checked, disabled } = defineProps<Props>()
23
+ </script>
24
+
25
+ <template>
26
+ <!-- The Tile finds its ColorPicker by inject, for its input's name and checked state. -->
27
+ <Tile :value :hue="value" :checked :disabled>{{ value }}</Tile>
28
+ </template>
@@ -0,0 +1,7 @@
1
+ // <rkui-color-picker> for plain HTML pages, bundled into dist/rkui.js, for a picker with a custom
2
+ // colour tile: <rkui-color-picker custom legend="Accent" value="teal"></rkui-color-picker>. It draws
3
+ // every hue. A picker without `custom` needs no element: the page writes its HTML.
4
+ import { defineElement } from '../../shared/define-element'
5
+ import ColorPicker from './ColorPicker.vue'
6
+
7
+ defineElement('rkui-color-picker', ColorPicker)
@@ -0,0 +1,219 @@
1
+ /* Colour pickers. Colours come from tokens through --rkui-swatch.
2
+
3
+ With a palette: a tile group (tiles.css) of colour tiles, each filled from --rkui-swatch and
4
+ named by hidden text. The checked one is pushed into the page and keeps its colour.
5
+ <fieldset class="rkui-tiles">
6
+ <legend class="rkui-visually-hidden">Colour</legend>
7
+ <label class="rkui-tile rkui-tile--color" style="--rkui-swatch: var(--rkui-teal)">
8
+ <input type="radio" name="color" value="teal">
9
+ <span class="rkui-visually-hidden">Teal</span>
10
+ </label>
11
+ …
12
+ </fieldset>
13
+
14
+ To allow any colour as well, end the group with a custom colour tile: a radio, a native colour
15
+ input and a paint brush icon. Picking a colour checks the tile's radio only where ColorPicker
16
+ runs in the browser; otherwise the radio is checked from the keyboard or by clicking the tile's
17
+ outline.
18
+ <fieldset class="rkui-tiles">
19
+ …
20
+ <label class="rkui-tile rkui-tile--custom-color">
21
+ <input type="radio" name="color" value="custom" aria-label="Custom colour">
22
+ <input type="color" name="color-custom" aria-label="Choose custom colour">
23
+ <svg aria-hidden="true">…paint-brush…</svg>
24
+ </label>
25
+ </fieldset>
26
+
27
+ Without a palette: the native colour input on its own, in a frame that pops, with the same
28
+ paint brush.
29
+ <span class="rkui-color-input">
30
+ <input type="color" aria-label="Colour">
31
+ <svg aria-hidden="true">…paint-brush…</svg>
32
+ </span> */
33
+
34
+ /* Colour tiles and the standalone frame are filled, so they take the dark outline in both themes.
35
+ They keep their colours in forced colours, since the colour is the content. */
36
+ :is(.rkui-tile--color, .rkui-tile--custom-color, .rkui-color-input) {
37
+ border-color: var(--rkui-line);
38
+ forced-color-adjust: none;
39
+ }
40
+
41
+ /* The standalone frame pops like a button (interactive.css). */
42
+ .rkui-color-input {
43
+ --rkui-picker-radius: calc(var(--rkui-radius) - var(--rkui-outline-width));
44
+
45
+ position: relative;
46
+ display: inline-block;
47
+ inline-size: 3.5rem;
48
+ block-size: 2.5rem;
49
+ border-width: var(--rkui-outline-width);
50
+ border-style: solid;
51
+ border-radius: var(--rkui-radius);
52
+ cursor: pointer;
53
+ }
54
+
55
+ .rkui-tile--custom-color {
56
+ --rkui-picker-radius: 50%;
57
+ }
58
+
59
+ /* The native input fills the custom colour tile or the standalone frame, which shows the focus
60
+ band for it. --rkui-picker-radius rounds the input and the browser's swatch inside it to
61
+ match. */
62
+
63
+ :is(.rkui-tile--custom-color, .rkui-color-input) > input[type='color'] {
64
+ appearance: none;
65
+ position: absolute;
66
+ inset: 0;
67
+ inline-size: 100%;
68
+ block-size: 100%;
69
+ padding: 0;
70
+ border: 0;
71
+ border-radius: var(--rkui-picker-radius);
72
+ outline: none;
73
+ background: none;
74
+ cursor: inherit;
75
+ }
76
+
77
+ :is(.rkui-tile--custom-color, .rkui-color-input)
78
+ > input[type='color']::-webkit-color-swatch-wrapper {
79
+ padding: 0;
80
+ }
81
+
82
+ :is(.rkui-tile--custom-color, .rkui-color-input) > input[type='color']::-webkit-color-swatch {
83
+ border: 0;
84
+ border-radius: var(--rkui-picker-radius);
85
+ }
86
+
87
+ :is(.rkui-tile--custom-color, .rkui-color-input) > input[type='color']::-moz-color-swatch {
88
+ border: 0;
89
+ border-radius: var(--rkui-picker-radius);
90
+ }
91
+
92
+ /* The native input covers the tile and its inset shadow, so a chosen custom tile draws the same
93
+ shadow again over the input. */
94
+ .rkui-tile--custom-color:has(> input[type='radio']:checked)::after {
95
+ content: '';
96
+ position: absolute;
97
+ inset: 0;
98
+ border-radius: inherit;
99
+ box-shadow: var(--rkui-shadow-inset);
100
+ pointer-events: none;
101
+ }
102
+
103
+ /* The paint brush sits on a neutral disc in the corner, so it reads on any picked colour. Clicks
104
+ pass through it to the input. */
105
+ :is(.rkui-tile--custom-color, .rkui-color-input) > svg {
106
+ --rkui-icon-stroke: 28;
107
+
108
+ position: absolute;
109
+ inset-block-end: -0.375rem;
110
+ inset-inline-end: -0.375rem;
111
+ inline-size: 1.375rem;
112
+ block-size: 1.375rem;
113
+ padding: 0.125rem;
114
+ border: var(--rkui-outline-width) solid var(--rkui-line-unfilled);
115
+ border-radius: 50%;
116
+ background: var(--rkui-raised);
117
+ color: var(--rkui-fg);
118
+ forced-color-adjust: auto;
119
+ pointer-events: none;
120
+ z-index: 1;
121
+ }
122
+
123
+ /* Flair options for colour tiles. With none, the tiles are plain (flair none). Each
124
+ is a modifier on the group. */
125
+
126
+ /* Flair A: add .rkui-tiles--brush for a faint paint brush on the checked and hovered colour tiles.
127
+ The brush is ink; give hues that carry white text their own colour through --rkui-swatch-on:
128
+ style="--rkui-swatch: var(--rkui-navy); --rkui-swatch-on: var(--rkui-on-navy)". */
129
+
130
+ .rkui-tiles--brush .rkui-tile--color::after {
131
+ content: '';
132
+ position: absolute;
133
+ inset: 15%;
134
+ background-color: var(--rkui-swatch-on, var(--rkui-on-fill));
135
+ mask: url('../../../dist/icons/paint-brush.svg') center / contain no-repeat;
136
+ opacity: 0;
137
+ transition: opacity var(--rkui-duration-fast) ease;
138
+ }
139
+
140
+ .rkui-tiles--brush .rkui-tile--color:has(:checked)::after {
141
+ opacity: 0.7;
142
+ }
143
+
144
+ @media (hover: hover) {
145
+ .rkui-tiles--brush .rkui-tile--color:not(:has(:disabled)):hover::after {
146
+ opacity: 0.7;
147
+ }
148
+ }
149
+
150
+ /* Flair B: add .rkui-tiles--drops for tiles shaped like paint drops: a square with one sharp
151
+ corner, turned so that corner points up. Turning a tile turns its shadows too, so they are
152
+ redefined in its own axes: the shadow direction turned back by 45deg. */
153
+
154
+ .rkui-tiles--drops {
155
+ --rkui-drop-corners: 0 50% 50% 50%;
156
+
157
+ padding-block-start: var(--rkui-space-2);
158
+ }
159
+
160
+ .rkui-tiles--drops .rkui-tile {
161
+ --rkui-diagonal: 1.4142;
162
+ --rkui-drop-dx: calc((var(--rkui-shadow-dx) + var(--rkui-shadow-dy)) * var(--rkui-diagonal) / 2);
163
+ --rkui-drop-dy: calc((var(--rkui-shadow-dy) - var(--rkui-shadow-dx)) * var(--rkui-diagonal) / 2);
164
+ --rkui-shadow:
165
+ calc(var(--rkui-shadow-offset) * var(--rkui-drop-dx))
166
+ calc(var(--rkui-shadow-offset) * var(--rkui-drop-dy)) 0 var(--rkui-shadow-color),
167
+ calc(var(--rkui-shadow-offset) * var(--rkui-drop-dx))
168
+ calc(var(--rkui-shadow-offset) * var(--rkui-drop-dy)) 0 var(--rkui-outline-width)
169
+ var(--rkui-shadow-edge);
170
+ --rkui-shadow-hover:
171
+ calc(var(--rkui-shadow-offset-hover) * var(--rkui-drop-dx))
172
+ calc(var(--rkui-shadow-offset-hover) * var(--rkui-drop-dy)) 0 var(--rkui-shadow-color),
173
+ calc(var(--rkui-shadow-offset-hover) * var(--rkui-drop-dx))
174
+ calc(var(--rkui-shadow-offset-hover) * var(--rkui-drop-dy)) 0 var(--rkui-outline-width)
175
+ var(--rkui-shadow-edge);
176
+ --rkui-shadow-pressed:
177
+ calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dx))
178
+ calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dy)) 0 var(--rkui-shadow-color),
179
+ calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dx))
180
+ calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dy)) 0 var(--rkui-outline-width)
181
+ var(--rkui-shadow-edge);
182
+ --rkui-shadow-inset: inset calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dx))
183
+ calc(var(--rkui-shadow-offset-pressed) * var(--rkui-drop-dy)) 0 var(--rkui-line);
184
+ --rkui-picker-radius: var(--rkui-drop-corners);
185
+
186
+ border-radius: var(--rkui-drop-corners);
187
+ rotate: 45deg;
188
+ }
189
+
190
+ .rkui-tiles--drops .rkui-tile--custom-color > svg {
191
+ rotate: -45deg;
192
+ }
193
+
194
+ /* Flair C: add .rkui-tiles--stroke for a visible legend with a palette icon and a short paint
195
+ stroke in the checked colour under the checked tile.
196
+ <legend><svg class="rkui-icon rkui-icon--small" aria-hidden="true">…</svg> Colour</legend> */
197
+
198
+ .rkui-tiles--stroke {
199
+ padding-block-end: var(--rkui-space-4);
200
+ }
201
+
202
+ .rkui-tiles--stroke legend {
203
+ display: flex;
204
+ align-items: center;
205
+ gap: var(--rkui-space-2);
206
+ margin-block-end: var(--rkui-space-2);
207
+ padding: 0;
208
+ font-weight: 600;
209
+ }
210
+
211
+ .rkui-tiles--stroke .rkui-tile--color:has(:checked)::after {
212
+ content: '';
213
+ position: absolute;
214
+ inset-block-start: calc(100% + var(--rkui-space-2));
215
+ inset-inline: calc(-1 * var(--rkui-space-2));
216
+ block-size: var(--rkui-space-1);
217
+ border-radius: var(--rkui-radius-pill);
218
+ background: var(--rkui-swatch);
219
+ }