bref-ui-themes 0.1.0 → 1.0.1

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 (549) hide show
  1. package/README.md +127 -71
  2. package/dist/crystal-code/button/button.svelte +518 -0
  3. package/dist/crystal-code/checkbox/checkbox.svelte +119 -0
  4. package/dist/crystal-code/combobox/combobox.svelte +155 -0
  5. package/dist/crystal-code/combobox/combobox.svelte.d.ts +4 -0
  6. package/dist/crystal-code/combobox/form.svelte +61 -0
  7. package/dist/crystal-code/combobox/form.svelte.d.ts +4 -0
  8. package/dist/crystal-code/combobox/input.svelte +132 -0
  9. package/dist/crystal-code/combobox/input.svelte.d.ts +4 -0
  10. package/dist/crystal-code/combobox/list.svelte +78 -0
  11. package/dist/crystal-code/combobox/list.svelte.d.ts +4 -0
  12. package/dist/crystal-code/combobox/option.svelte +97 -0
  13. package/dist/crystal-code/combobox/option.svelte.d.ts +4 -0
  14. package/dist/{components → crystal-code}/dialog/dialog.svelte +51 -21
  15. package/dist/{components → crystal-code}/dialog/footer.svelte +8 -2
  16. package/dist/{components → crystal-code}/dialog/header.svelte +5 -4
  17. package/dist/crystal-code/icon/icon.svelte +121 -0
  18. package/dist/{components → crystal-code}/index.d.ts +10 -4
  19. package/dist/{components → crystal-code}/index.js +10 -4
  20. package/dist/{components → crystal-code}/pill/content.svelte +2 -3
  21. package/dist/crystal-code/pill/on-delete.svelte +72 -0
  22. package/dist/crystal-code/pill/on-delete.svelte.d.ts +7 -0
  23. package/dist/crystal-code/pill/pill.svelte +488 -0
  24. package/dist/{components → crystal-code}/pill-choice-group/pill-choice-group.svelte +7 -11
  25. package/dist/crystal-code/pill-group/container.svelte +50 -0
  26. package/dist/crystal-code/pill-group/pill-group.svelte +29 -0
  27. package/dist/crystal-code/pill-group/pill-group.svelte.d.ts +4 -0
  28. package/dist/crystal-code/pill-group/types.d.ts +6 -0
  29. package/dist/crystal-code/popover/popover.svelte +133 -0
  30. package/dist/crystal-code/progress/progress.svelte +588 -0
  31. package/dist/crystal-code/select/empty.svelte +57 -0
  32. package/dist/crystal-code/select/list.svelte +61 -0
  33. package/dist/crystal-code/select/option.svelte +118 -0
  34. package/dist/crystal-code/select/select.svelte +106 -0
  35. package/dist/crystal-code/select/trigger.svelte +380 -0
  36. package/dist/crystal-code/surface/surface.svelte +413 -0
  37. package/dist/crystal-code/switch/switch.svelte +163 -0
  38. package/dist/crystal-code/switch/switch.svelte.d.ts +4 -0
  39. package/dist/crystal-code/tabs/item.svelte +440 -0
  40. package/dist/{components → crystal-code}/tabs/tabs.svelte +33 -19
  41. package/dist/crystal-code/text-area/text-area.svelte +478 -0
  42. package/dist/crystal-code/text-area/text-area.svelte.d.ts +4 -0
  43. package/dist/crystal-code/text-input/text-input.svelte +481 -0
  44. package/dist/crystal-code/theme/fonts.css +8 -0
  45. package/dist/crystal-code/theme/overlay-motion.d.ts +5 -0
  46. package/dist/crystal-code/theme/overlay-motion.js +32 -0
  47. package/dist/{components → crystal-code}/theme/surface.d.ts +1 -1
  48. package/dist/crystal-code/theme/surface.js +11 -0
  49. package/dist/crystal-code/theme/theme-mode-toggle.svelte +9 -0
  50. package/dist/crystal-code/theme/theme-mode-toggle.svelte.d.ts +4 -0
  51. package/dist/crystal-code/theme.svelte +91 -0
  52. package/dist/{relay → crystal-code}/theme.svelte.d.ts +1 -1
  53. package/dist/crystal-code/tree-view/tree-node/chevron-button.svelte +68 -0
  54. package/dist/crystal-code/tree-view/tree-node/chevron-button.svelte.d.ts +4 -0
  55. package/dist/crystal-code/tree-view/tree-node/content.svelte +68 -0
  56. package/dist/crystal-code/tree-view/tree-node/content.svelte.d.ts +4 -0
  57. package/dist/crystal-code/tree-view/tree-node/delete-button.svelte +53 -0
  58. package/dist/crystal-code/tree-view/tree-node/delete-button.svelte.d.ts +4 -0
  59. package/dist/crystal-code/tree-view/tree-node/tree-node.svelte +363 -0
  60. package/dist/crystal-code/tree-view/tree-node/tree-node.svelte.d.ts +4 -0
  61. package/dist/crystal-code/tree-view/tree-view-section.svelte +42 -0
  62. package/dist/crystal-code/tree-view/tree-view-section.svelte.d.ts +4 -0
  63. package/dist/crystal-code/tree-view/tree-view.svelte +74 -0
  64. package/dist/crystal-code/tree-view/tree-view.svelte.d.ts +4 -0
  65. package/dist/glassy/button/button.svelte +566 -0
  66. package/dist/glassy/button/button.svelte.d.ts +4 -0
  67. package/dist/glassy/checkbox/checkbox.svelte +225 -0
  68. package/dist/glassy/checkbox/checkbox.svelte.d.ts +4 -0
  69. package/dist/glassy/checkbox/types.d.ts +6 -0
  70. package/dist/glassy/checkbox/types.js +1 -0
  71. package/dist/glassy/combobox/combobox.svelte +194 -0
  72. package/dist/glassy/combobox/combobox.svelte.d.ts +4 -0
  73. package/dist/glassy/combobox/form.svelte +102 -0
  74. package/dist/glassy/combobox/form.svelte.d.ts +4 -0
  75. package/dist/glassy/combobox/input.svelte +132 -0
  76. package/dist/glassy/combobox/input.svelte.d.ts +4 -0
  77. package/dist/glassy/combobox/list.svelte +117 -0
  78. package/dist/glassy/combobox/list.svelte.d.ts +4 -0
  79. package/dist/glassy/combobox/option.svelte +136 -0
  80. package/dist/glassy/combobox/option.svelte.d.ts +4 -0
  81. package/dist/glassy/dialog/dialog.svelte +619 -0
  82. package/dist/glassy/dialog/dialog.svelte.d.ts +4 -0
  83. package/dist/glassy/dialog/footer.svelte +70 -0
  84. package/dist/glassy/dialog/footer.svelte.d.ts +7 -0
  85. package/dist/glassy/dialog/header.svelte +105 -0
  86. package/dist/glassy/dialog/header.svelte.d.ts +4 -0
  87. package/dist/glassy/icon/icon.svelte +149 -0
  88. package/dist/glassy/icon/icon.svelte.d.ts +4 -0
  89. package/dist/glassy/index.d.ts +20 -0
  90. package/dist/glassy/index.js +20 -0
  91. package/dist/glassy/pill/content.svelte +69 -0
  92. package/dist/glassy/pill/content.svelte.d.ts +4 -0
  93. package/dist/glassy/pill/on-delete.svelte +86 -0
  94. package/dist/glassy/pill/pill.svelte +596 -0
  95. package/dist/glassy/pill/pill.svelte.d.ts +4 -0
  96. package/dist/glassy/pill-choice-group/pill-choice-group.svelte +191 -0
  97. package/dist/glassy/pill-choice-group/pill-choice-group.svelte.d.ts +4 -0
  98. package/dist/glassy/pill-group/container.svelte +86 -0
  99. package/dist/glassy/pill-group/container.svelte.d.ts +4 -0
  100. package/dist/glassy/pill-group/types.js +1 -0
  101. package/dist/glassy/popover/popover.svelte +155 -0
  102. package/dist/glassy/popover/popover.svelte.d.ts +4 -0
  103. package/dist/glassy/progress/progress.svelte +668 -0
  104. package/dist/glassy/progress/progress.svelte.d.ts +4 -0
  105. package/dist/glassy/select/empty.svelte +63 -0
  106. package/dist/glassy/select/empty.svelte.d.ts +4 -0
  107. package/dist/glassy/select/list.svelte +67 -0
  108. package/dist/glassy/select/list.svelte.d.ts +4 -0
  109. package/dist/glassy/select/option.svelte +117 -0
  110. package/dist/glassy/select/option.svelte.d.ts +4 -0
  111. package/dist/glassy/select/select.svelte +112 -0
  112. package/dist/glassy/select/select.svelte.d.ts +4 -0
  113. package/dist/glassy/select/trigger.svelte +428 -0
  114. package/dist/glassy/select/trigger.svelte.d.ts +4 -0
  115. package/dist/glassy/spinner/spinner.svelte +140 -0
  116. package/dist/glassy/spinner/spinner.svelte.d.ts +4 -0
  117. package/dist/glassy/surface/surface.svelte +499 -0
  118. package/dist/glassy/surface/surface.svelte.d.ts +4 -0
  119. package/dist/glassy/switch/switch.svelte +200 -0
  120. package/dist/glassy/switch/switch.svelte.d.ts +4 -0
  121. package/dist/glassy/tabs/item.svelte +524 -0
  122. package/dist/glassy/tabs/item.svelte.d.ts +4 -0
  123. package/dist/glassy/tabs/tabs.svelte +189 -0
  124. package/dist/glassy/tabs/tabs.svelte.d.ts +4 -0
  125. package/dist/glassy/text-area/text-area.svelte +562 -0
  126. package/dist/glassy/text-area/text-area.svelte.d.ts +4 -0
  127. package/dist/glassy/text-input/text-input.svelte +565 -0
  128. package/dist/glassy/text-input/text-input.svelte.d.ts +4 -0
  129. package/dist/glassy/theme/fonts.css +8 -0
  130. package/dist/glassy/theme/surface.d.ts +3 -0
  131. package/dist/glassy/theme/surface.js +11 -0
  132. package/dist/glassy/theme/theme-mode-toggle.svelte +9 -0
  133. package/dist/glassy/theme/theme-mode-toggle.svelte.d.ts +4 -0
  134. package/dist/glassy/theme.svelte +55 -0
  135. package/dist/{elsewhere → glassy}/theme.svelte.d.ts +1 -2
  136. package/dist/glassy/tree-view/tree-node/chevron-button.svelte +95 -0
  137. package/dist/glassy/tree-view/tree-node/chevron-button.svelte.d.ts +4 -0
  138. package/dist/glassy/tree-view/tree-node/content.svelte +96 -0
  139. package/dist/glassy/tree-view/tree-node/content.svelte.d.ts +4 -0
  140. package/dist/glassy/tree-view/tree-node/delete-button.svelte +92 -0
  141. package/dist/glassy/tree-view/tree-node/delete-button.svelte.d.ts +4 -0
  142. package/dist/glassy/tree-view/tree-node/tree-node.svelte +423 -0
  143. package/dist/glassy/tree-view/tree-node/tree-node.svelte.d.ts +4 -0
  144. package/dist/glassy/tree-view/tree-view-section.svelte +81 -0
  145. package/dist/glassy/tree-view/tree-view-section.svelte.d.ts +4 -0
  146. package/dist/glassy/tree-view/tree-view.svelte +112 -0
  147. package/dist/glassy/tree-view/tree-view.svelte.d.ts +4 -0
  148. package/dist/index.d.ts +1 -3
  149. package/dist/index.js +1 -3
  150. package/dist/new-paris/button/button.svelte +516 -0
  151. package/dist/new-paris/button/button.svelte.d.ts +4 -0
  152. package/dist/{components → new-paris}/checkbox/checkbox.svelte +39 -0
  153. package/dist/new-paris/checkbox/checkbox.svelte.d.ts +4 -0
  154. package/dist/new-paris/checkbox/types.d.ts +6 -0
  155. package/dist/new-paris/checkbox/types.js +1 -0
  156. package/dist/new-paris/combobox/combobox.svelte +176 -0
  157. package/dist/new-paris/combobox/combobox.svelte.d.ts +4 -0
  158. package/dist/new-paris/combobox/form.svelte +84 -0
  159. package/dist/new-paris/combobox/form.svelte.d.ts +4 -0
  160. package/dist/new-paris/combobox/input.svelte +132 -0
  161. package/dist/new-paris/combobox/input.svelte.d.ts +4 -0
  162. package/dist/new-paris/combobox/list.svelte +99 -0
  163. package/dist/new-paris/combobox/list.svelte.d.ts +4 -0
  164. package/dist/new-paris/combobox/option.svelte +120 -0
  165. package/dist/new-paris/combobox/option.svelte.d.ts +4 -0
  166. package/dist/new-paris/dialog/dialog.svelte +501 -0
  167. package/dist/new-paris/dialog/dialog.svelte.d.ts +4 -0
  168. package/dist/new-paris/dialog/footer.svelte +47 -0
  169. package/dist/new-paris/dialog/footer.svelte.d.ts +7 -0
  170. package/dist/new-paris/dialog/header.svelte +94 -0
  171. package/dist/new-paris/dialog/header.svelte.d.ts +4 -0
  172. package/dist/new-paris/icon/icon.svelte +131 -0
  173. package/dist/new-paris/icon/icon.svelte.d.ts +4 -0
  174. package/dist/new-paris/index.d.ts +20 -0
  175. package/dist/new-paris/index.js +20 -0
  176. package/dist/new-paris/pill/content.svelte +51 -0
  177. package/dist/new-paris/pill/content.svelte.d.ts +4 -0
  178. package/dist/{components → new-paris}/pill/on-delete.svelte +16 -0
  179. package/dist/new-paris/pill/on-delete.svelte.d.ts +4 -0
  180. package/dist/new-paris/pill/pill.svelte +510 -0
  181. package/dist/new-paris/pill/pill.svelte.d.ts +4 -0
  182. package/dist/new-paris/pill-choice-group/pill-choice-group.svelte +176 -0
  183. package/dist/new-paris/pill-choice-group/pill-choice-group.svelte.d.ts +4 -0
  184. package/dist/new-paris/pill-group/container.svelte +61 -0
  185. package/dist/new-paris/pill-group/container.svelte.d.ts +4 -0
  186. package/dist/new-paris/pill-group/pill-group.svelte +29 -0
  187. package/dist/new-paris/pill-group/pill-group.svelte.d.ts +4 -0
  188. package/dist/new-paris/pill-group/types.d.ts +14 -0
  189. package/dist/new-paris/pill-group/types.js +1 -0
  190. package/dist/new-paris/popover/popover.svelte +132 -0
  191. package/dist/new-paris/popover/popover.svelte.d.ts +4 -0
  192. package/dist/new-paris/progress/progress.svelte +569 -0
  193. package/dist/new-paris/progress/progress.svelte.d.ts +4 -0
  194. package/dist/new-paris/select/empty.svelte +45 -0
  195. package/dist/new-paris/select/empty.svelte.d.ts +4 -0
  196. package/dist/new-paris/select/list.svelte +49 -0
  197. package/dist/new-paris/select/list.svelte.d.ts +4 -0
  198. package/dist/{components → new-paris}/select/option.svelte +12 -0
  199. package/dist/new-paris/select/option.svelte.d.ts +4 -0
  200. package/dist/{components → new-paris}/select/select.svelte +21 -0
  201. package/dist/new-paris/select/select.svelte.d.ts +4 -0
  202. package/dist/new-paris/select/trigger.svelte +377 -0
  203. package/dist/new-paris/select/trigger.svelte.d.ts +4 -0
  204. package/dist/new-paris/spinner/spinner.svelte +110 -0
  205. package/dist/new-paris/spinner/spinner.svelte.d.ts +4 -0
  206. package/dist/new-paris/surface/surface.svelte +419 -0
  207. package/dist/new-paris/surface/surface.svelte.d.ts +4 -0
  208. package/dist/new-paris/switch/switch.svelte +184 -0
  209. package/dist/new-paris/switch/switch.svelte.d.ts +4 -0
  210. package/dist/new-paris/tabs/item.svelte +432 -0
  211. package/dist/new-paris/tabs/item.svelte.d.ts +4 -0
  212. package/dist/new-paris/tabs/tabs.svelte +157 -0
  213. package/dist/new-paris/tabs/tabs.svelte.d.ts +4 -0
  214. package/dist/new-paris/text-area/text-area.svelte +485 -0
  215. package/dist/new-paris/text-area/text-area.svelte.d.ts +4 -0
  216. package/dist/new-paris/text-input/text-input.svelte +488 -0
  217. package/dist/new-paris/text-input/text-input.svelte.d.ts +4 -0
  218. package/dist/new-paris/theme/surface.d.ts +3 -0
  219. package/dist/new-paris/theme/surface.js +11 -0
  220. package/dist/new-paris/theme/theme-mode-toggle.svelte +9 -0
  221. package/dist/new-paris/theme/theme-mode-toggle.svelte.d.ts +4 -0
  222. package/dist/new-paris/theme.svelte +77 -0
  223. package/dist/{forma → new-paris}/theme.svelte.d.ts +1 -2
  224. package/dist/new-paris/tree-view/tree-node/chevron-button.svelte +80 -0
  225. package/dist/new-paris/tree-view/tree-node/chevron-button.svelte.d.ts +4 -0
  226. package/dist/new-paris/tree-view/tree-node/content.svelte +75 -0
  227. package/dist/new-paris/tree-view/tree-node/content.svelte.d.ts +4 -0
  228. package/dist/new-paris/tree-view/tree-node/delete-button.svelte +77 -0
  229. package/dist/new-paris/tree-view/tree-node/delete-button.svelte.d.ts +4 -0
  230. package/dist/new-paris/tree-view/tree-node/tree-node.svelte +349 -0
  231. package/dist/new-paris/tree-view/tree-node/tree-node.svelte.d.ts +4 -0
  232. package/dist/new-paris/tree-view/tree-view-section.svelte +63 -0
  233. package/dist/new-paris/tree-view/tree-view-section.svelte.d.ts +4 -0
  234. package/dist/new-paris/tree-view/tree-view.svelte +96 -0
  235. package/dist/new-paris/tree-view/tree-view.svelte.d.ts +4 -0
  236. package/dist/vscode/button/button.svelte +498 -0
  237. package/dist/vscode/button/button.svelte.d.ts +4 -0
  238. package/dist/vscode/checkbox/checkbox.svelte +112 -0
  239. package/dist/vscode/checkbox/checkbox.svelte.d.ts +4 -0
  240. package/dist/vscode/checkbox/types.d.ts +6 -0
  241. package/dist/vscode/checkbox/types.js +1 -0
  242. package/dist/vscode/combobox/combobox.svelte +193 -0
  243. package/dist/vscode/combobox/combobox.svelte.d.ts +4 -0
  244. package/dist/vscode/combobox/form.svelte +84 -0
  245. package/dist/vscode/combobox/form.svelte.d.ts +4 -0
  246. package/dist/vscode/combobox/input.svelte +209 -0
  247. package/dist/vscode/combobox/input.svelte.d.ts +4 -0
  248. package/dist/vscode/combobox/list.svelte +102 -0
  249. package/dist/vscode/combobox/list.svelte.d.ts +4 -0
  250. package/dist/vscode/combobox/option.svelte +134 -0
  251. package/dist/vscode/combobox/option.svelte.d.ts +4 -0
  252. package/dist/vscode/dialog/dialog.svelte +479 -0
  253. package/dist/vscode/dialog/dialog.svelte.d.ts +4 -0
  254. package/dist/vscode/dialog/footer.svelte +53 -0
  255. package/dist/vscode/dialog/footer.svelte.d.ts +7 -0
  256. package/dist/vscode/dialog/header.svelte +98 -0
  257. package/dist/vscode/dialog/header.svelte.d.ts +4 -0
  258. package/dist/{components → vscode}/icon/icon.svelte +10 -0
  259. package/dist/vscode/icon/icon.svelte.d.ts +4 -0
  260. package/dist/vscode/index.d.ts +20 -0
  261. package/dist/vscode/index.js +20 -0
  262. package/dist/vscode/pill/content.svelte +52 -0
  263. package/dist/vscode/pill/content.svelte.d.ts +4 -0
  264. package/dist/vscode/pill/on-delete.svelte +76 -0
  265. package/dist/vscode/pill/on-delete.svelte.d.ts +4 -0
  266. package/dist/vscode/pill/pill.svelte +475 -0
  267. package/dist/vscode/pill/pill.svelte.d.ts +4 -0
  268. package/dist/vscode/pill-choice-group/pill-choice-group.svelte +172 -0
  269. package/dist/vscode/pill-choice-group/pill-choice-group.svelte.d.ts +4 -0
  270. package/dist/{components → vscode}/pill-group/container.svelte +10 -0
  271. package/dist/vscode/pill-group/container.svelte.d.ts +4 -0
  272. package/dist/vscode/pill-group/pill-group.svelte +29 -0
  273. package/dist/vscode/pill-group/pill-group.svelte.d.ts +4 -0
  274. package/dist/vscode/pill-group/types.d.ts +6 -0
  275. package/dist/vscode/pill-group/types.js +1 -0
  276. package/dist/{components → vscode}/popover/popover.svelte +22 -1
  277. package/dist/vscode/popover/popover.svelte.d.ts +4 -0
  278. package/dist/vscode/progress/progress.svelte +542 -0
  279. package/dist/vscode/progress/progress.svelte.d.ts +4 -0
  280. package/dist/{components → vscode}/select/empty.svelte +4 -2
  281. package/dist/vscode/select/empty.svelte.d.ts +4 -0
  282. package/dist/{components → vscode}/select/list.svelte +5 -1
  283. package/dist/vscode/select/list.svelte.d.ts +4 -0
  284. package/dist/vscode/select/option.svelte +88 -0
  285. package/dist/vscode/select/option.svelte.d.ts +4 -0
  286. package/dist/vscode/select/select.svelte +84 -0
  287. package/dist/vscode/select/select.svelte.d.ts +4 -0
  288. package/dist/vscode/select/trigger.svelte +326 -0
  289. package/dist/vscode/select/trigger.svelte.d.ts +4 -0
  290. package/dist/vscode/spinner/spinner.svelte +101 -0
  291. package/dist/vscode/spinner/spinner.svelte.d.ts +4 -0
  292. package/dist/vscode/surface/surface.svelte +416 -0
  293. package/dist/vscode/surface/surface.svelte.d.ts +4 -0
  294. package/dist/vscode/switch/switch.svelte +152 -0
  295. package/dist/vscode/switch/switch.svelte.d.ts +4 -0
  296. package/dist/vscode/tabs/item.svelte +700 -0
  297. package/dist/vscode/tabs/item.svelte.d.ts +4 -0
  298. package/dist/vscode/tabs/tabs.svelte +234 -0
  299. package/dist/vscode/tabs/tabs.svelte.d.ts +4 -0
  300. package/dist/vscode/text-area/text-area.svelte +453 -0
  301. package/dist/vscode/text-area/text-area.svelte.d.ts +4 -0
  302. package/dist/vscode/text-input/text-input.svelte +458 -0
  303. package/dist/vscode/text-input/text-input.svelte.d.ts +4 -0
  304. package/dist/vscode/theme/fonts.css +8 -0
  305. package/dist/vscode/theme/surface.d.ts +3 -0
  306. package/dist/vscode/theme/surface.js +11 -0
  307. package/dist/vscode/theme/theme-mode-toggle.svelte +9 -0
  308. package/dist/vscode/theme/theme-mode-toggle.svelte.d.ts +4 -0
  309. package/dist/vscode/theme.svelte +57 -0
  310. package/dist/vscode/theme.svelte.d.ts +8 -0
  311. package/dist/vscode/tree-view/tree-node/chevron-button.svelte +57 -0
  312. package/dist/vscode/tree-view/tree-node/chevron-button.svelte.d.ts +4 -0
  313. package/dist/vscode/tree-view/tree-node/content.svelte +65 -0
  314. package/dist/vscode/tree-view/tree-node/content.svelte.d.ts +4 -0
  315. package/dist/vscode/tree-view/tree-node/delete-button.svelte +54 -0
  316. package/dist/vscode/tree-view/tree-node/delete-button.svelte.d.ts +4 -0
  317. package/dist/vscode/tree-view/tree-node/tree-node.svelte +128 -0
  318. package/dist/vscode/tree-view/tree-node/tree-node.svelte.d.ts +4 -0
  319. package/dist/vscode/tree-view/tree-view-section.svelte +41 -0
  320. package/dist/vscode/tree-view/tree-view-section.svelte.d.ts +4 -0
  321. package/dist/vscode/tree-view/tree-view.svelte +74 -0
  322. package/dist/vscode/tree-view/tree-view.svelte.d.ts +4 -0
  323. package/package.json +40 -55
  324. package/src/lib/crystal-code/button/button.svelte +518 -0
  325. package/src/lib/crystal-code/checkbox/checkbox.svelte +119 -0
  326. package/src/lib/crystal-code/checkbox/types.ts +7 -0
  327. package/src/lib/crystal-code/combobox/combobox.svelte +155 -0
  328. package/src/lib/crystal-code/combobox/form.svelte +61 -0
  329. package/src/lib/crystal-code/combobox/input.svelte +132 -0
  330. package/src/lib/crystal-code/combobox/list.svelte +78 -0
  331. package/src/lib/crystal-code/combobox/option.svelte +97 -0
  332. package/src/lib/crystal-code/dialog/dialog.svelte +214 -0
  333. package/src/lib/crystal-code/dialog/footer.svelte +32 -0
  334. package/src/lib/crystal-code/dialog/header.svelte +67 -0
  335. package/src/lib/crystal-code/icon/icon.svelte +121 -0
  336. package/src/lib/crystal-code/index.ts +20 -0
  337. package/src/lib/crystal-code/pill/content.svelte +29 -0
  338. package/src/lib/crystal-code/pill/on-delete.svelte +72 -0
  339. package/src/lib/crystal-code/pill/pill.svelte +488 -0
  340. package/src/lib/crystal-code/pill-choice-group/pill-choice-group.svelte +146 -0
  341. package/src/lib/crystal-code/pill-group/container.svelte +50 -0
  342. package/src/lib/crystal-code/pill-group/pill-group.svelte +29 -0
  343. package/src/lib/crystal-code/pill-group/types.ts +8 -0
  344. package/src/lib/crystal-code/popover/popover.svelte +133 -0
  345. package/src/lib/crystal-code/progress/progress.svelte +588 -0
  346. package/src/lib/crystal-code/select/empty.svelte +57 -0
  347. package/src/lib/crystal-code/select/list.svelte +61 -0
  348. package/src/lib/crystal-code/select/option.svelte +118 -0
  349. package/src/lib/crystal-code/select/select.svelte +106 -0
  350. package/src/lib/crystal-code/select/trigger.svelte +380 -0
  351. package/src/lib/crystal-code/spinner/spinner.svelte +101 -0
  352. package/src/lib/crystal-code/surface/surface.svelte +413 -0
  353. package/src/lib/crystal-code/switch/switch.svelte +163 -0
  354. package/src/lib/crystal-code/tabs/item.svelte +440 -0
  355. package/src/lib/crystal-code/tabs/tabs.svelte +138 -0
  356. package/src/lib/crystal-code/text-area/text-area.svelte +478 -0
  357. package/src/lib/crystal-code/text-input/text-input.svelte +481 -0
  358. package/src/lib/crystal-code/theme/fonts.css +8 -0
  359. package/src/lib/crystal-code/theme/overlay-motion.ts +40 -0
  360. package/src/lib/crystal-code/theme/surface.ts +20 -0
  361. package/src/lib/crystal-code/theme/theme-mode-toggle.svelte +9 -0
  362. package/src/lib/crystal-code/theme.svelte +91 -0
  363. package/src/lib/crystal-code/tree-view/tree-node/chevron-button.svelte +68 -0
  364. package/src/lib/crystal-code/tree-view/tree-node/content.svelte +68 -0
  365. package/src/lib/crystal-code/tree-view/tree-node/delete-button.svelte +53 -0
  366. package/src/lib/crystal-code/tree-view/tree-node/tree-node.svelte +363 -0
  367. package/src/lib/crystal-code/tree-view/tree-view-section.svelte +42 -0
  368. package/src/lib/crystal-code/tree-view/tree-view.svelte +74 -0
  369. package/src/lib/glassy/button/button.svelte +566 -0
  370. package/src/lib/glassy/checkbox/checkbox.svelte +225 -0
  371. package/src/lib/glassy/checkbox/types.ts +7 -0
  372. package/src/lib/glassy/combobox/combobox.svelte +194 -0
  373. package/src/lib/glassy/combobox/form.svelte +102 -0
  374. package/src/lib/glassy/combobox/input.svelte +132 -0
  375. package/src/lib/glassy/combobox/list.svelte +117 -0
  376. package/src/lib/glassy/combobox/option.svelte +136 -0
  377. package/src/lib/glassy/dialog/dialog.svelte +619 -0
  378. package/src/lib/glassy/dialog/footer.svelte +70 -0
  379. package/src/lib/glassy/dialog/header.svelte +105 -0
  380. package/src/lib/glassy/icon/icon.svelte +149 -0
  381. package/src/lib/glassy/index.ts +20 -0
  382. package/src/lib/glassy/pill/content.svelte +69 -0
  383. package/src/lib/glassy/pill/on-delete.svelte +86 -0
  384. package/src/lib/glassy/pill/pill.svelte +596 -0
  385. package/src/lib/glassy/pill-choice-group/pill-choice-group.svelte +191 -0
  386. package/src/lib/glassy/pill-group/container.svelte +86 -0
  387. package/src/lib/glassy/pill-group/pill-group.svelte +29 -0
  388. package/src/lib/glassy/pill-group/types.ts +16 -0
  389. package/src/lib/glassy/popover/popover.svelte +155 -0
  390. package/src/lib/glassy/progress/progress.svelte +668 -0
  391. package/src/lib/glassy/select/empty.svelte +63 -0
  392. package/src/lib/glassy/select/list.svelte +67 -0
  393. package/src/lib/glassy/select/option.svelte +117 -0
  394. package/src/lib/glassy/select/select.svelte +112 -0
  395. package/src/lib/glassy/select/trigger.svelte +428 -0
  396. package/src/lib/glassy/spinner/spinner.svelte +140 -0
  397. package/src/lib/glassy/surface/surface.svelte +499 -0
  398. package/src/lib/glassy/switch/switch.svelte +200 -0
  399. package/src/lib/glassy/tabs/item.svelte +524 -0
  400. package/src/lib/glassy/tabs/tabs.svelte +189 -0
  401. package/src/lib/glassy/text-area/text-area.svelte +562 -0
  402. package/src/lib/glassy/text-input/text-input.svelte +565 -0
  403. package/src/lib/glassy/theme/fonts.css +8 -0
  404. package/src/lib/glassy/theme/surface.ts +20 -0
  405. package/src/lib/glassy/theme/theme-mode-toggle.svelte +9 -0
  406. package/src/lib/glassy/theme.svelte +55 -0
  407. package/src/lib/glassy/tree-view/tree-node/chevron-button.svelte +95 -0
  408. package/src/lib/glassy/tree-view/tree-node/content.svelte +96 -0
  409. package/src/lib/glassy/tree-view/tree-node/delete-button.svelte +92 -0
  410. package/src/lib/glassy/tree-view/tree-node/tree-node.svelte +423 -0
  411. package/src/lib/glassy/tree-view/tree-view-section.svelte +81 -0
  412. package/src/lib/glassy/tree-view/tree-view.svelte +112 -0
  413. package/src/lib/index.ts +2 -0
  414. package/src/lib/new-paris/button/button.svelte +516 -0
  415. package/src/lib/new-paris/checkbox/checkbox.svelte +195 -0
  416. package/src/lib/new-paris/checkbox/types.ts +7 -0
  417. package/src/lib/new-paris/combobox/combobox.svelte +176 -0
  418. package/src/lib/new-paris/combobox/form.svelte +84 -0
  419. package/src/lib/new-paris/combobox/input.svelte +132 -0
  420. package/src/lib/new-paris/combobox/list.svelte +99 -0
  421. package/src/lib/new-paris/combobox/option.svelte +120 -0
  422. package/src/lib/new-paris/dialog/dialog.svelte +501 -0
  423. package/src/lib/new-paris/dialog/footer.svelte +47 -0
  424. package/src/lib/new-paris/dialog/header.svelte +94 -0
  425. package/src/lib/new-paris/icon/icon.svelte +131 -0
  426. package/src/lib/new-paris/index.ts +20 -0
  427. package/src/lib/new-paris/pill/content.svelte +51 -0
  428. package/src/lib/new-paris/pill/on-delete.svelte +71 -0
  429. package/src/lib/new-paris/pill/pill.svelte +510 -0
  430. package/src/lib/new-paris/pill-choice-group/pill-choice-group.svelte +176 -0
  431. package/src/lib/new-paris/pill-group/container.svelte +61 -0
  432. package/src/lib/new-paris/pill-group/pill-group.svelte +29 -0
  433. package/src/lib/new-paris/pill-group/types.ts +16 -0
  434. package/src/lib/new-paris/popover/popover.svelte +132 -0
  435. package/src/lib/new-paris/progress/progress.svelte +569 -0
  436. package/src/lib/new-paris/select/empty.svelte +45 -0
  437. package/src/lib/new-paris/select/list.svelte +49 -0
  438. package/src/lib/new-paris/select/option.svelte +90 -0
  439. package/src/lib/new-paris/select/select.svelte +94 -0
  440. package/src/lib/new-paris/select/trigger.svelte +377 -0
  441. package/src/lib/new-paris/spinner/spinner.svelte +110 -0
  442. package/src/lib/new-paris/surface/surface.svelte +419 -0
  443. package/src/lib/new-paris/switch/switch.svelte +184 -0
  444. package/src/lib/new-paris/tabs/item.svelte +432 -0
  445. package/src/lib/new-paris/tabs/tabs.svelte +157 -0
  446. package/src/lib/new-paris/text-area/text-area.svelte +485 -0
  447. package/src/lib/new-paris/text-input/text-input.svelte +488 -0
  448. package/src/lib/new-paris/theme/surface.ts +20 -0
  449. package/src/lib/new-paris/theme/theme-mode-toggle.svelte +9 -0
  450. package/src/lib/new-paris/theme.svelte +77 -0
  451. package/src/lib/new-paris/tree-view/tree-node/chevron-button.svelte +80 -0
  452. package/src/lib/new-paris/tree-view/tree-node/content.svelte +75 -0
  453. package/src/lib/new-paris/tree-view/tree-node/delete-button.svelte +77 -0
  454. package/src/lib/new-paris/tree-view/tree-node/tree-node.svelte +349 -0
  455. package/src/lib/new-paris/tree-view/tree-view-section.svelte +63 -0
  456. package/src/lib/new-paris/tree-view/tree-view.svelte +96 -0
  457. package/src/lib/vscode/button/button.svelte +498 -0
  458. package/src/lib/vscode/checkbox/checkbox.svelte +112 -0
  459. package/src/lib/vscode/checkbox/types.ts +7 -0
  460. package/src/lib/vscode/combobox/combobox.svelte +193 -0
  461. package/src/lib/vscode/combobox/form.svelte +84 -0
  462. package/src/lib/vscode/combobox/input.svelte +209 -0
  463. package/src/lib/vscode/combobox/list.svelte +102 -0
  464. package/src/lib/vscode/combobox/option.svelte +134 -0
  465. package/src/lib/vscode/dialog/dialog.svelte +479 -0
  466. package/src/lib/vscode/dialog/footer.svelte +53 -0
  467. package/src/lib/vscode/dialog/header.svelte +98 -0
  468. package/src/lib/vscode/icon/icon.svelte +120 -0
  469. package/src/lib/vscode/index.ts +20 -0
  470. package/src/lib/vscode/pill/content.svelte +52 -0
  471. package/src/lib/vscode/pill/on-delete.svelte +76 -0
  472. package/src/lib/vscode/pill/pill.svelte +475 -0
  473. package/src/lib/vscode/pill-choice-group/pill-choice-group.svelte +172 -0
  474. package/src/lib/vscode/pill-group/container.svelte +50 -0
  475. package/src/lib/vscode/pill-group/pill-group.svelte +29 -0
  476. package/src/lib/vscode/pill-group/types.ts +8 -0
  477. package/src/lib/vscode/popover/popover.svelte +132 -0
  478. package/src/lib/vscode/progress/progress.svelte +542 -0
  479. package/src/lib/vscode/select/empty.svelte +26 -0
  480. package/src/lib/vscode/select/list.svelte +32 -0
  481. package/src/lib/vscode/select/option.svelte +88 -0
  482. package/src/lib/vscode/select/select.svelte +84 -0
  483. package/src/lib/vscode/select/trigger.svelte +326 -0
  484. package/src/lib/vscode/spinner/spinner.svelte +101 -0
  485. package/src/lib/vscode/surface/surface.svelte +416 -0
  486. package/src/lib/vscode/switch/switch.svelte +152 -0
  487. package/src/lib/vscode/tabs/item.svelte +700 -0
  488. package/src/lib/vscode/tabs/tabs.svelte +234 -0
  489. package/src/lib/vscode/text-area/text-area.svelte +453 -0
  490. package/src/lib/vscode/text-input/text-input.svelte +458 -0
  491. package/src/lib/vscode/theme/fonts.css +8 -0
  492. package/src/lib/vscode/theme/surface.ts +20 -0
  493. package/src/lib/vscode/theme/theme-mode-toggle.svelte +9 -0
  494. package/src/lib/vscode/theme.svelte +57 -0
  495. package/src/lib/vscode/tree-view/tree-node/chevron-button.svelte +57 -0
  496. package/src/lib/vscode/tree-view/tree-node/content.svelte +65 -0
  497. package/src/lib/vscode/tree-view/tree-node/delete-button.svelte +54 -0
  498. package/src/lib/vscode/tree-view/tree-node/tree-node.svelte +128 -0
  499. package/src/lib/vscode/tree-view/tree-view-section.svelte +41 -0
  500. package/src/lib/vscode/tree-view/tree-view.svelte +74 -0
  501. package/dist/components/button/button.svelte +0 -145
  502. package/dist/components/pill/pill.svelte +0 -179
  503. package/dist/components/progress/progress.svelte +0 -242
  504. package/dist/components/select/trigger.svelte +0 -109
  505. package/dist/components/surface/surface.svelte +0 -101
  506. package/dist/components/tabs/item.svelte +0 -125
  507. package/dist/components/text-input/text-input.svelte +0 -149
  508. package/dist/components/theme/surface.js +0 -11
  509. package/dist/elsewhere/index.d.ts +0 -2
  510. package/dist/elsewhere/index.js +0 -2
  511. package/dist/elsewhere/theme.svelte +0 -45
  512. package/dist/forma/index.d.ts +0 -2
  513. package/dist/forma/index.js +0 -2
  514. package/dist/forma/theme.svelte +0 -44
  515. package/dist/relay/index.d.ts +0 -2
  516. package/dist/relay/index.js +0 -2
  517. package/dist/relay/theme.svelte +0 -47
  518. package/dist/shared/base.svelte +0 -91
  519. package/dist/shared/base.svelte.d.ts +0 -26
  520. /package/dist/{components → crystal-code}/button/button.svelte.d.ts +0 -0
  521. /package/dist/{components → crystal-code}/checkbox/checkbox.svelte.d.ts +0 -0
  522. /package/dist/{components → crystal-code}/checkbox/types.d.ts +0 -0
  523. /package/dist/{components → crystal-code}/checkbox/types.js +0 -0
  524. /package/dist/{components → crystal-code}/dialog/dialog.svelte.d.ts +0 -0
  525. /package/dist/{components → crystal-code}/dialog/footer.svelte.d.ts +0 -0
  526. /package/dist/{components → crystal-code}/dialog/header.svelte.d.ts +0 -0
  527. /package/dist/{components → crystal-code}/icon/icon.svelte.d.ts +0 -0
  528. /package/dist/{components → crystal-code}/pill/content.svelte.d.ts +0 -0
  529. /package/dist/{components → crystal-code}/pill/pill.svelte.d.ts +0 -0
  530. /package/dist/{components → crystal-code}/pill-choice-group/pill-choice-group.svelte.d.ts +0 -0
  531. /package/dist/{components → crystal-code}/pill-group/container.svelte.d.ts +0 -0
  532. /package/dist/{components → crystal-code}/pill-group/types.js +0 -0
  533. /package/dist/{components → crystal-code}/popover/popover.svelte.d.ts +0 -0
  534. /package/dist/{components → crystal-code}/progress/progress.svelte.d.ts +0 -0
  535. /package/dist/{components → crystal-code}/select/empty.svelte.d.ts +0 -0
  536. /package/dist/{components → crystal-code}/select/list.svelte.d.ts +0 -0
  537. /package/dist/{components → crystal-code}/select/option.svelte.d.ts +0 -0
  538. /package/dist/{components → crystal-code}/select/select.svelte.d.ts +0 -0
  539. /package/dist/{components → crystal-code}/select/trigger.svelte.d.ts +0 -0
  540. /package/dist/{components → crystal-code}/spinner/spinner.svelte +0 -0
  541. /package/dist/{components → crystal-code}/spinner/spinner.svelte.d.ts +0 -0
  542. /package/dist/{components → crystal-code}/surface/surface.svelte.d.ts +0 -0
  543. /package/dist/{components → crystal-code}/tabs/item.svelte.d.ts +0 -0
  544. /package/dist/{components → crystal-code}/tabs/tabs.svelte.d.ts +0 -0
  545. /package/dist/{components → crystal-code}/text-input/text-input.svelte.d.ts +0 -0
  546. /package/dist/{components → glassy}/pill/on-delete.svelte.d.ts +0 -0
  547. /package/dist/{components → glassy}/pill-group/pill-group.svelte +0 -0
  548. /package/dist/{components → glassy}/pill-group/pill-group.svelte.d.ts +0 -0
  549. /package/dist/{components → glassy}/pill-group/types.d.ts +0 -0
