@weave-framework/ui 0.2.107

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 (384) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/dist/autocomplete/autocomplete.d.ts +86 -0
  4. package/dist/autocomplete/autocomplete.d.ts.map +1 -0
  5. package/dist/autocomplete/autocomplete.js +263 -0
  6. package/dist/autocomplete/autocomplete.js.map +1 -0
  7. package/dist/badge/badge.d.ts +39 -0
  8. package/dist/badge/badge.d.ts.map +1 -0
  9. package/dist/badge/badge.js +59 -0
  10. package/dist/badge/badge.js.map +1 -0
  11. package/dist/bottom-sheet/bottom-sheet.d.ts +21 -0
  12. package/dist/bottom-sheet/bottom-sheet.d.ts.map +1 -0
  13. package/dist/bottom-sheet/bottom-sheet.js +82 -0
  14. package/dist/bottom-sheet/bottom-sheet.js.map +1 -0
  15. package/dist/button/button.d.ts +47 -0
  16. package/dist/button/button.d.ts.map +1 -0
  17. package/dist/button/button.js +47 -0
  18. package/dist/button/button.js.map +1 -0
  19. package/dist/button-toggle/button-toggle.d.ts +65 -0
  20. package/dist/button-toggle/button-toggle.d.ts.map +1 -0
  21. package/dist/button-toggle/button-toggle.js +127 -0
  22. package/dist/button-toggle/button-toggle.js.map +1 -0
  23. package/dist/card/card.d.ts +30 -0
  24. package/dist/card/card.d.ts.map +1 -0
  25. package/dist/card/card.js +32 -0
  26. package/dist/card/card.js.map +1 -0
  27. package/dist/cdk/bidi.d.ts +19 -0
  28. package/dist/cdk/bidi.d.ts.map +1 -0
  29. package/dist/cdk/bidi.js +32 -0
  30. package/dist/cdk/bidi.js.map +1 -0
  31. package/dist/cdk/breakpoints.d.ts +21 -0
  32. package/dist/cdk/breakpoints.d.ts.map +1 -0
  33. package/dist/cdk/breakpoints.js +39 -0
  34. package/dist/cdk/breakpoints.js.map +1 -0
  35. package/dist/cdk/clipboard.d.ts +8 -0
  36. package/dist/cdk/clipboard.d.ts.map +1 -0
  37. package/dist/cdk/clipboard.js +38 -0
  38. package/dist/cdk/clipboard.js.map +1 -0
  39. package/dist/cdk/data-source.d.ts +41 -0
  40. package/dist/cdk/data-source.d.ts.map +1 -0
  41. package/dist/cdk/data-source.js +36 -0
  42. package/dist/cdk/data-source.js.map +1 -0
  43. package/dist/cdk/date-adapter.d.ts +63 -0
  44. package/dist/cdk/date-adapter.d.ts.map +1 -0
  45. package/dist/cdk/date-adapter.js +155 -0
  46. package/dist/cdk/date-adapter.js.map +1 -0
  47. package/dist/cdk/drag-drop.d.ts +77 -0
  48. package/dist/cdk/drag-drop.d.ts.map +1 -0
  49. package/dist/cdk/drag-drop.js +268 -0
  50. package/dist/cdk/drag-drop.js.map +1 -0
  51. package/dist/cdk/focus-monitor.d.ts +27 -0
  52. package/dist/cdk/focus-monitor.d.ts.map +1 -0
  53. package/dist/cdk/focus-monitor.js +66 -0
  54. package/dist/cdk/focus-monitor.js.map +1 -0
  55. package/dist/cdk/focus-trap.d.ts +39 -0
  56. package/dist/cdk/focus-trap.d.ts.map +1 -0
  57. package/dist/cdk/focus-trap.js +127 -0
  58. package/dist/cdk/focus-trap.js.map +1 -0
  59. package/dist/cdk/index.d.ts +29 -0
  60. package/dist/cdk/index.d.ts.map +1 -0
  61. package/dist/cdk/index.js +29 -0
  62. package/dist/cdk/index.js.map +1 -0
  63. package/dist/cdk/interactivity.d.ts +19 -0
  64. package/dist/cdk/interactivity.d.ts.map +1 -0
  65. package/dist/cdk/interactivity.js +70 -0
  66. package/dist/cdk/interactivity.js.map +1 -0
  67. package/dist/cdk/key-manager.d.ts +41 -0
  68. package/dist/cdk/key-manager.d.ts.map +1 -0
  69. package/dist/cdk/key-manager.js +126 -0
  70. package/dist/cdk/key-manager.js.map +1 -0
  71. package/dist/cdk/live-announcer.d.ts +19 -0
  72. package/dist/cdk/live-announcer.d.ts.map +1 -0
  73. package/dist/cdk/live-announcer.js +48 -0
  74. package/dist/cdk/live-announcer.js.map +1 -0
  75. package/dist/cdk/observers.d.ts +17 -0
  76. package/dist/cdk/observers.d.ts.map +1 -0
  77. package/dist/cdk/observers.js +35 -0
  78. package/dist/cdk/observers.js.map +1 -0
  79. package/dist/cdk/overlay.d.ts +73 -0
  80. package/dist/cdk/overlay.d.ts.map +1 -0
  81. package/dist/cdk/overlay.js +154 -0
  82. package/dist/cdk/overlay.js.map +1 -0
  83. package/dist/cdk/platform.d.ts +22 -0
  84. package/dist/cdk/platform.d.ts.map +1 -0
  85. package/dist/cdk/platform.js +55 -0
  86. package/dist/cdk/platform.js.map +1 -0
  87. package/dist/cdk/portal.d.ts +31 -0
  88. package/dist/cdk/portal.d.ts.map +1 -0
  89. package/dist/cdk/portal.js +55 -0
  90. package/dist/cdk/portal.js.map +1 -0
  91. package/dist/cdk/positioning.d.ts +53 -0
  92. package/dist/cdk/positioning.d.ts.map +1 -0
  93. package/dist/cdk/positioning.js +140 -0
  94. package/dist/cdk/positioning.js.map +1 -0
  95. package/dist/cdk/scroll.d.ts +43 -0
  96. package/dist/cdk/scroll.d.ts.map +1 -0
  97. package/dist/cdk/scroll.js +97 -0
  98. package/dist/cdk/scroll.js.map +1 -0
  99. package/dist/cdk/selection-model.d.ts +50 -0
  100. package/dist/cdk/selection-model.d.ts.map +1 -0
  101. package/dist/cdk/selection-model.js +77 -0
  102. package/dist/cdk/selection-model.js.map +1 -0
  103. package/dist/cdk/virtual-scroll.d.ts +50 -0
  104. package/dist/cdk/virtual-scroll.d.ts.map +1 -0
  105. package/dist/cdk/virtual-scroll.js +92 -0
  106. package/dist/cdk/virtual-scroll.js.map +1 -0
  107. package/dist/checkbox/checkbox.d.ts +65 -0
  108. package/dist/checkbox/checkbox.d.ts.map +1 -0
  109. package/dist/checkbox/checkbox.js +82 -0
  110. package/dist/checkbox/checkbox.js.map +1 -0
  111. package/dist/chips/chips.d.ts +65 -0
  112. package/dist/chips/chips.d.ts.map +1 -0
  113. package/dist/chips/chips.js +119 -0
  114. package/dist/chips/chips.js.map +1 -0
  115. package/dist/context-menu/context-menu.d.ts +32 -0
  116. package/dist/context-menu/context-menu.d.ts.map +1 -0
  117. package/dist/context-menu/context-menu.js +63 -0
  118. package/dist/context-menu/context-menu.js.map +1 -0
  119. package/dist/datepicker/datepicker.d.ts +100 -0
  120. package/dist/datepicker/datepicker.d.ts.map +1 -0
  121. package/dist/datepicker/datepicker.js +440 -0
  122. package/dist/datepicker/datepicker.js.map +1 -0
  123. package/dist/dialog/dialog.d.ts +27 -0
  124. package/dist/dialog/dialog.d.ts.map +1 -0
  125. package/dist/dialog/dialog.js +47 -0
  126. package/dist/dialog/dialog.js.map +1 -0
  127. package/dist/dialog/modal-core.d.ts +42 -0
  128. package/dist/dialog/modal-core.d.ts.map +1 -0
  129. package/dist/dialog/modal-core.js +103 -0
  130. package/dist/dialog/modal-core.js.map +1 -0
  131. package/dist/expansion/expansion.d.ts +71 -0
  132. package/dist/expansion/expansion.d.ts.map +1 -0
  133. package/dist/expansion/expansion.js +127 -0
  134. package/dist/expansion/expansion.js.map +1 -0
  135. package/dist/form-field/form-field.d.ts +48 -0
  136. package/dist/form-field/form-field.d.ts.map +1 -0
  137. package/dist/form-field/form-field.js +89 -0
  138. package/dist/form-field/form-field.js.map +1 -0
  139. package/dist/grid-list/grid-list.d.ts +25 -0
  140. package/dist/grid-list/grid-list.d.ts.map +1 -0
  141. package/dist/grid-list/grid-list.js +22 -0
  142. package/dist/grid-list/grid-list.js.map +1 -0
  143. package/dist/icon/icon.d.ts +40 -0
  144. package/dist/icon/icon.d.ts.map +1 -0
  145. package/dist/icon/icon.js +99 -0
  146. package/dist/icon/icon.js.map +1 -0
  147. package/dist/icon/icons.d.ts +60 -0
  148. package/dist/icon/icons.d.ts.map +1 -0
  149. package/dist/icon/icons.js +126 -0
  150. package/dist/icon/icons.js.map +1 -0
  151. package/dist/icon/lucide-icons.d.ts +11 -0
  152. package/dist/icon/lucide-icons.d.ts.map +1 -0
  153. package/dist/icon/lucide-icons.js +65 -0
  154. package/dist/icon/lucide-icons.js.map +1 -0
  155. package/dist/index.d.ts +12 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +2 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/input/input.d.ts +90 -0
  160. package/dist/input/input.d.ts.map +1 -0
  161. package/dist/input/input.js +138 -0
  162. package/dist/input/input.js.map +1 -0
  163. package/dist/internal/compose.d.ts +26 -0
  164. package/dist/internal/compose.d.ts.map +1 -0
  165. package/dist/internal/compose.js +32 -0
  166. package/dist/internal/compose.js.map +1 -0
  167. package/dist/list/list.d.ts +70 -0
  168. package/dist/list/list.d.ts.map +1 -0
  169. package/dist/list/list.js +144 -0
  170. package/dist/list/list.js.map +1 -0
  171. package/dist/menu/menu-core.d.ts +56 -0
  172. package/dist/menu/menu-core.d.ts.map +1 -0
  173. package/dist/menu/menu-core.js +122 -0
  174. package/dist/menu/menu-core.js.map +1 -0
  175. package/dist/menu/menu.d.ts +31 -0
  176. package/dist/menu/menu.d.ts.map +1 -0
  177. package/dist/menu/menu.js +68 -0
  178. package/dist/menu/menu.js.map +1 -0
  179. package/dist/menubar/menubar.d.ts +49 -0
  180. package/dist/menubar/menubar.d.ts.map +1 -0
  181. package/dist/menubar/menubar.js +162 -0
  182. package/dist/menubar/menubar.js.map +1 -0
  183. package/dist/paginator/paginator.d.ts +89 -0
  184. package/dist/paginator/paginator.d.ts.map +1 -0
  185. package/dist/paginator/paginator.js +159 -0
  186. package/dist/paginator/paginator.js.map +1 -0
  187. package/dist/popover-edit/popover-edit.d.ts +33 -0
  188. package/dist/popover-edit/popover-edit.d.ts.map +1 -0
  189. package/dist/popover-edit/popover-edit.js +107 -0
  190. package/dist/popover-edit/popover-edit.js.map +1 -0
  191. package/dist/progress-bar/progress-bar.d.ts +32 -0
  192. package/dist/progress-bar/progress-bar.d.ts.map +1 -0
  193. package/dist/progress-bar/progress-bar.js +42 -0
  194. package/dist/progress-bar/progress-bar.js.map +1 -0
  195. package/dist/progress-spinner/progress-spinner.d.ts +25 -0
  196. package/dist/progress-spinner/progress-spinner.d.ts.map +1 -0
  197. package/dist/progress-spinner/progress-spinner.js +25 -0
  198. package/dist/progress-spinner/progress-spinner.js.map +1 -0
  199. package/dist/radio/radio.d.ts +68 -0
  200. package/dist/radio/radio.d.ts.map +1 -0
  201. package/dist/radio/radio.js +81 -0
  202. package/dist/radio/radio.js.map +1 -0
  203. package/dist/ripple/ripple.d.ts +20 -0
  204. package/dist/ripple/ripple.d.ts.map +1 -0
  205. package/dist/ripple/ripple.js +41 -0
  206. package/dist/ripple/ripple.js.map +1 -0
  207. package/dist/select/select.d.ts +83 -0
  208. package/dist/select/select.d.ts.map +1 -0
  209. package/dist/select/select.js +320 -0
  210. package/dist/select/select.js.map +1 -0
  211. package/dist/shared/options.d.ts +44 -0
  212. package/dist/shared/options.d.ts.map +1 -0
  213. package/dist/shared/options.js +59 -0
  214. package/dist/shared/options.js.map +1 -0
  215. package/dist/shared/positions.d.ts +20 -0
  216. package/dist/shared/positions.d.ts.map +1 -0
  217. package/dist/shared/positions.js +27 -0
  218. package/dist/shared/positions.js.map +1 -0
  219. package/dist/sidenav/sidenav.d.ts +65 -0
  220. package/dist/sidenav/sidenav.d.ts.map +1 -0
  221. package/dist/sidenav/sidenav.js +120 -0
  222. package/dist/sidenav/sidenav.js.map +1 -0
  223. package/dist/slide-toggle/slide-toggle.d.ts +56 -0
  224. package/dist/slide-toggle/slide-toggle.d.ts.map +1 -0
  225. package/dist/slide-toggle/slide-toggle.js +62 -0
  226. package/dist/slide-toggle/slide-toggle.js.map +1 -0
  227. package/dist/slider/slider.d.ts +69 -0
  228. package/dist/slider/slider.d.ts.map +1 -0
  229. package/dist/slider/slider.js +184 -0
  230. package/dist/slider/slider.js.map +1 -0
  231. package/dist/snackbar/snackbar.d.ts +25 -0
  232. package/dist/snackbar/snackbar.d.ts.map +1 -0
  233. package/dist/snackbar/snackbar.js +135 -0
  234. package/dist/snackbar/snackbar.js.map +1 -0
  235. package/dist/stepper/stepper.d.ts +87 -0
  236. package/dist/stepper/stepper.d.ts.map +1 -0
  237. package/dist/stepper/stepper.js +142 -0
  238. package/dist/stepper/stepper.js.map +1 -0
  239. package/dist/table/table.d.ts +140 -0
  240. package/dist/table/table.d.ts.map +1 -0
  241. package/dist/table/table.js +312 -0
  242. package/dist/table/table.js.map +1 -0
  243. package/dist/tabs/tabs.d.ts +64 -0
  244. package/dist/tabs/tabs.d.ts.map +1 -0
  245. package/dist/tabs/tabs.js +126 -0
  246. package/dist/tabs/tabs.js.map +1 -0
  247. package/dist/timepicker/timepicker.d.ts +83 -0
  248. package/dist/timepicker/timepicker.d.ts.map +1 -0
  249. package/dist/timepicker/timepicker.js +303 -0
  250. package/dist/timepicker/timepicker.js.map +1 -0
  251. package/dist/toolbar/toolbar.d.ts +34 -0
  252. package/dist/toolbar/toolbar.d.ts.map +1 -0
  253. package/dist/toolbar/toolbar.js +35 -0
  254. package/dist/toolbar/toolbar.js.map +1 -0
  255. package/dist/tooltip/tooltip.d.ts +30 -0
  256. package/dist/tooltip/tooltip.d.ts.map +1 -0
  257. package/dist/tooltip/tooltip.js +109 -0
  258. package/dist/tooltip/tooltip.js.map +1 -0
  259. package/dist/tree/tree.d.ts +100 -0
  260. package/dist/tree/tree.d.ts.map +1 -0
  261. package/dist/tree/tree.js +288 -0
  262. package/dist/tree/tree.js.map +1 -0
  263. package/package.json +230 -0
  264. package/src/styles/_api.scss +384 -0
  265. package/src/styles/_helpers.scss +101 -0
  266. package/src/styles/_index.scss +12 -0
  267. package/src/styles/_ref.scss +20 -0
  268. package/src/styles/_sass-utils.scss +14 -0
  269. package/src/styles/_token-utils.scss +24 -0
  270. package/src/styles/components/autocomplete/_index.scss +10 -0
  271. package/src/styles/components/autocomplete/_styles.scss +46 -0
  272. package/src/styles/components/autocomplete/_tokens.scss +28 -0
  273. package/src/styles/components/badge/_index.scss +12 -0
  274. package/src/styles/components/badge/_styles.scss +72 -0
  275. package/src/styles/components/badge/_tokens.scss +27 -0
  276. package/src/styles/components/bottom-sheet/_index.scss +9 -0
  277. package/src/styles/components/bottom-sheet/_styles.scss +77 -0
  278. package/src/styles/components/bottom-sheet/_tokens.scss +33 -0
  279. package/src/styles/components/button/_index.scss +12 -0
  280. package/src/styles/components/button/_styles.scss +106 -0
  281. package/src/styles/components/button/_tokens.scss +36 -0
  282. package/src/styles/components/button-toggle/_index.scss +12 -0
  283. package/src/styles/components/button-toggle/_styles.scss +57 -0
  284. package/src/styles/components/button-toggle/_tokens.scss +25 -0
  285. package/src/styles/components/card/_index.scss +15 -0
  286. package/src/styles/components/card/_styles.scss +68 -0
  287. package/src/styles/components/card/_tokens.scss +26 -0
  288. package/src/styles/components/checkbox/_index.scss +13 -0
  289. package/src/styles/components/checkbox/_styles.scss +108 -0
  290. package/src/styles/components/checkbox/_tokens.scss +25 -0
  291. package/src/styles/components/chips/_index.scss +12 -0
  292. package/src/styles/components/chips/_styles.scss +83 -0
  293. package/src/styles/components/chips/_tokens.scss +28 -0
  294. package/src/styles/components/datepicker/_index.scss +10 -0
  295. package/src/styles/components/datepicker/_styles.scss +203 -0
  296. package/src/styles/components/datepicker/_tokens.scss +50 -0
  297. package/src/styles/components/dialog/_index.scss +9 -0
  298. package/src/styles/components/dialog/_styles.scss +54 -0
  299. package/src/styles/components/dialog/_tokens.scss +29 -0
  300. package/src/styles/components/divider/_index.scss +8 -0
  301. package/src/styles/components/divider/_styles.scss +18 -0
  302. package/src/styles/components/divider/_tokens.scss +12 -0
  303. package/src/styles/components/expansion/_index.scss +14 -0
  304. package/src/styles/components/expansion/_styles.scss +128 -0
  305. package/src/styles/components/expansion/_tokens.scss +32 -0
  306. package/src/styles/components/form-field/_index.scss +13 -0
  307. package/src/styles/components/form-field/_styles.scss +39 -0
  308. package/src/styles/components/form-field/_tokens.scss +19 -0
  309. package/src/styles/components/grid-list/_index.scss +12 -0
  310. package/src/styles/components/grid-list/_styles.scss +31 -0
  311. package/src/styles/components/grid-list/_tokens.scss +18 -0
  312. package/src/styles/components/icon/_index.scss +8 -0
  313. package/src/styles/components/icon/_styles.scss +18 -0
  314. package/src/styles/components/icon/_tokens.scss +8 -0
  315. package/src/styles/components/input/_index.scss +13 -0
  316. package/src/styles/components/input/_styles.scss +111 -0
  317. package/src/styles/components/input/_tokens.scss +21 -0
  318. package/src/styles/components/list/_index.scss +12 -0
  319. package/src/styles/components/list/_styles.scss +87 -0
  320. package/src/styles/components/list/_tokens.scss +31 -0
  321. package/src/styles/components/menu/_index.scss +9 -0
  322. package/src/styles/components/menu/_styles.scss +60 -0
  323. package/src/styles/components/menu/_tokens.scss +33 -0
  324. package/src/styles/components/menubar/_index.scss +9 -0
  325. package/src/styles/components/menubar/_styles.scss +41 -0
  326. package/src/styles/components/menubar/_tokens.scss +25 -0
  327. package/src/styles/components/overlay/_index.scss +8 -0
  328. package/src/styles/components/overlay/_styles.scss +25 -0
  329. package/src/styles/components/overlay/_tokens.scss +21 -0
  330. package/src/styles/components/paginator/_index.scss +14 -0
  331. package/src/styles/components/paginator/_styles.scss +77 -0
  332. package/src/styles/components/paginator/_tokens.scss +28 -0
  333. package/src/styles/components/popover-edit/_index.scss +9 -0
  334. package/src/styles/components/popover-edit/_styles.scss +31 -0
  335. package/src/styles/components/popover-edit/_tokens.scss +21 -0
  336. package/src/styles/components/progress-bar/_index.scss +11 -0
  337. package/src/styles/components/progress-bar/_styles.scss +39 -0
  338. package/src/styles/components/progress-bar/_tokens.scss +17 -0
  339. package/src/styles/components/progress-spinner/_index.scss +11 -0
  340. package/src/styles/components/progress-spinner/_styles.scss +26 -0
  341. package/src/styles/components/progress-spinner/_tokens.scss +15 -0
  342. package/src/styles/components/radio/_index.scss +14 -0
  343. package/src/styles/components/radio/_styles.scss +92 -0
  344. package/src/styles/components/radio/_tokens.scss +24 -0
  345. package/src/styles/components/ripple/_index.scss +8 -0
  346. package/src/styles/components/ripple/_styles.scss +20 -0
  347. package/src/styles/components/ripple/_tokens.scss +12 -0
  348. package/src/styles/components/select/_index.scss +9 -0
  349. package/src/styles/components/select/_styles.scss +120 -0
  350. package/src/styles/components/select/_tokens.scss +35 -0
  351. package/src/styles/components/sidenav/_index.scss +14 -0
  352. package/src/styles/components/sidenav/_styles.scss +105 -0
  353. package/src/styles/components/sidenav/_tokens.scss +24 -0
  354. package/src/styles/components/slide-toggle/_index.scss +13 -0
  355. package/src/styles/components/slide-toggle/_styles.scss +86 -0
  356. package/src/styles/components/slide-toggle/_tokens.scss +24 -0
  357. package/src/styles/components/slider/_index.scss +13 -0
  358. package/src/styles/components/slider/_styles.scss +77 -0
  359. package/src/styles/components/slider/_tokens.scss +21 -0
  360. package/src/styles/components/snackbar/_index.scss +8 -0
  361. package/src/styles/components/snackbar/_styles.scss +59 -0
  362. package/src/styles/components/snackbar/_tokens.scss +28 -0
  363. package/src/styles/components/stepper/_index.scss +14 -0
  364. package/src/styles/components/stepper/_styles.scss +129 -0
  365. package/src/styles/components/stepper/_tokens.scss +44 -0
  366. package/src/styles/components/table/_index.scss +14 -0
  367. package/src/styles/components/table/_styles.scss +202 -0
  368. package/src/styles/components/table/_tokens.scss +47 -0
  369. package/src/styles/components/tabs/_index.scss +13 -0
  370. package/src/styles/components/tabs/_styles.scss +76 -0
  371. package/src/styles/components/tabs/_tokens.scss +28 -0
  372. package/src/styles/components/timepicker/_index.scss +9 -0
  373. package/src/styles/components/timepicker/_styles.scss +136 -0
  374. package/src/styles/components/timepicker/_tokens.scss +46 -0
  375. package/src/styles/components/toolbar/_index.scss +12 -0
  376. package/src/styles/components/toolbar/_styles.scss +41 -0
  377. package/src/styles/components/toolbar/_tokens.scss +17 -0
  378. package/src/styles/components/tooltip/_index.scss +8 -0
  379. package/src/styles/components/tooltip/_styles.scss +29 -0
  380. package/src/styles/components/tooltip/_tokens.scss +22 -0
  381. package/src/styles/components/tree/_index.scss +13 -0
  382. package/src/styles/components/tree/_styles.scss +99 -0
  383. package/src/styles/components/tree/_tokens.scss +38 -0
  384. package/src/styles/theme/_defaults.scss +50 -0
