tosijs-ui 1.17.1 → 1.17.2

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 (806) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/bin/make-icon-data.js +167 -1
  3. package/dist/affix.d.ts +6 -0
  4. package/dist/affix.js +19 -0
  5. package/dist/babylon-3d.js +3 -2
  6. package/dist/carousel.js +4 -3
  7. package/dist/data-table.js +8 -5
  8. package/dist/editable-rect.js +12 -8
  9. package/dist/filter-builder.js +6 -4
  10. package/dist/header.js +10 -6
  11. package/dist/icon-core.d.ts +46 -0
  12. package/dist/icon-core.js +511 -0
  13. package/dist/icon-rules.js +1 -1
  14. package/dist/icon-store.d.ts +10 -0
  15. package/dist/icon-store.js +44 -0
  16. package/dist/icon-svg.js +5 -1
  17. package/dist/icon-types.d.ts +2 -0
  18. package/dist/icons/activity.d.ts +1 -0
  19. package/dist/icons/activity.js +4 -0
  20. package/dist/icons/airplay.d.ts +1 -0
  21. package/dist/icons/airplay.js +4 -0
  22. package/dist/icons/alertCircle.d.ts +1 -0
  23. package/dist/icons/alertCircle.js +4 -0
  24. package/dist/icons/alertOctagon.d.ts +1 -0
  25. package/dist/icons/alertOctagon.js +4 -0
  26. package/dist/icons/alertTriangle.d.ts +1 -0
  27. package/dist/icons/alertTriangle.js +4 -0
  28. package/dist/icons/alignCenter.d.ts +1 -0
  29. package/dist/icons/alignCenter.js +4 -0
  30. package/dist/icons/alignJustify.d.ts +1 -0
  31. package/dist/icons/alignJustify.js +4 -0
  32. package/dist/icons/alignLeft.d.ts +1 -0
  33. package/dist/icons/alignLeft.js +4 -0
  34. package/dist/icons/alignRight.d.ts +1 -0
  35. package/dist/icons/alignRight.js +4 -0
  36. package/dist/icons/anchor.d.ts +1 -0
  37. package/dist/icons/anchor.js +4 -0
  38. package/dist/icons/aperture.d.ts +1 -0
  39. package/dist/icons/aperture.js +4 -0
  40. package/dist/icons/archive.d.ts +1 -0
  41. package/dist/icons/archive.js +4 -0
  42. package/dist/icons/arrowDown.d.ts +2 -0
  43. package/dist/icons/arrowDown.js +5 -0
  44. package/dist/icons/arrowDownCircle.d.ts +2 -0
  45. package/dist/icons/arrowDownCircle.js +5 -0
  46. package/dist/icons/arrowDownLeft.d.ts +2 -0
  47. package/dist/icons/arrowDownLeft.js +5 -0
  48. package/dist/icons/arrowDownRight.d.ts +2 -0
  49. package/dist/icons/arrowDownRight.js +5 -0
  50. package/dist/icons/arrowLeft.d.ts +2 -0
  51. package/dist/icons/arrowLeft.js +5 -0
  52. package/dist/icons/arrowLeftCircle.d.ts +2 -0
  53. package/dist/icons/arrowLeftCircle.js +5 -0
  54. package/dist/icons/arrowRight.d.ts +1 -0
  55. package/dist/icons/arrowRight.js +4 -0
  56. package/dist/icons/arrowRightCircle.d.ts +1 -0
  57. package/dist/icons/arrowRightCircle.js +4 -0
  58. package/dist/icons/arrowUp.d.ts +2 -0
  59. package/dist/icons/arrowUp.js +5 -0
  60. package/dist/icons/arrowUpCircle.d.ts +2 -0
  61. package/dist/icons/arrowUpCircle.js +5 -0
  62. package/dist/icons/arrowUpLeft.d.ts +2 -0
  63. package/dist/icons/arrowUpLeft.js +5 -0
  64. package/dist/icons/arrowUpRight.d.ts +1 -0
  65. package/dist/icons/arrowUpRight.js +4 -0
  66. package/dist/icons/atSign.d.ts +1 -0
  67. package/dist/icons/atSign.js +4 -0
  68. package/dist/icons/award.d.ts +1 -0
  69. package/dist/icons/award.js +4 -0
  70. package/dist/icons/barChart.d.ts +1 -0
  71. package/dist/icons/barChart.js +4 -0
  72. package/dist/icons/barChart2.d.ts +1 -0
  73. package/dist/icons/barChart2.js +4 -0
  74. package/dist/icons/battery.d.ts +1 -0
  75. package/dist/icons/battery.js +4 -0
  76. package/dist/icons/batteryCharging.d.ts +1 -0
  77. package/dist/icons/batteryCharging.js +4 -0
  78. package/dist/icons/bell.d.ts +1 -0
  79. package/dist/icons/bell.js +4 -0
  80. package/dist/icons/bellOff.d.ts +1 -0
  81. package/dist/icons/bellOff.js +4 -0
  82. package/dist/icons/blog.d.ts +1 -0
  83. package/dist/icons/blog.js +4 -0
  84. package/dist/icons/blueprint.d.ts +1 -0
  85. package/dist/icons/blueprint.js +4 -0
  86. package/dist/icons/bluetooth.d.ts +1 -0
  87. package/dist/icons/bluetooth.js +4 -0
  88. package/dist/icons/bold.d.ts +1 -0
  89. package/dist/icons/bold.js +4 -0
  90. package/dist/icons/book.d.ts +1 -0
  91. package/dist/icons/book.js +4 -0
  92. package/dist/icons/bookOpen.d.ts +1 -0
  93. package/dist/icons/bookOpen.js +4 -0
  94. package/dist/icons/bookmark.d.ts +1 -0
  95. package/dist/icons/bookmark.js +4 -0
  96. package/dist/icons/box.d.ts +1 -0
  97. package/dist/icons/box.js +4 -0
  98. package/dist/icons/briefcase.d.ts +1 -0
  99. package/dist/icons/briefcase.js +4 -0
  100. package/dist/icons/bug.d.ts +1 -0
  101. package/dist/icons/bug.js +4 -0
  102. package/dist/icons/calendar.d.ts +1 -0
  103. package/dist/icons/calendar.js +4 -0
  104. package/dist/icons/camera.d.ts +1 -0
  105. package/dist/icons/camera.js +4 -0
  106. package/dist/icons/cameraOff.d.ts +1 -0
  107. package/dist/icons/cameraOff.js +4 -0
  108. package/dist/icons/cast.d.ts +1 -0
  109. package/dist/icons/cast.js +4 -0
  110. package/dist/icons/check.d.ts +1 -0
  111. package/dist/icons/check.js +4 -0
  112. package/dist/icons/checkCircle.d.ts +1 -0
  113. package/dist/icons/checkCircle.js +4 -0
  114. package/dist/icons/checkSquare.d.ts +1 -0
  115. package/dist/icons/checkSquare.js +4 -0
  116. package/dist/icons/chevronDown.d.ts +2 -0
  117. package/dist/icons/chevronDown.js +5 -0
  118. package/dist/icons/chevronLeft.d.ts +2 -0
  119. package/dist/icons/chevronLeft.js +5 -0
  120. package/dist/icons/chevronRight.d.ts +1 -0
  121. package/dist/icons/chevronRight.js +4 -0
  122. package/dist/icons/chevronUp.d.ts +2 -0
  123. package/dist/icons/chevronUp.js +5 -0
  124. package/dist/icons/chevronsDown.d.ts +2 -0
  125. package/dist/icons/chevronsDown.js +5 -0
  126. package/dist/icons/chevronsLeft.d.ts +2 -0
  127. package/dist/icons/chevronsLeft.js +5 -0
  128. package/dist/icons/chevronsRight.d.ts +1 -0
  129. package/dist/icons/chevronsRight.js +4 -0
  130. package/dist/icons/chevronsUp.d.ts +2 -0
  131. package/dist/icons/chevronsUp.js +5 -0
  132. package/dist/icons/chrome.d.ts +1 -0
  133. package/dist/icons/chrome.js +4 -0
  134. package/dist/icons/circle.d.ts +1 -0
  135. package/dist/icons/circle.js +4 -0
  136. package/dist/icons/clipboard.d.ts +1 -0
  137. package/dist/icons/clipboard.js +4 -0
  138. package/dist/icons/clock.d.ts +1 -0
  139. package/dist/icons/clock.js +4 -0
  140. package/dist/icons/cloud.d.ts +1 -0
  141. package/dist/icons/cloud.js +4 -0
  142. package/dist/icons/cloudDrizzle.d.ts +1 -0
  143. package/dist/icons/cloudDrizzle.js +4 -0
  144. package/dist/icons/cloudLightning.d.ts +1 -0
  145. package/dist/icons/cloudLightning.js +4 -0
  146. package/dist/icons/cloudOff.d.ts +1 -0
  147. package/dist/icons/cloudOff.js +4 -0
  148. package/dist/icons/cloudRain.d.ts +1 -0
  149. package/dist/icons/cloudRain.js +4 -0
  150. package/dist/icons/cloudSnow.d.ts +1 -0
  151. package/dist/icons/cloudSnow.js +4 -0
  152. package/dist/icons/cmy.d.ts +1 -0
  153. package/dist/icons/cmy.js +4 -0
  154. package/dist/icons/code.d.ts +1 -0
  155. package/dist/icons/code.js +4 -0
  156. package/dist/icons/codepen.d.ts +1 -0
  157. package/dist/icons/codepen.js +4 -0
  158. package/dist/icons/codesandbox.d.ts +1 -0
  159. package/dist/icons/codesandbox.js +4 -0
  160. package/dist/icons/coffee.d.ts +1 -0
  161. package/dist/icons/coffee.js +4 -0
  162. package/dist/icons/columns.d.ts +1 -0
  163. package/dist/icons/columns.js +4 -0
  164. package/dist/icons/command.d.ts +1 -0
  165. package/dist/icons/command.js +4 -0
  166. package/dist/icons/compass.d.ts +1 -0
  167. package/dist/icons/compass.js +4 -0
  168. package/dist/icons/copy.d.ts +1 -0
  169. package/dist/icons/copy.js +4 -0
  170. package/dist/icons/cornerDownLeft.d.ts +2 -0
  171. package/dist/icons/cornerDownLeft.js +5 -0
  172. package/dist/icons/cornerDownRight.d.ts +1 -0
  173. package/dist/icons/cornerDownRight.js +4 -0
  174. package/dist/icons/cornerLeftDown.d.ts +2 -0
  175. package/dist/icons/cornerLeftDown.js +5 -0
  176. package/dist/icons/cornerLeftUp.d.ts +2 -0
  177. package/dist/icons/cornerLeftUp.js +5 -0
  178. package/dist/icons/cornerRightDown.d.ts +1 -0
  179. package/dist/icons/cornerRightDown.js +4 -0
  180. package/dist/icons/cornerRightUp.d.ts +1 -0
  181. package/dist/icons/cornerRightUp.js +4 -0
  182. package/dist/icons/cornerUpLeft.d.ts +2 -0
  183. package/dist/icons/cornerUpLeft.js +5 -0
  184. package/dist/icons/cornerUpRight.d.ts +1 -0
  185. package/dist/icons/cornerUpRight.js +4 -0
  186. package/dist/icons/cpu.d.ts +1 -0
  187. package/dist/icons/cpu.js +4 -0
  188. package/dist/icons/creditCard.d.ts +1 -0
  189. package/dist/icons/creditCard.js +4 -0
  190. package/dist/icons/crop.d.ts +1 -0
  191. package/dist/icons/crop.js +4 -0
  192. package/dist/icons/crosshair.d.ts +1 -0
  193. package/dist/icons/crosshair.js +4 -0
  194. package/dist/icons/data/arrowDown.d.ts +1 -1
  195. package/dist/icons/data/arrowDown.js +1 -1
  196. package/dist/icons/data/arrowDownCircle.d.ts +1 -1
  197. package/dist/icons/data/arrowDownCircle.js +1 -1
  198. package/dist/icons/data/arrowDownLeft.d.ts +1 -1
  199. package/dist/icons/data/arrowDownLeft.js +1 -1
  200. package/dist/icons/data/arrowDownRight.d.ts +1 -1
  201. package/dist/icons/data/arrowDownRight.js +1 -1
  202. package/dist/icons/data/arrowLeft.d.ts +1 -1
  203. package/dist/icons/data/arrowLeft.js +1 -1
  204. package/dist/icons/data/arrowLeftCircle.d.ts +1 -1
  205. package/dist/icons/data/arrowLeftCircle.js +1 -1
  206. package/dist/icons/data/arrowUp.d.ts +1 -1
  207. package/dist/icons/data/arrowUp.js +1 -1
  208. package/dist/icons/data/arrowUpCircle.d.ts +1 -1
  209. package/dist/icons/data/arrowUpCircle.js +1 -1
  210. package/dist/icons/data/arrowUpLeft.d.ts +1 -1
  211. package/dist/icons/data/arrowUpLeft.js +1 -1
  212. package/dist/icons/data/blog.d.ts +1 -1
  213. package/dist/icons/data/blog.js +1 -1
  214. package/dist/icons/data/blueprint.d.ts +1 -1
  215. package/dist/icons/data/blueprint.js +1 -1
  216. package/dist/icons/data/bug.d.ts +1 -1
  217. package/dist/icons/data/bug.js +1 -1
  218. package/dist/icons/data/chevronDown.d.ts +1 -1
  219. package/dist/icons/data/chevronDown.js +1 -1
  220. package/dist/icons/data/chevronLeft.d.ts +1 -1
  221. package/dist/icons/data/chevronLeft.js +1 -1
  222. package/dist/icons/data/chevronUp.d.ts +1 -1
  223. package/dist/icons/data/chevronUp.js +1 -1
  224. package/dist/icons/data/chevronsDown.d.ts +1 -1
  225. package/dist/icons/data/chevronsDown.js +1 -1
  226. package/dist/icons/data/chevronsLeft.d.ts +1 -1
  227. package/dist/icons/data/chevronsLeft.js +1 -1
  228. package/dist/icons/data/chevronsUp.d.ts +1 -1
  229. package/dist/icons/data/chevronsUp.js +1 -1
  230. package/dist/icons/data/cmy.d.ts +1 -1
  231. package/dist/icons/data/cmy.js +1 -1
  232. package/dist/icons/data/cornerDownLeft.d.ts +1 -1
  233. package/dist/icons/data/cornerDownLeft.js +1 -1
  234. package/dist/icons/data/cornerLeftDown.d.ts +1 -1
  235. package/dist/icons/data/cornerLeftDown.js +1 -1
  236. package/dist/icons/data/cornerLeftUp.d.ts +1 -1
  237. package/dist/icons/data/cornerLeftUp.js +1 -1
  238. package/dist/icons/data/cornerUpLeft.d.ts +1 -1
  239. package/dist/icons/data/cornerUpLeft.js +1 -1
  240. package/dist/icons/data/delete.js +1 -1
  241. package/dist/icons/data/discord.d.ts +1 -1
  242. package/dist/icons/data/discord.js +1 -1
  243. package/dist/icons/data/earth.d.ts +1 -1
  244. package/dist/icons/data/earth.js +1 -1
  245. package/dist/icons/data/facebook.d.ts +1 -1
  246. package/dist/icons/data/facebook.js +1 -1
  247. package/dist/icons/data/fatArrowDown.d.ts +1 -0
  248. package/dist/icons/data/fatArrowDown.js +1 -0
  249. package/dist/icons/data/fatArrowLeft.d.ts +1 -0
  250. package/dist/icons/data/fatArrowLeft.js +1 -0
  251. package/dist/icons/data/fatArrowRight.d.ts +1 -0
  252. package/dist/icons/data/fatArrowRight.js +1 -0
  253. package/dist/icons/data/fatArrowUp.d.ts +1 -0
  254. package/dist/icons/data/fatArrowUp.js +1 -0
  255. package/dist/icons/data/fontBold.d.ts +1 -1
  256. package/dist/icons/data/fontBold.js +1 -1
  257. package/dist/icons/data/fontItalic.d.ts +1 -1
  258. package/dist/icons/data/fontItalic.js +1 -1
  259. package/dist/icons/data/fontUnderline.d.ts +1 -1
  260. package/dist/icons/data/fontUnderline.js +1 -1
  261. package/dist/icons/data/game.d.ts +1 -1
  262. package/dist/icons/data/game.js +1 -1
  263. package/dist/icons/data/google.d.ts +1 -1
  264. package/dist/icons/data/google.js +1 -1
  265. package/dist/icons/data/indent.d.ts +1 -1
  266. package/dist/icons/data/indent.js +1 -1
  267. package/dist/icons/data/index.d.ts +644 -313
  268. package/dist/icons/data/index.js +643 -313
  269. package/dist/icons/data/info.d.ts +1 -1
  270. package/dist/icons/data/info.js +1 -1
  271. package/dist/icons/data/listBullet.d.ts +1 -1
  272. package/dist/icons/data/listBullet.js +1 -1
  273. package/dist/icons/data/listNumber.d.ts +1 -1
  274. package/dist/icons/data/listNumber.js +1 -1
  275. package/dist/icons/data/lock.d.ts +1 -1
  276. package/dist/icons/data/lock.js +1 -1
  277. package/dist/icons/data/npm.d.ts +1 -1
  278. package/dist/icons/data/npm.js +1 -1
  279. package/dist/icons/data/outdent.d.ts +1 -1
  280. package/dist/icons/data/outdent.js +1 -1
  281. package/dist/icons/data/package.js +1 -1
  282. package/dist/icons/data/pin.d.ts +1 -0
  283. package/dist/icons/data/pin.js +1 -0
  284. package/dist/icons/data/refreshCcw.d.ts +1 -1
  285. package/dist/icons/data/refreshCcw.js +1 -1
  286. package/dist/icons/data/rgb.d.ts +1 -1
  287. package/dist/icons/data/rgb.js +1 -1
  288. package/dist/icons/data/rotateCcw.d.ts +1 -1
  289. package/dist/icons/data/rotateCcw.js +1 -1
  290. package/dist/icons/data/settings.d.ts +1 -1
  291. package/dist/icons/data/settings.js +1 -1
  292. package/dist/icons/data/shift.d.ts +1 -0
  293. package/dist/icons/data/shift.js +1 -0
  294. package/dist/icons/data/skipBack.d.ts +1 -1
  295. package/dist/icons/data/skipBack.js +1 -1
  296. package/dist/icons/data/tab.d.ts +1 -0
  297. package/dist/icons/data/tab.js +1 -0
  298. package/dist/icons/data/thumbsDown.d.ts +1 -1
  299. package/dist/icons/data/thumbsDown.js +1 -1
  300. package/dist/icons/data/toggleLeft.d.ts +1 -1
  301. package/dist/icons/data/toggleLeft.js +1 -1
  302. package/dist/icons/data/tosi.d.ts +1 -1
  303. package/dist/icons/data/tosi.js +1 -1
  304. package/dist/icons/data/tosiFavicon.d.ts +1 -1
  305. package/dist/icons/data/tosiFavicon.js +1 -1
  306. package/dist/icons/data/tosiPlatform.d.ts +1 -1
  307. package/dist/icons/data/tosiPlatform.js +1 -1
  308. package/dist/icons/data/tosiUi.d.ts +1 -1
  309. package/dist/icons/data/tosiUi.js +1 -1
  310. package/dist/icons/data/tosiXr.d.ts +1 -1
  311. package/dist/icons/data/tosiXr.js +1 -1
  312. package/dist/icons/data/xrColor.d.ts +1 -1
  313. package/dist/icons/data/xrColor.js +1 -1
  314. package/dist/icons/data/youtube.d.ts +1 -1
  315. package/dist/icons/data/youtube.js +1 -1
  316. package/dist/icons/database.d.ts +1 -0
  317. package/dist/icons/database.js +4 -0
  318. package/dist/icons/delete.d.ts +1 -0
  319. package/dist/icons/delete.js +4 -0
  320. package/dist/icons/disc.d.ts +1 -0
  321. package/dist/icons/disc.js +4 -0
  322. package/dist/icons/discord.d.ts +1 -0
  323. package/dist/icons/discord.js +4 -0
  324. package/dist/icons/divide.d.ts +1 -0
  325. package/dist/icons/divide.js +4 -0
  326. package/dist/icons/divideCircle.d.ts +1 -0
  327. package/dist/icons/divideCircle.js +4 -0
  328. package/dist/icons/divideSquare.d.ts +1 -0
  329. package/dist/icons/divideSquare.js +4 -0
  330. package/dist/icons/dollarSign.d.ts +1 -0
  331. package/dist/icons/dollarSign.js +4 -0
  332. package/dist/icons/download.d.ts +1 -0
  333. package/dist/icons/download.js +4 -0
  334. package/dist/icons/downloadCloud.d.ts +1 -0
  335. package/dist/icons/downloadCloud.js +4 -0
  336. package/dist/icons/dribbble.d.ts +1 -0
  337. package/dist/icons/dribbble.js +4 -0
  338. package/dist/icons/droplet.d.ts +1 -0
  339. package/dist/icons/droplet.js +4 -0
  340. package/dist/icons/earth.d.ts +1 -0
  341. package/dist/icons/earth.js +4 -0
  342. package/dist/icons/edit.d.ts +1 -0
  343. package/dist/icons/edit.js +4 -0
  344. package/dist/icons/edit2.d.ts +1 -0
  345. package/dist/icons/edit2.js +4 -0
  346. package/dist/icons/edit3.d.ts +1 -0
  347. package/dist/icons/edit3.js +4 -0
  348. package/dist/icons/externalLink.d.ts +1 -0
  349. package/dist/icons/externalLink.js +4 -0
  350. package/dist/icons/eye.d.ts +1 -0
  351. package/dist/icons/eye.js +4 -0
  352. package/dist/icons/eyeOff.d.ts +1 -0
  353. package/dist/icons/eyeOff.js +4 -0
  354. package/dist/icons/facebook.d.ts +1 -0
  355. package/dist/icons/facebook.js +4 -0
  356. package/dist/icons/fastForward.d.ts +1 -0
  357. package/dist/icons/fastForward.js +4 -0
  358. package/dist/icons/fatArrowDown.d.ts +2 -0
  359. package/dist/icons/fatArrowDown.js +5 -0
  360. package/dist/icons/fatArrowLeft.d.ts +2 -0
  361. package/dist/icons/fatArrowLeft.js +5 -0
  362. package/dist/icons/fatArrowRight.d.ts +2 -0
  363. package/dist/icons/fatArrowRight.js +5 -0
  364. package/dist/icons/fatArrowUp.d.ts +2 -0
  365. package/dist/icons/fatArrowUp.js +5 -0
  366. package/dist/icons/feather.d.ts +1 -0
  367. package/dist/icons/feather.js +4 -0
  368. package/dist/icons/figma.d.ts +1 -0
  369. package/dist/icons/figma.js +4 -0
  370. package/dist/icons/file.d.ts +1 -0
  371. package/dist/icons/file.js +4 -0
  372. package/dist/icons/fileMinus.d.ts +1 -0
  373. package/dist/icons/fileMinus.js +4 -0
  374. package/dist/icons/filePlus.d.ts +1 -0
  375. package/dist/icons/filePlus.js +4 -0
  376. package/dist/icons/fileText.d.ts +1 -0
  377. package/dist/icons/fileText.js +4 -0
  378. package/dist/icons/film.d.ts +1 -0
  379. package/dist/icons/film.js +4 -0
  380. package/dist/icons/filter.d.ts +1 -0
  381. package/dist/icons/filter.js +4 -0
  382. package/dist/icons/flag.d.ts +1 -0
  383. package/dist/icons/flag.js +4 -0
  384. package/dist/icons/folder.d.ts +1 -0
  385. package/dist/icons/folder.js +4 -0
  386. package/dist/icons/folderMinus.d.ts +1 -0
  387. package/dist/icons/folderMinus.js +4 -0
  388. package/dist/icons/folderPlus.d.ts +1 -0
  389. package/dist/icons/folderPlus.js +4 -0
  390. package/dist/icons/fontBold.d.ts +1 -0
  391. package/dist/icons/fontBold.js +4 -0
  392. package/dist/icons/fontItalic.d.ts +1 -0
  393. package/dist/icons/fontItalic.js +4 -0
  394. package/dist/icons/fontUnderline.d.ts +1 -0
  395. package/dist/icons/fontUnderline.js +4 -0
  396. package/dist/icons/framer.d.ts +1 -0
  397. package/dist/icons/framer.js +4 -0
  398. package/dist/icons/frown.d.ts +1 -0
  399. package/dist/icons/frown.js +4 -0
  400. package/dist/icons/game.d.ts +1 -0
  401. package/dist/icons/game.js +4 -0
  402. package/dist/icons/gift.d.ts +1 -0
  403. package/dist/icons/gift.js +4 -0
  404. package/dist/icons/gitBranch.d.ts +1 -0
  405. package/dist/icons/gitBranch.js +4 -0
  406. package/dist/icons/gitCommit.d.ts +1 -0
  407. package/dist/icons/gitCommit.js +4 -0
  408. package/dist/icons/gitMerge.d.ts +1 -0
  409. package/dist/icons/gitMerge.js +4 -0
  410. package/dist/icons/gitPullRequest.d.ts +1 -0
  411. package/dist/icons/gitPullRequest.js +4 -0
  412. package/dist/icons/github.d.ts +1 -0
  413. package/dist/icons/github.js +4 -0
  414. package/dist/icons/gitlab.d.ts +1 -0
  415. package/dist/icons/gitlab.js +4 -0
  416. package/dist/icons/globe.d.ts +1 -0
  417. package/dist/icons/globe.js +4 -0
  418. package/dist/icons/google.d.ts +1 -0
  419. package/dist/icons/google.js +4 -0
  420. package/dist/icons/grid.d.ts +1 -0
  421. package/dist/icons/grid.js +4 -0
  422. package/dist/icons/hardDrive.d.ts +1 -0
  423. package/dist/icons/hardDrive.js +4 -0
  424. package/dist/icons/hash.d.ts +1 -0
  425. package/dist/icons/hash.js +4 -0
  426. package/dist/icons/headphones.d.ts +1 -0
  427. package/dist/icons/headphones.js +4 -0
  428. package/dist/icons/heart.d.ts +1 -0
  429. package/dist/icons/heart.js +4 -0
  430. package/dist/icons/helpCircle.d.ts +1 -0
  431. package/dist/icons/helpCircle.js +4 -0
  432. package/dist/icons/hexagon.d.ts +1 -0
  433. package/dist/icons/hexagon.js +4 -0
  434. package/dist/icons/home.d.ts +1 -0
  435. package/dist/icons/home.js +4 -0
  436. package/dist/icons/image.d.ts +1 -0
  437. package/dist/icons/image.js +4 -0
  438. package/dist/icons/inbox.d.ts +1 -0
  439. package/dist/icons/inbox.js +4 -0
  440. package/dist/icons/indent.d.ts +1 -0
  441. package/dist/icons/indent.js +4 -0
  442. package/dist/icons/info.d.ts +1 -0
  443. package/dist/icons/info.js +4 -0
  444. package/dist/icons/instagram.d.ts +1 -0
  445. package/dist/icons/instagram.js +4 -0
  446. package/dist/icons/italic.d.ts +1 -0
  447. package/dist/icons/italic.js +4 -0
  448. package/dist/icons/key.d.ts +1 -0
  449. package/dist/icons/key.js +4 -0
  450. package/dist/icons/layers.d.ts +1 -0
  451. package/dist/icons/layers.js +4 -0
  452. package/dist/icons/layout.d.ts +1 -0
  453. package/dist/icons/layout.js +4 -0
  454. package/dist/icons/lifeBuoy.d.ts +1 -0
  455. package/dist/icons/lifeBuoy.js +4 -0
  456. package/dist/icons/link.d.ts +1 -0
  457. package/dist/icons/link.js +4 -0
  458. package/dist/icons/link2.d.ts +1 -0
  459. package/dist/icons/link2.js +4 -0
  460. package/dist/icons/linkedin.d.ts +1 -0
  461. package/dist/icons/linkedin.js +4 -0
  462. package/dist/icons/list.d.ts +1 -0
  463. package/dist/icons/list.js +4 -0
  464. package/dist/icons/listBullet.d.ts +1 -0
  465. package/dist/icons/listBullet.js +4 -0
  466. package/dist/icons/listNumber.d.ts +1 -0
  467. package/dist/icons/listNumber.js +4 -0
  468. package/dist/icons/loader.d.ts +1 -0
  469. package/dist/icons/loader.js +4 -0
  470. package/dist/icons/lock.d.ts +1 -0
  471. package/dist/icons/lock.js +4 -0
  472. package/dist/icons/logIn.d.ts +1 -0
  473. package/dist/icons/logIn.js +4 -0
  474. package/dist/icons/logOut.d.ts +1 -0
  475. package/dist/icons/logOut.js +4 -0
  476. package/dist/icons/mail.d.ts +1 -0
  477. package/dist/icons/mail.js +4 -0
  478. package/dist/icons/map.d.ts +1 -0
  479. package/dist/icons/map.js +4 -0
  480. package/dist/icons/mapPin.d.ts +1 -0
  481. package/dist/icons/mapPin.js +4 -0
  482. package/dist/icons/maximize.d.ts +1 -0
  483. package/dist/icons/maximize.js +4 -0
  484. package/dist/icons/maximize2.d.ts +1 -0
  485. package/dist/icons/maximize2.js +4 -0
  486. package/dist/icons/meh.d.ts +1 -0
  487. package/dist/icons/meh.js +4 -0
  488. package/dist/icons/menu.d.ts +1 -0
  489. package/dist/icons/menu.js +4 -0
  490. package/dist/icons/messageCircle.d.ts +1 -0
  491. package/dist/icons/messageCircle.js +4 -0
  492. package/dist/icons/messageSquare.d.ts +1 -0
  493. package/dist/icons/messageSquare.js +4 -0
  494. package/dist/icons/mic.d.ts +1 -0
  495. package/dist/icons/mic.js +4 -0
  496. package/dist/icons/micOff.d.ts +1 -0
  497. package/dist/icons/micOff.js +4 -0
  498. package/dist/icons/minimize.d.ts +1 -0
  499. package/dist/icons/minimize.js +4 -0
  500. package/dist/icons/minimize2.d.ts +1 -0
  501. package/dist/icons/minimize2.js +4 -0
  502. package/dist/icons/minus.d.ts +1 -0
  503. package/dist/icons/minus.js +4 -0
  504. package/dist/icons/minusCircle.d.ts +1 -0
  505. package/dist/icons/minusCircle.js +4 -0
  506. package/dist/icons/minusSquare.d.ts +1 -0
  507. package/dist/icons/minusSquare.js +4 -0
  508. package/dist/icons/monitor.d.ts +1 -0
  509. package/dist/icons/monitor.js +4 -0
  510. package/dist/icons/moon.d.ts +1 -0
  511. package/dist/icons/moon.js +4 -0
  512. package/dist/icons/moreHorizontal.d.ts +1 -0
  513. package/dist/icons/moreHorizontal.js +4 -0
  514. package/dist/icons/moreVertical.d.ts +1 -0
  515. package/dist/icons/moreVertical.js +4 -0
  516. package/dist/icons/mousePointer.d.ts +1 -0
  517. package/dist/icons/mousePointer.js +4 -0
  518. package/dist/icons/move.d.ts +1 -0
  519. package/dist/icons/move.js +4 -0
  520. package/dist/icons/music.d.ts +1 -0
  521. package/dist/icons/music.js +4 -0
  522. package/dist/icons/navigation.d.ts +1 -0
  523. package/dist/icons/navigation.js +4 -0
  524. package/dist/icons/navigation2.d.ts +1 -0
  525. package/dist/icons/navigation2.js +4 -0
  526. package/dist/icons/npm.d.ts +1 -0
  527. package/dist/icons/npm.js +4 -0
  528. package/dist/icons/octagon.d.ts +1 -0
  529. package/dist/icons/octagon.js +4 -0
  530. package/dist/icons/outdent.d.ts +1 -0
  531. package/dist/icons/outdent.js +4 -0
  532. package/dist/icons/package.d.ts +1 -0
  533. package/dist/icons/package.js +4 -0
  534. package/dist/icons/paperclip.d.ts +1 -0
  535. package/dist/icons/paperclip.js +4 -0
  536. package/dist/icons/pause.d.ts +1 -0
  537. package/dist/icons/pause.js +4 -0
  538. package/dist/icons/pauseCircle.d.ts +1 -0
  539. package/dist/icons/pauseCircle.js +4 -0
  540. package/dist/icons/penTool.d.ts +1 -0
  541. package/dist/icons/penTool.js +4 -0
  542. package/dist/icons/percent.d.ts +1 -0
  543. package/dist/icons/percent.js +4 -0
  544. package/dist/icons/phone.d.ts +1 -0
  545. package/dist/icons/phone.js +4 -0
  546. package/dist/icons/phoneCall.d.ts +1 -0
  547. package/dist/icons/phoneCall.js +4 -0
  548. package/dist/icons/phoneForwarded.d.ts +1 -0
  549. package/dist/icons/phoneForwarded.js +4 -0
  550. package/dist/icons/phoneIncoming.d.ts +1 -0
  551. package/dist/icons/phoneIncoming.js +4 -0
  552. package/dist/icons/phoneMissed.d.ts +1 -0
  553. package/dist/icons/phoneMissed.js +4 -0
  554. package/dist/icons/phoneOff.d.ts +1 -0
  555. package/dist/icons/phoneOff.js +4 -0
  556. package/dist/icons/phoneOutgoing.d.ts +1 -0
  557. package/dist/icons/phoneOutgoing.js +4 -0
  558. package/dist/icons/pieChart.d.ts +1 -0
  559. package/dist/icons/pieChart.js +4 -0
  560. package/dist/icons/pin.d.ts +1 -0
  561. package/dist/icons/pin.js +4 -0
  562. package/dist/icons/play.d.ts +1 -0
  563. package/dist/icons/play.js +4 -0
  564. package/dist/icons/playCircle.d.ts +1 -0
  565. package/dist/icons/playCircle.js +4 -0
  566. package/dist/icons/plus.d.ts +1 -0
  567. package/dist/icons/plus.js +4 -0
  568. package/dist/icons/plusCircle.d.ts +1 -0
  569. package/dist/icons/plusCircle.js +4 -0
  570. package/dist/icons/plusSquare.d.ts +1 -0
  571. package/dist/icons/plusSquare.js +4 -0
  572. package/dist/icons/pocket.d.ts +1 -0
  573. package/dist/icons/pocket.js +4 -0
  574. package/dist/icons/power.d.ts +1 -0
  575. package/dist/icons/power.js +4 -0
  576. package/dist/icons/printer.d.ts +1 -0
  577. package/dist/icons/printer.js +4 -0
  578. package/dist/icons/radio.d.ts +1 -0
  579. package/dist/icons/radio.js +4 -0
  580. package/dist/icons/refreshCcw.d.ts +2 -0
  581. package/dist/icons/refreshCcw.js +5 -0
  582. package/dist/icons/refreshCw.d.ts +1 -0
  583. package/dist/icons/refreshCw.js +4 -0
  584. package/dist/icons/repeat.d.ts +1 -0
  585. package/dist/icons/repeat.js +4 -0
  586. package/dist/icons/resize.d.ts +1 -0
  587. package/dist/icons/resize.js +4 -0
  588. package/dist/icons/rewind.d.ts +1 -0
  589. package/dist/icons/rewind.js +4 -0
  590. package/dist/icons/rgb.d.ts +1 -0
  591. package/dist/icons/rgb.js +4 -0
  592. package/dist/icons/rotateCcw.d.ts +2 -0
  593. package/dist/icons/rotateCcw.js +5 -0
  594. package/dist/icons/rotateCw.d.ts +1 -0
  595. package/dist/icons/rotateCw.js +4 -0
  596. package/dist/icons/rss.d.ts +1 -0
  597. package/dist/icons/rss.js +4 -0
  598. package/dist/icons/save.d.ts +1 -0
  599. package/dist/icons/save.js +4 -0
  600. package/dist/icons/scissors.d.ts +1 -0
  601. package/dist/icons/scissors.js +4 -0
  602. package/dist/icons/search.d.ts +1 -0
  603. package/dist/icons/search.js +4 -0
  604. package/dist/icons/send.d.ts +1 -0
  605. package/dist/icons/send.js +4 -0
  606. package/dist/icons/server.d.ts +1 -0
  607. package/dist/icons/server.js +4 -0
  608. package/dist/icons/settings.d.ts +1 -0
  609. package/dist/icons/settings.js +4 -0
  610. package/dist/icons/share.d.ts +1 -0
  611. package/dist/icons/share.js +4 -0
  612. package/dist/icons/share2.d.ts +1 -0
  613. package/dist/icons/share2.js +4 -0
  614. package/dist/icons/shield.d.ts +1 -0
  615. package/dist/icons/shield.js +4 -0
  616. package/dist/icons/shieldOff.d.ts +1 -0
  617. package/dist/icons/shieldOff.js +4 -0
  618. package/dist/icons/shift.d.ts +1 -0
  619. package/dist/icons/shift.js +4 -0
  620. package/dist/icons/shoppingBag.d.ts +1 -0
  621. package/dist/icons/shoppingBag.js +4 -0
  622. package/dist/icons/shoppingCart.d.ts +1 -0
  623. package/dist/icons/shoppingCart.js +4 -0
  624. package/dist/icons/shuffle.d.ts +1 -0
  625. package/dist/icons/shuffle.js +4 -0
  626. package/dist/icons/sidebar.d.ts +1 -0
  627. package/dist/icons/sidebar.js +4 -0
  628. package/dist/icons/skipBack.d.ts +2 -0
  629. package/dist/icons/skipBack.js +5 -0
  630. package/dist/icons/skipForward.d.ts +1 -0
  631. package/dist/icons/skipForward.js +4 -0
  632. package/dist/icons/slack.d.ts +1 -0
  633. package/dist/icons/slack.js +4 -0
  634. package/dist/icons/slash.d.ts +1 -0
  635. package/dist/icons/slash.js +4 -0
  636. package/dist/icons/sliders.d.ts +1 -0
  637. package/dist/icons/sliders.js +4 -0
  638. package/dist/icons/smartphone.d.ts +1 -0
  639. package/dist/icons/smartphone.js +4 -0
  640. package/dist/icons/smile.d.ts +1 -0
  641. package/dist/icons/smile.js +4 -0
  642. package/dist/icons/sortAscending.d.ts +1 -0
  643. package/dist/icons/sortAscending.js +4 -0
  644. package/dist/icons/sortDescending.d.ts +1 -0
  645. package/dist/icons/sortDescending.js +4 -0
  646. package/dist/icons/speaker.d.ts +1 -0
  647. package/dist/icons/speaker.js +4 -0
  648. package/dist/icons/square.d.ts +1 -0
  649. package/dist/icons/square.js +4 -0
  650. package/dist/icons/star.d.ts +1 -0
  651. package/dist/icons/star.js +4 -0
  652. package/dist/icons/stopCircle.d.ts +1 -0
  653. package/dist/icons/stopCircle.js +4 -0
  654. package/dist/icons/sun.d.ts +1 -0
  655. package/dist/icons/sun.js +4 -0
  656. package/dist/icons/sunrise.d.ts +1 -0
  657. package/dist/icons/sunrise.js +4 -0
  658. package/dist/icons/sunset.d.ts +1 -0
  659. package/dist/icons/sunset.js +4 -0
  660. package/dist/icons/tab.d.ts +1 -0
  661. package/dist/icons/tab.js +4 -0
  662. package/dist/icons/table.d.ts +1 -0
  663. package/dist/icons/table.js +4 -0
  664. package/dist/icons/tablet.d.ts +1 -0
  665. package/dist/icons/tablet.js +4 -0
  666. package/dist/icons/tag.d.ts +1 -0
  667. package/dist/icons/tag.js +4 -0
  668. package/dist/icons/target.d.ts +1 -0
  669. package/dist/icons/target.js +4 -0
  670. package/dist/icons/terminal.d.ts +1 -0
  671. package/dist/icons/terminal.js +4 -0
  672. package/dist/icons/thermometer.d.ts +1 -0
  673. package/dist/icons/thermometer.js +4 -0
  674. package/dist/icons/thumbsDown.d.ts +2 -0
  675. package/dist/icons/thumbsDown.js +5 -0
  676. package/dist/icons/thumbsUp.d.ts +1 -0
  677. package/dist/icons/thumbsUp.js +4 -0
  678. package/dist/icons/toggleLeft.d.ts +2 -0
  679. package/dist/icons/toggleLeft.js +5 -0
  680. package/dist/icons/toggleRight.d.ts +1 -0
  681. package/dist/icons/toggleRight.js +4 -0
  682. package/dist/icons/tool.d.ts +1 -0
  683. package/dist/icons/tool.js +4 -0
  684. package/dist/icons/tosi.d.ts +1 -0
  685. package/dist/icons/tosi.js +4 -0
  686. package/dist/icons/tosiFavicon.d.ts +1 -0
  687. package/dist/icons/tosiFavicon.js +4 -0
  688. package/dist/icons/tosiPlatform.d.ts +1 -0
  689. package/dist/icons/tosiPlatform.js +4 -0
  690. package/dist/icons/tosiUi.d.ts +1 -0
  691. package/dist/icons/tosiUi.js +4 -0
  692. package/dist/icons/tosiXr.d.ts +1 -0
  693. package/dist/icons/tosiXr.js +4 -0
  694. package/dist/icons/trash.d.ts +1 -0
  695. package/dist/icons/trash.js +4 -0
  696. package/dist/icons/trash2.d.ts +1 -0
  697. package/dist/icons/trash2.js +4 -0
  698. package/dist/icons/trello.d.ts +1 -0
  699. package/dist/icons/trello.js +4 -0
  700. package/dist/icons/trendingDown.d.ts +1 -0
  701. package/dist/icons/trendingDown.js +4 -0
  702. package/dist/icons/trendingUp.d.ts +1 -0
  703. package/dist/icons/trendingUp.js +4 -0
  704. package/dist/icons/triangle.d.ts +1 -0
  705. package/dist/icons/triangle.js +4 -0
  706. package/dist/icons/truck.d.ts +1 -0
  707. package/dist/icons/truck.js +4 -0
  708. package/dist/icons/tv.d.ts +1 -0
  709. package/dist/icons/tv.js +4 -0
  710. package/dist/icons/twitch.d.ts +1 -0
  711. package/dist/icons/twitch.js +4 -0
  712. package/dist/icons/twitter.d.ts +1 -0
  713. package/dist/icons/twitter.js +4 -0
  714. package/dist/icons/type.d.ts +1 -0
  715. package/dist/icons/type.js +4 -0
  716. package/dist/icons/umbrella.d.ts +1 -0
  717. package/dist/icons/umbrella.js +4 -0
  718. package/dist/icons/underline.d.ts +1 -0
  719. package/dist/icons/underline.js +4 -0
  720. package/dist/icons/unlock.d.ts +1 -0
  721. package/dist/icons/unlock.js +4 -0
  722. package/dist/icons/upload.d.ts +1 -0
  723. package/dist/icons/upload.js +4 -0
  724. package/dist/icons/uploadCloud.d.ts +1 -0
  725. package/dist/icons/uploadCloud.js +4 -0
  726. package/dist/icons/user.d.ts +1 -0
  727. package/dist/icons/user.js +4 -0
  728. package/dist/icons/userCheck.d.ts +1 -0
  729. package/dist/icons/userCheck.js +4 -0
  730. package/dist/icons/userMinus.d.ts +1 -0
  731. package/dist/icons/userMinus.js +4 -0
  732. package/dist/icons/userPlus.d.ts +1 -0
  733. package/dist/icons/userPlus.js +4 -0
  734. package/dist/icons/userX.d.ts +1 -0
  735. package/dist/icons/userX.js +4 -0
  736. package/dist/icons/users.d.ts +1 -0
  737. package/dist/icons/users.js +4 -0
  738. package/dist/icons/video.d.ts +1 -0
  739. package/dist/icons/video.js +4 -0
  740. package/dist/icons/videoOff.d.ts +1 -0
  741. package/dist/icons/videoOff.js +4 -0
  742. package/dist/icons/voicemail.d.ts +1 -0
  743. package/dist/icons/voicemail.js +4 -0
  744. package/dist/icons/volume.d.ts +1 -0
  745. package/dist/icons/volume.js +4 -0
  746. package/dist/icons/volume1.d.ts +1 -0
  747. package/dist/icons/volume1.js +4 -0
  748. package/dist/icons/volume2.d.ts +1 -0
  749. package/dist/icons/volume2.js +4 -0
  750. package/dist/icons/volumeX.d.ts +1 -0
  751. package/dist/icons/volumeX.js +4 -0
  752. package/dist/icons/watch.d.ts +1 -0
  753. package/dist/icons/watch.js +4 -0
  754. package/dist/icons/wifi.d.ts +1 -0
  755. package/dist/icons/wifi.js +4 -0
  756. package/dist/icons/wifiOff.d.ts +1 -0
  757. package/dist/icons/wifiOff.js +4 -0
  758. package/dist/icons/wind.d.ts +1 -0
  759. package/dist/icons/wind.js +4 -0
  760. package/dist/icons/x.d.ts +1 -0
  761. package/dist/icons/x.js +4 -0
  762. package/dist/icons/xCircle.d.ts +1 -0
  763. package/dist/icons/xCircle.js +4 -0
  764. package/dist/icons/xOctagon.d.ts +1 -0
  765. package/dist/icons/xOctagon.js +4 -0
  766. package/dist/icons/xSquare.d.ts +1 -0
  767. package/dist/icons/xSquare.js +4 -0
  768. package/dist/icons/xrColor.d.ts +1 -0
  769. package/dist/icons/xrColor.js +4 -0
  770. package/dist/icons/youtube.d.ts +1 -0
  771. package/dist/icons/youtube.js +4 -0
  772. package/dist/icons/zap.d.ts +1 -0
  773. package/dist/icons/zap.js +4 -0
  774. package/dist/icons/zapOff.d.ts +1 -0
  775. package/dist/icons/zapOff.js +4 -0
  776. package/dist/icons/zoomIn.d.ts +1 -0
  777. package/dist/icons/zoomIn.js +4 -0
  778. package/dist/icons/zoomOut.d.ts +1 -0
  779. package/dist/icons/zoomOut.js +4 -0
  780. package/dist/icons.d.ts +1 -45
  781. package/dist/icons.js +33 -483
  782. package/dist/iife.js +147 -147
  783. package/dist/iife.js.map +390 -30
  784. package/dist/menu.d.ts +1 -1
  785. package/dist/menu.js +3 -2
  786. package/dist/month.js +6 -4
  787. package/dist/notifications.js +5 -3
  788. package/dist/palette.js +7 -4
  789. package/dist/pocket-bar.d.ts +3 -1
  790. package/dist/pocket-bar.js +4 -1
  791. package/dist/rating.d.ts +1 -0
  792. package/dist/rating.js +3 -1
  793. package/dist/rich-text.js +20 -11
  794. package/dist/search-field.js +2 -2
  795. package/dist/segmented.js +1 -1
  796. package/dist/select.js +4 -3
  797. package/dist/sizer.js +2 -2
  798. package/dist/tab-selector.js +2 -2
  799. package/dist/tag-list.js +2 -2
  800. package/dist/tag.js +2 -2
  801. package/dist/value-renderer.d.ts +2 -0
  802. package/dist/value-renderer.js +4 -1
  803. package/dist/version.d.ts +1 -1
  804. package/dist/version.js +1 -1
  805. package/llms.txt +1 -1
  806. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.17.2
