@tuturuuu/ui 0.8.0 → 0.10.0

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 (245) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/biome.json +1 -1
  3. package/package.json +74 -71
  4. package/src/components/ui/accordion.tsx +1 -1
  5. package/src/components/ui/breadcrumb.tsx +1 -1
  6. package/src/components/ui/calendar-app/calendar-page-shell.tsx +4 -0
  7. package/src/components/ui/calendar-app/components/calendar-connections-settings-content.tsx +239 -33
  8. package/src/components/ui/calendar-app/components/load-smart-scheduling-tasks.tsx +143 -0
  9. package/src/components/ui/calendar-app/components/priority-view.tsx +10 -3
  10. package/src/components/ui/calendar-app/components/tasks-sidebar.tsx +4 -116
  11. package/src/components/ui/calendar-app/components/use-calendar-connections-manager.ts +67 -2
  12. package/src/components/ui/calendar.tsx +1 -1
  13. package/src/components/ui/carousel.tsx +1 -1
  14. package/src/components/ui/chat/chat-agent-details-external-thread-panel.test.tsx +1 -1
  15. package/src/components/ui/chat/chat-agent-details-external-thread-panel.tsx +1 -1
  16. package/src/components/ui/chat/chat-agent-details-operations-panel.test.tsx +1 -1
  17. package/src/components/ui/chat/chat-agent-details-operations-panel.tsx +1 -1
  18. package/src/components/ui/chat/chat-agent-details-setup-panel.tsx +1 -1
  19. package/src/components/ui/chat/chat-agent-details-sidebar.test.tsx +1 -1
  20. package/src/components/ui/chat/chat-agent-details-sidebar.tsx +2 -2
  21. package/src/components/ui/chat/chat-agent-details-utils.test.ts +1 -1
  22. package/src/components/ui/chat/chat-agent-details-utils.tsx +1 -1
  23. package/src/components/ui/chat/chat-agent-details-zalo-personal-panel.tsx +2 -2
  24. package/src/components/ui/checkbox.tsx +1 -1
  25. package/src/components/ui/color-picker.tsx +1 -1
  26. package/src/components/ui/command.tsx +1 -1
  27. package/src/components/ui/context-menu.tsx +5 -1
  28. package/src/components/ui/custom/__tests__/settings-dialog-search.test.ts +78 -0
  29. package/src/components/ui/custom/__tests__/settings-dialog-shell-compile-graph.test.ts +76 -0
  30. package/src/components/ui/custom/__tests__/settings-dialog-shell.test.tsx +3 -0
  31. package/src/components/ui/custom/__tests__/workspace-select-helpers.test.ts +46 -1
  32. package/src/components/ui/custom/combobox.test.tsx +195 -0
  33. package/src/components/ui/custom/combobox.tsx +273 -156
  34. package/src/components/ui/custom/education/modules/youtube/delete-link-button.tsx +5 -13
  35. package/src/components/ui/custom/facebook-mockup/facebook-mockup.tsx +7 -1
  36. package/src/components/ui/custom/facebook-mockup/form.tsx +1 -1
  37. package/src/components/ui/custom/facebook-mockup/image-upload-field.tsx +1 -1
  38. package/src/components/ui/custom/facebook-mockup/preview.tsx +1 -1
  39. package/src/components/ui/custom/nav-link.test.tsx +165 -0
  40. package/src/components/ui/custom/nav-link.tsx +69 -11
  41. package/src/components/ui/custom/navigation.tsx +1 -0
  42. package/src/components/ui/custom/settings/task-settings.tsx +104 -0
  43. package/src/components/ui/custom/settings-dialog-search-loader.d.ts +5 -0
  44. package/src/components/ui/custom/settings-dialog-search-loader.js +3 -0
  45. package/src/components/ui/custom/settings-dialog-search.ts +75 -0
  46. package/src/components/ui/custom/settings-dialog-shell.tsx +65 -28
  47. package/src/components/ui/custom/theme-toggle.tsx +1 -1
  48. package/src/components/ui/custom/workspace-select-helpers.ts +23 -0
  49. package/src/components/ui/custom/workspace-select.tsx +25 -19
  50. package/src/components/ui/dialog.test.tsx +52 -0
  51. package/src/components/ui/dialog.tsx +6 -2
  52. package/src/components/ui/dropdown-menu.tsx +5 -1
  53. package/src/components/ui/finance/debts/debt-loan-form.tsx +12 -5
  54. package/src/components/ui/finance/debts/debt-loan-summary.tsx +3 -2
  55. package/src/components/ui/finance/debts/debts-page.test.tsx +54 -5
  56. package/src/components/ui/finance/debts/debts-page.tsx +15 -2
  57. package/src/components/ui/finance/invoices/components/subscription-group-selector.tsx +3 -5
  58. package/src/components/ui/finance/invoices/new-invoice-page.test.tsx +25 -5
  59. package/src/components/ui/finance/invoices/new-invoice-page.tsx +7 -2
  60. package/src/components/ui/finance/invoices/standard-invoice.tsx +4 -2
  61. package/src/components/ui/finance/invoices/subscription-invoice.tsx +4 -2
  62. package/src/components/ui/finance/invoices/utils.ts +3 -1
  63. package/src/components/ui/finance/transactions/form-content-dialog.tsx +3 -0
  64. package/src/components/ui/finance/transactions/form-types.ts +1 -0
  65. package/src/components/ui/finance/transactions/form.tsx +2 -0
  66. package/src/components/ui/finance/transactions/infinite-transactions-list.tsx +2 -0
  67. package/src/components/ui/finance/transactions/period-charts/category-breakdown-dialog.tsx +1 -1
  68. package/src/components/ui/finance/transactions/transaction-edit-dialog.tsx +1 -4
  69. package/src/components/ui/finance/transactions/transactions-create-summary.tsx +3 -0
  70. package/src/components/ui/finance/transactions/transactions-page.tsx +4 -1
  71. package/src/components/ui/finance/wallets/form.test.tsx +51 -3
  72. package/src/components/ui/finance/wallets/form.tsx +15 -4
  73. package/src/components/ui/finance/wallets/walletId/wallet-details-actions.tsx +4 -0
  74. package/src/components/ui/finance/wallets/walletId/wallet-details-page.tsx +4 -2
  75. package/src/components/ui/finance/wallets/wallets-data-table.tsx +1 -0
  76. package/src/components/ui/finance/wallets/wallets-page.tsx +5 -2
  77. package/src/components/ui/input-otp.tsx +1 -1
  78. package/src/components/ui/legacy/calendar/all-day-event-bar.tsx +28 -39
  79. package/src/components/ui/legacy/calendar/calendar-cell.tsx +2 -0
  80. package/src/components/ui/legacy/calendar/calendar-content.tsx +10 -6
  81. package/src/components/ui/legacy/calendar/calendar-header.tsx +23 -3
  82. package/src/components/ui/legacy/calendar/calendar-loading-skeleton.tsx +135 -0
  83. package/src/components/ui/legacy/calendar/calendar-matrix.tsx +175 -237
  84. package/src/components/ui/legacy/calendar/event-card.test.tsx +177 -0
  85. package/src/components/ui/legacy/calendar/event-card.tsx +220 -131
  86. package/src/components/ui/legacy/calendar/event-modal.tsx +17 -17
  87. package/src/components/ui/legacy/calendar/event-provider-display.tsx +69 -0
  88. package/src/components/ui/legacy/calendar/smart-calendar.test.tsx +86 -4
  89. package/src/components/ui/legacy/calendar/smart-calendar.tsx +32 -2
  90. package/src/components/ui/legacy/meet/create-plan-dialog.tsx +19 -10
  91. package/src/components/ui/navigation-menu.tsx +1 -1
  92. package/src/components/ui/pagination.tsx +1 -1
  93. package/src/components/ui/radio-group.tsx +1 -1
  94. package/src/components/ui/select.tsx +5 -1
  95. package/src/components/ui/sheet.tsx +1 -1
  96. package/src/components/ui/sidebar.tsx +1 -1
  97. package/src/components/ui/storefront/cart-popover.tsx +61 -0
  98. package/src/components/ui/storefront/cart-summary-parts.tsx +290 -0
  99. package/src/components/ui/storefront/cart-summary.tsx +93 -154
  100. package/src/components/ui/storefront/checkout-overlay.tsx +4 -5
  101. package/src/components/ui/storefront/listing-card.tsx +1 -1
  102. package/src/components/ui/storefront/merch-sections.tsx +70 -0
  103. package/src/components/ui/storefront/product-detail.tsx +1 -1
  104. package/src/components/ui/storefront/storefront-surface.test.tsx +106 -11
  105. package/src/components/ui/storefront/storefront-surface.tsx +101 -166
  106. package/src/components/ui/storefront/types.ts +4 -0
  107. package/src/components/ui/storefront/utils.ts +6 -0
  108. package/src/components/ui/text-editor/__tests__/extensions.test.ts +123 -0
  109. package/src/components/ui/text-editor/background-color-extension.ts +62 -0
  110. package/src/components/ui/text-editor/color-controls.tsx +284 -0
  111. package/src/components/ui/text-editor/editor.tsx +69 -14
  112. package/src/components/ui/text-editor/extensions.ts +8 -2
  113. package/src/components/ui/text-editor/highlight-extension.ts +22 -0
  114. package/src/components/ui/text-editor/tool-bar.tsx +9 -16
  115. package/src/components/ui/toast.tsx +1 -1
  116. package/src/components/ui/tu-do/boards/__tests__/board-share-dialog.test.tsx +286 -0
  117. package/src/components/ui/tu-do/boards/__tests__/task-board-form.test.tsx +12 -0
  118. package/src/components/ui/tu-do/boards/board-public-link-section.tsx +231 -0
  119. package/src/components/ui/tu-do/boards/board-share-dialog.tsx +15 -226
  120. package/src/components/ui/tu-do/boards/board-share-settings-panel.tsx +351 -0
  121. package/src/components/ui/tu-do/boards/boardId/board-column.tsx +121 -39
  122. package/src/components/ui/tu-do/boards/boardId/enhanced-task-list.tsx +7 -0
  123. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-clear-delete.ts +2 -0
  124. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-move.ts +5 -0
  125. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-updates.ts +3 -0
  126. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-operation-types.ts +3 -3
  127. package/src/components/ui/tu-do/boards/boardId/kanban/data/kanban-deadline-query.ts +50 -2
  128. package/src/components/ui/tu-do/boards/boardId/kanban/data/use-bulk-resources.ts +59 -5
  129. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/__tests__/column-reorder.test.ts +17 -0
  130. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/column-reorder.ts +4 -1
  131. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/drag-preview.tsx +20 -1
  132. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/task-drag-cache.ts +38 -9
  133. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/task-drag-order.ts +2 -8
  134. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/task-sort-key.ts +47 -0
  135. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/use-kanban-dnd.ts +81 -30
  136. package/src/components/ui/tu-do/boards/boardId/kanban/planner/__tests__/kanban-planner-island.test.tsx +380 -0
  137. package/src/components/ui/tu-do/boards/boardId/kanban/planner/kanban-planner-dialog.tsx +204 -0
  138. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-digest-panel.tsx +61 -0
  139. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-item-strip.tsx +54 -0
  140. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-plan-toolbar.tsx +251 -0
  141. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-scope-badge.tsx +27 -0
  142. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-section.tsx +58 -0
  143. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-share-dialog.tsx +238 -0
  144. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-target-controls.tsx +143 -0
  145. package/src/components/ui/tu-do/boards/boardId/kanban/planner/planner-utils.ts +65 -0
  146. package/src/components/ui/tu-do/boards/boardId/kanban/planner/use-kanban-planner-state.ts +234 -0
  147. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-columns.test.tsx +642 -5
  148. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-columns.tsx +224 -15
  149. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-deadline-panels.tsx +535 -53
  150. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-skeleton.tsx +101 -33
  151. package/src/components/ui/tu-do/boards/boardId/kanban.tsx +235 -113
  152. package/src/components/ui/tu-do/boards/boardId/task-board-server-page.test.tsx +50 -5
  153. package/src/components/ui/tu-do/boards/boardId/task-board-server-page.tsx +12 -2
  154. package/src/components/ui/tu-do/boards/boardId/task-card/measured-task-card.tsx +10 -1
  155. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-comparator.ts +3 -0
  156. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-open-options.test.ts +20 -0
  157. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-open-options.ts +10 -0
  158. package/src/components/ui/tu-do/boards/boardId/task-card/task-card.tsx +271 -36
  159. package/src/components/ui/tu-do/boards/boardId/task-filter.test.tsx +152 -0
  160. package/src/components/ui/tu-do/boards/boardId/task-filter.tsx +555 -545
  161. package/src/components/ui/tu-do/boards/boardId/task-list.tsx +22 -0
  162. package/src/components/ui/tu-do/boards/boardId/timeline/timeline-grid.tsx +9 -0
  163. package/src/components/ui/tu-do/boards/boardId/timeline/timeline-task-row.tsx +9 -0
  164. package/src/components/ui/tu-do/boards/boardId/timeline/timeline-toolbar.tsx +9 -0
  165. package/src/components/ui/tu-do/boards/boardId/timeline-board.tsx +35 -3
  166. package/src/components/ui/tu-do/boards/form.tsx +1 -1
  167. package/src/components/ui/tu-do/boards/share-section.tsx +100 -0
  168. package/src/components/ui/tu-do/drafts/draft-convert-dialog.tsx +10 -12
  169. package/src/components/ui/tu-do/drafts/drafts-page.tsx +33 -16
  170. package/src/components/ui/tu-do/hooks/__tests__/useTaskLabelManagement.test.tsx +48 -0
  171. package/src/components/ui/tu-do/hooks/__tests__/useTaskProjectManagement.test.tsx +144 -0
  172. package/src/components/ui/tu-do/hooks/useTaskDialog.ts +7 -0
  173. package/src/components/ui/tu-do/hooks/useTaskLabelManagement.ts +115 -106
  174. package/src/components/ui/tu-do/hooks/useTaskProjectManagement.ts +115 -122
  175. package/src/components/ui/tu-do/initiatives/task-initiatives-client.tsx +56 -88
  176. package/src/components/ui/tu-do/my-tasks/my-tasks-content.tsx +26 -2
  177. package/src/components/ui/tu-do/my-tasks/use-my-tasks-state.ts +55 -8
  178. package/src/components/ui/tu-do/notes/note-edit-dialog.tsx +1 -4
  179. package/src/components/ui/tu-do/progress/task-progress-import-panel.tsx +60 -0
  180. package/src/components/ui/tu-do/progress/task-progress-leaderboards-panel.tsx +156 -0
  181. package/src/components/ui/tu-do/progress/task-progress-page.tsx +348 -0
  182. package/src/components/ui/tu-do/progress/task-progress-panels.tsx +301 -0
  183. package/src/components/ui/tu-do/providers/task-dialog-provider.tsx +26 -0
  184. package/src/components/ui/tu-do/shared/__tests__/assignee-select.test.tsx +81 -10
  185. package/src/components/ui/tu-do/shared/__tests__/board-client.test.tsx +141 -1
  186. package/src/components/ui/tu-do/shared/__tests__/board-header.test.tsx +377 -36
  187. package/src/components/ui/tu-do/shared/__tests__/board-switcher.test.tsx +374 -0
  188. package/src/components/ui/tu-do/shared/__tests__/board-views.test.tsx +419 -5
  189. package/src/components/ui/tu-do/shared/__tests__/task-board-loading-state.test.tsx +38 -0
  190. package/src/components/ui/tu-do/shared/__tests__/task-cache-patches.test.ts +147 -0
  191. package/src/components/ui/tu-do/shared/__tests__/task-legacy-route-recovery.test.tsx +16 -0
  192. package/src/components/ui/tu-do/shared/__tests__/use-progressive-board-loader.test.tsx +3 -0
  193. package/src/components/ui/tu-do/shared/assignee-select.tsx +77 -26
  194. package/src/components/ui/tu-do/shared/board-client.tsx +15 -10
  195. package/src/components/ui/tu-do/shared/board-config-storage.ts +7 -1
  196. package/src/components/ui/tu-do/shared/board-header.tsx +471 -975
  197. package/src/components/ui/tu-do/shared/board-layout-settings.tsx +165 -136
  198. package/src/components/ui/tu-do/shared/board-switcher.tsx +244 -220
  199. package/src/components/ui/tu-do/shared/board-user-presence-avatars.tsx +18 -12
  200. package/src/components/ui/tu-do/shared/board-views.tsx +577 -85
  201. package/src/components/ui/tu-do/shared/list-view.tsx +246 -2
  202. package/src/components/ui/tu-do/shared/recycle-bin-panel.tsx +142 -94
  203. package/src/components/ui/tu-do/shared/special-task-list-pins.ts +51 -0
  204. package/src/components/ui/tu-do/shared/task-board-loading-state.tsx +28 -0
  205. package/src/components/ui/tu-do/shared/task-cache-patches.ts +394 -0
  206. package/src/components/ui/tu-do/shared/task-dialog-manager.tsx +21 -1
  207. package/src/components/ui/tu-do/shared/task-edit-dialog/components/quick-settings-popover.tsx +5 -1
  208. package/src/components/ui/tu-do/shared/task-edit-dialog/components/task-dialog-header.tsx +25 -2
  209. package/src/components/ui/tu-do/shared/task-edit-dialog/components/task-list-selector.tsx +7 -1
  210. package/src/components/ui/tu-do/shared/task-edit-dialog/field-diff-viewer.tsx +3 -2
  211. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-data.ts +79 -10
  212. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-mutations.ts +76 -77
  213. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-relationships.test.tsx +63 -0
  214. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-relationships.ts +78 -69
  215. package/src/components/ui/tu-do/shared/task-edit-dialog/personal-overrides-section.tsx +28 -8
  216. package/src/components/ui/tu-do/shared/task-edit-dialog/relationships/dependencies-section.tsx +14 -3
  217. package/src/components/ui/tu-do/shared/task-edit-dialog/relationships/parent-section.tsx +6 -1
  218. package/src/components/ui/tu-do/shared/task-edit-dialog/relationships/related-section.tsx +6 -1
  219. package/src/components/ui/tu-do/shared/task-edit-dialog/relationships/subtasks-section.tsx +6 -1
  220. package/src/components/ui/tu-do/shared/task-edit-dialog/relationships/types/task-relationships.types.ts +8 -0
  221. package/src/components/ui/tu-do/shared/task-edit-dialog/selective-revert-panel.test.tsx +91 -0
  222. package/src/components/ui/tu-do/shared/task-edit-dialog/selective-revert-panel.tsx +123 -78
  223. package/src/components/ui/tu-do/shared/task-edit-dialog/task-activity-section.tsx +7 -1
  224. package/src/components/ui/tu-do/shared/task-edit-dialog/task-dialog-actions.tsx +8 -1
  225. package/src/components/ui/tu-do/shared/task-edit-dialog/task-properties-section.test.tsx +150 -0
  226. package/src/components/ui/tu-do/shared/task-edit-dialog/task-properties-section.tsx +61 -35
  227. package/src/components/ui/tu-do/shared/task-edit-dialog/task-relationships-properties.tsx +44 -2
  228. package/src/components/ui/tu-do/shared/task-edit-dialog/task-snapshot-dialog.tsx +8 -3
  229. package/src/components/ui/tu-do/shared/task-edit-dialog.tsx +11 -1
  230. package/src/components/ui/tu-do/shared/task-legacy-route-recovery.tsx +2 -9
  231. package/src/components/ui/tu-do/shared/task-row-actions-menu.tsx +11 -0
  232. package/src/components/ui/tu-do/shared/use-progressive-board-loader.ts +2 -0
  233. package/src/declarations.d.ts +1 -0
  234. package/src/hooks/__tests__/use-calendar-readonly.test.tsx +322 -2
  235. package/src/hooks/__tests__/use-calendar-sync.test.tsx +446 -0
  236. package/src/hooks/__tests__/useBoardPresence.test.tsx +191 -0
  237. package/src/hooks/__tests__/useBoardRealtime.test.tsx +24 -144
  238. package/src/hooks/use-calendar-sync.tsx +247 -243
  239. package/src/hooks/use-calendar.tsx +323 -138
  240. package/src/hooks/use-task-actions.ts +24 -0
  241. package/src/hooks/use-user-workspace-config.ts +75 -0
  242. package/src/hooks/use-workspace-currency.ts +8 -3
  243. package/src/hooks/useBoardPresence.ts +364 -0
  244. package/src/hooks/useBoardRealtimeEventHandler.ts +45 -90
  245. package/src/lib/workspace-actions.ts +2 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,74 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.10.0](https://github.com/tutur3u/platform/compare/ui-v0.9.0...ui-v0.10.0) (2026-06-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * **settings:** lazy load searchable settings availability ([78091c0](https://github.com/tutur3u/platform/commit/78091c0acd16609c695be80b7c47f7840a34d74a))
9
+ * **settings:** open settings dialog from sidebar ([f3d223f](https://github.com/tutur3u/platform/commit/f3d223fbe3b4ecc7c37b6f19645f6122ddfdf5b9))
10
+ * **tanstack:** migrate module youtube links ([bcbf192](https://github.com/tutur3u/platform/commit/bcbf1927802283b3447a8851b3208362e0dff822))
11
+ * **tasks:** add task progress tracking ([4cffb0f](https://github.com/tutur3u/platform/commit/4cffb0f041d41e3868481068d64b9e3b85a0011a))
12
+ * **tasks:** stabilize shared board realtime collaboration ([6028caf](https://github.com/tutur3u/platform/commit/6028caf50432fd4dcebdaa5a59284e50972b1aa3))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **settings:** resolve lazy search import for docker build ([8a6dc1b](https://github.com/tutur3u/platform/commit/8a6dc1b39fd675daaa9f9b24c60b975b044db724))
18
+ * **tasks:** align board skeleton and nav highlight ([1f20ad4](https://github.com/tutur3u/platform/commit/1f20ad4c21c607a085de6eb7dff772a077fc0fd1))
19
+ * **tasks:** canonicalize task board entry routes ([6d83864](https://github.com/tutur3u/platform/commit/6d838648e7d817cdfac6ae40f06ce3418a899bf9))
20
+ * **tasks:** default task boards to kanban ([477c12a](https://github.com/tutur3u/platform/commit/477c12aeee7644a28e6266f9c339e7ef5c3228bf))
21
+ * **tasks:** harden board task loading ([459fecf](https://github.com/tutur3u/platform/commit/459fecf66414b83bcb18f98eda9677ec3e220855))
22
+ * **tasks:** improve shared board collaboration ([fa4ca4d](https://github.com/tutur3u/platform/commit/fa4ca4d412c8f8f533ab87639b314fefc70f9107))
23
+ * **tasks:** keep pinned special lists sticky ([83ff72c](https://github.com/tutur3u/platform/commit/83ff72ce9b3fd737db666a6caef96ed2ca026fc2))
24
+ * **tasks:** match board name input surface ([2552733](https://github.com/tutur3u/platform/commit/2552733942f720bb1df0566f27753eb226115f3e))
25
+ * **tasks:** show accessible guest task boards ([3153c48](https://github.com/tutur3u/platform/commit/3153c4814e599905ea3de36b3f63e941d6bc86d9))
26
+ * **tasks:** stabilize task board loading states ([b7f4212](https://github.com/tutur3u/platform/commit/b7f4212981514fdb1f38b83be5baf7a8d2686571))
27
+ * **tasks:** support assignees on shared personal boards ([112a561](https://github.com/tutur3u/platform/commit/112a561f38cd73bf4c928117cb4d2f0b178dc7e4))
28
+ * **tasks:** support board guest assignees ([4e479aa](https://github.com/tutur3u/platform/commit/4e479aac13746a2e7c432be4f36ea87407849472))
29
+ * **teach:** harden lesson save recovery ([d56a010](https://github.com/tutur3u/platform/commit/d56a010db5d22dcfde10fc51fbcf73c7abc62268))
30
+ * **teach:** reconcile lesson editor saves ([6f2cb4f](https://github.com/tutur3u/platform/commit/6f2cb4f38c1f3b68aeadec11215066be4f7fbd78))
31
+
32
+ ## [0.9.0](https://github.com/tutur3u/platform/compare/ui-v0.8.0...ui-v0.9.0) (2026-06-24)
33
+
34
+
35
+ ### Features
36
+
37
+ * **calendar:** add configurable two-way sync ([76078d8](https://github.com/tutur3u/platform/commit/76078d865618b4970b430b08f0db7a1a8c30ffcb))
38
+ * **inventory:** surface storefront checkout sales ([c8e813c](https://github.com/tutur3u/platform/commit/c8e813caa23e7e77e94aa94c9f0059b95cd5ba1c))
39
+ * **storefront:** simplify cart and checkout ([a2d17e1](https://github.com/tutur3u/platform/commit/a2d17e1a024e11ffb76cbaa1a99e8f26a5a43aa0))
40
+ * **task-boards:** improve public board sharing UX ([930ceb4](https://github.com/tutur3u/platform/commit/930ceb49ef72fad22e3f412c2ff5648fd6b3c417))
41
+ * **tasks:** add board creation to task picker ([da82857](https://github.com/tutur3u/platform/commit/da828579f57ac65537fc538fb20692783c2b7751))
42
+ * **tasks:** add board-centered tasks entry ([cfb0dd6](https://github.com/tutur3u/platform/commit/cfb0dd689924f91f2b9b848e82c0feab89f62ab0))
43
+ * **tasks:** add deadline column controls ([524c621](https://github.com/tutur3u/platform/commit/524c62117dab6984ff0116e010341694ead6f8b5))
44
+ * **tasks:** add public board sharing ([b5a4a07](https://github.com/tutur3u/platform/commit/b5a4a0796dab947e8dca3970d6aa136a4863dd35))
45
+ * **tasks:** add shareable kanban task plans ([2de4e58](https://github.com/tutur3u/platform/commit/2de4e5819673e11b01cdc1f21c317f33dc196f56))
46
+ * **tasks:** compact kanban planner and share dialog ([381aa91](https://github.com/tutur3u/platform/commit/381aa91433aaed2936b04d34c44f13f364befe21))
47
+ * **tasks:** consolidate board task settings ([b1d720a](https://github.com/tutur3u/platform/commit/b1d720ac865406d6dd0b2477c5ba04e336de9929))
48
+ * **ui:** add theme-aware editor colors ([fde3ae9](https://github.com/tutur3u/platform/commit/fde3ae9930e1573b6a7273c95f90f41767e72c58))
49
+
50
+
51
+ ### Bug Fixes
52
+
53
+ * **calendar:** improve synced event rendering ([9bc2bee](https://github.com/tutur3u/platform/commit/9bc2beea78fe21ccd3deb5040b63a1ae4ff39aa7))
54
+ * **calendar:** preserve events across week navigation ([aa60471](https://github.com/tutur3u/platform/commit/aa604715f132f4ed4476dd4df3795f53848c360b))
55
+ * **calendar:** stabilize optimistic event sync ([fda22e1](https://github.com/tutur3u/platform/commit/fda22e1eebec28e04af0b8a2ab22d0f148c0565d))
56
+ * **ci:** address remaining PR check failures ([7eb56d5](https://github.com/tutur3u/platform/commit/7eb56d51d8d14f6e2dd22c2d4c3514a560847333))
57
+ * **tanstack:** harden public shell migration ([849c133](https://github.com/tutur3u/platform/commit/849c1334da613437dc673a8396a373ffc7767583))
58
+ * **task-boards:** align board picker icon styling ([c145770](https://github.com/tutur3u/platform/commit/c145770c0d4cf43a96db9df2fd9f14696e4b84ad))
59
+ * **task-boards:** clean up board header icons ([16673be](https://github.com/tutur3u/platform/commit/16673be22ba40205e09134e6db8225edb7db841a))
60
+ * **tasks:** polish board activity and history diffs ([cdc1c2c](https://github.com/tutur3u/platform/commit/cdc1c2cbdcc283ee30e959435b70f03e84b999de))
61
+ * **tasks:** polish board filters planner and settings loading ([2396419](https://github.com/tutur3u/platform/commit/239641941a08e243d1295231c8e2d1089902897f))
62
+ * **tasks:** polish board header settings and share ux ([fd78ac5](https://github.com/tutur3u/platform/commit/fd78ac5e5632e8897d8e124ec8c5abd26acc820b))
63
+ * **tasks:** polish board toolbar settings and activity ([e1966bb](https://github.com/tutur3u/platform/commit/e1966bb68d4900e4d5d187153f3a8942727f2127))
64
+ * **tasks:** polish board views and loading ([0b60957](https://github.com/tutur3u/platform/commit/0b6095726b6c1aaae4f794ba6cfecde4d46f0db9))
65
+ * **tasks:** polish task board loading and defaults ([7c215d3](https://github.com/tutur3u/platform/commit/7c215d3ea6b0b710247069f8616d4b7b1029147f))
66
+ * **tasks:** refine board settings and toolbar pickers ([bec77e3](https://github.com/tutur3u/platform/commit/bec77e30804bb0ff0657831e564e8dd8efeb8722))
67
+ * **tasks:** refresh kanban special columns ([3317e1d](https://github.com/tutur3u/platform/commit/3317e1d80890afa05a4d10840131b8f2d77910ec))
68
+ * **tasks:** update board header icons ([7f79c06](https://github.com/tutur3u/platform/commit/7f79c06e4a854c1489db30a6265b6aa24583cc86))
69
+ * **ui:** stabilize fullscreen dialog surfaces ([138bc7b](https://github.com/tutur3u/platform/commit/138bc7b7761151007bb097aa15350d72a92dd638))
70
+ * **web:** prevent dashboard runtime loops ([e02ae70](https://github.com/tutur3u/platform/commit/e02ae701e6905a47b7d96d51624b0a301cb1405f))
71
+
3
72
  ## [0.8.0](https://github.com/tutur3u/platform/compare/ui-v0.7.0...ui-v0.8.0) (2026-06-17)
4
73
 
5
74
 
package/biome.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "root": false,
3
- "$schema": "https://biomejs.dev/schemas/2.5.0/schema.json",
3
+ "$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
4
4
  "extends": "//"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuturuuu/ui",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,7 +14,7 @@
14
14
  "ui": "bunx shadcn-ui@latest",
15
15
  "test": "vitest run",
16
16
  "test:watch": "vitest",
17
- "type-check": "tsgo --project tsconfig.typecheck.json"
17
+ "type-check": "tsc --project tsconfig.typecheck.json"
18
18
  },
19
19
  "dependencies": {
20
20
  "@dnd-kit/core": "^6.3.1",
@@ -24,71 +24,73 @@
24
24
  "@hookform/resolvers": "^5.4.0",
25
25
  "@json-render/core": "^0.19.0",
26
26
  "@json-render/react": "^0.19.0",
27
- "@radix-ui/react-accordion": "^1.2.13",
28
- "@radix-ui/react-alert-dialog": "^1.1.16",
29
- "@radix-ui/react-aspect-ratio": "^1.1.9",
30
- "@radix-ui/react-avatar": "^1.1.12",
31
- "@radix-ui/react-checkbox": "^1.3.4",
32
- "@radix-ui/react-collapsible": "^1.1.13",
33
- "@radix-ui/react-context-menu": "^2.3.0",
34
- "@radix-ui/react-dialog": "^1.1.16",
35
- "@radix-ui/react-dropdown-menu": "^2.1.17",
36
- "@radix-ui/react-hover-card": "^1.1.16",
37
- "@radix-ui/react-label": "^2.1.9",
38
- "@radix-ui/react-menubar": "^1.1.17",
39
- "@radix-ui/react-navigation-menu": "^1.2.15",
40
- "@radix-ui/react-popover": "^1.1.16",
41
- "@radix-ui/react-progress": "^1.1.9",
42
- "@radix-ui/react-radio-group": "^1.4.0",
43
- "@radix-ui/react-scroll-area": "^1.2.11",
44
- "@radix-ui/react-select": "^2.3.0",
45
- "@radix-ui/react-separator": "^1.1.9",
46
- "@radix-ui/react-slider": "^1.4.0",
47
- "@radix-ui/react-slot": "^1.2.5",
48
- "@radix-ui/react-switch": "^1.3.0",
49
- "@radix-ui/react-tabs": "^1.1.14",
50
- "@radix-ui/react-toast": "^1.2.16",
51
- "@radix-ui/react-toggle": "^1.1.11",
52
- "@radix-ui/react-toggle-group": "^1.1.12",
53
- "@radix-ui/react-tooltip": "^1.2.9",
27
+ "@radix-ui/react-accordion": "^1.2.14",
28
+ "@radix-ui/react-alert-dialog": "^1.1.17",
29
+ "@radix-ui/react-aspect-ratio": "^1.1.10",
30
+ "@radix-ui/react-avatar": "^1.2.0",
31
+ "@radix-ui/react-checkbox": "^1.3.5",
32
+ "@radix-ui/react-collapsible": "^1.1.14",
33
+ "@radix-ui/react-context-menu": "^2.3.1",
34
+ "@radix-ui/react-dialog": "^1.1.17",
35
+ "@radix-ui/react-dropdown-menu": "^2.1.18",
36
+ "@radix-ui/react-hover-card": "^1.1.17",
37
+ "@radix-ui/react-label": "^2.1.10",
38
+ "@radix-ui/react-menubar": "^1.1.18",
39
+ "@radix-ui/react-navigation-menu": "^1.2.16",
40
+ "@radix-ui/react-popover": "^1.1.17",
41
+ "@radix-ui/react-progress": "^1.1.10",
42
+ "@radix-ui/react-radio-group": "^1.4.1",
43
+ "@radix-ui/react-scroll-area": "^1.2.12",
44
+ "@radix-ui/react-select": "^2.3.1",
45
+ "@radix-ui/react-separator": "^1.1.10",
46
+ "@radix-ui/react-slider": "^1.4.1",
47
+ "@radix-ui/react-slot": "^1.3.0",
48
+ "@radix-ui/react-switch": "^1.3.1",
49
+ "@radix-ui/react-tabs": "^1.1.15",
50
+ "@radix-ui/react-toast": "^1.2.17",
51
+ "@radix-ui/react-toggle": "^1.1.12",
52
+ "@radix-ui/react-toggle-group": "^1.1.13",
53
+ "@radix-ui/react-tooltip": "^1.2.10",
54
54
  "@streamdown/cjk": "^1.0.3",
55
55
  "@streamdown/code": "^1.1.1",
56
56
  "@streamdown/math": "^1.0.2",
57
57
  "@streamdown/mermaid": "^1.0.2",
58
58
  "@tanstack/react-hotkeys": "^0.10.0",
59
59
  "@tanstack/react-pacer": "^0.22.1",
60
- "@tanstack/react-query": "^5.101.0",
60
+ "@tanstack/react-query": "^5.101.1",
61
61
  "@tanstack/react-table": "^8.21.3",
62
- "@tanstack/react-virtual": "^3.14.2",
63
- "@tiptap/core": "3.26.1",
64
- "@tiptap/extension-collaboration": "3.26.1",
65
- "@tiptap/extension-collaboration-caret": "3.26.1",
66
- "@tiptap/extension-drag-handle-react": "3.26.1",
67
- "@tiptap/extension-highlight": "3.26.1",
68
- "@tiptap/extension-horizontal-rule": "3.26.1",
69
- "@tiptap/extension-image": "3.26.1",
70
- "@tiptap/extension-link": "3.26.1",
71
- "@tiptap/extension-list": "3.26.1",
72
- "@tiptap/extension-placeholder": "3.26.1",
73
- "@tiptap/extension-strike": "3.26.1",
74
- "@tiptap/extension-subscript": "3.26.1",
75
- "@tiptap/extension-superscript": "3.26.1",
76
- "@tiptap/extension-table": "3.26.1",
77
- "@tiptap/extension-table-cell": "3.26.1",
78
- "@tiptap/extension-table-header": "3.26.1",
79
- "@tiptap/extension-table-row": "3.26.1",
80
- "@tiptap/extension-text-align": "3.26.1",
81
- "@tiptap/extension-youtube": "3.26.1",
82
- "@tiptap/pm": "3.26.1",
83
- "@tiptap/react": "3.26.1",
84
- "@tiptap/starter-kit": "3.26.1",
62
+ "@tanstack/react-virtual": "^3.14.3",
63
+ "@tiptap/core": "3.27.1",
64
+ "@tiptap/extension-collaboration": "3.27.1",
65
+ "@tiptap/extension-collaboration-caret": "3.27.1",
66
+ "@tiptap/extension-color": "3.27.1",
67
+ "@tiptap/extension-drag-handle-react": "3.27.1",
68
+ "@tiptap/extension-highlight": "3.27.1",
69
+ "@tiptap/extension-horizontal-rule": "3.27.1",
70
+ "@tiptap/extension-image": "3.27.1",
71
+ "@tiptap/extension-link": "3.27.1",
72
+ "@tiptap/extension-list": "3.27.1",
73
+ "@tiptap/extension-placeholder": "3.27.1",
74
+ "@tiptap/extension-strike": "3.27.1",
75
+ "@tiptap/extension-subscript": "3.27.1",
76
+ "@tiptap/extension-superscript": "3.27.1",
77
+ "@tiptap/extension-table": "3.27.1",
78
+ "@tiptap/extension-table-cell": "3.27.1",
79
+ "@tiptap/extension-table-header": "3.27.1",
80
+ "@tiptap/extension-table-row": "3.27.1",
81
+ "@tiptap/extension-text-align": "3.27.1",
82
+ "@tiptap/extension-text-style": "3.27.1",
83
+ "@tiptap/extension-youtube": "3.27.1",
84
+ "@tiptap/pm": "3.27.1",
85
+ "@tiptap/react": "3.27.1",
86
+ "@tiptap/starter-kit": "3.27.1",
85
87
  "@tuturuuu/ai": "0.2.2",
86
- "@tuturuuu/apis": "0.5.0",
88
+ "@tuturuuu/apis": "0.7.0",
87
89
  "@tuturuuu/hooks": "0.0.2",
88
90
  "@tuturuuu/icons": "0.0.6",
89
- "@tuturuuu/internal-api": "0.9.0",
90
- "@tuturuuu/supabase": "0.3.4",
91
- "@tuturuuu/utils": "0.8.0",
91
+ "@tuturuuu/internal-api": "0.11.0",
92
+ "@tuturuuu/supabase": "0.4.0",
93
+ "@tuturuuu/utils": "0.10.0",
92
94
  "@types/debug": "^4.1.13",
93
95
  "browser-image-compression": "^2.0.2",
94
96
  "class-variance-authority": "^0.7.1",
@@ -100,14 +102,14 @@
100
102
  "debug": "^4.4.3",
101
103
  "embla-carousel-react": "^8.6.0",
102
104
  "eventemitter3": "^5.0.4",
103
- "framer-motion": "^12.40.0",
105
+ "framer-motion": "^12.41.0",
104
106
  "gsap": "^3.15.0",
105
- "html2canvas-pro": "^2.0.2",
107
+ "html2canvas-pro": "^2.1.1",
106
108
  "input-otp": "^1.4.2",
107
109
  "katex": "^0.17.0",
108
110
  "lodash": "4.18.1",
109
111
  "moment": "^2.30.1",
110
- "motion": "^12.40.0",
112
+ "motion": "^12.41.0",
111
113
  "next": "^16.2.9",
112
114
  "next-intl": "^4.13.0",
113
115
  "next-themes": "^0.4.6",
@@ -119,14 +121,14 @@
119
121
  "react-day-picker": "^10.0.1",
120
122
  "react-dom": "^19.2.7",
121
123
  "react-dropzone": "^15.0.0",
122
- "react-hook-form": "^7.79.0",
124
+ "react-hook-form": "^7.80.0",
123
125
  "react-markdown": "^10.1.0",
124
126
  "react-papaparse": "^4.4.0",
125
127
  "react-pdf": "^10.4.1",
126
- "react-resizable": "^4.0.1",
128
+ "react-resizable": "^4.0.2",
127
129
  "react-resizable-panels": "^4.11.0",
128
130
  "react-syntax-highlighter": "^16.1.1",
129
- "recharts": "3.8.1",
131
+ "recharts": "3.9.0",
130
132
  "sonner": "^2.0.7",
131
133
  "streamdown": "^2.5.0",
132
134
  "tailwind-scrollbar": "^4.0.2",
@@ -143,32 +145,32 @@
143
145
  "devDependencies": {
144
146
  "@tailwindcss/postcss": "^4.3.1",
145
147
  "@tailwindcss/typography": "^0.5.20",
146
- "@tanstack/react-query": "^5.101.0",
148
+ "@tanstack/react-query": "^5.101.1",
147
149
  "@tanstack/react-table": "^8.21.3",
148
150
  "@testing-library/jest-dom": "^6.9.1",
149
151
  "@testing-library/react": "^16.3.2",
150
- "@tuturuuu/types": "0.10.0",
152
+ "@tuturuuu/types": "0.12.0",
151
153
  "@tuturuuu/typescript-config": "0.1.1",
152
154
  "@types/html2canvas": "^1.0.0",
153
155
  "@types/lodash": "^4.17.24",
154
- "@types/node": "^25.9.3",
156
+ "@types/node": "^26.0.0",
155
157
  "@types/react": "^19.2.17",
156
158
  "@types/react-dom": "^19.2.3",
157
159
  "@types/react-resizable": "^4.0.0",
158
160
  "@types/react-syntax-highlighter": "^15.5.13",
159
161
  "@types/uuid": "^11.0.0",
160
- "@vitejs/plugin-react": "^6.0.2",
162
+ "@vitejs/plugin-react": "^6.0.3",
161
163
  "autoprefixer": "^10.5.0",
162
164
  "jsdom": "^29.1.1",
163
165
  "postcss": "^8.5.14",
164
166
  "postcss-load-config": "^6.0.1",
165
167
  "tailwindcss": "^4.3.1",
166
- "typescript": "^6.0.3",
167
- "uuid": "^14.0.0",
168
- "vitest": "^4.1.8"
168
+ "typescript": "7.0.1-rc",
169
+ "uuid": "^14.0.1",
170
+ "vitest": "^4.1.9"
169
171
  },
170
172
  "peerDependencies": {
171
- "@tanstack/react-query": "^5.101.0",
173
+ "@tanstack/react-query": "^5.101.1",
172
174
  "@tanstack/react-table": "^8.21.3"
173
175
  },
174
176
  "exports": {
@@ -303,6 +305,7 @@
303
305
  "./tu-do/initiatives/*": "./src/components/ui/tu-do/initiatives/*.tsx",
304
306
  "./tu-do/cycles/*": "./src/components/ui/tu-do/cycles/*.tsx",
305
307
  "./tu-do/logs/*": "./src/components/ui/tu-do/logs/*.tsx",
308
+ "./tu-do/progress/*": "./src/components/ui/tu-do/progress/*.tsx",
306
309
  "./tu-do/templates/types": {
307
310
  "types": "./src/components/ui/tu-do/templates/types.ts",
308
311
  "import": "./src/components/ui/tu-do/templates/types.ts"
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
4
- import { ChevronDownIcon } from '@tuturuuu/icons';
4
+ import { ChevronDownIcon } from '@tuturuuu/icons/lucide-static';
5
5
  import { cn } from '@tuturuuu/utils/format';
6
6
  import type * as React from 'react';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { Slot } from '@radix-ui/react-slot';
2
- import { ChevronRight, MoreHorizontal } from '@tuturuuu/icons';
2
+ import { ChevronRight, MoreHorizontal } from '@tuturuuu/icons/lucide-static';
3
3
  import { cn } from '@tuturuuu/utils/format';
4
4
  import type * as React from 'react';
5
5
 
@@ -5,6 +5,7 @@ import type {
5
5
  } from '@tuturuuu/types';
6
6
  import { CalendarSyncProvider } from '@tuturuuu/ui/hooks/use-calendar-sync';
7
7
  import { TaskDialogWrapper } from '@tuturuuu/ui/tu-do/shared/task-dialog-wrapper';
8
+ import type { ExtendedWorkspaceTask } from '../time-tracker/types';
8
9
  import { CalendarClientPage } from './calendar-client-page';
9
10
  import TasksSidebar from './components/tasks-sidebar';
10
11
 
@@ -14,6 +15,7 @@ interface CalendarPageShellProps {
14
15
  experimentalGoogleToken?: WorkspaceCalendarGoogleTokenClient | null;
15
16
  isPersonalWorkspace: boolean;
16
17
  locale: string;
18
+ smartSchedulingTasks?: ExtendedWorkspaceTask[];
17
19
  userId: string;
18
20
  workspace: Workspace;
19
21
  }
@@ -24,6 +26,7 @@ export function CalendarPageShell({
24
26
  experimentalGoogleToken,
25
27
  isPersonalWorkspace,
26
28
  locale,
29
+ smartSchedulingTasks = [],
27
30
  userId,
28
31
  workspace,
29
32
  }: CalendarPageShellProps) {
@@ -48,6 +51,7 @@ export function CalendarPageShell({
48
51
  resolvedWsId={workspace.id}
49
52
  locale={locale}
50
53
  userId={userId}
54
+ tasks={smartSchedulingTasks}
51
55
  />
52
56
  )}
53
57
  </div>