@@ -0,0 +1,72 @@
1
+ // badge — styles() mixin (class rules). Forwarded by ./_index.scss.
2
+
3
+ @mixin styles() {
4
+ .weave-badge {
5
+ position: relative;
6
+ display: inline-flex;
7
+ vertical-align: middle;
8
+
9
+ @content;
10
+ }
11
+
12
+ .weave-badge__mark {
13
+ position: absolute;
14
+ top: 0;
15
+ right: 0;
16
+ transform: translate(50%, -50%);
17
+ box-sizing: border-box;
18
+ display: inline-flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ min-width: var(--weave-badge-min-size);
22
+ height: var(--weave-badge-min-size);
23
+ padding: 0 var(--weave-badge-padding-x);
24
+ border-radius: var(--weave-badge-radius);
25
+ background: var(--weave-badge-background);
26
+ color: var(--weave-badge-text);
27
+ font-size: var(--weave-badge-font-size);
28
+ font-weight: var(--weave-badge-weight);
29
+ font-variant-numeric: tabular-nums;
30
+ line-height: 1;
31
+ pointer-events: none;
32
+ }
33
+
34
+ /* Dot — a bare 6px mark, no text. */
35
+ .weave-badge--dot .weave-badge__mark {
36
+ min-width: var(--weave-badge-dot-size);
37
+ width: var(--weave-badge-dot-size);
38
+ height: var(--weave-badge-dot-size);
39
+ padding: 0;
40
+ background: var(--weave-badge-dot);
41
+ }
42
+
43
+ /* Corners (default top-end). */
44
+ .weave-badge--bottom .weave-badge__mark {
45
+ top: auto;
46
+ bottom: 0;
47
+ transform: translate(50%, 50%);
48
+ }
49
+
50
+ .weave-badge--start .weave-badge__mark {
51
+ right: auto;
52
+ left: 0;
53
+ transform: translate(-50%, -50%);
54
+ }
55
+
56
+ .weave-badge--bottom.weave-badge--start .weave-badge__mark {
57
+ transform: translate(-50%, 50%);
58
+ }
59
+
60
+ /* Tag — a standalone outline label; the container IS the visible mark. */
61
+ .weave-badge--tag {
62
+ display: inline-flex;
63
+ align-items: center;
64
+ padding: var(--weave-badge-tag-padding-y) var(--weave-badge-tag-padding-x);
65
+ border: 1px solid var(--weave-badge-tag-border);
66
+ border-radius: var(--weave-badge-tag-radius);
67
+ color: var(--weave-badge-tag-text);
68
+ font-size: var(--weave-badge-tag-font-size);
69
+ font-weight: var(--weave-badge-weight);
70
+ line-height: 1;
71
+ }
72
+ }
@@ -0,0 +1,27 @@
1
+ // badge — design tokens (schema). Forwarded by ./_index.scss.
2
+ @use '../../ref' as ref;
3
+
4
+ $tokens: (
5
+ color: (
6
+ background: ref.ref('color.accent'),
7
+ // on-accent text is fixed white (accent is dark in both themes)
8
+ text: #ffffff,
9
+ dot: ref.ref('color.error'),
10
+ tag-border: ref.ref('color.line'),
11
+ tag-text: ref.ref('color.sub'),
12
+ ),
13
+ size: (
14
+ min-size: 15px,
15
+ dot-size: 6px,
16
+ padding-x: 5px,
17
+ radius: 999px,
18
+ font-size: 10px,
19
+ tag-radius: ref.ref('shape.radius'),
20
+ tag-padding-x: 6px,
21
+ tag-padding-y: 2px,
22
+ tag-font-size: 10px,
23
+ ),
24
+ typography: (
25
+ weight: 600,
26
+ ),
27
+ );
@@ -0,0 +1,9 @@
1
+ // Bottom Sheet — a full-width modal docked to the bottom edge. Behavior lives in
2
+ // bottom-sheet.ts (openBottomSheet → BottomSheetRef; shares the modal core with Dialog —
3
+ // CDK overlay + dimming backdrop + blockScroll + focus-trap/restore + Esc/backdrop close +
4
+ // the three regions); this is the visual: a hairline sheet capped in width/height, top-only
5
+ // radius, sliding up on open, with a scrolling content region.
6
+ //
7
+ // Barrel — forwards the split partials ($tokens + the styles() mixin).
8
+ @forward 'tokens';
9
+ @forward 'styles';
@@ -0,0 +1,77 @@
1
+ // bottom-sheet — styles() mixin (class rules). A hairline modal docked to the bottom edge
2
+ // (positioned by the CDK globalPosition: left:0/right:0/bottom:0), capped in width (centred
3
+ // on wide screens via margin-inline:auto) and height (content scrolls inside). Top-only
4
+ // corner radius, slides up on open. Same three-region layout as Dialog. Forwarded by
5
+ // ./_index.scss.
6
+
7
+ @mixin styles() {
8
+ .weave-bottom-sheet {
9
+ display: flex;
10
+ flex-direction: column;
11
+ box-sizing: border-box;
12
+ // Capped + centred within the left:0/right:0 box the CDK sets.
13
+ max-width: var(--weave-bottom-sheet-max-width);
14
+ margin-inline: auto;
15
+ max-height: var(--weave-bottom-sheet-max-height);
16
+ background: var(--weave-bottom-sheet-surface);
17
+ color: var(--weave-bottom-sheet-text);
18
+ border: 1px solid var(--weave-bottom-sheet-line);
19
+ border-bottom: 0; // sits flush on the viewport's bottom edge
20
+ border-radius: var(--weave-bottom-sheet-radius) var(--weave-bottom-sheet-radius) 0 0;
21
+ overflow: hidden;
22
+ animation: weave-bottom-sheet-in var(--weave-bottom-sheet-duration) ease;
23
+ }
24
+
25
+ @keyframes weave-bottom-sheet-in {
26
+ from {
27
+ transform: translateY(100%);
28
+ }
29
+
30
+ to {
31
+ transform: translateY(0);
32
+ }
33
+ }
34
+
35
+ // Top grab-handle — drag it down to dismiss (touch-action:none so touch drags don't scroll).
36
+ .weave-bottom-sheet__handle {
37
+ flex: 0 0 auto;
38
+ width: var(--weave-bottom-sheet-handle-width);
39
+ height: var(--weave-bottom-sheet-handle-height);
40
+ margin: var(--weave-bottom-sheet-handle-top) auto 0;
41
+ border-radius: 999px; // structural full-pill
42
+ background: var(--weave-bottom-sheet-handle);
43
+ cursor: grab;
44
+ touch-action: none;
45
+ }
46
+
47
+ .weave-bottom-sheet__handle:active {
48
+ cursor: grabbing;
49
+ }
50
+
51
+ .weave-bottom-sheet__header {
52
+ flex: 0 0 auto;
53
+ padding: var(--weave-bottom-sheet-padding);
54
+ border-bottom: 1px solid var(--weave-bottom-sheet-line);
55
+ font-size: var(--weave-bottom-sheet-title-size);
56
+ font-weight: var(--weave-bottom-sheet-title-weight);
57
+ line-height: var(--weave-bottom-sheet-title-line-height);
58
+ }
59
+
60
+ .weave-bottom-sheet__content {
61
+ flex: 1 1 auto;
62
+ min-height: 0;
63
+ overflow-y: auto;
64
+ padding: var(--weave-bottom-sheet-padding);
65
+ line-height: var(--weave-bottom-sheet-content-line-height);
66
+ }
67
+
68
+ .weave-bottom-sheet__actions {
69
+ flex: 0 0 auto;
70
+ display: flex;
71
+ justify-content: flex-end;
72
+ align-items: center;
73
+ gap: var(--weave-bottom-sheet-actions-gap);
74
+ padding: var(--weave-bottom-sheet-padding);
75
+ border-top: 1px solid var(--weave-bottom-sheet-line);
76
+ }
77
+ }
@@ -0,0 +1,33 @@
1
+ // bottom-sheet — design tokens (schema). A full-width modal docked to the bottom edge; the
2
+ // backdrop dim comes from the shared overlay republic. Forwarded by ./_index.scss.
3
+ @use '../../ref' as ref;
4
+
5
+ $tokens: (
6
+ color: (
7
+ surface: ref.ref('color.surface'),
8
+ text: ref.ref('color.ink'),
9
+ line: ref.ref('color.line'),
10
+ // The drag-to-dismiss grab handle.
11
+ handle: ref.ref('color.line'),
12
+ ),
13
+ size: (
14
+ // Grab-handle grabber bar (drag-to-dismiss).
15
+ handle-width: 36px,
16
+ handle-height: 4px,
17
+ handle-top: 8px,
18
+ // Cap the sheet's height so it never covers the whole screen; content scrolls inside.
19
+ max-height: 72vh,
20
+ // Wide-screen comfort cap (the sheet centers rather than spanning ultra-wide displays).
21
+ max-width: 640px,
22
+ radius: ref.ref('shape.radius'),
23
+ padding: 20px,
24
+ actions-gap: 8px,
25
+ duration: ref.ref('motion.sheet'),
26
+ ),
27
+ typography: (
28
+ title-size: 15px,
29
+ title-weight: 600,
30
+ title-line-height: 1.3,
31
+ content-line-height: 1.5,
32
+ ),
33
+ );
@@ -0,0 +1,12 @@
1
+ // Button — Weave actions. Behavior lives in button.ts (variant class + ripple +
2
+ // native <button>); this is the visual (token schema + styles() rules).
3
+ //
4
+ // Variants (REAL Weave, as --<variant>): default = Primary (ink fill, canvas text);
5
+ // --outline (1px ink border, inverts on hover); --marked (text + inset -2px accent);
6
+ // --ghost (text, sub→ink on hover); --icon (34px square). Disabled via [disabled].
7
+ //
8
+ // Barrel — forwards the split partials ($tokens + the styles() mixin). Add another
9
+ // concern as its own file (e.g. _keyframes.scss) and @forward it here.
10
+
11
+ @forward 'tokens';
12
+ @forward 'styles';
@@ -0,0 +1,106 @@
1
+ // button — styles() mixin (class rules). Forwarded by ./_index.scss.
2
+ @use '../../helpers' as helpers;
3
+
4
+ @mixin styles() {
5
+ .weave-button {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ gap: var(--weave-button-gap);
10
+ padding: var(--weave-button-padding-y) var(--weave-button-padding-x);
11
+ border: 1px solid transparent;
12
+ border-radius: var(--weave-button-radius);
13
+ background: var(--weave-button-background);
14
+ color: var(--weave-button-text);
15
+ font-size: var(--weave-button-font-size);
16
+ font-weight: var(--weave-button-weight);
17
+ line-height: 1;
18
+ cursor: pointer;
19
+ user-select: none;
20
+ transition:
21
+ background var(--weave-button-duration) ease,
22
+ color var(--weave-button-duration) ease,
23
+ opacity var(--weave-button-duration) ease;
24
+ @include helpers.ripple-host; // position:relative; overflow:hidden — clips the ripple
25
+
26
+ @content; // (b) bring-your-own-skin: append into our scope
27
+ }
28
+
29
+ .weave-button:hover {
30
+ opacity: var(--weave-button-hover-opacity);
31
+ }
32
+
33
+ .weave-button:active {
34
+ transform: translateY(1px);
35
+ }
36
+
37
+ .weave-button:focus-visible {
38
+ @include helpers.focus-ring;
39
+ }
40
+
41
+ /* Outline — 1px ink border, inverts to the primary fill on hover. */
42
+ .weave-button--outline {
43
+ background: transparent;
44
+ color: var(--weave-button-background);
45
+ border-color: var(--weave-button-border);
46
+ }
47
+
48
+ .weave-button--outline:hover {
49
+ background: var(--weave-button-background);
50
+ color: var(--weave-button-text);
51
+ opacity: 1;
52
+ }
53
+
54
+ /* Marked — text with a 2px accent underline mark (no fill). */
55
+ .weave-button--marked {
56
+ background: transparent;
57
+ color: var(--weave-button-background);
58
+ box-shadow: inset 0 calc(-1 * var(--weave-button-mark-width)) 0 var(--weave-button-accent);
59
+ }
60
+
61
+ .weave-button--marked:hover {
62
+ opacity: 1;
63
+ }
64
+
65
+ /* Ghost — text only; sub → ink on hover. */
66
+ .weave-button--ghost {
67
+ background: transparent;
68
+ color: var(--weave-button-ghost-text);
69
+ }
70
+
71
+ .weave-button--ghost:hover {
72
+ background: transparent;
73
+ color: var(--weave-button-ghost-text-hover);
74
+ opacity: 1;
75
+ }
76
+
77
+ /* Icon — 34px square, houses a single <Icon>. The glyph inherits the surrounding
78
+ text color (ink on a light surface, canvas on an ink toolbar) so it's visible on
79
+ any background — never hard-code ink here. */
80
+ .weave-button--icon {
81
+ width: var(--weave-button-icon-size);
82
+ height: var(--weave-button-icon-size);
83
+ padding: 0;
84
+ background: transparent;
85
+ color: inherit;
86
+ }
87
+
88
+ .weave-button--icon:hover {
89
+ background: var(--weave-button-icon-hover);
90
+ opacity: 1;
91
+ }
92
+
93
+ /* Disabled (native attr, not a class) — field bg, sub text, no feedback. */
94
+ .weave-button[disabled] {
95
+ background: var(--weave-button-disabled-background);
96
+ color: var(--weave-button-disabled-text);
97
+ border-color: transparent;
98
+ box-shadow: none;
99
+ cursor: not-allowed;
100
+ opacity: 1;
101
+ }
102
+
103
+ .weave-button[disabled]:active {
104
+ transform: none;
105
+ }
106
+ }
@@ -0,0 +1,36 @@
1
+ // button — design tokens (schema). Forwarded by ./_index.scss.
2
+ @use '../../ref' as ref;
3
+
4
+ $tokens: (
5
+ color: (
6
+ background: ref.ref('color.ink'),
7
+ // Primary fill
8
+ text: ref.ref('color.canvas'),
9
+ // Primary text
10
+ border: ref.ref('color.ink'),
11
+ accent: ref.ref('color.accent'),
12
+ // marked underline
13
+ ghost-text: ref.ref('color.sub'),
14
+ ghost-text-hover: ref.ref('color.ink'),
15
+ // Adaptive tint (a faint wash of the current text color) so an icon button's
16
+ // hover reads on ANY background — light surface or ink toolbar. Resolved at the
17
+ // use site, where currentColor = the button's inherited color.
18
+ icon-hover: color-mix(in srgb, currentColor 8%, transparent),
19
+ disabled-background: ref.ref('color.field'),
20
+ disabled-text: ref.ref('color.sub'),
21
+ ),
22
+ size: (
23
+ radius: ref.ref('shape.radius'),
24
+ padding-x: 18px,
25
+ padding-y: 9px,
26
+ gap: 8px,
27
+ icon-size: 34px,
28
+ mark-width: 2px,
29
+ hover-opacity: 0.85,
30
+ duration: ref.ref('motion.fast'),
31
+ ),
32
+ typography: (
33
+ font-size: 13px,
34
+ weight: 600,
35
+ ),
36
+ );
@@ -0,0 +1,12 @@
1
+ // Button Toggle — a segmented control. Behavior lives in button-toggle.ts (selection
2
+ // + roving tabindex via the CDK listKeyManager); this is the visual.
3
+ //
4
+ // A 1px-bordered container with border-left segment dividers; the selected segment
5
+ // fills with ink + canvas text. Selected state is the NATIVE ARIA attr, not a class:
6
+ // [aria-checked=true] (single/radio) and [aria-pressed=true] (multi).
7
+ //
8
+ // Barrel — forwards the split partials ($tokens + the styles() mixin). Add another
9
+ // concern as its own file (e.g. _keyframes.scss) and @forward it here.
10
+
11
+ @forward 'tokens';
12
+ @forward 'styles';
@@ -0,0 +1,57 @@
1
+ // button-toggle — styles() mixin (class rules). Forwarded by ./_index.scss.
2
+ @use '../../helpers' as helpers;
3
+
4
+ @mixin styles() {
5
+ .weave-button-toggle {
6
+ display: inline-flex;
7
+ border: 1px solid var(--weave-button-toggle-border);
8
+ border-radius: var(--weave-button-toggle-radius);
9
+ overflow: hidden; // clip the segment corners to the container radius
10
+
11
+ @content;
12
+ }
13
+
14
+ .weave-button-toggle__segment {
15
+ appearance: none;
16
+ display: inline-flex;
17
+ align-items: center;
18
+ gap: var(--weave-button-toggle-icon-gap);
19
+ border: 0;
20
+ border-left: 1px solid var(--weave-button-toggle-border);
21
+ background: transparent;
22
+ color: var(--weave-button-toggle-text);
23
+ font-size: var(--weave-button-toggle-font-size);
24
+ font-weight: var(--weave-button-toggle-weight);
25
+ padding: var(--weave-button-toggle-padding-y) var(--weave-button-toggle-padding-x);
26
+ line-height: 1;
27
+ cursor: pointer;
28
+ transition:
29
+ background var(--weave-button-toggle-duration) ease,
30
+ color var(--weave-button-toggle-duration) ease;
31
+ }
32
+
33
+ .weave-button-toggle__segment:first-child {
34
+ border-left: 0;
35
+ }
36
+
37
+ .weave-button-toggle__segment:hover {
38
+ background: var(--weave-button-toggle-hover);
39
+ }
40
+
41
+ .weave-button-toggle__segment:focus-visible {
42
+ @include helpers.focus-ring;
43
+ outline-offset: -2px; // ring sits inside the hairline container
44
+ }
45
+
46
+ /* Selected — the accent-free ink fill (state via native ARIA attr, not a class). */
47
+ .weave-button-toggle__segment[aria-checked='true'],
48
+ .weave-button-toggle__segment[aria-pressed='true'] {
49
+ background: var(--weave-button-toggle-selected-background);
50
+ color: var(--weave-button-toggle-selected-text);
51
+ }
52
+
53
+ .weave-button-toggle__segment[disabled] {
54
+ color: var(--weave-button-toggle-disabled-text);
55
+ cursor: not-allowed;
56
+ }
57
+ }
@@ -0,0 +1,25 @@
1
+ // button-toggle — design tokens (schema). Forwarded by ./_index.scss.
2
+ @use '../../ref' as ref;
3
+
4
+ $tokens: (
5
+ color: (
6
+ border: ref.ref('color.line'),
7
+ text: ref.ref('color.ink'),
8
+ hover: ref.ref('color.field'),
9
+ selected-background: ref.ref('color.ink'),
10
+ selected-text: ref.ref('color.canvas'),
11
+ disabled-text: ref.ref('color.sub'),
12
+ ),
13
+ size: (
14
+ radius: ref.ref('shape.radius'),
15
+ padding-x: 12px,
16
+ padding-y: 7px,
17
+ // Gap between a segment's optional leading icon and its label.
18
+ icon-gap: 6px,
19
+ duration: ref.ref('motion.fast'),
20
+ ),
21
+ typography: (
22
+ font-size: 13px,
23
+ weight: 600,
24
+ ),
25
+ );
@@ -0,0 +1,15 @@
1
+ // Card — a surface panel. Behavior lives in card.ts (just a container + class forward);
2
+ // this is the visual. Keyline: surface bg, 1px line border, radius 4px, NO shadow.
3
+ //
4
+ // The card is a vertical stack; parts are the class contract the consumer composes:
5
+ // __media full-bleed image slot (bleeds past the card padding, clipped to radius)
6
+ // __title heading row
7
+ // __body text
8
+ // __actions text-button row (one typically a --marked Button)
9
+ // --interactive adds a hover tint (make it actually clickable by wrapping a link/button).
10
+ //
11
+ // Barrel — forwards the split partials ($tokens + the styles() mixin). Add another
12
+ // concern as its own file (e.g. _keyframes.scss) and @forward it here.
13
+
14
+ @forward 'tokens';
15
+ @forward 'styles';
@@ -0,0 +1,68 @@
1
+ // card — styles() mixin (class rules). Forwarded by ./_index.scss.
2
+
3
+ @mixin styles() {
4
+ .weave-card {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: var(--weave-card-gap);
8
+ padding: var(--weave-card-padding);
9
+ background: var(--weave-card-background);
10
+ border: 1px solid var(--weave-card-border);
11
+ border-radius: var(--weave-card-radius);
12
+ overflow: hidden; // clip the full-bleed media to the radius
13
+ color: var(--weave-card-body-text);
14
+
15
+ @content;
16
+ }
17
+
18
+ .weave-card--interactive {
19
+ cursor: pointer;
20
+ transition: background var(--weave-card-duration) ease;
21
+ }
22
+
23
+ .weave-card--interactive:hover {
24
+ background: var(--weave-card-hover);
25
+ }
26
+
27
+ /* Media — bleeds to the card edges (cancels the padding) and to the top. */
28
+ .weave-card__media {
29
+ margin: calc(-1 * var(--weave-card-padding)) calc(-1 * var(--weave-card-padding)) 0;
30
+ }
31
+
32
+ .weave-card__media > *,
33
+ .weave-card__media img {
34
+ display: block;
35
+ width: 100%;
36
+ }
37
+
38
+ .weave-card__title {
39
+ margin: 0;
40
+ font-size: var(--weave-card-title-size);
41
+ font-weight: var(--weave-card-title-weight);
42
+ letter-spacing: -0.02em;
43
+ color: var(--weave-card-title-text);
44
+ }
45
+
46
+ .weave-card__body {
47
+ margin: 0;
48
+ font-size: var(--weave-card-body-size);
49
+ line-height: var(--weave-card-body-line-height);
50
+ color: var(--weave-card-body-text);
51
+ }
52
+
53
+ /* Secondary/meta text inside a card. */
54
+ .weave-card__meta {
55
+ font-size: var(--weave-card-body-size);
56
+ color: var(--weave-card-meta-text);
57
+ }
58
+
59
+ /* Actions sink to the bottom: in an equal-height row the content area takes the
60
+ slack and the action row stays pinned to the card's bottom edge (no dead gap
61
+ below it). When the card is only as tall as its content, `auto` collapses to 0. */
62
+ .weave-card__actions {
63
+ display: flex;
64
+ gap: var(--weave-card-actions-gap);
65
+ align-items: center;
66
+ margin-top: auto;
67
+ }
68
+ }
@@ -0,0 +1,26 @@
1
+ // card — design tokens (schema). Forwarded by ./_index.scss.
2
+ @use '../../ref' as ref;
3
+
4
+ $tokens: (
5
+ color: (
6
+ background: ref.ref('color.surface'),
7
+ border: ref.ref('color.line'),
8
+ hover: ref.ref('color.field'),
9
+ title-text: ref.ref('color.ink'),
10
+ body-text: ref.ref('color.ink'),
11
+ meta-text: ref.ref('color.sub'),
12
+ ),
13
+ size: (
14
+ radius: ref.ref('shape.radius'),
15
+ padding: 16px,
16
+ gap: 10px,
17
+ actions-gap: 8px,
18
+ duration: ref.ref('motion.fast'),
19
+ ),
20
+ typography: (
21
+ title-size: 15px,
22
+ title-weight: 600,
23
+ body-size: 13px,
24
+ body-line-height: 1.5,
25
+ ),
26
+ );
@@ -0,0 +1,13 @@
1
+ // Checkbox — a native `<input type=checkbox>` with the Weave visual. Behavior lives in
2
+ // checkbox.ts (two-way value + forms control binding + tri-state); this is the visual.
3
+ //
4
+ // A 20px box: off = transparent + 1.5px border, on = accent fill + a white ✓ (a rotated
5
+ // border tick via `::after`), indeterminate = a mixed dash (`::before`). State is the
6
+ // NATIVE input pseudo (`:checked` / `:indeterminate` / `:focus-visible` / `:disabled`),
7
+ // read off the visually-hidden input by the adjacent `__box` — no state classes.
8
+ //
9
+ // Barrel — forwards the split partials ($tokens + the styles() mixin). Add another
10
+ // concern as its own file and @forward it here.
11
+
12
+ @forward 'tokens';
13
+ @forward 'styles';