@taskmark/ui 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (691) hide show
  1. package/README.md +17 -5
  2. package/app/board/actions.ts +62 -0
  3. package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app → app}/board/page.tsx +13 -0
  4. package/app/layout.tsx +87 -0
  5. package/{dist/standalone/dist/standalone/dist/standalone/app → app}/page.tsx +4 -0
  6. package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app → app}/setup/page.tsx +5 -0
  7. package/bin/taskmark.js +59 -13
  8. package/{dist/standalone/dist/standalone/components → components}/board/project-status-metrics-strip.tsx +4 -2
  9. package/{dist/standalone/dist/standalone/app/board/page.tsx → components/board/static-board-app.tsx} +35 -104
  10. package/{dist/standalone/dist/standalone/dist/standalone/components → components}/board/work-item-sheet.tsx +37 -4
  11. package/dist/standalone/.next/BUILD_ID +1 -1
  12. package/dist/standalone/.next/build-manifest.json +8 -7
  13. package/dist/standalone/.next/required-server-files.json +6 -0
  14. package/dist/standalone/.next/server/app/_global-error/page/build-manifest.json +5 -4
  15. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  16. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  18. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  19. package/dist/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  20. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  21. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  22. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  23. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  24. package/dist/standalone/.next/server/app/_not-found/page/build-manifest.json +5 -4
  25. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  26. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  28. package/dist/standalone/.next/server/app/_not-found.rsc +4 -4
  29. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  30. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  31. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  32. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  33. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  34. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/dist/standalone/.next/server/app/board/page/build-manifest.json +5 -4
  36. package/dist/standalone/.next/server/app/board/page/server-reference-manifest.json +6 -6
  37. package/dist/standalone/.next/server/app/board/page.js +3 -3
  38. package/dist/standalone/.next/server/app/board/page.js.nft.json +1 -1
  39. package/dist/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  40. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  41. package/dist/standalone/.next/server/app/page/build-manifest.json +5 -4
  42. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  43. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  44. package/dist/standalone/.next/server/app/setup/page/build-manifest.json +5 -4
  45. package/dist/standalone/.next/server/app/setup/page.js +1 -1
  46. package/dist/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  48. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__056osos._.js +3 -0
  49. package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03_ho7w._.js → [root-of-the-server]__09zm1qv._.js} +5 -5
  50. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gn-ti0._.js +1 -1
  51. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0op8wkj._.js +1 -1
  52. package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ptadz9._.js → [root-of-the-server]__0srwu25._.js} +3 -3
  53. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zq2v_u._.js +1 -1
  54. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__12ufd6u._.js +6 -0
  55. package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10pik1x._.js → [root-of-the-server]__18cyjiz._.js} +2 -2
  56. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ig72i1._.js +2 -2
  57. package/dist/standalone/.next/server/chunks/ssr/_05k6qx-._.js +3 -0
  58. package/dist/standalone/.next/server/chunks/ssr/_0aho3h6._.js +1 -1
  59. package/dist/standalone/.next/server/chunks/ssr/_0xl0vrn._.js +3 -0
  60. package/dist/standalone/.next/server/chunks/ssr/_17p0g27._.js +3 -0
  61. package/dist/standalone/.next/server/chunks/ssr/_1ln4p7u._.js +1 -1
  62. package/dist/standalone/.next/server/chunks/ssr/_1nr_jtr._.js +3 -0
  63. package/dist/standalone/.next/server/chunks/ssr/_1qgmrdc._.js +3 -0
  64. package/dist/standalone/.next/server/chunks/ssr/{_1u3jg4m._.js → _1yb3kog._.js} +1 -1
  65. package/dist/standalone/.next/server/chunks/ssr/app_board_actions_ts_0f5ys15._.js +3 -0
  66. package/dist/standalone/.next/server/chunks/ssr/node_modules_0h91jdk._.js +1 -1
  67. package/dist/standalone/.next/server/middleware-build-manifest.js +8 -7
  68. package/dist/standalone/.next/server/pages/404.html +1 -1
  69. package/dist/standalone/.next/server/pages/500.html +1 -1
  70. package/dist/standalone/.next/server/server-reference-manifest.js +1 -1
  71. package/dist/standalone/.next/server/server-reference-manifest.json +6 -6
  72. package/dist/standalone/.next/static/chunks/018wh8zp6bjth.js +1 -0
  73. package/dist/standalone/.next/static/chunks/{3-2jy1bmsuo5l.js → 01fxdzfqp-khv.js} +1 -1
  74. package/dist/standalone/.next/static/chunks/06t7fr3j7axc1.js +1 -0
  75. package/dist/standalone/.next/static/chunks/0g8oss7mvdgy2.js +1 -0
  76. package/dist/standalone/.next/static/chunks/{42tcxcpa-z9hi.js → 0tckbkthn_lz5.js} +1 -1
  77. package/dist/standalone/.next/static/chunks/1b4b87nf50pwj.js +1 -0
  78. package/dist/standalone/.next/static/chunks/1etzx8zdgoji7.js +2 -0
  79. package/dist/standalone/.next/static/chunks/1ob9-gyputghy.js +1 -0
  80. package/dist/standalone/.next/static/chunks/{3w2ohvdljvkpj.js → 2r5ngr5zaimmw.js} +1 -1
  81. package/dist/standalone/.next/static/chunks/2z9l0n877if48.css +1 -0
  82. package/dist/standalone/.next/static/chunks/40bad20ki94w3.js +1 -0
  83. package/dist/standalone/.next/static/chunks/turbopack-3ekz2izuoc92r.js +1 -0
  84. package/dist/standalone/README.md +17 -5
  85. package/dist/standalone/app/board/actions.ts +24 -173
  86. package/dist/standalone/app/board/page.tsx +13 -0
  87. package/dist/standalone/app/layout.tsx +50 -5
  88. package/dist/standalone/app/page.tsx +4 -0
  89. package/dist/standalone/app/setup/page.tsx +5 -0
  90. package/dist/standalone/bin/taskmark.js +59 -13
  91. package/dist/standalone/components/board/project-status-metrics-strip.tsx +4 -2
  92. package/dist/standalone/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/board/page.tsx → components/board/static-board-app.tsx} +35 -104
  93. package/dist/standalone/components/board/work-item-sheet.tsx +37 -4
  94. package/dist/standalone/lib/site.ts +8 -0
  95. package/dist/standalone/lib/taskmark/build-snapshot.ts +198 -0
  96. package/dist/standalone/lib/taskmark/cookies.ts +16 -0
  97. package/dist/standalone/{dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts → lib/taskmark/detail-load.ts} +59 -90
  98. package/dist/standalone/lib/taskmark/load-snapshot-server.ts +11 -0
  99. package/dist/standalone/lib/taskmark/project-metrics-shared.ts +21 -0
  100. package/dist/standalone/lib/taskmark/project-metrics.ts +6 -18
  101. package/dist/standalone/lib/taskmark/snapshot-client.ts +67 -0
  102. package/dist/standalone/lib/taskmark/snapshot-types.ts +37 -0
  103. package/dist/standalone/lib/taskmark/static-mode.ts +15 -0
  104. package/dist/standalone/next.config.ts +13 -2
  105. package/dist/standalone/package-lock.json +541 -232
  106. package/dist/standalone/package.json +25 -11
  107. package/dist/standalone/public/apple-touch-icon.png +0 -0
  108. package/dist/standalone/public/favicon-96x96.png +0 -0
  109. package/dist/standalone/public/favicon.ico +0 -0
  110. package/dist/standalone/public/favicon.svg +1 -0
  111. package/dist/standalone/public/og/og-default.png +0 -0
  112. package/dist/standalone/public/site.webmanifest +21 -0
  113. package/dist/standalone/public/taskmark-snapshot.json +1 -0
  114. package/dist/standalone/public/web-app-manifest-192x192.png +0 -0
  115. package/dist/standalone/public/web-app-manifest-512x512.png +0 -0
  116. package/dist/standalone/scripts/build-static.mjs +182 -0
  117. package/dist/standalone/scripts/write-board-snapshot.ts +20 -0
  118. package/dist/standalone/server.js +1 -1
  119. package/dist/standalone/tsconfig.json +1 -1
  120. package/dist/standalone/tsconfig.tsbuildinfo +1 -1
  121. package/dist/standalone/yarn.lock +56 -0
  122. package/lib/site.ts +8 -0
  123. package/lib/taskmark/build-snapshot.ts +198 -0
  124. package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/cookies.ts +16 -0
  125. package/{dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts → lib/taskmark/detail-load.ts} +59 -90
  126. package/lib/taskmark/load-snapshot-server.ts +11 -0
  127. package/lib/taskmark/project-metrics-shared.ts +21 -0
  128. package/{dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/project-metrics.ts +6 -18
  129. package/lib/taskmark/snapshot-client.ts +67 -0
  130. package/lib/taskmark/snapshot-types.ts +37 -0
  131. package/lib/taskmark/static-mode.ts +15 -0
  132. package/next.config.ts +19 -0
  133. package/package.json +25 -11
  134. package/public/apple-touch-icon.png +0 -0
  135. package/public/favicon-96x96.png +0 -0
  136. package/public/favicon.ico +0 -0
  137. package/public/favicon.svg +1 -0
  138. package/public/og/og-default.png +0 -0
  139. package/public/site.webmanifest +21 -0
  140. package/public/taskmark-snapshot.json +1 -0
  141. package/public/web-app-manifest-192x192.png +0 -0
  142. package/public/web-app-manifest-512x512.png +0 -0
  143. package/scripts/build-static.mjs +182 -0
  144. package/scripts/write-board-snapshot.ts +20 -0
  145. package/{dist/standalone/dist/standalone/dist/standalone/tsconfig.json → tsconfig.json} +1 -1
  146. package/dist/standalone/.next/server/chunks/ssr/[externals]_node_path_1pmhwj3._.js +0 -3
  147. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ahb350._.js +0 -6
  148. package/dist/standalone/.next/server/chunks/ssr/_0d5ymu2._.js +0 -3
  149. package/dist/standalone/.next/server/chunks/ssr/_0ltlf7m._.js +0 -3
  150. package/dist/standalone/.next/server/chunks/ssr/_1ewgzdg._.js +0 -3
  151. package/dist/standalone/.next/server/chunks/ssr/_1y1lrmo._.js +0 -3
  152. package/dist/standalone/.next/server/chunks/ssr/components_setup_setup-wizard_tsx_19mu5ru._.js +0 -3
  153. package/dist/standalone/.next/static/chunks/12kmjf-wk-m-0.js +0 -2
  154. package/dist/standalone/.next/static/chunks/15g-piqywkucg.css +0 -1
  155. package/dist/standalone/.next/static/chunks/2ao0tkrplrup7.js +0 -1
  156. package/dist/standalone/.next/static/chunks/3a8w_qvn2gpqt.js +0 -1
  157. package/dist/standalone/.next/static/chunks/3sz1w0ssobbwn.js +0 -1
  158. package/dist/standalone/.next/static/chunks/turbopack-0xo65f5j55qxe.js +0 -1
  159. package/dist/standalone/dist/standalone/AGENTS.md +0 -5
  160. package/dist/standalone/dist/standalone/CLAUDE.md +0 -1
  161. package/dist/standalone/dist/standalone/README.md +0 -74
  162. package/dist/standalone/dist/standalone/app/board/actions.ts +0 -211
  163. package/dist/standalone/dist/standalone/app/layout.tsx +0 -42
  164. package/dist/standalone/dist/standalone/app/page.tsx +0 -13
  165. package/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
  166. package/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
  167. package/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
  168. package/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
  169. package/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
  170. package/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
  171. package/dist/standalone/dist/standalone/dist/standalone/README.md +0 -74
  172. package/dist/standalone/dist/standalone/dist/standalone/app/board/page.tsx +0 -271
  173. package/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
  174. package/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
  175. package/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
  176. package/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
  177. package/dist/standalone/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
  178. package/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
  179. package/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
  180. package/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
  181. package/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
  182. package/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
  183. package/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
  184. package/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
  185. package/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
  186. package/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
  187. package/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
  188. package/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
  189. package/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
  190. package/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
  191. package/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
  192. package/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
  193. package/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
  194. package/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
  195. package/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
  196. package/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
  197. package/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
  198. package/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
  199. package/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
  200. package/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
  201. package/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
  202. package/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
  203. package/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
  204. package/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
  205. package/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
  206. package/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
  207. package/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
  208. package/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
  209. package/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
  210. package/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
  211. package/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
  212. package/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
  213. package/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
  214. package/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
  215. package/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
  216. package/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
  217. package/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
  218. package/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
  219. package/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
  220. package/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
  221. package/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
  222. package/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
  223. package/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
  224. package/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
  225. package/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
  226. package/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
  227. package/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
  228. package/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
  229. package/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
  230. package/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
  231. package/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
  232. package/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
  233. package/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
  234. package/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
  235. package/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
  236. package/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
  237. package/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
  238. package/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
  239. package/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
  240. package/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
  241. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
  242. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
  243. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/README.md +0 -74
  244. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
  245. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
  246. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
  247. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/page.tsx +0 -13
  248. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
  249. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
  250. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
  251. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
  252. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
  253. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
  254. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
  255. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
  256. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
  257. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
  258. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
  259. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
  260. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
  261. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
  262. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
  263. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
  264. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
  265. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
  266. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
  267. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
  268. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
  269. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
  270. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
  271. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
  272. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
  273. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
  274. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
  275. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
  276. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
  277. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
  278. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
  279. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
  280. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
  281. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
  282. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
  283. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
  284. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
  285. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
  286. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
  287. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
  288. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
  289. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
  290. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
  291. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
  292. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
  293. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
  294. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
  295. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
  296. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
  297. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
  298. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
  299. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
  300. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
  301. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
  302. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
  303. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
  304. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
  305. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
  306. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
  307. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
  308. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
  309. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
  310. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
  311. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
  312. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
  313. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
  314. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
  315. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/README.md +0 -97
  316. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts +0 -211
  317. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
  318. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
  319. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
  320. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/page.tsx +0 -13
  321. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
  322. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
  323. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
  324. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -230
  325. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
  326. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
  327. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
  328. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
  329. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
  330. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
  331. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
  332. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
  333. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
  334. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
  335. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
  336. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
  337. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
  338. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
  339. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
  340. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
  341. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
  342. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
  343. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
  344. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
  345. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
  346. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
  347. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
  348. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
  349. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
  350. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
  351. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
  352. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
  353. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
  354. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
  355. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
  356. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
  357. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
  358. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
  359. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
  360. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
  361. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
  362. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
  363. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
  364. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
  365. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
  366. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
  367. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
  368. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
  369. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
  370. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
  371. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
  372. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
  373. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
  374. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
  375. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
  376. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
  377. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
  378. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
  379. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
  380. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
  381. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
  382. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
  383. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
  384. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
  385. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
  386. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
  387. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
  388. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
  389. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
  390. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11201
  391. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -58
  392. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
  393. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  394. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
  395. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
  396. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
  397. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
  398. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
  399. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
  400. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
  401. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
  402. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
  403. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
  404. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
  405. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
  406. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
  407. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
  408. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
  409. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
  410. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
  411. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
  412. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
  413. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
  414. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
  415. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
  416. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
  417. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
  418. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
  419. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
  420. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
  421. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
  422. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
  423. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
  424. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
  425. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
  426. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
  427. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
  428. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
  429. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
  430. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
  431. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
  432. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
  433. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
  434. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
  435. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
  436. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
  437. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
  438. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
  439. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/utils.ts +0 -6
  440. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
  441. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11682
  442. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -60
  443. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
  444. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/file.svg +0 -1
  445. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/globe.svg +0 -1
  446. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/next.svg +0 -1
  447. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
  448. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/tm_light.png +0 -0
  449. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/vercel.svg +0 -1
  450. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/window.svg +0 -1
  451. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
  452. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
  453. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
  454. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
  455. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
  456. package/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
  457. package/dist/standalone/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
  458. package/dist/standalone/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
  459. package/dist/standalone/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
  460. package/dist/standalone/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
  461. package/dist/standalone/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
  462. package/dist/standalone/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
  463. package/dist/standalone/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
  464. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
  465. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
  466. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
  467. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
  468. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
  469. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
  470. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
  471. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
  472. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
  473. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
  474. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
  475. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
  476. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
  477. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
  478. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
  479. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
  480. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
  481. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
  482. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
  483. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
  484. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
  485. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
  486. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
  487. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
  488. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
  489. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
  490. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
  491. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
  492. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
  493. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
  494. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
  495. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
  496. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
  497. package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
  498. package/dist/standalone/dist/standalone/dist/standalone/lib/utils.ts +0 -6
  499. package/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
  500. package/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11682
  501. package/dist/standalone/dist/standalone/dist/standalone/package.json +0 -60
  502. package/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
  503. package/dist/standalone/dist/standalone/dist/standalone/public/file.svg +0 -1
  504. package/dist/standalone/dist/standalone/dist/standalone/public/globe.svg +0 -1
  505. package/dist/standalone/dist/standalone/dist/standalone/public/next.svg +0 -1
  506. package/dist/standalone/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
  507. package/dist/standalone/dist/standalone/dist/standalone/public/tm_light.png +0 -0
  508. package/dist/standalone/dist/standalone/dist/standalone/public/vercel.svg +0 -1
  509. package/dist/standalone/dist/standalone/dist/standalone/public/window.svg +0 -1
  510. package/dist/standalone/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
  511. package/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
  512. package/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
  513. package/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
  514. package/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
  515. package/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
  516. package/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
  517. package/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
  518. package/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
  519. package/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
  520. package/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
  521. package/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
  522. package/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
  523. package/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
  524. package/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
  525. package/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
  526. package/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
  527. package/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
  528. package/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
  529. package/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
  530. package/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
  531. package/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
  532. package/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
  533. package/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
  534. package/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
  535. package/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
  536. package/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
  537. package/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
  538. package/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
  539. package/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
  540. package/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
  541. package/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
  542. package/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
  543. package/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
  544. package/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
  545. package/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
  546. package/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
  547. package/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
  548. package/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
  549. package/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
  550. package/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
  551. package/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
  552. package/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
  553. package/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
  554. package/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
  555. package/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
  556. package/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
  557. package/dist/standalone/dist/standalone/lib/utils.ts +0 -6
  558. package/dist/standalone/dist/standalone/next.config.ts +0 -8
  559. package/dist/standalone/dist/standalone/package-lock.json +0 -11682
  560. package/dist/standalone/dist/standalone/package.json +0 -60
  561. package/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
  562. package/dist/standalone/dist/standalone/public/file.svg +0 -1
  563. package/dist/standalone/dist/standalone/public/globe.svg +0 -1
  564. package/dist/standalone/dist/standalone/public/next.svg +0 -1
  565. package/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
  566. package/dist/standalone/dist/standalone/public/tm_light.png +0 -0
  567. package/dist/standalone/dist/standalone/public/vercel.svg +0 -1
  568. package/dist/standalone/dist/standalone/public/window.svg +0 -1
  569. package/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
  570. package/dist/standalone/dist/standalone/server.js +0 -44
  571. package/dist/standalone/dist/standalone/tsconfig.json +0 -34
  572. package/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
  573. package/dist/standalone/dist/standalone/yarn.lock +0 -5265
  574. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +0 -6
  575. package/dist/standalone/node_modules/react/cjs/react.development.js +0 -1284
  576. /package/{dist/standalone/dist/standalone/app → app}/favicon.ico +0 -0
  577. /package/{dist/standalone/dist/standalone/app → app}/globals.css +0 -0
  578. /package/{dist/standalone/dist/standalone/app → app}/setup/actions.ts +0 -0
  579. /package/{dist/standalone/dist/standalone/components → components}/board/app-bar.tsx +0 -0
  580. /package/{dist/standalone/dist/standalone/components → components}/board/attribution-avatars.tsx +0 -0
  581. /package/{dist/standalone/dist/standalone/components → components}/board/child-progress-bar.tsx +0 -0
  582. /package/{dist/standalone/dist/standalone/components → components}/board/date-tooltip.tsx +0 -0
  583. /package/{dist/standalone/dist/standalone/components → components}/board/detail-children-list.tsx +0 -0
  584. /package/{dist/standalone/dist/standalone/components → components}/board/epic-list.tsx +0 -0
  585. /package/{dist/standalone/dist/standalone/components → components}/board/hide-completed-toggle.tsx +0 -0
  586. /package/{dist/standalone/dist/standalone/components → components}/board/list-filters-bar.tsx +0 -0
  587. /package/{dist/standalone/dist/standalone/components → components}/board/list-pagination.tsx +0 -0
  588. /package/{dist/standalone/dist/standalone/components → components}/board/list-search-box.tsx +0 -0
  589. /package/{dist/standalone/dist/standalone/components → components}/board/list-view-switcher.tsx +0 -0
  590. /package/{dist/standalone/dist/standalone/components → components}/board/markdown-content.tsx +0 -0
  591. /package/{dist/standalone/dist/standalone/components → components}/board/metric-stat-card.tsx +0 -0
  592. /package/{dist/standalone/dist/standalone/components → components}/board/overall-work-items-list.tsx +0 -0
  593. /package/{dist/standalone/dist/standalone/components → components}/board/parent-filter-combobox.tsx +0 -0
  594. /package/{dist/standalone/dist/standalone/components → components}/board/parent-tag-badge.tsx +0 -0
  595. /package/{dist/standalone/dist/standalone/components → components}/board/project-contributors-panel.tsx +0 -0
  596. /package/{dist/standalone/dist/standalone/components → components}/board/sortable-table-head.tsx +0 -0
  597. /package/{dist/standalone/dist/standalone/components → components}/board/status-badge.tsx +0 -0
  598. /package/{dist/standalone/dist/standalone/components → components}/board/story-list.tsx +0 -0
  599. /package/{dist/standalone/dist/standalone/components → components}/board/tags-multiselect-filter.tsx +0 -0
  600. /package/{dist/standalone/dist/standalone/components → components}/board/task-list.tsx +0 -0
  601. /package/{dist/standalone/dist/standalone/components → components}/board/timeframe-filter.tsx +0 -0
  602. /package/{dist/standalone/dist/standalone/components → components}/board/work-item-detail-body.tsx +0 -0
  603. /package/{dist/standalone/dist/standalone/components → components}/board/work-items-list.tsx +0 -0
  604. /package/{dist/standalone/dist/standalone/components → components}/brand-logo.tsx +0 -0
  605. /package/{dist/standalone/dist/standalone/components → components}/setup/setup-wizard.tsx +0 -0
  606. /package/{dist/standalone/dist/standalone/components → components}/ui/alert-dialog.tsx +0 -0
  607. /package/{dist/standalone/dist/standalone/components → components}/ui/alert.tsx +0 -0
  608. /package/{dist/standalone/dist/standalone/components → components}/ui/avatar.tsx +0 -0
  609. /package/{dist/standalone/dist/standalone/components → components}/ui/badge.tsx +0 -0
  610. /package/{dist/standalone/dist/standalone/components → components}/ui/breadcrumb.tsx +0 -0
  611. /package/{dist/standalone/dist/standalone/components → components}/ui/button.tsx +0 -0
  612. /package/{dist/standalone/dist/standalone/components → components}/ui/calendar.tsx +0 -0
  613. /package/{dist/standalone/dist/standalone/components → components}/ui/card.tsx +0 -0
  614. /package/{dist/standalone/dist/standalone/components → components}/ui/combobox.tsx +0 -0
  615. /package/{dist/standalone/dist/standalone/components → components}/ui/dialog.tsx +0 -0
  616. /package/{dist/standalone/dist/standalone/components → components}/ui/field.tsx +0 -0
  617. /package/{dist/standalone/dist/standalone/components → components}/ui/input-group.tsx +0 -0
  618. /package/{dist/standalone/dist/standalone/components → components}/ui/input.tsx +0 -0
  619. /package/{dist/standalone/dist/standalone/components → components}/ui/item.tsx +0 -0
  620. /package/{dist/standalone/dist/standalone/components → components}/ui/label.tsx +0 -0
  621. /package/{dist/standalone/dist/standalone/components → components}/ui/pagination.tsx +0 -0
  622. /package/{dist/standalone/dist/standalone/components → components}/ui/popover.tsx +0 -0
  623. /package/{dist/standalone/dist/standalone/components → components}/ui/progress.tsx +0 -0
  624. /package/{dist/standalone/dist/standalone/components → components}/ui/resizable.tsx +0 -0
  625. /package/{dist/standalone/dist/standalone/components → components}/ui/select.tsx +0 -0
  626. /package/{dist/standalone/dist/standalone/components → components}/ui/separator.tsx +0 -0
  627. /package/{dist/standalone/dist/standalone/components → components}/ui/sheet.tsx +0 -0
  628. /package/{dist/standalone/dist/standalone/components → components}/ui/sidebar.tsx +0 -0
  629. /package/{dist/standalone/dist/standalone/components → components}/ui/skeleton.tsx +0 -0
  630. /package/{dist/standalone/dist/standalone/components → components}/ui/slider.tsx +0 -0
  631. /package/{dist/standalone/dist/standalone/components → components}/ui/sonner.tsx +0 -0
  632. /package/{dist/standalone/dist/standalone/components → components}/ui/spinner.tsx +0 -0
  633. /package/{dist/standalone/dist/standalone/components → components}/ui/switch.tsx +0 -0
  634. /package/{dist/standalone/dist/standalone/components → components}/ui/table.tsx +0 -0
  635. /package/{dist/standalone/dist/standalone/components → components}/ui/tabs.tsx +0 -0
  636. /package/{dist/standalone/dist/standalone/components → components}/ui/textarea.tsx +0 -0
  637. /package/{dist/standalone/dist/standalone/components → components}/ui/tooltip.tsx +0 -0
  638. /package/{dist/standalone/dist/standalone/components.json → components.json} +0 -0
  639. /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_buildManifest.js +0 -0
  640. /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_clientMiddlewareManifest.js +0 -0
  641. /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_ssgManifest.js +0 -0
  642. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-mobile.ts +0 -0
  643. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-paginated-rows.ts +0 -0
  644. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-persisted-hide-completed.ts +0 -0
  645. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-table-sort.ts +0 -0
  646. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-date.ts +0 -0
  647. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-duration.ts +0 -0
  648. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-list-date.ts +0 -0
  649. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/active-project.ts +0 -0
  650. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/autoconfig.ts +0 -0
  651. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/constants.ts +0 -0
  652. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/count-leaves.ts +0 -0
  653. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/detail-types.ts +0 -0
  654. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/discover.ts +0 -0
  655. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/epic-types.ts +0 -0
  656. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/flat-work-item-types.ts +0 -0
  657. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/frontmatter.ts +0 -0
  658. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/general-epic.ts +0 -0
  659. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/hide-completed-cookie.ts +0 -0
  660. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/identity.ts +0 -0
  661. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/item-types.ts +0 -0
  662. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/list-filters.ts +0 -0
  663. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/list-view-mode.ts +0 -0
  664. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/pagination.ts +0 -0
  665. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-detail.ts +0 -0
  666. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-epics.ts +0 -0
  667. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-flat-lists.ts +0 -0
  668. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-items.ts +0 -0
  669. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-sections.ts +0 -0
  670. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-stories.ts +0 -0
  671. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/pick-folder.ts +0 -0
  672. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/project-label.ts +0 -0
  673. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/projects.ts +0 -0
  674. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/resolve-work-item.ts +0 -0
  675. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/story-types.ts +0 -0
  676. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/table-sort.ts +0 -0
  677. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/timeframe-filters.ts +0 -0
  678. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/timing.ts +0 -0
  679. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/types.ts +0 -0
  680. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/validate.ts +0 -0
  681. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/workspace.ts +0 -0
  682. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/utils.ts +0 -0
  683. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs → postcss.config.mjs} +0 -0
  684. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/file.svg +0 -0
  685. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/globe.svg +0 -0
  686. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/next.svg +0 -0
  687. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/tm_dark.png +0 -0
  688. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/tm_light.png +0 -0
  689. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/vercel.svg +0 -0
  690. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/window.svg +0 -0
  691. /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/scripts → scripts}/prepare-standalone.mjs +0 -0