4
+
5
+ > Components carry only the icons they draw, and `<tosi-affix>` centres a caption on its
6
+ > content. Nothing to change on upgrade. An app that imports components one at a time ships
7
+ > about 20 kB gzip less per component; **`dist/iife.js` grows 1.8 kB** (508.0 kB gzip),
8
+ > because the whole set is now assembled from per-icon modules.
9
+
10
+ ### Added
11
+
12
+ - `tosijs-ui/icons/<name>` exports one icon as a function, the same one `icons.name` gives:
13
+ `import { chevronDown } from 'tosijs-ui/icons/chevronDown'`. Each module registers its icon
14
+ once however many modules import it, and imports any icon it is drawn from (`chevronDown`
15
+ brings `chevronRight`), so a bundler keeps only the icons something imports. `delete` and
16
+ `package` export `deleteIcon` and `packageIcon`.
17
+ - `tosijs-make-icons` gains `--modules <dir>` (one string module per icon, plus an index whose
18
+ default is the whole set), `--creators <dir>` (one creator module per icon) and
19
+ `--core <specifier>` (where creators import `iconCreator` from; default
20
+ `tosijs-ui/icon-core`).
21
+
22
+ ### Changed
23
+
24
+ - Components import only the icons they draw, not all 320. Measured gzip, each imported alone:
25
+ `tosiTag` 4.4 kB, `tosiCarousel` 6.2 kB (was 23.8), menu 13.9 kB (was 34.2), select 13.7
26
+ (34.0), tabs 15.1 (35.4), month 15.9 (36.1), table 29.1 (48.9), rating 5.0 (25.5). Importing
27
+ `tosijs-ui` itself still brings the whole set, so nothing changes for an app that does.
28
+ - An icon a caller names (a menu item's `icon: 'folder'`, a select option's, a rating's) still
29
+ draws. On a page that has not loaded the whole set it appears a moment late, like a web font,
30
+ while the set loads. Import the icon's module, pass the icon itself where an element is
31
+ accepted (`icon: folder()`), or import `tosijs-ui/icons` up front, to draw it at once.
32
+
33
+ ### Fixed
34
+
35
+ - `<tosi-affix>`: a centred caption is centred on its content, not on the content's cell. A
36
+ fixture wider than fixed-width content (the doc page's own "a caption, centred below")
37
+ widened the content's column, and the content sat at its start; the same happened in any
38
+ affix wider than its content, where an `ne` or `e` fixture also stood off the content's edge.
39
+ The content now takes the fixture's alignment with auto margins, which leave content that
40
+ fills its cell untouched.
41
+ - `tosijs-ui/icons/data/<name>` shipped stale icons: the per-icon modules were written once in
42
+ 1.4.1 and never regenerated, so 54 of 313 differed from the icons actually drawn (including
43
+ 1.17.0's open-path fix) and six (`fatArrowDown/Left/Right/Up`, `pin`, `shift`) had no module.
44
+ The build now writes them from the same data, and a test fails if they drift.
45
+
3
46
  ## 1.17.1
4
47
 
5
48
  > Fixes from the 1.17.0 review, plus elastic table columns that can be dragged narrower. Nothing
@@ -16,6 +16,15 @@ Ingests SVG files from icon directories and generates an icon-data module
16
16
  - `--input <dir1,dir2,...>` — directories to scan (default: `./icons`)
17
17
  - `--output <path>` — output file (default: `./src/icon-data.ts`)
18
18
  - `--optimize <true|false>` — round coordinates based on viewBox size (default: true)
19
+ - `--modules <dir>` — also write one module per icon into `dir` (`export const name = '…'`),
20
+ plus an `index`, so code can import just the icons it draws. tosijs-ui's own build writes
21
+ `src/icons/data/` this way; files there that are no longer icons are removed.
22
+ - `--creators <dir>` — with `--modules`, also write one module per icon that exports it as a
23
+ function, `export const chevronDown = iconCreator(…)`, registering it once when it loads.
24
+ A redirect's module imports the icon it redirects to. tosijs-ui's own build writes
25
+ `src/icons/` this way, published as `tosijs-ui/icons/<name>`.
26
+ - `--core <specifier>` — where `--creators` modules import `iconCreator` from (default
27
+ `tosijs-ui/icon-core`)
19
28
 
20
29
  ### Examples
21
30
 
@@ -99,6 +108,9 @@ const defaultOptions = {
99
108
  input: './icons',
100
109
  output: './src/icon-data.ts',
101
110
  optimize: true, // Optimize coordinate precision based on viewBox size
111
+ modules: '', // A directory to also write one module per icon into
112
+ creators: '', // A directory to also write one creator module per icon into
113
+ core: 'tosijs-ui/icon-core', // Where creator modules import iconCreator from
102
114
  }
103
115
  const flags = Object.keys(defaultOptions)
104
116
 
@@ -128,7 +140,14 @@ for (const flag of flags) {
128
140
  }
129
141
 
130
142
  // Destructure options for easier use
131
- const { input: iconDirectories, output: outputFilePath, optimize } = options
143
+ const {
144
+ input: iconDirectories,
145
+ output: outputFilePath,
146
+ optimize,
147
+ modules: modulesDir,
148
+ creators: creatorsDir,
149
+ core: coreSpecifier,
150
+ } = options
132
151
  const isTypescript = outputFilePath.endsWith('.ts')
133
152
  const shouldOptimize = optimize === true || optimize === 'true'
134
153
 
@@ -484,4 +503,151 @@ try {
484
503
 
485
504
  fs.writeFileSync(outputFilePath, source, 'utf8')
486
505
 
506
+ /*
507
+ One module per icon, so a component can import the handful it draws instead of all of them
508
+ (tosijs-ui#3885). They are written from the same data in the same run, so they cannot drift
509
+ from the combined module: the 1.4.1 copies were written once, by hand, and by 1.17 a sixth of
510
+ them were wrong. A redirect's module holds the redirect, not its target; whoever registers
511
+ it registers the target too.
512
+
513
+ Files in the directory that are not icons any more are removed, but only ones this generator
514
+ writes (a module that starts `export const` or an index of `export {` lines), so a stray file
515
+ of someone else's survives.
516
+ */
517
+ if (typeof modulesDir === 'string' && modulesDir !== '') {
518
+ const ext = isTypescript ? '.ts' : '.js'
519
+ fs.mkdirSync(modulesDir, { recursive: true })
520
+ /*
521
+ The export is the icon's name, unless that is not a name a module can bind: `delete` and (in
522
+ a module) `package` look like identifiers and are reserved, so they export `deleteIcon` and
523
+ `packageIcon` from `delete` and `package`, as the 1.4.1 modules did. Ask the parser, not a
524
+ pattern.
525
+ */
526
+ const bindable = (name) => {
527
+ try {
528
+ new Function(`"use strict"; let ${name}`)
529
+ return true
530
+ } catch {
531
+ return false
532
+ }
533
+ }
534
+ const valid = (name) => /^[A-Za-z_$][\w$]*$/.test(name)
535
+ const names = Object.keys(iconData).filter(valid)
536
+ const exportName = (name) => (bindable(name) ? name : name + 'Icon')
537
+ const skipped = Object.keys(iconData).filter((name) => !valid(name))
538
+ if (skipped.length > 0) {
539
+ console.warn(
540
+ `make-icon-data: no module for ${skipped.join(', ')} (not an identifier)`
541
+ )
542
+ }
543
+ const wanted = new Set([...names.map((n) => n + ext), 'index' + ext])
544
+ for (const file of fs.readdirSync(modulesDir)) {
545
+ if (wanted.has(file) || !file.endsWith(ext)) continue
546
+ const full = path.join(modulesDir, file)
547
+ const head = fs.readFileSync(full, 'utf8').slice(0, 13)
548
+ if (head.startsWith('export const') || head.startsWith('export {')) {
549
+ fs.rmSync(full)
550
+ }
551
+ }
552
+ for (const name of names) {
553
+ const file = path.join(modulesDir, name + ext)
554
+ const text = `export const ${exportName(name)} = ${JSON.stringify(
555
+ iconData[name]
556
+ )}\n`
557
+ if (!fs.existsSync(file) || fs.readFileSync(file, 'utf8') !== text) {
558
+ fs.writeFileSync(file, text, 'utf8')
559
+ }
560
+ }
561
+ /*
562
+ The index re-exports every icon by name and, as its default, the whole set keyed by icon
563
+ name (so `delete`, not `deleteIcon`). Code that needs every icon imports the default, which
564
+ is built from the same modules a component imports one at a time: one copy of each string in
565
+ a bundle that has both, not two.
566
+ */
567
+ const key = (n) => (/^[A-Za-z_$][\w$]*$/.test(n) ? n : quote(n))
568
+ fs.writeFileSync(
569
+ path.join(modulesDir, 'index' + ext),
570
+ names
571
+ .map((n) => `import { ${exportName(n)} } from './${n}.js'\n`)
572
+ .join('') +
573
+ `\nexport {\n${names.map((n) => ` ${exportName(n)},\n`).join('')}}\n` +
574
+ `\nexport default {\n${names
575
+ .map((n) =>
576
+ exportName(n) === n ? ` ${n},\n` : ` ${key(n)}: ${exportName(n)},\n`
577
+ )
578
+ .join('')}}\n`,
579
+ 'utf8'
580
+ )
581
+ if (typeof creatorsDir === 'string' && creatorsDir !== '') {
582
+ writeCreators(creatorsDir, names, exportName, ext)
583
+ }
584
+ }
585
+
487
586
  console.log(`Successfully generated icon data to: ${outputFilePath}`)
587
+
588
+ /*
589
+ A redirect draws another icon (`chevronDown` is `chevronRight90r`), so its creator module
590
+ imports that icon's, and registering one registers what it needs. The icon a redirect draws
591
+ is the longest icon name its value starts with, per `$`-stacked layer; a value that names no
592
+ icon (a composition rule's) imports nothing and resolves the way any unregistered name does.
593
+ */
594
+ function redirectTargets(name) {
595
+ const spec = iconData[name]
596
+ if (spec.startsWith('<')) return []
597
+ const targets = new Set()
598
+ for (const layer of spec.split('$')) {
599
+ let best = ''
600
+ for (const other of Object.keys(iconData)) {
601
+ if (
602
+ other !== name &&
603
+ layer.startsWith(other) &&
604
+ other.length > best.length
605
+ )
606
+ best = other
607
+ }
608
+ if (best) targets.add(best)
609
+ }
610
+ return [...targets]
611
+ }
612
+
613
+ function writeCreators(dir, names, exportName, ext) {
614
+ if (typeof modulesDir !== 'string' || modulesDir === '') {
615
+ throw new Error('make-icon-data: --creators needs --modules')
616
+ }
617
+ fs.mkdirSync(dir, { recursive: true })
618
+ let dataPath = path.relative(dir, modulesDir).split(path.sep).join('/')
619
+ if (!dataPath.startsWith('.')) dataPath = './' + dataPath
620
+ const named = new Set(names)
621
+ for (const name of names) {
622
+ const exported = exportName(name)
623
+ const lines = [
624
+ '// Generated by make-icon-data. One icon, registered when this module loads.',
625
+ `import { iconCreator } from ${quote(coreSpecifier)}`,
626
+ ...redirectTargets(name)
627
+ .filter((t) => named.has(t))
628
+ .map((t) => `import './${t}.js'`),
629
+ `import { ${exported} as spec } from '${dataPath}/${name}.js'`,
630
+ '',
631
+ `export const ${exported} = iconCreator(${quote(name)}, spec)`,
632
+ '',
633
+ ]
634
+ const file = path.join(dir, name + ext)
635
+ const text = lines.join('\n')
636
+ if (!fs.existsSync(file) || fs.readFileSync(file, 'utf8') !== text) {
637
+ fs.writeFileSync(file, text, 'utf8')
638
+ }
639
+ }
640
+ const wanted = new Set(names.map((n) => n + ext))
641
+ for (const file of fs.readdirSync(dir)) {
642
+ if (wanted.has(file) || !file.endsWith(ext)) continue
643
+ const full = path.join(dir, file)
644
+ if (!fs.statSync(full).isFile()) continue
645
+ if (
646
+ fs
647
+ .readFileSync(full, 'utf8')
648
+ .startsWith('// Generated by make-icon-data.')
649
+ ) {
650
+ fs.rmSync(full)
651
+ }
652
+ }
653
+ }
package/dist/affix.d.ts CHANGED
@@ -50,6 +50,12 @@ export declare class TosiAffix extends Component<AffixParts> {
50
50
  minHeight: string;
51
51
  position: string;
52
52
  };
53
+ ':host > [part="content"][data-align="center"]::slotted(*)': {
54
+ marginInline: string;
55
+ };
56
+ ':host > [part="content"][data-align="end"]::slotted(*)': {
57
+ marginInlineStart: string;
58
+ };
53
59
  ':host > [part="fixture"]': {
54
60
  display: string;
55
61
  flexDirection: string;
package/dist/affix.js CHANGED
@@ -259,6 +259,17 @@ export class TosiAffix extends Component {
259
259
  // a positioned child of the content is placed against the content, not the fixture
260
260
  position: 'relative',
261
261
  },
262
+ /*
263
+ Content narrower than its cell — a fixed width in a wider affix, or under a fixture wider
264
+ than it — follows the fixture, so a centred caption is centred on the content and not on
265
+ the cell. Auto margins do nothing to content that fills its cell.
266
+ */
267
+ ':host > [part="content"][data-align="center"]::slotted(*)': {
268
+ marginInline: 'auto',
269
+ },
270
+ ':host > [part="content"][data-align="end"]::slotted(*)': {
271
+ marginInlineStart: 'auto',
272
+ },
262
273
  ':host > [part="fixture"]': {
263
274
  display: 'flex',
264
275
  flexDirection: 'var(--tosi-affix-direction)',
@@ -436,6 +447,14 @@ export class TosiAffix extends Component {
436
447
  borderRadius: outerCorners(cell.edge, placement.inside, 'var(--tosi-affix-radius, var(--tosi-border-radius, 4px))'),
437
448
  });
438
449
  this.style.setProperty('--tosi-affix-direction', cell.direction);
450
+ // beside the content, it hugs the edge it is on; above, below or inside, it lines up with it
451
+ const side = cell.edge === 'e' || cell.edge === 'w';
452
+ this.parts.content.dataset.align =
453
+ side && !placement.inside
454
+ ? cell.edge === 'e'
455
+ ? 'end'
456
+ : 'start'
457
+ : cell.justifySelf;
439
458
  }
440
459
  render() {
441
460
  super.render();
@@ -223,7 +223,8 @@ be used to load `.glb` files. Setting `src` calls this for you on connect.
223
223
  /*{ "parent": "Components", "headTitle": "<tosi-3d> Babylon.js wrapper (deprecated) — tosijs-ui", "description": "Deprecated: <tosi-3d> is a thin Babylon.js wrapper kept for compatibility. New 3D work should use the tosijs-3d package." }*/
224
224
  import { elements, withAttributes } from 'tosijs';
225
225
  import { scriptTag } from './via-tag.js';
226
- import { icons, svg2DataUrl } from './icons.js';
226
+ import { svg2DataUrl } from './icon-core.js';
227
+ import { xrColor as xrColorIcon } from './icons/xrColor.js';
227
228
  const noop = () => {
228
229
  /* do not care */
229
230
  };
@@ -310,7 +311,7 @@ export class B3d extends withAttributes({
310
311
  width: 80,
311
312
  backgroundColor: 'transparent',
312
313
  filter: 'drop-shadow(0 0 4px #000c)',
313
- backgroundImage: svg2DataUrl(icons.xrColor()),
314
+ backgroundImage: svg2DataUrl(xrColorIcon()),
314
315
  backgroundPosition: 'center',
315
316
  backgroundRepeat: 'no-repeat',
316
317
  border: 'none',
package/dist/carousel.js CHANGED
@@ -72,7 +72,8 @@ This is a minimalist carousel component that supports the usual stuff.
72
72
  */
73
73
  /*{ "parent": "Components", "description": "A minimal carousel with optional arrows and dots, several items per page, looping, and auto-advance that holds still while someone is looking." }*/
74
74
  import { elements, vars, withAttributes } from 'tosijs';
75
- import { icons } from './icons.js';
75
+ import { chevronLeft as chevronLeftIcon } from './icons/chevronLeft.js';
76
+ import { chevronRight as chevronRightIcon } from './icons/chevronRight.js';
76
77
  import { prefersReducedMotion } from './reduced-motion.js';
77
78
  const { button, slot, div } = elements;
78
79
  export class TosiCarousel extends withAttributes({
@@ -382,12 +383,12 @@ export class TosiCarousel extends withAttributes({
382
383
  }
383
384
  }
384
385
  content = () => [
385
- div({ part: 'pager' }, button({ title: 'previous slide', part: 'back' }, icons.chevronLeft()), div(
386
+ div({ part: 'pager' }, button({ title: 'previous slide', part: 'back' }, chevronLeftIcon()), div(
386
387
  /*
387
388
  Focusable, so the strip can be scrolled from the keyboard (#3573); ← and → page it,
388
389
  like the arrow buttons.
389
390
  */
390
- { title: 'slides', role: 'group', part: 'scroller', tabindex: 0 }, div({ part: 'grid' }, slot())), button({ title: 'next slide', part: 'forward' }, icons.chevronRight())),
391
+ { title: 'slides', role: 'group', part: 'scroller', tabindex: 0 }, div({ part: 'grid' }, slot())), button({ title: 'next slide', part: 'forward' }, chevronRightIcon())),
391
392
  div({ title: 'choose slide to display', role: 'group', part: 'progress' }),
392
393
  ];
393
394
  connectedCallback() {
@@ -1313,7 +1313,10 @@ import { elements, vars, varDefault, tosiValue, getListItem, getListBinding, tos
1313
1313
  import { trackDrag } from './track-drag.js';
1314
1314
  import { naturalSorter } from './natural-compare.js';
1315
1315
  import { resolveRowGroupId, withForcedGroups, clusterByGroup, groupRenderMeta, groupCounts, } from './row-grouping.js';
1316
- import { icons } from './icons.js';
1316
+ import { chevronRight as chevronRightIcon } from './icons/chevronRight.js';
1317
+ import { sortAscending as sortAscendingIcon } from './icons/sortAscending.js';
1318
+ import { sortDescending as sortDescendingIcon } from './icons/sortDescending.js';
1319
+ import { moreVertical as moreVerticalIcon } from './icons/moreVertical.js';
1317
1320
  import { valueRenderer, } from './value-renderer.js';
1318
1321
  import { fieldForProperty, collectErrors, coerceToSchema, fieldEditable, } from './schema-form/fields.js';
1319
1322
  import { getSchemaValidator, warnNoValidator } from './schema-form/validator.js';
@@ -2827,7 +2830,7 @@ export class TosiTable extends withAttributes({
2827
2830
  if (item != null)
2828
2831
  this.toggleRowDetail(item);
2829
2832
  },
2830
- }, icons.chevronRight()));
2833
+ }, chevronRightIcon()));
2831
2834
  return cell;
2832
2835
  }
2833
2836
  if (this.columnEditable(col)) {
@@ -2949,12 +2952,12 @@ export class TosiTable extends withAttributes({
2949
2952
  let sortIcon;
2950
2953
  switch (col.sort) {
2951
2954
  case 'ascending':
2952
- sortIcon = icons.sortAscending();
2955
+ sortIcon = sortAscendingIcon();
2953
2956
  ariaSort = 'descending';
2954
2957
  break;
2955
2958
  case 'descending':
2956
2959
  ariaSort = 'ascending';
2957
- sortIcon = icons.sortDescending();
2960
+ sortIcon = sortDescendingIcon();
2958
2961
  break;
2959
2962
  }
2960
2963
  // An expander column has nothing to sort by and should not be hidden by accident.
@@ -2966,7 +2969,7 @@ export class TosiTable extends withAttributes({
2966
2969
  popColumnMenu(event.target, col);
2967
2970
  event.stopPropagation();
2968
2971
  },
2969
- }, sortIcon || icons.moreVertical())
2972
+ }, sortIcon || moreVerticalIcon())
2970
2973
  : {};
2971
2974
  const cell = col.headerCell !== undefined
2972
2975
  ? col.headerCell(col)
@@ -67,7 +67,11 @@ After an element's position, size, or rotation are adjusted a `change` event is
67
67
  */
68
68
  /*{ "parent": "Components", "description": "<tosi-editable> adds handles to an absolutely positioned element to move, resize and rotate it, with optional grid and angle snapping." }*/
69
69
  import { elements, vars, withAttributes } from 'tosijs';
70
- import { icons } from './icons.js';
70
+ import { move as moveIcon } from './icons/move.js';
71
+ import { resize as resizeIcon } from './icons/resize.js';
72
+ import { refreshCw as refreshCwIcon } from './icons/refreshCw.js';
73
+ import { unlock as unlockIcon } from './icons/unlock.js';
74
+ import { lock as lockIcon } from './icons/lock.js';
71
75
  import { trackDrag } from './track-drag.js';
72
76
  const { div, slot } = elements;
73
77
  export class EditableRect extends withAttributes({
@@ -358,7 +362,7 @@ export class EditableRect extends withAttributes({
358
362
  div({
359
363
  part: 'move',
360
364
  style: { top: '50%', left: '50%', transform: 'translate(-50%,-50%)' },
361
- }, icons.move()),
365
+ }, moveIcon()),
362
366
  div({
363
367
  part: 'left',
364
368
  title: 'resize left',
@@ -386,31 +390,31 @@ export class EditableRect extends withAttributes({
386
390
  div({
387
391
  part: 'resize',
388
392
  style: { top: '100%', left: '100%' },
389
- }, icons.resize()),
393
+ }, resizeIcon()),
390
394
  div({
391
395
  part: 'rotate',
392
396
  style: { top: '50%', right: '0' },
393
- }, icons.refreshCw()),
397
+ }, refreshCwIcon()),
394
398
  div({
395
399
  part: 'lockLeft',
396
400
  title: 'lock left',
397
401
  style: { top: '50%', left: 0, transform: 'translate(-100%, -50%)' },
398
- }, icons.unlock(), icons.lock()),
402
+ }, unlockIcon(), lockIcon()),
399
403
  div({
400
404
  part: 'lockRight',
401
405
  title: 'lock right',
402
406
  style: { top: '50%', left: '100%', transform: 'translate(0%, -50%)' },
403
- }, icons.unlock(), icons.lock()),
407
+ }, unlockIcon(), lockIcon()),
404
408
  div({
405
409
  part: 'lockTop',
406
410
  title: 'lock top',
407
411
  style: { top: 0, left: '50%', transform: 'translate(-50%, -100%)' },
408
- }, icons.unlock(), icons.lock()),
412
+ }, unlockIcon(), lockIcon()),
409
413
  div({
410
414
  part: 'lockBottom',
411
415
  title: 'lock bottom',
412
416
  style: { top: '100%', left: '50%', transform: 'translate(-50%, 0%)' },
413
- }, icons.unlock(), icons.lock()),
417
+ }, unlockIcon(), lockIcon()),
414
418
  slot(),
