@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,136 @@
1
+ // timepicker — styles() mixin. An underline trigger field (shared field-underline helper) with
2
+ // a clock icon; the panel reuses the overlay-panel chrome and lays out hour/minute spinner
3
+ // columns (each a role=spinbutton with ▲/▼) + an AM/PM toggle. Forwarded by ./_index.scss.
4
+ @use '../../helpers' as helpers;
5
+
6
+ @mixin styles() {
7
+ .weave-timepicker {
8
+ display: block;
9
+ }
10
+
11
+ .weave-timepicker__field {
12
+ @include helpers.field-underline(
13
+ var(--weave-timepicker-border),
14
+ var(--weave-timepicker-focus),
15
+ var(--weave-timepicker-border-width)
16
+ );
17
+ display: flex;
18
+ align-items: center;
19
+ gap: var(--weave-timepicker-gap);
20
+ padding: var(--weave-timepicker-field-padding-y) 0;
21
+ color: var(--weave-timepicker-text);
22
+ font-size: var(--weave-timepicker-font-size);
23
+ font-weight: var(--weave-timepicker-weight);
24
+ line-height: 1.4;
25
+ cursor: pointer;
26
+ }
27
+
28
+ .weave-timepicker__value--placeholder {
29
+ color: var(--weave-timepicker-placeholder);
30
+ }
31
+
32
+ .weave-timepicker__spacer {
33
+ flex: 1 1 auto;
34
+ }
35
+
36
+ .weave-timepicker__clear {
37
+ @include helpers.clear-button(var(--weave-timepicker-placeholder), var(--weave-timepicker-text));
38
+ }
39
+
40
+ // A clock glyph (pure CSS: a ring with two hands).
41
+ .weave-timepicker__icon {
42
+ position: relative;
43
+ flex: 0 0 auto;
44
+ width: var(--weave-timepicker-icon-size);
45
+ height: var(--weave-timepicker-icon-size);
46
+ border: 1.5px solid var(--weave-timepicker-icon);
47
+ border-radius: 50%;
48
+ }
49
+
50
+ .weave-timepicker__icon::before {
51
+ content: '';
52
+ position: absolute;
53
+ left: 50%;
54
+ top: 25%;
55
+ width: 1.5px;
56
+ height: 30%;
57
+ background: var(--weave-timepicker-icon);
58
+ transform: translateX(-50%);
59
+ }
60
+
61
+ .weave-timepicker--disabled .weave-timepicker__field {
62
+ color: var(--weave-timepicker-disabled-text);
63
+ cursor: default;
64
+ }
65
+
66
+ .weave-timepicker--invalid .weave-timepicker__field {
67
+ border-bottom-color: var(--weave-timepicker-error);
68
+ box-shadow: inset 0 -1px 0 0 var(--weave-timepicker-error);
69
+ }
70
+
71
+ /* ── spinner panel ── */
72
+ .weave-timepicker__panel {
73
+ @include helpers.overlay-panel;
74
+ display: flex;
75
+ align-items: center;
76
+ gap: var(--weave-timepicker-col-gap);
77
+ padding: var(--weave-timepicker-panel-padding);
78
+ }
79
+
80
+ .weave-timepicker__col {
81
+ display: flex;
82
+ flex-direction: column;
83
+ align-items: center;
84
+ width: var(--weave-timepicker-col-width);
85
+ }
86
+
87
+ .weave-timepicker__col:focus-visible {
88
+ @include helpers.focus-ring;
89
+ }
90
+
91
+ .weave-timepicker__col-value {
92
+ padding: 2px 0;
93
+ color: var(--weave-timepicker-text);
94
+ font-size: var(--weave-timepicker-value-size);
95
+ font-weight: var(--weave-timepicker-value-weight);
96
+ font-variant-numeric: tabular-nums;
97
+ }
98
+
99
+ .weave-timepicker__spin {
100
+ @include helpers.field-reset;
101
+ display: inline-flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ width: var(--weave-timepicker-spin-size);
105
+ height: var(--weave-timepicker-spin-size);
106
+ color: var(--weave-timepicker-spin);
107
+ font-size: var(--weave-timepicker-spin-glyph-size);
108
+ cursor: pointer;
109
+ }
110
+
111
+ .weave-timepicker__spin:hover {
112
+ color: var(--weave-timepicker-spin-hover);
113
+ }
114
+
115
+ .weave-timepicker__colon {
116
+ color: var(--weave-timepicker-colon);
117
+ font-size: var(--weave-timepicker-colon-size);
118
+ font-weight: var(--weave-timepicker-value-weight);
119
+ }
120
+
121
+ .weave-timepicker__ampm {
122
+ @include helpers.field-reset;
123
+ margin-inline-start: var(--weave-timepicker-col-gap);
124
+ padding: var(--weave-timepicker-ampm-padding-y) var(--weave-timepicker-ampm-padding-x);
125
+ border: 1px solid var(--weave-timepicker-ampm-border);
126
+ border-radius: var(--weave-timepicker-radius);
127
+ color: var(--weave-timepicker-ampm-text);
128
+ font-size: var(--weave-timepicker-ampm-size);
129
+ font-weight: var(--weave-timepicker-ampm-weight);
130
+ cursor: pointer;
131
+ }
132
+
133
+ .weave-timepicker__ampm:focus-visible {
134
+ @include helpers.focus-ring;
135
+ }
136
+ }
@@ -0,0 +1,46 @@
1
+ // timepicker — design tokens (schema). An underline trigger field (like Datepicker) + a
2
+ // spinner popover: hour ▲/▼ : minute ▲/▼ columns + an AM/PM toggle (the design). Panel reuses
3
+ // the shared overlay-panel chrome. Forwarded by ./_index.scss.
4
+ @use '../../ref' as ref;
5
+
6
+ $tokens: (
7
+ color: (
8
+ text: ref.ref('color.ink'),
9
+ placeholder: ref.ref('color.sub'),
10
+ border: ref.ref('color.line'),
11
+ focus: ref.ref('color.accent'),
12
+ error: ref.ref('color.error'),
13
+ icon: ref.ref('color.sub'),
14
+ disabled-text: ref.ref('color.sub'),
15
+ // Spinner.
16
+ spin: ref.ref('color.sub'),
17
+ spin-hover: ref.ref('color.accent'),
18
+ colon: ref.ref('color.sub'),
19
+ ampm-border: ref.ref('color.line'),
20
+ ampm-text: ref.ref('color.ink'),
21
+ ),
22
+ size: (
23
+ gap: 8px,
24
+ field-padding-y: 6px,
25
+ border-width: 1.5px,
26
+ radius: ref.ref('shape.radius'),
27
+ icon-size: 14px,
28
+ panel-padding: 12px,
29
+ col-gap: 6px,
30
+ col-width: 42px,
31
+ spin-size: 22px,
32
+ ampm-padding-x: 10px,
33
+ ampm-padding-y: 6px,
34
+ duration: ref.ref('motion.fast'),
35
+ ),
36
+ typography: (
37
+ font-size: 13px,
38
+ weight: 500,
39
+ value-size: 20px,
40
+ value-weight: 600,
41
+ colon-size: 20px,
42
+ spin-glyph-size: 10px,
43
+ ampm-size: 12px,
44
+ ampm-weight: 600,
45
+ ),
46
+ );
@@ -0,0 +1,12 @@
1
+ // Toolbar — a horizontal app bar. Behavior lives in toolbar.ts (container + class
2
+ // forward); this is the visual. Keyline: 52px tall, surface bg, 1px line bottom rule,
3
+ // NO shadow. A flex row; parts are the class contract the consumer composes:
4
+ // __start / __end clusters (flex, gapped)
5
+ // __spacer flex-grow gap that pushes __end to the right
6
+ // --ink inverts to an ink bar; --sticky pins it to the top.
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,41 @@
1
+ // toolbar — styles() mixin (class rules). Forwarded by ./_index.scss.
2
+
3
+ @mixin styles() {
4
+ .weave-toolbar {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: var(--weave-toolbar-gap);
8
+ box-sizing: border-box;
9
+ height: var(--weave-toolbar-height);
10
+ padding: 0 var(--weave-toolbar-padding-x);
11
+ background: var(--weave-toolbar-background);
12
+ color: var(--weave-toolbar-text);
13
+ border-bottom: 1px solid var(--weave-toolbar-border);
14
+
15
+ @content;
16
+ }
17
+
18
+ .weave-toolbar--ink {
19
+ background: var(--weave-toolbar-ink-background);
20
+ color: var(--weave-toolbar-ink-text);
21
+ border-bottom-color: transparent;
22
+ }
23
+
24
+ .weave-toolbar--sticky {
25
+ position: sticky;
26
+ top: 0;
27
+ z-index: 10;
28
+ }
29
+
30
+ /* The flexible gap — everything after it is pushed to the trailing edge. */
31
+ .weave-toolbar__spacer {
32
+ flex: 1 1 auto;
33
+ }
34
+
35
+ .weave-toolbar__start,
36
+ .weave-toolbar__end {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: var(--weave-toolbar-gap);
40
+ }
41
+ }
@@ -0,0 +1,17 @@
1
+ // toolbar — 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
+ text: ref.ref('color.ink'),
9
+ ink-background: ref.ref('color.ink'),
10
+ ink-text: ref.ref('color.canvas'),
11
+ ),
12
+ size: (
13
+ height: 52px,
14
+ padding-x: 16px,
15
+ gap: 12px,
16
+ ),
17
+ );
@@ -0,0 +1,8 @@
1
+ // Tooltip — a hint bubble positioned against a host by the CDK overlay. Behavior lives
2
+ // in tooltip.ts (the `use:tooltip` action — hover/focus open, flip positioning,
3
+ // aria-describedby, Esc close); this is the visual: a small inverted (ink) bubble that
4
+ // never captures the pointer and fades in fast.
5
+ //
6
+ // Barrel — forwards the split partials ($tokens + the styles() mixin).
7
+ @forward 'tokens';
8
+ @forward 'styles';
@@ -0,0 +1,29 @@
1
+ // tooltip — styles() mixin (class rules). A small inverted bubble; the CDK overlay
2
+ // positions it against the host. Never captures the pointer (must not block host hover);
3
+ // fades in fast. Keyframes live inside styles() (same pattern as Ripple/Progress Bar).
4
+ // Forwarded by ./_index.scss.
5
+
6
+ @mixin styles() {
7
+ .weave-tooltip {
8
+ pointer-events: none;
9
+ max-width: var(--weave-tooltip-max-width);
10
+ padding: var(--weave-tooltip-padding-y) var(--weave-tooltip-padding-x);
11
+ border-radius: var(--weave-tooltip-radius);
12
+ background: var(--weave-tooltip-background);
13
+ color: var(--weave-tooltip-text);
14
+ font-size: var(--weave-tooltip-font-size);
15
+ font-weight: var(--weave-tooltip-weight);
16
+ line-height: var(--weave-tooltip-line-height);
17
+ animation: weave-tooltip-in var(--weave-tooltip-duration) ease;
18
+ }
19
+
20
+ @keyframes weave-tooltip-in {
21
+ from {
22
+ opacity: 0;
23
+ }
24
+
25
+ to {
26
+ opacity: 1;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,22 @@
1
+ // tooltip — design tokens (schema). A small inverted hint bubble (ink bg, surface text).
2
+ // Forwarded by ./_index.scss.
3
+ @use '../../ref' as ref;
4
+
5
+ $tokens: (
6
+ color: (
7
+ background: ref.ref('color.ink'),
8
+ text: ref.ref('color.surface'),
9
+ ),
10
+ size: (
11
+ padding-x: 8px,
12
+ padding-y: 4px,
13
+ radius: ref.ref('shape.radius'),
14
+ max-width: 240px,
15
+ duration: ref.ref('motion.fast'),
16
+ ),
17
+ typography: (
18
+ font-size: 11px,
19
+ weight: 500,
20
+ line-height: 1.4,
21
+ ),
22
+ );
@@ -0,0 +1,13 @@
1
+ // Tree — a hierarchical disclosure surface. Behavior lives in tree.ts (nested + flat data
2
+ // models, a visible-flatten pass, expand/collapse + selection via the CDK SelectionModel,
3
+ // roving keyboard via the CDK listKeyManager); this is the visual.
4
+ //
5
+ // A flat list of role=treeitem rows indented by depth (an inline --weave-tree-depth custom
6
+ // prop × the indent token), a rotating ▸ disclosure marker, hairline hover, and accent as a
7
+ // mark: the 2px accent left border + accentSoft tint on a selected node. State rides native
8
+ // attrs — [aria-expanded] / [aria-selected].
9
+ //
10
+ // Barrel — forwards the split partials ($tokens + the styles() mixin).
11
+
12
+ @forward 'tokens';
13
+ @forward 'styles';
@@ -0,0 +1,99 @@
1
+ // tree — styles() mixin (class rules). A flat list of role=treeitem rows, each indented by
2
+ // its depth via an inline --weave-tree-depth custom prop; a rotating ▸ marker discloses
3
+ // children; state rides native ARIA attrs ([aria-expanded], [aria-selected]). Forwarded by
4
+ // ./_index.scss.
5
+ @use '../../helpers' as helpers;
6
+
7
+ @mixin styles() {
8
+ .weave-tree {
9
+ display: block;
10
+ }
11
+
12
+ .weave-tree__node {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: var(--weave-tree-gap);
16
+ box-sizing: border-box;
17
+ min-height: var(--weave-tree-node-height);
18
+ padding-block: var(--weave-tree-node-padding-y);
19
+ padding-inline-end: var(--weave-tree-node-padding-x);
20
+ // Base padding + depth × indent (depth set inline per node).
21
+ padding-inline-start: calc(
22
+ var(--weave-tree-node-padding-x) + var(--weave-tree-indent) * var(--weave-tree-depth, 0)
23
+ );
24
+ // Reserve the selected marker so selecting never shifts content.
25
+ border-inline-start: var(--weave-tree-marker-width) solid transparent;
26
+ color: var(--weave-tree-text);
27
+ font-size: var(--weave-tree-font-size);
28
+ line-height: var(--weave-tree-line-height);
29
+ cursor: pointer;
30
+ user-select: none;
31
+ }
32
+
33
+ .weave-tree__node:hover {
34
+ background: var(--weave-tree-row-hover);
35
+ }
36
+
37
+ .weave-tree__node:focus-visible {
38
+ @include helpers.focus-ring;
39
+ }
40
+
41
+ /* ── selection (native ARIA attr, no state class) ── */
42
+ .weave-tree__node[aria-selected='true'] {
43
+ background: var(--weave-tree-selected-background);
44
+ border-inline-start-color: var(--weave-tree-selected-marker);
45
+ }
46
+
47
+ /* ── disclosure marker ── */
48
+ .weave-tree__toggle {
49
+ flex: 0 0 auto;
50
+ display: inline-flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ width: var(--weave-tree-toggle-size);
54
+ height: var(--weave-tree-toggle-size);
55
+ color: var(--weave-tree-toggle);
56
+ font-size: var(--weave-tree-toggle-glyph);
57
+ }
58
+
59
+ .weave-tree__toggle::before {
60
+ content: '\25B8'; // ▸
61
+ display: inline-block;
62
+ transition: transform var(--weave-tree-duration) ease;
63
+ }
64
+
65
+ // A leaf keeps the toggle's width (so content aligns) but shows no glyph.
66
+ .weave-tree__toggle--leaf::before {
67
+ content: '';
68
+ }
69
+
70
+ .weave-tree__node[aria-expanded='true'] .weave-tree__toggle::before {
71
+ transform: rotate(90deg);
72
+ }
73
+
74
+ .weave-tree__content {
75
+ flex: 1 1 auto;
76
+ min-width: 0;
77
+ overflow: hidden;
78
+ white-space: nowrap;
79
+ text-overflow: ellipsis;
80
+ }
81
+
82
+ // Reorder drag handle — only this starts a drag (node clicks still select/expand).
83
+ // touch-action:none so a touch-drag on the grip doesn't scroll.
84
+ .weave-tree__drag-handle {
85
+ flex: 0 0 auto;
86
+ display: inline-flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ width: var(--weave-tree-drag-handle-size);
90
+ color: var(--weave-tree-drag-handle);
91
+ cursor: grab;
92
+ touch-action: none;
93
+ user-select: none;
94
+ }
95
+
96
+ .weave-tree__drag-handle:active {
97
+ cursor: grabbing;
98
+ }
99
+ }
@@ -0,0 +1,38 @@
1
+ // tree — design tokens (schema). A hierarchical disclosure list: compact rows, a rotating
2
+ // ▸ disclosure marker, indent = depth × indent, and accent-as-a-mark selection (accentSoft
3
+ // tint + 2px accent left border, like the List). Forwarded by ./_index.scss.
4
+ @use '../../ref' as ref;
5
+
6
+ $tokens: (
7
+ color: (
8
+ text: ref.ref('color.ink'),
9
+ // The disclosure ▸ marker.
10
+ toggle: ref.ref('color.sub'),
11
+ line: ref.ref('color.line'),
12
+ row-hover: ref.ref('color.field'),
13
+ // accentSoft = accent at ~12% alpha (the selected-row tint from the design).
14
+ selected-background: color-mix(in srgb, ref.ref('color.accent') 12%, transparent),
15
+ selected-marker: ref.ref('color.accent'),
16
+ // The reorder drag handle (⠿ grip).
17
+ drag-handle: ref.ref('color.sub'),
18
+ ),
19
+ size: (
20
+ node-height: 34px,
21
+ drag-handle-size: 16px,
22
+ node-padding-x: 10px,
23
+ node-padding-y: 6px,
24
+ // Per-level indentation (design: depth × 18px).
25
+ indent: 18px,
26
+ toggle-size: 20px,
27
+ gap: 4px,
28
+ // 2px accent left border on the selected node (reserved transparent otherwise).
29
+ marker-width: 2px,
30
+ duration: ref.ref('motion.fast'),
31
+ ),
32
+ typography: (
33
+ font-size: 14px,
34
+ line-height: 1.3,
35
+ // Font-size of the ▸ disclosure glyph.
36
+ toggle-glyph: 12px,
37
+ ),
38
+ );
@@ -0,0 +1,50 @@
1
+ // Weave design tokens — the default theme (hifi values, our own design system).
2
+ // Groups: color / text / shape / motion.
3
+ //
4
+ // `$light` is the default. `$dim` is a partial (color-only) preset — spread it into
5
+ // theme(): `@include weave.theme(weave.$dim);` for the Dim appearance.
6
+
7
+ $light: (
8
+ color: (
9
+ canvas: #f4f5f7,
10
+ surface: #ffffff,
11
+ ink: #17181c,
12
+ sub: #71727a,
13
+ line: rgba(20, 22, 28, 0.16),
14
+ field: #ecedf0,
15
+ accent: #4c6286,
16
+ // semantic status
17
+ paid: #3e8e5a,
18
+ error: #c2403a,
19
+ neutral: #9a9ca3,
20
+ ),
21
+ text: (
22
+ base: 13px,
23
+ label: 10px,
24
+ display: 34px,
25
+ ),
26
+ shape: (
27
+ radius: 4px,
28
+ ),
29
+ motion: (
30
+ fast: 0.15s,
31
+ sheet: 0.26s,
32
+ ripple: 0.55s,
33
+ ),
34
+ );
35
+
36
+ // Dim appearance — color overrides only (text/shape/motion inherit from $light).
37
+ $dim: (
38
+ color: (
39
+ canvas: #161719,
40
+ surface: #1e1f22,
41
+ ink: #ececee,
42
+ sub: #9a9ca3,
43
+ line: rgba(255, 255, 255, 0.14),
44
+ field: #2a2b2f,
45
+ accent: #4c6286,
46
+ paid: #3e8e5a,
47
+ error: #c2403a,
48
+ neutral: #9a9ca3,
49
+ ),
50
+ );