@@ -1,676 +0,0 @@
1
- "use client"
2
-
3
- import { useEffect, useMemo, useRef, useState, type ComponentProps } from "react"
4
- import {
5
- endOfISOWeek,
6
- format,
7
- setISOWeek,
8
- setISOWeekYear,
9
- startOfISOWeek,
10
- } from "date-fns"
11
- import type { DateRange, DayButton } from "react-day-picker"
12
- import { CalendarIcon, CalendarRangeIcon, XIcon } from "lucide-react"
13
-
14
- import { Button } from "@/components/ui/button"
15
- import { Calendar, CalendarDayButton } from "@/components/ui/calendar"
16
- import {
17
- Popover,
18
- PopoverContent,
19
- PopoverTrigger,
20
- } from "@/components/ui/popover"
21
- import {
22
- Select,
23
- SelectContent,
24
- SelectItem,
25
- SelectTrigger,
26
- SelectValue,
27
- } from "@/components/ui/select"
28
- import { Separator } from "@/components/ui/separator"
29
- import { parseTaskmarkDate } from "@/lib/format-date"
30
- import {
31
- DEFAULT_TIMEFRAME_FILTER,
32
- deriveYearWeekBounds,
33
- isTimeframeActive,
34
- isWeekRangeSelection,
35
- isoWeekCountKey,
36
- isoWeekParts,
37
- recentWeekRange,
38
- shiftIsoWeek,
39
- sumPointsByDate,
40
- sumPointsByIsoWeek,
41
- toDateOnlyString,
42
- weeksInIsoYear,
43
- type SolvedCompletionSample,
44
- type TimeframeFilterState,
45
- } from "@/lib/taskmark/timeframe-filters"
46
- import { cn } from "@/lib/utils"
47
-
48
- type TimeframeFilterProps = {
49
- value: TimeframeFilterState
50
- onChange: (next: TimeframeFilterState) => void
51
- /** `completed_at` values for filter year/week bounds (list rows). */
52
- completedAts: readonly (string | null | undefined)[]
53
- /**
54
- * Solved items for story-point badges (stories + epic-direct tasks/bugs).
55
- * Defaults to `completedAts` with 0 points when omitted.
56
- */
57
- countableCompletions?: readonly SolvedCompletionSample[]
58
- id?: string
59
- className?: string
60
- }
61
-
62
- function formatWeekLabel(from: number, to: number): string {
63
- const a = Math.min(from, to)
64
- const b = Math.max(from, to)
65
- return a === b ? `W${a}` : `W${a}–W${b}`
66
- }
67
-
68
- function isoWeekDateSpan(
69
- year: number,
70
- week: number
71
- ): { start: Date; end: Date } {
72
- let date = new Date(year, 0, 4)
73
- date = setISOWeekYear(date, year)
74
- date = setISOWeek(date, week)
75
- return { start: startOfISOWeek(date), end: endOfISOWeek(date) }
76
- }
77
-
78
- const compactPointsFormatter = new Intl.NumberFormat("en", {
79
- notation: "compact",
80
- compactDisplay: "short",
81
- maximumFractionDigits: 1,
82
- })
83
-
84
- function formatCompactPoints(points: number): string {
85
- return compactPointsFormatter.format(points)
86
- }
87
-
88
- function PointsBadge({
89
- points,
90
- className,
91
- }: {
92
- points: number
93
- className?: string
94
- }) {
95
- if (points <= 0) {
96
- return <span className={cn("tabular-nums text-muted-foreground/40", className)}>—</span>
97
- }
98
- return (
99
- <span className={cn("tabular-nums text-muted-foreground", className)}>
100
- {formatCompactPoints(points)}
101
- </span>
102
- )
103
- }
104
-
105
- export function TimeframeFilter({
106
- value,
107
- onChange,
108
- completedAts,
109
- countableCompletions,
110
- id = "timeframe-filter",
111
- className,
112
- }: TimeframeFilterProps) {
113
- const pointSamples = useMemo((): SolvedCompletionSample[] => {
114
- if (countableCompletions) return [...countableCompletions]
115
- return completedAts.map((completedAt) => ({ completedAt, points: 0 }))
116
- }, [countableCompletions, completedAts])
117
- const bounds = useMemo(
118
- () => deriveYearWeekBounds(completedAts),
119
- [completedAts]
120
- )
121
- const weekPoints = useMemo(
122
- () => sumPointsByIsoWeek(pointSamples),
123
- [pointSamples]
124
- )
125
- const dayPoints = useMemo(
126
- () => sumPointsByDate(pointSamples),
127
- [pointSamples]
128
- )
129
-
130
- const years = bounds.years
131
- const showYearSelect = years.length > 1
132
- const showWeekRange = isWeekRangeSelection(value)
133
-
134
- const todayParts = useMemo(() => recentWeekRange(), [])
135
- const currentWeek = useMemo(() => isoWeekParts(new Date()), [])
136
- const previousWeek = useMemo(
137
- () => shiftIsoWeek(currentWeek.year, currentWeek.week, -1),
138
- [currentWeek.year, currentWeek.week]
139
- )
140
- const nextWeek = useMemo(
141
- () => shiftIsoWeek(currentWeek.year, currentWeek.week, 1),
142
- [currentWeek.year, currentWeek.week]
143
- )
144
- const pickerDefaultYear =
145
- years.length > 0 ? years[years.length - 1]! : todayParts.year
146
-
147
- const [pickerYear, setPickerYear] = useState(pickerDefaultYear)
148
- const [weekPopoverOpen, setWeekPopoverOpen] = useState(false)
149
- const currentWeekButtonRef = useRef<HTMLButtonElement>(null)
150
-
151
- const yearOptions = years.length > 0 ? years : [todayParts.year]
152
- const weekYear = value.mode === "weeks" ? value.year : pickerYear
153
- const showSliderYear = yearOptions.length > 1
154
-
155
- useEffect(() => {
156
- if (!weekPopoverOpen) return
157
- if (pickerYear !== currentWeek.year) return
158
- const frame = requestAnimationFrame(() => {
159
- const el = currentWeekButtonRef.current
160
- if (!el) return
161
- el.scrollIntoView({ block: "center", inline: "nearest" })
162
- el.focus({ preventScroll: true })
163
- })
164
- return () => cancelAnimationFrame(frame)
165
- }, [weekPopoverOpen, pickerYear, currentWeek.year])
166
-
167
- const weekSpan = useMemo(() => {
168
- const max = weeksInIsoYear(weekYear)
169
- return { min: 1, max }
170
- }, [weekYear])
171
-
172
- const weekFrom =
173
- value.mode === "weeks"
174
- ? Math.min(value.weekFrom, value.weekTo)
175
- : todayParts.weekFrom
176
- const weekTo =
177
- value.mode === "weeks"
178
- ? Math.max(value.weekFrom, value.weekTo)
179
- : todayParts.weekTo
180
-
181
- const weeksInPickerYear = weeksInIsoYear(pickerYear)
182
-
183
- const rangeSelected: DateRange | undefined =
184
- value.mode === "range"
185
- ? {
186
- from: parseTaskmarkDate(value.from) ?? undefined,
187
- to: parseTaskmarkDate(value.to) ?? undefined,
188
- }
189
- : undefined
190
-
191
- const [rangeDraft, setRangeDraft] = useState<DateRange | undefined>()
192
- const calendarSelected =
193
- value.mode === "range" ? rangeSelected : rangeDraft
194
-
195
- const active = isTimeframeActive(value)
196
- const singleWeekActive =
197
- value.mode === "weeks" && value.weekFrom === value.weekTo
198
-
199
- function activateWeeks(year: number, from: number, to: number) {
200
- onChange({
201
- mode: "weeks",
202
- year,
203
- weekFrom: Math.min(from, to),
204
- weekTo: Math.max(from, to),
205
- })
206
- }
207
-
208
- function handlePickWeek(week: number) {
209
- activateWeeks(pickerYear, week, week)
210
- setWeekPopoverOpen(false)
211
- }
212
-
213
- function handlePickCurrentWeek() {
214
- activateWeeks(currentWeek.year, currentWeek.week, currentWeek.week)
215
- setPickerYear(currentWeek.year)
216
- setWeekPopoverOpen(false)
217
- }
218
-
219
- function handleEnableWeekRange() {
220
- const recent = recentWeekRange()
221
- const year = yearOptions.includes(recent.year)
222
- ? recent.year
223
- : pickerYear
224
- const max = weeksInIsoYear(year)
225
- let weekTo = Math.min(recent.weekTo, max)
226
- let weekFrom = Math.max(1, Math.min(recent.weekFrom, weekTo))
227
- if (weekFrom === weekTo) {
228
- weekFrom = weekTo > 1 ? weekTo - 1 : weekTo
229
- weekTo = weekFrom === weekTo && weekTo < max ? weekTo + 1 : weekTo
230
- }
231
- activateWeeks(year, weekFrom, weekTo)
232
- setPickerYear(year)
233
- setWeekPopoverOpen(false)
234
- }
235
-
236
- function handleWeekFromChange(next: string | null) {
237
- if (next == null) return
238
- const from = Number(next)
239
- if (!Number.isFinite(from)) return
240
- const to = Math.max(from, weekTo)
241
- activateWeeks(weekYear, from, to)
242
- }
243
-
244
- function handleWeekToChange(next: string | null) {
245
- if (next == null) return
246
- const to = Number(next)
247
- if (!Number.isFinite(to)) return
248
- const from = Math.min(weekFrom, to)
249
- activateWeeks(weekYear, from, to)
250
- }
251
-
252
- function handleRangeYearChange(next: string | null) {
253
- if (next == null) return
254
- const year = Number(next)
255
- if (!Number.isFinite(year)) return
256
- const max = weeksInIsoYear(year)
257
- const from = Math.min(weekFrom, max)
258
- const to = Math.min(weekTo, max)
259
- if (from === to && to > 1) {
260
- activateWeeks(year, to - 1, to)
261
- } else if (from === to && to < max) {
262
- activateWeeks(year, to, to + 1)
263
- } else {
264
- activateWeeks(year, from, to)
265
- }
266
- }
267
-
268
- function handleRangeSelect(range: DateRange | undefined) {
269
- setRangeDraft(range)
270
- if (!range?.from || !range.to) return
271
- onChange({
272
- mode: "range",
273
- from: toDateOnlyString(range.from),
274
- to: toDateOnlyString(range.to),
275
- })
276
- }
277
-
278
- function handleClear() {
279
- setRangeDraft(undefined)
280
- onChange(DEFAULT_TIMEFRAME_FILTER)
281
- }
282
-
283
- const weekAriaLabel = singleWeekActive
284
- ? `ISO week ${formatWeekLabel(weekFrom, weekTo)} ${weekYear}`
285
- : "Filter by solved ISO week"
286
-
287
- const dateAriaLabel =
288
- value.mode === "range" && rangeSelected?.from && rangeSelected?.to
289
- ? `Date range ${format(rangeSelected.from, "MMM d")} – ${format(rangeSelected.to, "MMM d, yyyy")}`
290
- : "Filter by solved date range"
291
-
292
- function DayButtonWithCount(props: ComponentProps<typeof DayButton>) {
293
- const key = toDateOnlyString(props.day.date)
294
- const points = dayPoints.get(key) ?? 0
295
- return (
296
- <CalendarDayButton
297
- {...props}
298
- className={cn(
299
- props.className,
300
- "h-auto min-h-(--cell-size) gap-0.5 py-1"
301
- )}
302
- >
303
- {props.children}
304
- {points > 0 ? (
305
- <span
306
- className="text-[9px] leading-none tabular-nums text-muted-foreground opacity-80"
307
- title={`${points} story point${points === 1 ? "" : "s"}`}
308
- >
309
- {formatCompactPoints(points)}
310
- </span>
311
- ) : (
312
- <span className="text-[9px] leading-none opacity-0">0</span>
313
- )}
314
- </CalendarDayButton>
315
- )
316
- }
317
-
318
- return (
319
- <div
320
- className={cn("flex flex-nowrap items-center gap-2", className)}
321
- role="group"
322
- aria-label="Solved timeframe"
323
- >
324
- {showWeekRange ? (
325
- <>
326
- {showSliderYear ? (
327
- <Select
328
- value={String(weekYear)}
329
- onValueChange={handleRangeYearChange}
330
- >
331
- <SelectTrigger
332
- id={`${id}-year`}
333
- size="sm"
334
- className="h-8 min-w-[4.75rem]"
335
- aria-label="ISO week year"
336
- >
337
- <SelectValue />
338
- </SelectTrigger>
339
- <SelectContent>
340
- {yearOptions.map((y) => (
341
- <SelectItem key={y} value={String(y)}>
342
- {y}
343
- </SelectItem>
344
- ))}
345
- </SelectContent>
346
- </Select>
347
- ) : null}
348
-
349
- <div
350
- className="inline-flex h-8 shrink-0 items-center overflow-hidden rounded border-2 border-black bg-input shadow-sm"
351
- role="group"
352
- aria-label="ISO week range"
353
- >
354
- <Select
355
- value={String(weekFrom)}
356
- onValueChange={handleWeekFromChange}
357
- >
358
- <SelectTrigger
359
- id={`${id}-week-from`}
360
- size="sm"
361
- className="h-full min-w-[4.25rem] rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0"
362
- aria-label="From ISO week"
363
- >
364
- <SelectValue>
365
- {(value: string | null) =>
366
- value != null ? `W${value}` : "From"
367
- }
368
- </SelectValue>
369
- </SelectTrigger>
370
- <SelectContent>
371
- {Array.from({ length: weekSpan.max }, (_, i) => {
372
- const week = i + 1
373
- return (
374
- <SelectItem
375
- key={week}
376
- value={String(week)}
377
- disabled={week > weekTo}
378
- >
379
- W{week}
380
- </SelectItem>
381
- )
382
- })}
383
- </SelectContent>
384
- </Select>
385
- <span
386
- className="shrink-0 px-0.5 font-mono text-xs text-muted-foreground"
387
- aria-hidden
388
- >
389
-
390
- </span>
391
- <Select value={String(weekTo)} onValueChange={handleWeekToChange}>
392
- <SelectTrigger
393
- id={`${id}-week-to`}
394
- size="sm"
395
- className="h-full min-w-[4.25rem] rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0"
396
- aria-label="To ISO week"
397
- >
398
- <SelectValue>
399
- {(value: string | null) =>
400
- value != null ? `W${value}` : "To"
401
- }
402
- </SelectValue>
403
- </SelectTrigger>
404
- <SelectContent>
405
- {Array.from({ length: weekSpan.max }, (_, i) => {
406
- const week = i + 1
407
- return (
408
- <SelectItem
409
- key={week}
410
- value={String(week)}
411
- disabled={week < weekFrom}
412
- >
413
- W{week}
414
- </SelectItem>
415
- )
416
- })}
417
- </SelectContent>
418
- </Select>
419
- </div>
420
- </>
421
- ) : (
422
- <Popover
423
- open={weekPopoverOpen}
424
- onOpenChange={(open) => {
425
- setWeekPopoverOpen(open)
426
- if (open) setPickerYear(currentWeek.year)
427
- }}
428
- >
429
- <PopoverTrigger
430
- render={
431
- <Button
432
- id={`${id}-weeks-picker`}
433
- type="button"
434
- variant="outline"
435
- size="icon-sm"
436
- className={cn(
437
- "shrink-0",
438
- singleWeekActive && "border-primary"
439
- )}
440
- aria-label={weekAriaLabel}
441
- title={weekAriaLabel}
442
- />
443
- }
444
- >
445
- <CalendarRangeIcon className="size-3.5 opacity-70" />
446
- </PopoverTrigger>
447
- <PopoverContent align="end" className="w-72 gap-0 p-0">
448
- <div className="flex items-center justify-between gap-2 border-b border-border px-2.5 py-2">
449
- <span className="text-xs font-medium text-muted-foreground">
450
- Week
451
- </span>
452
- {showYearSelect ? (
453
- <Select
454
- value={String(pickerYear)}
455
- onValueChange={(next) => {
456
- if (next == null) return
457
- const year = Number(next)
458
- if (Number.isFinite(year)) setPickerYear(year)
459
- }}
460
- >
461
- <SelectTrigger
462
- size="sm"
463
- className="h-7 min-w-[4.5rem]"
464
- aria-label="ISO week year"
465
- >
466
- <SelectValue />
467
- </SelectTrigger>
468
- <SelectContent>
469
- {years.map((y) => (
470
- <SelectItem key={y} value={String(y)}>
471
- {y}
472
- </SelectItem>
473
- ))}
474
- </SelectContent>
475
- </Select>
476
- ) : (
477
- <span className="font-mono text-xs tabular-nums text-muted-foreground">
478
- {pickerYear}
479
- </span>
480
- )}
481
- </div>
482
-
483
- <div
484
- className="max-h-56 overflow-y-auto p-1"
485
- role="listbox"
486
- aria-label={`ISO weeks in ${pickerYear}`}
487
- >
488
- {Array.from({ length: weeksInPickerYear }, (_, i) => {
489
- const week = i + 1
490
- const { start, end } = isoWeekDateSpan(pickerYear, week)
491
- const selected =
492
- value.mode === "weeks" &&
493
- value.year === pickerYear &&
494
- value.weekFrom === week &&
495
- value.weekTo === week
496
- const isCurrent =
497
- pickerYear === currentWeek.year && week === currentWeek.week
498
- const isPrevious =
499
- pickerYear === previousWeek.year &&
500
- week === previousWeek.week
501
- const isNext =
502
- pickerYear === nextWeek.year && week === nextWeek.week
503
- const nearbyLabel = isCurrent
504
- ? "Now"
505
- : isPrevious
506
- ? "Prev"
507
- : isNext
508
- ? "Next"
509
- : null
510
- const count =
511
- weekPoints.get(isoWeekCountKey(pickerYear, week)) ?? 0
512
- const observed = bounds.weeksByYear[pickerYear]
513
- const hasData = Boolean(
514
- observed && week >= observed.min && week <= observed.max
515
- )
516
- return (
517
- <button
518
- key={week}
519
- ref={isCurrent ? currentWeekButtonRef : undefined}
520
- type="button"
521
- role="option"
522
- aria-selected={selected}
523
- aria-current={isCurrent ? "date" : undefined}
524
- className={cn(
525
- "flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm outline-none hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent",
526
- selected && "bg-accent text-accent-foreground",
527
- !hasData &&
528
- !isPrevious &&
529
- !isCurrent &&
530
- !isNext &&
531
- "text-muted-foreground"
532
- )}
533
- onClick={() => handlePickWeek(week)}
534
- >
535
- <span className="flex min-w-0 flex-1 items-center gap-1.5">
536
- <span className="font-mono text-xs tabular-nums">
537
- W{week}
538
- </span>
539
- {nearbyLabel ? (
540
- <span className="rounded bg-primary/15 px-1 py-px text-[10px] font-medium tracking-wide text-primary uppercase">
541
- {nearbyLabel}
542
- </span>
543
- ) : null}
544
- <span className="truncate text-xs text-muted-foreground">
545
- {format(start, "MMM d")} – {format(end, "MMM d")}
546
- </span>
547
- </span>
548
- <PointsBadge
549
- points={count}
550
- className="shrink-0 text-xs"
551
- />
552
- </button>
553
- )
554
- })}
555
- </div>
556
-
557
- <Separator />
558
- <div className="flex flex-col gap-0.5 p-1.5">
559
- <Button
560
- type="button"
561
- variant="ghost"
562
- size="sm"
563
- className="h-8 w-full justify-start font-normal"
564
- onClick={() => {
565
- activateWeeks(
566
- previousWeek.year,
567
- previousWeek.week,
568
- previousWeek.week
569
- )
570
- setPickerYear(previousWeek.year)
571
- setWeekPopoverOpen(false)
572
- }}
573
- >
574
- Previous week
575
- <span className="ml-auto font-mono text-xs text-muted-foreground">
576
- W{previousWeek.week}
577
- </span>
578
- </Button>
579
- <Button
580
- type="button"
581
- variant="ghost"
582
- size="sm"
583
- className="h-8 w-full justify-start font-normal"
584
- onClick={handlePickCurrentWeek}
585
- >
586
- This week
587
- <span className="ml-auto font-mono text-xs text-muted-foreground">
588
- W{currentWeek.week}
589
- </span>
590
- </Button>
591
- <Button
592
- type="button"
593
- variant="ghost"
594
- size="sm"
595
- className="h-8 w-full justify-start font-normal"
596
- onClick={() => {
597
- activateWeeks(nextWeek.year, nextWeek.week, nextWeek.week)
598
- setPickerYear(nextWeek.year)
599
- setWeekPopoverOpen(false)
600
- }}
601
- >
602
- Next week
603
- <span className="ml-auto font-mono text-xs text-muted-foreground">
604
- W{nextWeek.week}
605
- </span>
606
- </Button>
607
- <Button
608
- type="button"
609
- variant="ghost"
610
- size="sm"
611
- className="h-8 w-full justify-start font-normal"
612
- onClick={handleEnableWeekRange}
613
- >
614
- Select week range…
615
- </Button>
616
- </div>
617
- </PopoverContent>
618
- </Popover>
619
- )}
620
-
621
- <Popover
622
- onOpenChange={(open) => {
623
- if (open && value.mode !== "range") {
624
- setRangeDraft(undefined)
625
- }
626
- }}
627
- >
628
- <PopoverTrigger
629
- render={
630
- <Button
631
- id={`${id}-dates`}
632
- type="button"
633
- variant="outline"
634
- size="icon-sm"
635
- className={cn(
636
- "shrink-0",
637
- value.mode === "range" && "border-primary"
638
- )}
639
- aria-label={dateAriaLabel}
640
- title={dateAriaLabel}
641
- />
642
- }
643
- >
644
- <CalendarIcon className="size-3.5 opacity-70" />
645
- </PopoverTrigger>
646
- <PopoverContent align="end" className="w-auto p-2">
647
- <Calendar
648
- mode="range"
649
- numberOfMonths={1}
650
- selected={calendarSelected}
651
- onSelect={handleRangeSelect}
652
- defaultMonth={calendarSelected?.from ?? calendarSelected?.to}
653
- className="[--cell-size:--spacing(9)]"
654
- components={{
655
- DayButton: DayButtonWithCount,
656
- }}
657
- />
658
- </PopoverContent>
659
- </Popover>
660
-
661
- {active ? (
662
- <Button
663
- type="button"
664
- variant="ghost"
665
- size="icon-sm"
666
- className="shrink-0 text-muted-foreground"
667
- onClick={handleClear}
668
- aria-label="Clear timeframe filter"
669
- title="Clear timeframe"
670
- >
671
- <XIcon className="size-3.5" />
672
- </Button>
673
- ) : null}
674
- </div>
675
- )
676
- }