415
419
  ];
416
420
  connectedCallback() {
@@ -145,7 +145,9 @@ interface FilterMaker {
145
145
  */
146
146
  /*{ "headTitle": "<tosi-filter> query and filter builder — tosijs-ui", "parent": "Form Components", "description": "<tosi-filter> builds array filter functions from a Finder-style query editor, with extensible filter types and a state you can save as JSON." }*/
147
147
  import { Component as WebComponent, elements, withAttributes, } from 'tosijs';
148
- import { icons } from './icons.js';
148
+ import { trash as trashIcon } from './icons/trash.js';
149
+ import { plus as plusIcon } from './icons/plus.js';
150
+ import { x as xIcon } from './icons/x.js';
149
151
  import { tosiSelect } from './select.js';
150
152
  const { div, input, button, span } = elements;
151
153
  const passThru = (array) => array;
@@ -304,7 +306,7 @@ export class FilterPart extends withAttributes({
304
306
  tosiSelect({ part: 'condition', title: 'condition' }),
305
307
  input({ part: 'needle', type: 'search', title: 'value' }),
306
308
  span({ part: 'padding' }),
307
- button({ part: 'remove', title: 'delete' }, icons.trash()),
309
+ button({ part: 'remove', title: 'delete' }, trashIcon()),
308
310
  ];
309
311
  filter = passAnything;
310
312
  get state() {
@@ -465,9 +467,9 @@ export class FilterBuilder extends WebComponent {
465
467
  title: 'add filter condition',
466
468
  onClick: this.addFilter,
467
469
  class: 'round',
468
- }, icons.plus()),
470
+ }, plusIcon()),
469
471
  div({ part: 'filterContainer' }),
470
- button({ part: 'reset', title: 'reset filter', onClick: this.reset }, icons.x()),
472
+ button({ part: 'reset', title: 'reset filter', onClick: this.reset }, xIcon()),
471
473
  ];
