@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,169 @@
1
+ <!--
2
+ A range slider: a native `<input type="range">` with a pill track and an outlined thumb, in a
3
+ `.rkui-range-control` div inside a Field. `class` and `style` go on the Field's div when there is
4
+ a label, hint or error, otherwise on the `.rkui-range-control` div; other attributes (name, min,
5
+ max, step, disabled, aria-label, ...) go on the input. Without a label, give it an `aria-label`.
6
+
7
+ With `ticks` a row of tick marks and value labels sits under the slider; match them to min, max
8
+ and step so the thumb lands on them. In the browser the thumb then snaps from tick to tick with
9
+ one small overshoot. `valueDisplay` shows the value in the thumb or in a popup over it, raised
10
+ like a Tooltip or flat. Both follow the slider only in the browser, so in an Astro page a Range
11
+ with `ticks` or `valueDisplay` needs `client:visible`; without it, it is a plain slider: the
12
+ thumb jumps, and the value doesn't show. A plain HTML page's `<rkui-range>` doesn't take
13
+ `ticks`; the page writes the slider's HTML.
14
+
15
+ In a `.vue` file, `v-model` is the slider's value, a number. Without one, `value` is the
16
+ starting value; the middle of the range when left out.
17
+
18
+ @example
19
+ <Range client:visible label="Opacity" value-display="popup" min="0" max="1" step="0.01" value="0.28" />
20
+ <Range client:visible label="Volume" step="25" ticks={[0, 25, 50, 75, 100]} />
21
+ -->
22
+ <script setup lang="ts">
23
+ import { computed, onMounted, ref, useAttrs } from 'vue'
24
+ import Field from '../field/Field.vue'
25
+ import { useComponentId } from '../../shared/component-id'
26
+ import { useLiveValue } from '../../shared/live-value'
27
+ import { controlAttrs } from '../../shared/split-attrs'
28
+
29
+ defineOptions({ inheritAttrs: false })
30
+
31
+ interface Props {
32
+ /** The visible label; none when left out. */
33
+ label?: string
34
+ /** A quiet line under the slider; none when left out. */
35
+ hint?: string
36
+ /** An error line under the slider; it also marks the input invalid; none when left out. */
37
+ error?: string
38
+ /** The values to mark with a tick and a label under the slider; no ticks when left out. */
39
+ ticks?: number[]
40
+ /**
41
+ * Where the value shows while the slider runs in the browser: 'thumb' (inside the thumb, which
42
+ * widens to fit it), 'popup' (in a raised bubble over the thumb, like a Tooltip, while it is
43
+ * hovered, dragged or focused from the keyboard) or 'flat-popup' (the same bubble in the page's
44
+ * colours swapped, with no outline or shadow); not shown when left out.
45
+ */
46
+ valueDisplay?: 'thumb' | 'popup' | 'flat-popup'
47
+ }
48
+
49
+ const { label, hint, error, ticks, valueDisplay } = defineProps<Props>()
50
+
51
+ const attrs = useAttrs()
52
+ /** The slider's value (`v-model`), a number; the page's `value` attribute when left out. */
53
+ const model = defineModel<number>()
54
+ if (model.value === undefined) {
55
+ const min = Number(attrs.min ?? 0)
56
+ const max = Number(attrs.max ?? 100)
57
+ model.value = Number(attrs.value ?? min + (max - min) / 2)
58
+ }
59
+ // In the browser, the slider's own value wins: what was moved before the Range woke up, or a
60
+ // starting value it clamped or snapped to a step.
61
+ const vLiveValue = useLiveValue(model)
62
+ const id = (attrs.id as string | undefined) ?? useComponentId('range')
63
+ // Set once the Range runs in the browser; until then range.css hides the drawn thumb and popup.
64
+ const live = ref(false)
65
+ onMounted(() => (live.value = true))
66
+ // Whether a pointer is holding the slider: `:active` alone misses a touch in Safari on iPhone.
67
+ const dragging = ref(false)
68
+
69
+ /** Whether the Range draws its own thumb over the native one, which can't move smoothly. */
70
+ const drawsThumb = computed(() => Boolean(ticks) || valueDisplay === 'thumb')
71
+
72
+ /** The popup's look, or undefined when the value shows in the thumb or not at all. */
73
+ const popup = computed<'toon' | 'flat' | undefined>(() => {
74
+ if (valueDisplay === 'popup') return 'toon'
75
+ if (valueDisplay === 'flat-popup') return 'flat'
76
+ return undefined
77
+ })
78
+
79
+ /** How many decimals the value shows: as many as `step` has. */
80
+ function decimals() {
81
+ return String(attrs.step ?? 1).split('.')[1]?.length ?? 0
82
+ }
83
+
84
+ /** The slider's bounds, from the page's `min` and `max`. */
85
+ function bounds() {
86
+ return { min: Number(attrs.min ?? 0), max: Number(attrs.max ?? 100) }
87
+ }
88
+
89
+ /** The value as the thumb or popup shows it. */
90
+ function shownValue() {
91
+ return Number(model.value).toFixed(decimals())
92
+ }
93
+
94
+ /**
95
+ * Where the thumb sits, as `--rkui-range-fraction` (0 at min, 1 at max), and in the thumb, how many
96
+ * characters its widest value has, as `--rkui-range-chars`.
97
+ */
98
+ function vars() {
99
+ const style: Record<string, number> = {}
100
+ if (!drawsThumb.value && !valueDisplay) return style
101
+ const { min, max } = bounds()
102
+ style['--rkui-range-fraction'] = Math.min(Math.max((model.value! - min) / (max - min), 0), 1)
103
+ if (valueDisplay === 'thumb') {
104
+ const widest = [min, max].map((end) => end.toFixed(decimals()).length)
105
+ style['--rkui-range-chars'] = Math.max(...widest)
106
+ }
107
+ return style
108
+ }
109
+
110
+ /** Marks the slider held until the pointer lets go, anywhere on the page. */
111
+ function grab(event: PointerEvent) {
112
+ if ((event.target as HTMLInputElement).disabled) return
113
+ dragging.value = true
114
+ const letGo = () => {
115
+ dragging.value = false
116
+ window.removeEventListener('pointerup', letGo)
117
+ window.removeEventListener('pointercancel', letGo)
118
+ }
119
+ window.addEventListener('pointerup', letGo)
120
+ window.addEventListener('pointercancel', letGo)
121
+ }
122
+
123
+ /**
124
+ * The page's attributes: `class` and `style` for the Field's div when it draws a frame, otherwise
125
+ * for the `.rkui-range-control` div (`wrapper`); the rest for the input (`wrappedControl`).
126
+ * `value` is left out: the model holds it. With ticks, the slider's `list` must name their
127
+ * datalist, so the page's is left out too.
128
+ */
129
+ function pageAttrs() {
130
+ const { value, ...rest } = attrs
131
+ if (ticks) delete rest.list
132
+ return controlAttrs(rest, id, { label, hint, error })
133
+ }
134
+ </script>
135
+
136
+ <template>
137
+ <Field :label :for="id" :hint :error v-bind="pageAttrs().field">
138
+ <div
139
+ :class="['rkui-range-control', valueDisplay === 'thumb' && 'rkui-range-control--thumb']"
140
+ :style="vars()"
141
+ :data-rkui-live="live ? '' : undefined"
142
+ :data-rkui-dragging="dragging ? '' : undefined"
143
+ v-bind="pageAttrs().wrapper"
144
+ >
145
+ <input
146
+ v-live-value
147
+ v-model.number="model"
148
+ class="rkui-range"
149
+ type="range"
150
+ :list="ticks ? `${id}-ticks` : undefined"
151
+ v-bind="pageAttrs().wrappedControl"
152
+ @pointerdown="grab"
153
+ />
154
+ <span v-if="drawsThumb" class="rkui-range-thumb" aria-hidden="true">
155
+ {{ valueDisplay === 'thumb' ? shownValue() : '' }}
156
+ </span>
157
+ <span
158
+ v-if="popup"
159
+ :class="['rkui-range-popup', popup === 'flat' && 'rkui-range-popup--flat']"
160
+ aria-hidden="true"
161
+ >
162
+ {{ shownValue() }}
163
+ </span>
164
+ <datalist v-if="ticks" :id="`${id}-ticks`" class="rkui-range-scale">
165
+ <option v-for="tick in ticks" :key="tick" :value="tick">{{ tick }}</option>
166
+ </datalist>
167
+ </div>
168
+ </Field>
169
+ </template>
@@ -0,0 +1,8 @@
1
+ // <rkui-range> for plain HTML pages, bundled into dist/rkui.js. Only a range that shows its value
2
+ // needs it: <rkui-range label="Opacity" value-display="popup" min="0" max="1" step="0.01"
3
+ // value="0.28"></rkui-range>. It doesn't take `ticks`, which an attribute can't carry as a list; a
4
+ // page that wants ticks, or no value shown, writes the slider's HTML.
5
+ import { defineElement } from '../../shared/define-element'
6
+ import Range from './Range.vue'
7
+
8
+ defineElement('rkui-range', Range)
@@ -0,0 +1,315 @@
1
+ /* Range slider: a pill track and an outlined thumb that pops. WebKit and Firefox name the parts
2
+ differently and one unknown pseudo-element drops a whole selector list, so each part is styled
3
+ twice; the states set custom properties that both thumbs read.
4
+
5
+ Range.vue puts the input in a .rkui-range-control div. To move smoothly, or to hold the value,
6
+ the thumb is drawn there as .rkui-range-thumb over the native one, which turns invisible but
7
+ still takes the pointer. A .rkui-range-popup shows the value over the thumb. Range.vue sets
8
+ --rkui-range-fraction (0 at min, 1 at max) to place them, and marks the div data-rkui-live once
9
+ it runs in the browser; until then they stay hidden and the native thumb shows.
10
+
11
+ <div class="rkui-range-control" style="--rkui-range-fraction: 0.5">
12
+ <input class="rkui-range" type="range">
13
+ <span class="rkui-range-thumb" aria-hidden="true"></span>
14
+ </div> */
15
+
16
+ .rkui-range,
17
+ .rkui-range-control {
18
+ --rkui-track-height: 0.75rem;
19
+ --rkui-thumb-size: 1.5rem;
20
+ }
21
+
22
+ .rkui-range,
23
+ .rkui-range-thumb {
24
+ --rkui-thumb-shadow: var(--rkui-shadow);
25
+ /* How far the thumb sits towards the light. At rest it is one press offset off the track's
26
+ centre, so pressed in, it is centred. */
27
+ --rkui-thumb-shift: calc(-1 * var(--rkui-press-offset));
28
+ }
29
+
30
+ .rkui-range {
31
+ appearance: none;
32
+ inline-size: 100%;
33
+ block-size: calc(var(--rkui-thumb-size) + var(--rkui-space-2));
34
+ margin: 0;
35
+ background: transparent;
36
+ cursor: pointer;
37
+ }
38
+
39
+ .rkui-range::-webkit-slider-runnable-track {
40
+ box-sizing: border-box;
41
+ block-size: var(--rkui-track-height);
42
+ border: var(--rkui-outline-width) solid var(--rkui-line-unfilled);
43
+ border-radius: var(--rkui-radius-pill);
44
+ background: var(--rkui-raised);
45
+ }
46
+
47
+ .rkui-range::-moz-range-track {
48
+ box-sizing: border-box;
49
+ block-size: var(--rkui-track-height);
50
+ border: var(--rkui-outline-width) solid var(--rkui-line-unfilled);
51
+ border-radius: var(--rkui-radius-pill);
52
+ background: var(--rkui-raised);
53
+ }
54
+
55
+ /* --rkui-range-thumb-width widens the thumb to hold the value (.rkui-range-control--thumb). */
56
+ .rkui-range::-webkit-slider-thumb {
57
+ appearance: none;
58
+ box-sizing: border-box;
59
+ inline-size: var(--rkui-range-thumb-width, var(--rkui-thumb-size));
60
+ block-size: var(--rkui-thumb-size);
61
+ /* WebKit puts the thumb at the top of the track's content box, inside the track border. */
62
+ margin-block-start: calc(
63
+ (var(--rkui-track-height) - var(--rkui-thumb-size)) / 2 - var(--rkui-outline-width)
64
+ );
65
+ border: var(--rkui-outline-width) solid var(--rkui-line);
66
+ border-radius: var(--rkui-radius-pill);
67
+ background: var(--rkui-selected);
68
+ box-shadow: var(--rkui-thumb-shadow);
69
+ translate: calc(var(--rkui-shadow-dx) * var(--rkui-thumb-shift))
70
+ calc(var(--rkui-shadow-dy) * var(--rkui-thumb-shift));
71
+ transition:
72
+ translate var(--rkui-duration-fast) ease,
73
+ box-shadow var(--rkui-duration-fast) ease;
74
+ }
75
+
76
+ .rkui-range::-moz-range-thumb {
77
+ box-sizing: border-box;
78
+ inline-size: var(--rkui-range-thumb-width, var(--rkui-thumb-size));
79
+ block-size: var(--rkui-thumb-size);
80
+ border: var(--rkui-outline-width) solid var(--rkui-line);
81
+ border-radius: var(--rkui-radius-pill);
82
+ background: var(--rkui-selected);
83
+ box-shadow: var(--rkui-thumb-shadow);
84
+ translate: calc(var(--rkui-shadow-dx) * var(--rkui-thumb-shift))
85
+ calc(var(--rkui-shadow-dy) * var(--rkui-thumb-shift));
86
+ transition:
87
+ translate var(--rkui-duration-fast) ease,
88
+ box-shadow var(--rkui-duration-fast) ease;
89
+ }
90
+
91
+ /* The control: the input, with the drawn thumb and the popup over it, and the ticks below. */
92
+ .rkui-range-control {
93
+ /* How long the drawn thumb and the popup take to reach a new value: at once, or with ticks, a
94
+ snap with one small overshoot. */
95
+ --rkui-range-glide: 0s;
96
+ /* Where the thumb's centre is: its half width in from the track's inner edge, plus its share of
97
+ the travel. */
98
+ --rkui-range-thumb-centre: calc(
99
+ var(--rkui-outline-width) + var(--rkui-range-thumb-width, var(--rkui-thumb-size)) / 2 +
100
+ var(--rkui-range-fraction, 0) *
101
+ (100% - 2 * var(--rkui-outline-width) - var(--rkui-range-thumb-width, var(--rkui-thumb-size)))
102
+ );
103
+
104
+ display: grid;
105
+ inline-size: 100%;
106
+ }
107
+
108
+ .rkui-range-control:has(> .rkui-range-scale) {
109
+ --rkui-range-glide: var(--rkui-duration-spring);
110
+ }
111
+
112
+ .rkui-range-control > * {
113
+ grid-area: 1 / 1;
114
+ }
115
+
116
+ .rkui-range-control > .rkui-range-scale {
117
+ grid-area: 2 / 1;
118
+ }
119
+
120
+ /* A JetBrains Mono character is 0.6em wide. Only once the Range runs, so the native thumb that
121
+ shows until then keeps its size. */
122
+ .rkui-range-control--thumb[data-rkui-live] {
123
+ --rkui-range-thumb-width: max(
124
+ var(--rkui-thumb-size),
125
+ calc(
126
+ var(--rkui-range-chars) * 0.6 * var(--rkui-step--1) + 2 * var(--rkui-space-2) + 2 *
127
+ var(--rkui-outline-width)
128
+ )
129
+ );
130
+ }
131
+
132
+ /* The drawn thumb, centred on --rkui-range-thumb-centre by its margin, since translate is taken
133
+ by the pop. */
134
+ .rkui-range-thumb {
135
+ display: grid;
136
+ place-items: center;
137
+ position: relative;
138
+ inset-inline-start: var(--rkui-range-thumb-centre);
139
+ align-self: center;
140
+ justify-self: start;
141
+ box-sizing: border-box;
142
+ inline-size: var(--rkui-range-thumb-width, var(--rkui-thumb-size));
143
+ block-size: var(--rkui-thumb-size);
144
+ margin-inline-start: calc(var(--rkui-range-thumb-width, var(--rkui-thumb-size)) / -2);
145
+ border: var(--rkui-outline-width) solid var(--rkui-line);
146
+ border-radius: var(--rkui-radius-pill);
147
+ background: var(--rkui-selected);
148
+ color: var(--rkui-on-selected);
149
+ box-shadow: var(--rkui-thumb-shadow);
150
+ font-family: var(--rkui-font-mono);
151
+ font-size: var(--rkui-step--1);
152
+ font-variant-numeric: tabular-nums;
153
+ font-weight: 700;
154
+ line-height: 1;
155
+ pointer-events: none;
156
+ visibility: hidden;
157
+ translate: calc(var(--rkui-shadow-dx) * var(--rkui-thumb-shift))
158
+ calc(var(--rkui-shadow-dy) * var(--rkui-thumb-shift));
159
+ transition:
160
+ translate var(--rkui-duration-fast) ease,
161
+ box-shadow var(--rkui-duration-fast) ease,
162
+ inset-inline-start var(--rkui-range-glide) var(--rkui-ease-snap);
163
+ }
164
+
165
+ .rkui-range-control[data-rkui-live] > .rkui-range-thumb {
166
+ visibility: visible;
167
+ }
168
+
169
+ .rkui-range-control[data-rkui-live]:has(> .rkui-range-thumb) > .rkui-range::-webkit-slider-thumb {
170
+ opacity: 0;
171
+ }
172
+
173
+ .rkui-range-control[data-rkui-live]:has(> .rkui-range-thumb) > .rkui-range::-moz-range-thumb {
174
+ opacity: 0;
175
+ }
176
+
177
+ /* The popup: the value in a bubble with a tail, over the thumb, like a tooltip: raised, with the
178
+ outline and the hard shadow, or with .rkui-range-popup--flat, in the page's colours swapped with
179
+ neither. Its centre sits on the thumb's: half its width back along the line, which runs the
180
+ other way in right-to-left text. */
181
+ .rkui-range-popup {
182
+ --rkui-range-popup-gap: var(--rkui-space-3);
183
+ --rkui-range-popup-back: -50%;
184
+ --rkui-range-popup-fill: var(--rkui-raised);
185
+ --rkui-range-popup-text: var(--rkui-fg);
186
+ --rkui-range-popup-edge: var(--rkui-line-unfilled);
187
+
188
+ position: relative;
189
+ inset-inline-start: var(--rkui-range-thumb-centre);
190
+ z-index: 10;
191
+ align-self: start;
192
+ justify-self: start;
193
+ padding: var(--rkui-space-1) var(--rkui-space-2);
194
+ border: var(--rkui-outline-width) solid var(--rkui-range-popup-edge);
195
+ border-radius: var(--rkui-radius);
196
+ background: var(--rkui-range-popup-fill);
197
+ color: var(--rkui-range-popup-text);
198
+ font-family: var(--rkui-font-mono);
199
+ font-size: var(--rkui-step--1);
200
+ font-variant-numeric: tabular-nums;
201
+ font-weight: 700;
202
+ line-height: var(--rkui-line-height-heading);
203
+ white-space: nowrap;
204
+ pointer-events: none;
205
+ opacity: 0;
206
+ visibility: hidden;
207
+ /* Its foot sits the gap above the thumb, which starts half the spare height down. */
208
+ translate: var(--rkui-range-popup-back)
209
+ calc(-100% - var(--rkui-range-popup-gap) + var(--rkui-space-1));
210
+ transition:
211
+ opacity var(--rkui-duration-fast) ease,
212
+ translate var(--rkui-duration-fast) ease,
213
+ visibility 0s var(--rkui-duration-fast),
214
+ inset-inline-start var(--rkui-range-glide) var(--rkui-ease-snap);
215
+ }
216
+
217
+ .rkui-range-popup:dir(rtl) {
218
+ --rkui-range-popup-back: 50%;
219
+ }
220
+
221
+ .rkui-range-popup--flat {
222
+ --rkui-range-popup-fill: var(--rkui-fg);
223
+ --rkui-range-popup-text: var(--rkui-surface);
224
+ --rkui-range-popup-edge: transparent;
225
+ }
226
+
227
+ /* The shadow and its edge, as on the tooltip: drop-shadow follows the tail too. */
228
+ .rkui-range-popup:not(.rkui-range-popup--flat) {
229
+ filter: drop-shadow(
230
+ var(--rkui-shadow-offset-x) var(--rkui-shadow-offset-y) 0 var(--rkui-shadow-color)
231
+ )
232
+ drop-shadow(
233
+ calc(var(--rkui-shadow-dx) * var(--rkui-outline-width))
234
+ calc(var(--rkui-shadow-dy) * var(--rkui-outline-width)) 0 var(--rkui-shadow-edge)
235
+ );
236
+ }
237
+
238
+ /* The tail: a square turned 45°, with its two lower edges outlined. It is placed with left, not
239
+ inset-inline-start, to match its physical translate in either direction. */
240
+ .rkui-range-popup::before {
241
+ content: '';
242
+ position: absolute;
243
+ inset-block-start: 100%;
244
+ left: 50%;
245
+ inline-size: 0.625rem;
246
+ block-size: 0.625rem;
247
+ border: inherit;
248
+ border-top-color: transparent;
249
+ border-left-color: transparent;
250
+ background: inherit;
251
+ translate: -50% -50%;
252
+ rotate: 45deg;
253
+ }
254
+
255
+ .rkui-range-control[data-rkui-live]:is(
256
+ [data-rkui-dragging],
257
+ :has(> .rkui-range:is(:active, :focus-visible))
258
+ )
259
+ > .rkui-range-popup {
260
+ opacity: 1;
261
+ visibility: visible;
262
+ translate: var(--rkui-range-popup-back) calc(-100% - var(--rkui-range-popup-gap));
263
+ transition-delay: 0s;
264
+ }
265
+
266
+ /* Forced colours outline the tail's transparent edges too, so it is left out. */
267
+ @media (forced-colors: active) {
268
+ .rkui-range-popup::before {
269
+ display: none;
270
+ }
271
+ }
272
+
273
+ /* States, for the native thumb and the drawn one. */
274
+
275
+ @media (hover: hover) {
276
+ .rkui-range:hover,
277
+ .rkui-range-control:has(> .rkui-range:hover) > .rkui-range-thumb {
278
+ --rkui-thumb-shadow: var(--rkui-shadow-hover);
279
+ --rkui-thumb-shift: calc(-1 * (var(--rkui-press-offset) + var(--rkui-lift-offset)));
280
+ }
281
+
282
+ .rkui-range-control[data-rkui-live]:has(> .rkui-range:not(:disabled):hover) > .rkui-range-popup {
283
+ opacity: 1;
284
+ visibility: visible;
285
+ translate: var(--rkui-range-popup-back) calc(-100% - var(--rkui-range-popup-gap));
286
+ transition-delay: 0s;
287
+ }
288
+ }
289
+
290
+ .rkui-range:active,
291
+ .rkui-range-control:is([data-rkui-dragging], :has(> .rkui-range:active)) > .rkui-range-thumb {
292
+ --rkui-thumb-shadow: var(--rkui-shadow-pressed);
293
+ --rkui-thumb-shift: 0px;
294
+ }
295
+
296
+ /* The focus band is a spread shadow on the thumb. Forced-colours mode drops shadows, so the
297
+ transparent outline keeps a visible ring there. */
298
+ .rkui-range:focus-visible,
299
+ .rkui-range-control:has(> .rkui-range:focus-visible) > .rkui-range-thumb {
300
+ --rkui-thumb-shadow: 0 0 0 var(--rkui-focus-width) var(--rkui-focus);
301
+ }
302
+
303
+ .rkui-range:focus-visible {
304
+ outline: var(--rkui-outline-width) solid transparent;
305
+ }
306
+
307
+ .rkui-range:disabled,
308
+ .rkui-range-control:has(> .rkui-range:disabled) > .rkui-range-thumb {
309
+ --rkui-thumb-shadow: none;
310
+ --rkui-thumb-shift: 0px;
311
+ }
312
+
313
+ .rkui-range-control:has(> .rkui-range:disabled) > .rkui-range-thumb {
314
+ opacity: 0.45;
315
+ }
@@ -0,0 +1,29 @@
1
+ /* Range ticks: the slider's datalist shown as a row of tick marks and value labels under an
2
+ .rkui-range. Browsers draw their own datalist ticks only on an unstyled slider, so the row is
3
+ drawn here. Match the ticks to min, max and step so the thumb lands on them.
4
+
5
+ <div class="rkui-field">
6
+ <input class="rkui-range" type="range" list="ticks">
7
+ <datalist class="rkui-range-scale" id="ticks"><option value="0">0</option>…</datalist>
8
+ </div> */
9
+
10
+ .rkui-range-scale {
11
+ display: flex;
12
+ justify-content: space-between;
13
+ inline-size: 100%;
14
+ /* Half the thumb's width (range.css) plus the track outline: where the thumb's centre stops. */
15
+ padding-inline: calc(var(--rkui-range-thumb-width, 1.5rem) / 2 + var(--rkui-outline-width));
16
+ }
17
+
18
+ /* Each option is centred on its point: its negative margins cancel its width in the flex row. */
19
+ .rkui-range-scale option {
20
+ inline-size: 3rem;
21
+ margin-inline: -1.5rem;
22
+ padding: var(--rkui-space-2) 0 0;
23
+ background: linear-gradient(var(--rkui-muted), var(--rkui-muted)) center top /
24
+ var(--rkui-outline-width) var(--rkui-space-2) no-repeat;
25
+ color: var(--rkui-muted);
26
+ font-size: var(--rkui-step--1);
27
+ font-variant-numeric: tabular-nums;
28
+ text-align: center;
29
+ }
@@ -0,0 +1,113 @@
1
+ <!--
2
+ A search field, in two variants, inside a Field. `class` and `style` go on the Field's div when
3
+ there is a label, hint or error, otherwise on the outer element (the div, or the form); other
4
+ attributes (name, placeholder, disabled, ...) go on the input. Without a label the input gets
5
+ `aria-label="Search"`; pass your own `aria-label` to change it. In a `.vue` file, `v-model` is
6
+ the input's text. With `v-model`, the parent's value is the starting value; `value` applies
7
+ only without one.
8
+
9
+ @example
10
+ <Search variant="button" name="q" placeholder="Search" action="/search" />
11
+ <Search v-model="query" placeholder="Search" />
12
+ -->
13
+ <script setup lang="ts">
14
+ import { useAttrs } from 'vue'
15
+ import SearchIcon from '@oneonefour/rkui/icons/magnifying-glass.vue'
16
+ import Button from '../button/Button.vue'
17
+ import Field from '../field/Field.vue'
18
+ import { useComponentId } from '../../shared/component-id'
19
+ import { useLiveValue } from '../../shared/live-value'
20
+ import { controlAttrs } from '../../shared/split-attrs'
21
+
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ interface Props {
25
+ /**
26
+ * 'icon' (A: a magnifying glass inside the field) or 'button' (B: a filled Search button joined
27
+ * to the field, in a `<form role="search">`); icon when left out. Open, see DECISIONS ("Special
28
+ * inputs").
29
+ */
30
+ variant?: 'icon' | 'button'
31
+ /** The button's text, for the 'button' variant; "Search" when left out. */
32
+ buttonLabel?: string
33
+ /** The form's action, for the 'button' variant; the current page when left out. */
34
+ action?: string
35
+ /** The form's method, for the 'button' variant; get when left out. */
36
+ method?: 'get' | 'post'
37
+ /** The visible label; none when left out. */
38
+ label?: string
39
+ /** A quiet line under the field; none when left out. */
40
+ hint?: string
41
+ /** An error line under the field; it also marks the input invalid; none when left out. */
42
+ error?: string
43
+ }
44
+
45
+ const {
46
+ variant = 'icon',
47
+ buttonLabel = 'Search',
48
+ action,
49
+ method,
50
+ label,
51
+ hint,
52
+ error,
53
+ } = defineProps<Props>()
54
+
55
+ const attrs = useAttrs()
56
+ /** The input's text (`v-model`); the page's `value` attribute when left out. */
57
+ const model = defineModel<string>()
58
+ if (model.value === undefined) model.value = attrs.value as string | undefined
59
+ // In the browser, what was typed before the search woke up wins.
60
+ const vLiveValue = useLiveValue(model)
61
+ const id = (attrs.id as string | undefined) ?? useComponentId('search')
62
+
63
+ /**
64
+ * The page's attributes: `class` and `style` for the Field's div when it draws a frame, otherwise
65
+ * for the form or div (`wrapper`); the rest for the input (`wrappedControl`). `value` is left out:
66
+ * the model holds it.
67
+ */
68
+ function pageAttrs() {
69
+ const { value, ...rest } = attrs
70
+ return controlAttrs(rest, id, { label, hint, error })
71
+ }
72
+
73
+ /** Whether the page disabled the input, which disables the button too. */
74
+ function disabled() {
75
+ return attrs.disabled !== undefined && attrs.disabled !== false
76
+ }
77
+ </script>
78
+
79
+ <template>
80
+ <Field :label :for="id" :hint :error v-bind="pageAttrs().field">
81
+ <form
82
+ v-if="variant === 'button'"
83
+ class="rkui-search-bar"
84
+ role="search"
85
+ :action
86
+ :method
87
+ v-bind="pageAttrs().wrapper"
88
+ >
89
+ <input
90
+ v-live-value
91
+ v-model="model"
92
+ class="rkui-input"
93
+ type="search"
94
+ :aria-label="label ? undefined : 'Search'"
95
+ v-bind="pageAttrs().wrappedControl"
96
+ />
97
+ <Button type="submit" :disabled="disabled()">
98
+ <SearchIcon class="rkui-icon rkui-icon--small" />
99
+ {{ buttonLabel }}
100
+ </Button>
101
+ </form>
102
+ <div v-else class="rkui-search" v-bind="pageAttrs().wrapper">
103
+ <input
104
+ v-live-value
105
+ v-model="model"
106
+ class="rkui-input"
107
+ type="search"
108
+ :aria-label="label ? undefined : 'Search'"
109
+ v-bind="pageAttrs().wrappedControl"
110
+ />
111
+ </div>
112
+ </Field>
113
+ </template>