@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,135 @@
1
+ /**
2
+ * Snackbar — a brief, non-blocking toast, shown imperatively:
3
+ *
4
+ * snackbar('Saved.');
5
+ * snackbar('Item deleted', { action: { label: 'Undo', onAction: undo }, duration: 6000 });
6
+ *
7
+ * A bottom-anchored CDK-overlay bar (no backdrop — the page stays interactive), auto-
8
+ * dismissed after `duration` (paused while hovered/focused), with an optional action button.
9
+ * The message is announced to assistive tech via the CDK live-announcer (polite by default),
10
+ * so screen-reader users hear it without focus moving. **One at a time** — concurrent calls
11
+ * queue and show in turn. The visual is `snackbar.styles()` (the `--weave-snackbar-*`
12
+ * republic). Zero-dep.
13
+ */
14
+ import { createOverlay, globalPosition, noopScroll, announce, } from '../cdk/index.js';
15
+ const DEFAULT_DURATION = 4000;
16
+ // Module-level "service" — one snackbar visible at a time, the rest queued.
17
+ let _current = null;
18
+ const _queue = [];
19
+ function positionConfig(position = 'center') {
20
+ if (position === 'start')
21
+ return { centerHorizontally: false, centerVertically: false, bottom: '0', left: '0' };
22
+ if (position === 'end')
23
+ return { centerHorizontally: false, centerVertically: false, bottom: '0', right: '0' };
24
+ return { centerHorizontally: true, centerVertically: false, bottom: '0' };
25
+ }
26
+ function buildBar(entry) {
27
+ const bar = document.createElement('div');
28
+ bar.className = 'weave-snackbar';
29
+ const message = document.createElement('span');
30
+ message.className = 'weave-snackbar__message';
31
+ message.textContent = entry.message;
32
+ bar.appendChild(message);
33
+ const action = entry.options.action;
34
+ if (action != null) {
35
+ const label = typeof action === 'string' ? action : action.label;
36
+ const onAction = typeof action === 'string' ? undefined : action.onAction;
37
+ const button = document.createElement('button');
38
+ button.type = 'button';
39
+ button.className = 'weave-snackbar__action';
40
+ button.textContent = label;
41
+ button.addEventListener('click', () => {
42
+ onAction?.();
43
+ entry.ref.dismiss();
44
+ });
45
+ bar.appendChild(button);
46
+ }
47
+ return bar;
48
+ }
49
+ function clearTimer() {
50
+ if (_current?.timer != null) {
51
+ clearTimeout(_current.timer);
52
+ _current.timer = null;
53
+ }
54
+ }
55
+ function startTimer() {
56
+ if (!_current)
57
+ return;
58
+ clearTimer();
59
+ const duration = _current.entry.options.duration ?? DEFAULT_DURATION;
60
+ if (duration > 0) {
61
+ const entry = _current.entry;
62
+ _current.timer = setTimeout(() => entry.ref.dismiss(), duration);
63
+ }
64
+ }
65
+ function flush() {
66
+ if (_current || _queue.length === 0)
67
+ return;
68
+ const entry = _queue.shift();
69
+ if (entry.dismissed) {
70
+ flush();
71
+ return;
72
+ }
73
+ const overlay = createOverlay({
74
+ positionStrategy: globalPosition(positionConfig(entry.options.position)),
75
+ scrollStrategy: noopScroll,
76
+ });
77
+ overlay.attach(entry.bar);
78
+ announce(entry.message, entry.options.politeness ?? 'polite');
79
+ _current = { entry, overlay, timer: null };
80
+ startTimer();
81
+ // Pause the auto-dismiss while the user is hovering or has focused the bar (a11y).
82
+ entry.bar.addEventListener('mouseenter', clearTimer);
83
+ entry.bar.addEventListener('mouseleave', startTimer);
84
+ entry.bar.addEventListener('focusin', clearTimer);
85
+ entry.bar.addEventListener('focusout', startTimer);
86
+ }
87
+ function dismissEntry(entry) {
88
+ if (entry.dismissed)
89
+ return;
90
+ entry.dismissed = true;
91
+ if (_current && _current.entry === entry) {
92
+ clearTimer();
93
+ _current.overlay.dispose();
94
+ _current = null;
95
+ for (const resolve of entry.resolvers)
96
+ resolve();
97
+ flush();
98
+ }
99
+ else {
100
+ const index = _queue.indexOf(entry);
101
+ if (index >= 0)
102
+ _queue.splice(index, 1);
103
+ for (const resolve of entry.resolvers)
104
+ resolve();
105
+ }
106
+ }
107
+ /** Show a snackbar. Returns a {@link SnackbarRef}. */
108
+ export function snackbar(message, options = {}) {
109
+ const entry = {
110
+ message,
111
+ options,
112
+ bar: null,
113
+ resolvers: [],
114
+ dismissed: false,
115
+ ref: null,
116
+ };
117
+ entry.ref = {
118
+ get element() {
119
+ return entry.bar;
120
+ },
121
+ dismiss() {
122
+ dismissEntry(entry);
123
+ },
124
+ afterDismissed() {
125
+ if (entry.dismissed)
126
+ return Promise.resolve();
127
+ return new Promise((resolve) => entry.resolvers.push(resolve));
128
+ },
129
+ };
130
+ entry.bar = buildBar(entry);
131
+ _queue.push(entry);
132
+ flush();
133
+ return entry.ref;
134
+ }
135
+ //# sourceMappingURL=snackbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snackbar.js","sourceRoot":"","sources":["../../src/snackbar/snackbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * `<Stepper>` — a horizontal step-through (wizard).
3
+ *
4
+ * A row of numbered circles + labels joined by connector lines: a **done** step is an
5
+ * accent circle with a ✓, the **active** step is an accent circle with its number, an
6
+ * **upcoming** step is a bordered circle. Below the header, the active step's content is
7
+ * shown (all steps stay mounted so per-step form state survives navigation); built-in
8
+ * **Back / Continue** buttons drive it (Continue becomes **Finish** on the last step).
9
+ *
10
+ * Steps are an items-prop (`steps`); each step's **content is arbitrary** — a `Node`, a
11
+ * string, or a factory `() => Node`. Current step = the **index** (design), controlled via
12
+ * `value` + `onChange` or uncontrolled from `defaultIndex`.
13
+ *
14
+ * **Linear vs non-linear** (`linear`, default false): non-linear lets you click any step;
15
+ * linear only lets you go back or jump forward through a fully-`completed` prefix, and
16
+ * Continue is gated on the current step being `completed` (or `optional`). A step's
17
+ * `completed` flag is the consumer's to set — wire it to a forms `Field`'s validity so
18
+ * the ui stays decoupled from forms (same philosophy as the Checkbox `control` prop).
19
+ *
20
+ * import Stepper from '@weave-framework/ui/stepper';
21
+ * <Stepper steps={{ steps }} value={{ step() }} onChange={{ setStep }} linear={{ true }} />
22
+ */
23
+ import { type Signal } from '@weave-framework/runtime';
24
+ /** A step panel's content: a DOM node, a plain string, or a factory returning a node. */
25
+ export type StepContent = Node | string | (() => Node);
26
+ export interface StepItem {
27
+ /** Step label text. */
28
+ label: string;
29
+ /** Panel content, shown when this step is active. */
30
+ content: StepContent;
31
+ /** Marks the step complete (drives the ✓ + linear gating). Wire to form validity. */
32
+ completed?: boolean;
33
+ /** Optional step — Continue isn't gated on it in linear mode. */
34
+ optional?: boolean;
35
+ /** Disable this step (not navigable). */
36
+ disabled?: boolean;
37
+ }
38
+ export interface StepperProps {
39
+ /** The steps, left to right. */
40
+ steps: StepItem[];
41
+ /** Controlled current index. */
42
+ value?: number;
43
+ /** Called with the next index on navigation. */
44
+ onChange?: (index: number) => void;
45
+ /** Uncontrolled initial index (ignored when `value` is provided). Default 0. */
46
+ defaultIndex?: number;
47
+ /** Linear mode — forward nav only through completed steps. Default false. */
48
+ linear?: boolean;
49
+ /** Fired when Finish is pressed on the last step. */
50
+ onComplete?: () => void;
51
+ /** Show the built-in Back / Continue buttons. Default true. */
52
+ showNav?: boolean;
53
+ /** Disable the whole stepper. */
54
+ disabled?: boolean;
55
+ /** Accessible name for the step list. */
56
+ label?: string;
57
+ /** Button labels (defaults: Back / Continue / Finish). */
58
+ backLabel?: string;
59
+ continueLabel?: string;
60
+ finishLabel?: string;
61
+ /** Extra classes, forwarded onto the container. */
62
+ class?: string;
63
+ }
64
+ export declare const template: string;
65
+ export interface StepperContext {
66
+ host: Signal<Element | null>;
67
+ steps: () => StepItem[];
68
+ rootClass: () => string;
69
+ label: () => string | undefined;
70
+ stepId: (index: number) => string;
71
+ panelId: (index: number) => string;
72
+ stepStateAttr: (index: number) => string;
73
+ connectorStateAttr: (index: number) => string;
74
+ currentAttr: (index: number) => string | undefined;
75
+ navDisabledAttr: (index: number) => string | undefined;
76
+ isHidden: (index: number) => boolean;
77
+ showNav: () => boolean;
78
+ backText: () => string;
79
+ nextText: () => string;
80
+ backDisabled: () => boolean;
81
+ nextDisabled: () => boolean;
82
+ goTo: (index: number) => void;
83
+ back: () => void;
84
+ next: () => void;
85
+ }
86
+ export declare function setup(props: StepperProps): StepperContext;
87
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/stepper/stepper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAExE,yFAAyF;AACzF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,EAAE,WAAW,CAAC;IACrB,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,MAyBb,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,QAAQ,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAUD,wBAAgB,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CAuFzD"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * `<Stepper>` — a horizontal step-through (wizard).
3
+ *
4
+ * A row of numbered circles + labels joined by connector lines: a **done** step is an
5
+ * accent circle with a ✓, the **active** step is an accent circle with its number, an
6
+ * **upcoming** step is a bordered circle. Below the header, the active step's content is
7
+ * shown (all steps stay mounted so per-step form state survives navigation); built-in
8
+ * **Back / Continue** buttons drive it (Continue becomes **Finish** on the last step).
9
+ *
10
+ * Steps are an items-prop (`steps`); each step's **content is arbitrary** — a `Node`, a
11
+ * string, or a factory `() => Node`. Current step = the **index** (design), controlled via
12
+ * `value` + `onChange` or uncontrolled from `defaultIndex`.
13
+ *
14
+ * **Linear vs non-linear** (`linear`, default false): non-linear lets you click any step;
15
+ * linear only lets you go back or jump forward through a fully-`completed` prefix, and
16
+ * Continue is gated on the current step being `completed` (or `optional`). A step's
17
+ * `completed` flag is the consumer's to set — wire it to a forms `Field`'s validity so
18
+ * the ui stays decoupled from forms (same philosophy as the Checkbox `control` prop).
19
+ *
20
+ * import Stepper from '@weave-framework/ui/stepper';
21
+ * <Stepper steps={{ steps }} value={{ step() }} onChange={{ setStep }} linear={{ true }} />
22
+ */
23
+ import { signal, onMount } from '@weave-framework/runtime';
24
+ export const template = '<div class={{ rootClass() }} ref={{ host }}>' +
25
+ '<div class="weave-stepper__header" role="list" aria-label={{ label() }}>' +
26
+ '@for (step of steps(); track $index) {' +
27
+ '<button class="weave-stepper__step" type="button" role="listitem" id={{ stepId($index) }}' +
28
+ ' data-state={{ stepStateAttr($index) }} aria-current={{ currentAttr($index) }}' +
29
+ ' aria-disabled={{ navDisabledAttr($index) }} on:click={{ () => goTo($index) }}>' +
30
+ '<span class="weave-stepper__indicator"><span class="weave-stepper__number">{{ $index + 1 }}</span></span>' +
31
+ '<span class="weave-stepper__label">{{ step.label }}' +
32
+ '@if (step.optional) {<span class="weave-stepper__optional">Optional</span>}' +
33
+ '</span>' +
34
+ '</button>' +
35
+ '@if (!$last) {<span class="weave-stepper__connector" data-state={{ connectorStateAttr($index) }}></span>}' +
36
+ '}' +
37
+ '</div>' +
38
+ '@for (step of steps(); track $index) {' +
39
+ '<div class="weave-stepper__panel" role="region" id={{ panelId($index) }}' +
40
+ ' aria-labelledby={{ stepId($index) }} .hidden={{ isHidden($index) }}></div>' +
41
+ '}' +
42
+ '@if (showNav()) {' +
43
+ '<div class="weave-stepper__actions">' +
44
+ '<Button variant="outline" disabled={{ backDisabled() }} on:click={{ back }}>{{ backText() }}</Button>' +
45
+ '<Button disabled={{ nextDisabled() }} on:click={{ next }}>{{ nextText() }}</Button>' +
46
+ '</div>' +
47
+ '}' +
48
+ '</div>';
49
+ let _uid = 0;
50
+ function toNode(content) {
51
+ if (typeof content === 'function')
52
+ return content();
53
+ if (typeof content === 'string')
54
+ return document.createTextNode(content);
55
+ return content;
56
+ }
57
+ export function setup(props) {
58
+ const host = signal(null);
59
+ const uid = (_uid += 1);
60
+ const uncontrolled = signal(props.defaultIndex ?? 0);
61
+ const steps = () => props.steps ?? [];
62
+ const current = () => (props.value !== undefined ? props.value : uncontrolled());
63
+ const linear = () => !!props.linear;
64
+ const lastIndex = () => steps().length - 1;
65
+ const stepId = (index) => `weave-stepper-${uid}-step-${index}`;
66
+ const panelId = (index) => `weave-stepper-${uid}-panel-${index}`;
67
+ const isCompleted = (index) => steps()[index]?.completed === true;
68
+ // Visual "done": explicitly completed, or a step already passed.
69
+ const isDone = (index) => isCompleted(index) || index < current();
70
+ const isStepDisabled = (index) => !!props.disabled || !!steps()[index]?.disabled;
71
+ // Linear reachability: back is always allowed; forward only through a completed prefix.
72
+ const canReach = (index) => {
73
+ if (isStepDisabled(index))
74
+ return false;
75
+ if (!linear() || index <= current())
76
+ return true;
77
+ for (let j = current(); j < index; j += 1) {
78
+ if (!isCompleted(j) && !steps()[j]?.optional)
79
+ return false;
80
+ }
81
+ return true;
82
+ };
83
+ const setCurrent = (index) => {
84
+ if (index === current())
85
+ return;
86
+ if (props.value === undefined)
87
+ uncontrolled.set(index);
88
+ props.onChange?.(index);
89
+ };
90
+ const goTo = (index) => {
91
+ if (!canReach(index))
92
+ return;
93
+ setCurrent(index);
94
+ };
95
+ const back = () => {
96
+ if (current() > 0)
97
+ setCurrent(current() - 1);
98
+ };
99
+ // Continue advances (gated in linear on the current step); Finish fires onComplete.
100
+ const canAdvance = () => !linear() || isCompleted(current()) || !!steps()[current()]?.optional;
101
+ const next = () => {
102
+ if (current() < lastIndex()) {
103
+ if (canAdvance())
104
+ setCurrent(current() + 1);
105
+ }
106
+ else {
107
+ props.onComplete?.();
108
+ }
109
+ };
110
+ // Step panels are arbitrary content — append them into their panels once in the DOM.
111
+ onMount(() => {
112
+ const el = host();
113
+ if (!el)
114
+ return;
115
+ const panels = el.querySelectorAll('.weave-stepper__panel');
116
+ steps().forEach((step, i) => {
117
+ panels[i]?.append(toNode(step.content));
118
+ });
119
+ });
120
+ return {
121
+ host,
122
+ steps,
123
+ rootClass: () => (props.class ? `weave-stepper ${props.class}` : 'weave-stepper'),
124
+ label: () => props.label,
125
+ stepId,
126
+ panelId,
127
+ stepStateAttr: (index) => (index === current() ? 'active' : isDone(index) ? 'done' : 'upcoming'),
128
+ connectorStateAttr: (index) => (index < current() ? 'done' : 'upcoming'),
129
+ currentAttr: (index) => (index === current() ? 'step' : undefined),
130
+ navDisabledAttr: (index) => (canReach(index) ? undefined : 'true'),
131
+ isHidden: (index) => index !== current(),
132
+ showNav: () => props.showNav !== false,
133
+ backText: () => props.backLabel ?? 'Back',
134
+ nextText: () => current() >= lastIndex() ? props.finishLabel ?? 'Finish' : props.continueLabel ?? 'Continue',
135
+ backDisabled: () => !!props.disabled || current() === 0,
136
+ nextDisabled: () => !!props.disabled || (current() < lastIndex() && !canAdvance()),
137
+ goTo,
138
+ back,
139
+ next,
140
+ };
141
+ }
142
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../src/stepper/stepper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * `<Table>` — the flagship data surface. A real `<table>` (native `<thead>/<tbody>/
3
+ * <th scope=col>/<td>` semantics) driven by a **column-def + DataSource** API, authored as a
4
+ * Weave template so it **composes the real child components** (RULE #1) — the selection
5
+ * checkboxes ARE the `<Checkbox>` component (full behaviour, one checkbox in the library, not
6
+ * a restyled native input). Rows are a keyed `@for` over the (sorted) data; arbitrary
7
+ * `Node` cells mount via `@render`. Styled by the Weave design (hairline rows, compact 34px,
8
+ * accent as a mark).
9
+ *
10
+ * Features: sortable headers (`aria-sort`, single active, emit `onSort` + convenience client
11
+ * sort for array sources), row selection (composed `<Checkbox>` column, select-all +
12
+ * indeterminate, accentSoft tint + 2px accent left border) via the CDK `SelectionModel`,
13
+ * expandable detail rows, sticky header + sticky columns (`sticky:'start'|'end'`, offsets from
14
+ * column widths), per-column show/hide (`hidden`), and an optional `maxHeight` (the body
15
+ * scrolls vertically inside while the header stays). Virtual body is the noted follow-on.
16
+ *
17
+ * import Table from '@weave-framework/ui/table';
18
+ * import Checkbox from '@weave-framework/ui/checkbox'; // optional — the build auto-resolves the composed <Checkbox>
19
+ * <Table columns={{ cols }} dataSource={{ rows }} selectable expandable />
20
+ */
21
+ import { type Signal } from '@weave-framework/runtime';
22
+ import { type SelectionModel, type DataSource } from '../cdk/index.js';
23
+ export type SortDirection = 'asc' | 'desc';
24
+ export interface TableColumn<T> {
25
+ /** Stable column id + default cell accessor (`row[key]`). */
26
+ key: string;
27
+ /** Header content — text or a node factory. Defaults to `key`. */
28
+ header?: string | (() => Node);
29
+ /** Cell content for a row — text or a node. Defaults to `String(row[key])`. */
30
+ cell?: (row: T) => Node | string;
31
+ /** Make the header a sort button. */
32
+ sortable?: boolean;
33
+ /** Custom comparator for the client-side sort (else value-based, number/string aware). */
34
+ compare?: (a: T, b: T) => number;
35
+ /** Cell text alignment. Numeric columns default to `end`. */
36
+ align?: 'start' | 'center' | 'end';
37
+ /** Right-align + `tabular-nums`. */
38
+ numeric?: boolean;
39
+ /** Freeze the column to an edge while scrolling horizontally (needs a numeric `width`). */
40
+ sticky?: 'start' | 'end';
41
+ /** Hide the column (reactive when `columns` is bound to a signal). */
42
+ hidden?: boolean;
43
+ /** Column width (number → px). Required for a `sticky` column's offset maths. */
44
+ width?: number | string;
45
+ /** Allow dragging this column's header grip to resize it (or set `resizableColumns`). */
46
+ resizable?: boolean;
47
+ /** Minimum width (px) when resizing. Default 48. */
48
+ minWidth?: number;
49
+ }
50
+ export interface ColumnResize {
51
+ key: string;
52
+ width: number;
53
+ }
54
+ export interface SortState {
55
+ active: string | null;
56
+ direction: SortDirection | null;
57
+ }
58
+ export interface TableProps<T = Record<string, unknown>> {
59
+ columns: TableColumn<T>[];
60
+ dataSource: DataSource<T> | T[] | Signal<T[]>;
61
+ /** Stable row identity (default: index) — row keys + selection/expansion identity. */
62
+ trackBy?: (row: T) => string | number;
63
+ sort?: SortState;
64
+ onSort?: (sort: SortState) => void;
65
+ disableClear?: boolean;
66
+ /** Disable the convenience client-side sort for array/signal sources. */
67
+ clientSort?: boolean;
68
+ selectable?: boolean;
69
+ selectionMode?: 'single' | 'multiple';
70
+ selection?: SelectionModel<T>;
71
+ onSelectionChange?: (selected: T[]) => void;
72
+ compareWith?: (a: T, b: T) => boolean;
73
+ expandable?: boolean;
74
+ detail?: (row: T) => Node | string;
75
+ /** Cap the body height (number → px) — the body scrolls vertically, header stays. */
76
+ maxHeight?: number | string;
77
+ /** Make every column resizable (per-column `resizable` overrides this). */
78
+ resizableColumns?: boolean;
79
+ /** Controlled column widths (px), keyed by column key — wins over internal + `column.width`. */
80
+ columnWidths?: Record<string, number>;
81
+ /** Called after a resize with the column key + its new width (px). */
82
+ onColumnResize?: (event: ColumnResize) => void;
83
+ ariaLabel?: string;
84
+ emptyText?: string;
85
+ class?: string;
86
+ }
87
+ /** A pre-resolved cell for a row — built per row so the inner `@for` references only itself
88
+ * (the compiler names every `@for` item `_row`, so a nested loop can't reach the outer row). */
89
+ interface CellView {
90
+ key: string;
91
+ cls: string;
92
+ style: string;
93
+ node: Node;
94
+ }
95
+ export declare const template: string;
96
+ export interface TableContext<T> {
97
+ host: Signal<HTMLElement | null>;
98
+ rootClass: () => string;
99
+ scrollStyle: () => string;
100
+ ariaLabel: () => string | undefined;
101
+ selectable: () => boolean;
102
+ expandable: () => boolean;
103
+ showSelectAll: () => boolean;
104
+ dataCols: () => TableColumn<T>[];
105
+ colSpan: () => number;
106
+ isEmpty: () => boolean;
107
+ emptyText: () => string;
108
+ rows: () => T[];
109
+ rowKey: (row: T) => unknown;
110
+ rowClass: (row: T) => string;
111
+ ariaSelected: (row: T) => 'true' | 'false';
112
+ isSelected: (row: T) => boolean;
113
+ toggleSelect: (row: T, checked: boolean) => void;
114
+ allChecked: () => boolean;
115
+ someChecked: () => boolean;
116
+ onSelectAll: (checked: boolean) => void;
117
+ isExpanded: (row: T) => boolean;
118
+ ariaExpanded: (row: T) => 'true' | 'false';
119
+ rowExpanded: (row: T) => boolean;
120
+ toggleExpand: (row: T) => void;
121
+ headNode: (col: TableColumn<T>) => Node;
122
+ headClass: (col: TableColumn<T>) => string;
123
+ headStyle: (col: TableColumn<T>) => string;
124
+ sortClass: (col: TableColumn<T>) => string;
125
+ ariaSort: (col: TableColumn<T>) => 'ascending' | 'descending' | 'none';
126
+ arrow: (col: TableColumn<T>) => string;
127
+ cycleSort: (key: string) => void;
128
+ isResizable: (col: TableColumn<T>) => boolean;
129
+ resizeLabel: (col: TableColumn<T>) => string;
130
+ gripValueNow: (col: TableColumn<T>) => string | undefined;
131
+ gripValueMin: (col: TableColumn<T>) => string;
132
+ onGripKeydown: (key: string, event: KeyboardEvent) => void;
133
+ cellsFor: (row: T) => CellView[];
134
+ detailNode: (row: T) => Node;
135
+ expandStyle: () => string;
136
+ selectStyle: () => string;
137
+ }
138
+ export declare function setup<T = Record<string, unknown>>(props: TableProps<T>): TableContext<T>;
139
+ export {};
140
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.ts"],"names":[],"mappings":"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"}