package/README.md CHANGED
@@ -1,111 +1,167 @@
1
- # bref-ui-themes
1
+ # Bref-ui themes
2
2
 
3
- Reusable Svelte 5 themes for [bref-ui](https://github.com/feuersteiner/bref-ui), with interactive demos and native CSS. Version 0.1.0 is an unpublished review candidate built on SvelteKit 3 and published Bref 2.2.0.
3
+ Ready-to-use themes for [Bref-ui](https://github.com/feuersteiner/bref-ui), built
4
+ with Svelte 5, native HTML and scoped CSS. Pick a visual style and compose familiar
5
+ Bref components through a dedicated theme entry point.
4
6
 
5
- [Explore the showcase](https://feuersteiner.github.io/bref-ui-themes/) · [Bref documentation](https://feuersteiner.github.io/bref-ui/) · [Join Discord](https://discord.gg/JpgQRTUsVS)
7
+ [![npm](https://img.shields.io/npm/v/bref-ui-themes?logo=npm)](https://www.npmjs.com/package/bref-ui-themes)
8
+ [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white)](https://discord.gg/JpgQRTUsVS)
9
+ [![MIT license](https://img.shields.io/badge/license-MIT-blue)](https://github.com/feuersteiner/bref-ui/blob/main/LICENSE)
6
10
 
7
- ## Local development
11
+ Explore the [theme galleries](https://feuersteiner.github.io/bref-ui/themes) for
12
+ component examples and interaction states, or browse the
13
+ [Bref-ui documentation](https://feuersteiner.github.io/bref-ui/).
8
14
 
9
- Requires Bun 1.3.4 or newer. The scaffold uses Svelte 5, SvelteKit 3, Vite 8 and `svelte-package` 3.
15
+ https://github.com/user-attachments/assets/3326a5c3-0573-4b40-bb8e-9a10da1fd6ac
16
+
17
+ See New Paris, VS Code and Glassy in action. The
18
+ [video app and storyboard](https://github.com/feuersteiner/bref-ui/tree/main/video-demo)
19
+ are part of this repository.
20
+
21
+ ## Available themes
22
+
23
+ | Theme | Style | Import |
24
+ | -------------------------------------------------------------------------- | ----------------------------------------------- | ----------------------------- |
25
+ | [New Paris](https://feuersteiner.github.io/bref-ui/themes/new-paris) | Black and ivory, serif headings, paper overlays | `bref-ui-themes/new-paris` |
26
+ | [Glassy](https://feuersteiner.github.io/bref-ui/themes/glassy) | Translucent controls and frosted overlays | `bref-ui-themes/glassy` |
27
+ | [Crystal Code](https://feuersteiner.github.io/bref-ui/themes/crystal-code) | Light and dark frosted workbench | `bref-ui-themes/crystal-code` |
28
+ | [VS Code](https://feuersteiner.github.io/bref-ui/themes/vscode) | Fixed-dark workbench | `bref-ui-themes/vscode` |
29
+
30
+ Each entry point exports twenty components, including `Theme`, `Button`, form
31
+ controls, overlays and navigation. Importing one theme does not load the others.
32
+
33
+ ## Installation
34
+
35
+ Install [bref-ui-themes from npm](https://www.npmjs.com/package/bref-ui-themes) in a Svelte 5 app:
10
36
 
11
37
  ```sh
12
- bun install
13
- bun run dev # http://localhost:5173
14
- bun run check
15
- bun run lint
16
- bun run package # library → dist; includes publint
17
- bun run build:site # static showcase → build
18
- bun run build # site + library
19
- bun run preview # preview the production site
20
- bun pm pack # creates a local npm tarball; does not publish
38
+ npm install bref-ui bref-ui-themes
39
+ ```
40
+
41
+ Bref-ui 3 and Svelte 5 are peer dependencies. The custom text font remains optional.
42
+
43
+ Import components from the theme's entry point:
44
+
45
+ ```svelte
46
+ <script>
47
+ import { Theme, Button } from 'bref-ui-themes/new-paris';
48
+ </script>
49
+
50
+ <Theme><Button label="Save" /></Theme>
21
51
  ```
22
52
 
23
- The restored GitHub Pages workflow builds `build:site` on pushes to `main`, using the Pages base path and uploading `build`. To reproduce the project-path build locally:
53
+ ## Development
54
+
55
+ Run `bun install` and `bun run dev` from the repository root. The docs site consumes
56
+ public workspace source exports directly. Package-level `check`, `build` and `prepack`
57
+ remain available here; `src/lib` holds published sources and `src/routes` is only
58
+ a local library preview.
59
+
60
+ Packing includes this README and a generated copy of the repository MIT license.
61
+ Edit the root license; generated package copies are ignored.
62
+
63
+ Shared types come directly from `bref-ui/types` and are re-exported as types from
64
+ `bref-ui-themes`. The root entry does not aggregate components or load theme CSS.
65
+ New Paris depends on Material Symbols and loads its variable fill font through Theme.
66
+
67
+ ## New Paris
68
+
69
+ Black and ivory controls, serif typography and opaque paper overlays. All twenty components are exported through the theme subpath.
70
+
71
+ Material Symbols icons load automatically with Theme. The custom text font, Inter,
72
+ is optional to avoid adding unused font assets to apps; text falls back to system
73
+ fonts. To match the gallery typography, install and import Inter:
24
74
 
25
75
  ```sh
26
- BASE_PATH=/bref-ui-themes bun run build:site
27
- BASE_PATH=/bref-ui-themes bun run preview # http://localhost:4173/bref-ui-themes/
76
+ npm install @fontsource-variable/inter
28
77
  ```
29
78
 
30
- ## Showcase and demo sites
79
+ ```svelte
80
+ <script>
81
+ import '@fontsource-variable/inter/index.css';
82
+ import { Theme, Button } from 'bref-ui-themes/new-paris';
83
+ </script>
84
+
85
+ <Theme><Button label="Save" /></Theme>
86
+ ```
31
87
 
32
- Open the [showcase](http://localhost:5173/). The showcase uses base `bref-ui` Theme, Button, Surface, Pill and Icon components, default palette/styles, documentation fonts and the Bref logo. Each card uses an actual browser screenshot and links to the working site. Every demo provides a Showcase link; navigation between themes reloads the document to avoid retaining global CSS.
88
+ The gallery uses the same public package exports at `/themes/new-paris`.
89
+
90
+ ## Glassy
91
+
92
+ Translucent controls and frosted overlays with scoped component styling. All twenty components are exported through the theme subpath:
93
+
94
+ ```svelte
95
+ <script>
96
+ import { Theme, Button } from 'bref-ui-themes/glassy';
97
+ </script>
33
98
 
34
- | Demo | Implemented interactions | Site | Theme demonstration |
35
- | ------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------- |
36
- | Tasks | Project creation/filtering, task status tabs, search, completion and task editing | [/relay](http://localhost:5173/relay) | [/themes/relay](http://localhost:5173/themes/relay) |
37
- | House Shop | Category tabs, furniture sorting, product dialogs, cart quantities and simulated checkout | [/forma](http://localhost:5173/forma) | [/themes/forma](http://localhost:5173/themes/forma) |
38
- | Site Reviewer | URL validation, simulated audit progress, history and finding review tabs | [/elsewhere](http://localhost:5173/elsewhere) | [/themes/elsewhere](http://localhost:5173/themes/elsewhere) |
99
+ <Theme><Button label="Save" /></Theme>
100
+ ```
39
101
 
40
- ![Tasks rendered demo](static/previews/relay.jpg)
41
- ![House Shop rendered demo](static/previews/forma.jpg)
42
- ![Site Reviewer rendered demo](static/previews/elsewhere.jpg)
102
+ Material Symbols icons load automatically with Theme. Inter remains optional; to
103
+ match the gallery typography, install `@fontsource-variable/inter` and import
104
+ `@fontsource-variable/inter/index.css` in the app.
43
105
 
44
- **WIP:** VS Code, Liquid Glass and Minimalist Blocky are planned. They have no exports, demonstration routes or availability links.
106
+ The gallery uses the same public package exports at `/themes/glassy`.
45
107
 
46
- ## Library imports
108
+ ## Crystal Code
47
109
 
48
- Install the local tarball with `bun add ./bref-ui-themes-0.1.0.tgz`. Consumers need Svelte `^5.57.1` and Bref `^2.2.0` (peer dependencies). Fonts used by the themes are package dependencies.
110
+ Light and dark frosted workbench controls with a complete component reference. All twenty components are exported through the theme subpath:
49
111
 
50
112
  ```svelte
51
- <script lang="ts">
52
- import { Theme, Button } from 'bref-ui-themes/relay';
113
+ <script>
114
+ import { Theme, Button } from 'bref-ui-themes/crystal-code';
53
115
  </script>
54
116
 
55
- <Theme>
56
- <Button label="Create project" variant="filled" color="primary" />
57
- </Theme>
117
+ <Theme><Button label="Save" /></Theme>
58
118
  ```
59
119
 
60
- The same API is available from each implemented theme:
120
+ Material Symbols icons load automatically with Theme. Inter remains optional; to
121
+ match the gallery typography, install and import it:
61
122
 
62
- ```ts
63
- import { Theme, Button } from 'bref-ui-themes/forma';
64
- // Or: import { Theme, Button } from 'bref-ui-themes/elsewhere';
65
- // Namespace exports: import { Relay, Forma, Elsewhere } from 'bref-ui-themes';
123
+ ```sh
124
+ npm install @fontsource-variable/inter
66
125
  ```
67
126
 
68
- Each entry exports `Theme`, `Button`, `Checkbox`, `Dialog`, `Icon`, `Pill`, `PillChoiceGroup`, `PillGroup`, `Popover`, `Progress`, `Select`, `Spinner`, `Surface`, `Tabs` and `TextInput`. `Theme` takes an optional `children` snippet. Controls retain Bref's props, native attributes and applicable bindings; their types remain imported from `bref-ui/types`.
127
+ ```svelte
128
+ <script>
129
+ import '@fontsource-variable/inter/index.css';
130
+ import { Theme, Button } from 'bref-ui-themes/crystal-code';
131
+ </script>
69
132
 
70
- ### Tabs
133
+ <Theme><Button label="Save" icon={{ name: 'check' }} /></Theme>
134
+ ```
135
+
136
+ The gallery uses the same public package exports at `/themes/crystal-code`.
71
137
 
72
- `Tabs` uses Bref 2.2.0's readonly item data, required icon names and bindable string value. The consumer renders the selected content:
138
+ ## VS Code
139
+
140
+ Fixed-dark workbench controls with native interactions and scoped styling. All twenty components are exported through the theme subpath:
73
141
 
74
142
  ```svelte
75
- <script lang="ts">
76
- import { Theme, Tabs } from 'bref-ui-themes/relay';
77
- import type { TabItemDataProps } from 'bref-ui/types';
78
- let view = $state('overview');
79
- const items = [
80
- { id: 'overview', label: 'Overview', icon: 'dashboard' },
81
- { id: 'activity', label: 'Activity', icon: 'history' },
82
- { id: 'reports', label: 'Reports', icon: 'monitoring', disabled: true }
83
- ] as const satisfies readonly TabItemDataProps[];
143
+ <script>
144
+ import { Theme, Button } from 'bref-ui-themes/vscode';
84
145
  </script>
85
146
 
86
- <Theme>
87
- <Tabs {items} bind:value={view} label="Project views" />
88
- <div role="tabpanel" aria-label={items.find((item) => item.id === view)?.label} tabindex="0">
89
- {#if view === 'overview'}<p>8 tasks open, 3 completed.</p>
90
- {:else}<p>The navigation review was completed today.</p>{/if}
91
- </div>
92
- </Theme>
147
+ <Theme><Button label="Save" icon={{ name: 'check' }} /></Theme>
93
148
  ```
94
149
 
95
- Horizontal tabs accept `size="fit"` (default, scrolls on overflow) or `size="fill"`. Vertical tabs use `orientation="vertical"` without `size`. Optional `onChange`, `filled`, `transitionIn` and `transitionOut` retain the published API. Default indicator motion respects reduced motion; custom transitions should do the same. Arrow keys, Home and End move selection and skip disabled items. At small widths, horizontal tabs show the selected label, and vertical tabs show icons; accessible names remain available. Each theme demonstration includes fit, fill, vertical, disabled and bound-content examples.
150
+ Material Symbols icons load automatically with Theme. Text uses system fonts, so
151
+ no custom text font installation is required.
152
+
153
+ The gallery uses the same public package exports at `/themes/vscode`.
96
154
 
97
- These initial themes provide the demo palettes, fonts, common CSS and component styling. They use light mode and document-global Bref tokens/reset styles; mount one theme per document and use full-page navigation when changing themes. Site-specific layouts and content are separate from the library.
155
+ ## Community and contributing
98
156
 
99
- ## Source layout
157
+ Join [Discord](https://discord.gg/JpgQRTUsVS) and use the `bref-ui` channel for
158
+ questions and examples. Report bugs and suggest themes through
159
+ [GitHub Issues](https://github.com/feuersteiner/bref-ui/issues).
100
160
 
101
- - `src/lib/<theme>/index.ts`: public theme entry; each site's demo and theme demonstration consume it.
102
- - `src/lib/components`: Bref CLI-copied controls and their local dependencies, with `bref-ui/types` imports preserved.
103
- - `src/lib/shared`: common reusable theme styling.
104
- - `src/routes/(sites)`: complete Tasks, House Shop and Site Reviewer sites and the latest shared demo shell.
105
- - `src/routes/(themes)`: demonstrations of implemented public theme exports.
106
- - `src/routes/catalog`: showcase content adapted from the reusable gallery.
107
- - `static/demos`: original photographic assets; `static/previews`: rendered catalog previews. Neither is included in the npm package.
161
+ This package lives in the [Bref-ui monorepo](https://github.com/feuersteiner/bref-ui/tree/main/themes).
162
+ See [CONTRIBUTING.md](https://github.com/feuersteiner/bref-ui/blob/main/CONTRIBUTING.md)
163
+ for contribution guidelines.
108
164
 
109
- The migration preserves the local checkbox motion/reduced-motion fix and animated dialog title/icon updates. Only demo-owned files were extracted from their source branches; the latest Relay shared shell was kept. See [verification.md](verification.md) for source revisions, validation and remaining limitations.
165
+ ## License
110
166
 
111
- Tabs was copied from the npm-installed Bref 2.2.0 source using its registry, dependency planner and preview/install pipeline. Existing Icon and Theme dependencies were retained. The preview added only `tabs/tabs.svelte` and `tabs/item.svelte`, with explicit approval for the shared barrel merge; no existing component source was overwritten. Tabs types remain public imports from `bref-ui/types`.
167
+ [MIT](https://github.com/feuersteiner/bref-ui/blob/main/LICENSE).