472
474
  filters = availableFilters;
473
475
  reset = () => {
package/dist/header.js CHANGED
@@ -89,7 +89,11 @@ preview.append(
89
89
  */
90
90
  /*{ "headTitle": "<tosi-header> flex header bar — tosijs-ui", "parent": "Components", "description": "<tosi-header> is a flex header bar; compose it with elastic() and spacer() to place a title, links and menus where you want them." }*/
91
91
  import { Component, elements, varDefault } from 'tosijs';
92
- import { icons } from './icons.js';
92
+ import { tosi as tosiIcon } from './icons/tosi.js';
93
+ import { discord as discordIcon } from './icons/discord.js';
94
+ import { blog as blogIcon } from './icons/blog.js';
95
+ import { github as githubIcon } from './icons/github.js';
96
+ import { npm as npmIcon } from './icons/npm.js';
93
97
  const { a } = elements;
94
98
  // ============================================================================
95
99
  // Header Component
@@ -114,11 +118,11 @@ export class TosiHeader extends Component {
114
118
  }
115
119
  export const tosiHeader = TosiHeader.elementCreator();
116
120
  const linkIcons = {
117
- tosijs: () => icons.tosi(),
118
- discord: () => icons.discord(),
119
- blog: () => icons.blog(),
120
- github: () => icons.github(),
121
- npm: () => icons.npm(),
121
+ tosijs: () => tosiIcon(),
122
+ discord: () => discordIcon(),
123
+ blog: () => blogIcon(),
124
+ github: () => githubIcon(),
125
+ npm: () => npmIcon(),
122
126
  };
123
127
  export class TosiHeaderLinks extends Component {
124
128
  static preferredTagName = 'tosi-header-links';
@@ -0,0 +1,46 @@
1
+ import { ElementCreator, ElementPart } from 'tosijs';
2
+ import { SVGIconMap, IconCreator } from './icon-types.js';
3
+ export { iconRules, type IconRule } from './icon-rules.js';
4
+ export declare const defineIcons: (newIcons: {
5
+ [key: string]: string;
6
+ }) => void;
7
+ export type { IconElement, IconName, SVGIconMap, IconCreator, } from './icon-types.js';
8
+ export declare const svg2DataUrl: (icon: Element, fill?: string, stroke?: string, strokeWidth?: number) => string;
9
+ /** Wrap icon elements in a composite container (for custom function rules) */
10
+ export declare function wrapIcon(prop: string, parts: ElementPart[], ...children: Element[]): HTMLSpanElement;
11
+ /** Resolve an icon name through the full pipeline (redirects, suffixes, rules, stacking) */
12
+ export declare function resolveIcon(prop: string, parts: ElementPart[]): Element;
13
+ export declare function iconCreator(name: string, spec: string): IconCreator;
14
+ export declare const icons: SVGIconMap;
15
+ declare const SvgIcon_base: import("tosijs").WithAttributes<{
16
+ icon: string;
17
+ size: number;
18
+ fill: string;
19
+ stroke: string;
20
+ strokeWidth: number;
21
+ }>;
22
+ export declare class SvgIcon extends SvgIcon_base {
23
+ static preferredTagName: string;
24
+ static lightStyleSpec: {
25
+ ':host': {
26
+ '--tosi-icon-size': string;
27
+ '--tosi-icon-stroke-width': string;
28
+ '--tosi-icon-stroke-linejoin': string;
29
+ '--tosi-icon-stroke-linecap': string;
30
+ '--tosi-icon-fill': string;
31
+ display: string;
32
+ verticalAlign: string;
33
+ stroke: string;
34
+ strokeWidth: string;
35
+ strokeLinejoin: string;
36
+ strokeLinecap: string;
37
+ fill: string;
38
+ height: string;
39
+ };
40
+ ':host svg, :host .tosi-icon-composite': {
41
+ height: string;
42
+ };
43
+ };
44
+ render(): void;
45
+ }
46
+ export declare const svgIcon: ElementCreator<SvgIcon>;