@tuturuuu/ui 0.1.0 → 0.3.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 (128) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/package.json +82 -70
  3. package/src/components/ui/__tests__/avatar.test.tsx +8 -5
  4. package/src/components/ui/calendar-app/components/calendar-connections-compact.tsx +414 -0
  5. package/src/components/ui/calendar-app/components/calendar-connections-manager.tsx +5 -1
  6. package/src/components/ui/calendar-app/components/calendar-connections-settings-content.tsx +529 -0
  7. package/src/components/ui/calendar-app/components/calendar-connections-unified.tsx +26 -1429
  8. package/src/components/ui/calendar-app/components/use-calendar-connections-manager.ts +711 -0
  9. package/src/components/ui/chart.test.tsx +29 -0
  10. package/src/components/ui/chart.tsx +12 -3
  11. package/src/components/ui/chat/chat-agent-details-external-thread-panel.test.tsx +43 -13
  12. package/src/components/ui/chat/chat-agent-details-external-thread-panel.tsx +138 -74
  13. package/src/components/ui/chat/chat-agent-details-operations-panel.test.tsx +70 -0
  14. package/src/components/ui/chat/chat-agent-details-operations-panel.tsx +60 -1
  15. package/src/components/ui/chat/chat-agent-details-sidebar.tsx +13 -5
  16. package/src/components/ui/chat/chat-sidebar-panel.test.tsx +110 -0
  17. package/src/components/ui/chat/chat-sidebar-panel.tsx +13 -3
  18. package/src/components/ui/custom/__tests__/settings-dialog-shell.test.tsx +24 -1
  19. package/src/components/ui/custom/__tests__/tuturuuu-logo.test.ts +12 -3
  20. package/src/components/ui/custom/__tests__/workspace-select-helpers.test.ts +39 -0
  21. package/src/components/ui/custom/common-footer.tsx +16 -1
  22. package/src/components/ui/custom/production-indicator.tsx +1 -1
  23. package/src/components/ui/custom/settings/sidebar-settings.tsx +1 -1
  24. package/src/components/ui/custom/settings/task-settings.tsx +18 -0
  25. package/src/components/ui/custom/settings-dialog-shell.tsx +38 -23
  26. package/src/components/ui/custom/sidebar-context-compile-graph.test.ts +60 -0
  27. package/src/components/ui/custom/sidebar-context.tsx +61 -61
  28. package/src/components/ui/custom/sidebar-remote-behavior-bridge.tsx +123 -0
  29. package/src/components/ui/custom/tuturuuu-logo-urls.ts +6 -0
  30. package/src/components/ui/custom/tuturuuu-logo.tsx +25 -7
  31. package/src/components/ui/custom/workspace-select-helpers.ts +20 -0
  32. package/src/components/ui/custom/workspace-select.tsx +33 -12
  33. package/src/components/ui/finance/invoices/components/invoice-checkout-summary.tsx +7 -1
  34. package/src/components/ui/finance/invoices/components/invoice-payment-settings.tsx +3 -0
  35. package/src/components/ui/finance/invoices/components/invoice-products-permission-warning.tsx +58 -0
  36. package/src/components/ui/finance/invoices/components/subscription-group-selector.tsx +12 -20
  37. package/src/components/ui/finance/invoices/hooks/use-subscription-auto-selection.ts +10 -9
  38. package/src/components/ui/finance/invoices/hooks/use-subscription-invoice-content.ts +10 -5
  39. package/src/components/ui/finance/invoices/hooks.ts +75 -20
  40. package/src/components/ui/finance/invoices/new-invoice-page.test.tsx +137 -0
  41. package/src/components/ui/finance/invoices/new-invoice-page.tsx +86 -37
  42. package/src/components/ui/finance/invoices/product-selection.test.tsx +8 -26
  43. package/src/components/ui/finance/invoices/product-selection.tsx +2 -10
  44. package/src/components/ui/finance/invoices/standard-invoice.tsx +88 -26
  45. package/src/components/ui/finance/invoices/subscription-invoice.tsx +154 -46
  46. package/src/components/ui/finance/invoices/utils.test.ts +50 -0
  47. package/src/components/ui/finance/invoices/utils.ts +75 -17
  48. package/src/components/ui/finance/shared/finance-display-amount.tsx +3 -1
  49. package/src/components/ui/finance/shared/finance-permission-warning-dialog.test.tsx +34 -0
  50. package/src/components/ui/finance/shared/finance-permission-warning-dialog.tsx +157 -0
  51. package/src/components/ui/finance/transactions/form-basic-tab.tsx +8 -0
  52. package/src/components/ui/finance/transactions/form-more-tab.tsx +8 -0
  53. package/src/components/ui/finance/transactions/form-types.ts +2 -0
  54. package/src/components/ui/finance/transactions/form.test.tsx +43 -0
  55. package/src/components/ui/finance/transactions/form.tsx +60 -0
  56. package/src/components/ui/finance/transactions/infinite-transactions-list.tsx +27 -0
  57. package/src/components/ui/finance/transactions/transactions-create-summary.tsx +13 -1
  58. package/src/components/ui/finance/transactions/transactions-infinite-page.tsx +4 -0
  59. package/src/components/ui/finance/transactions/transactions-page.tsx +23 -1
  60. package/src/components/ui/finance/wallets/walletId/wallet-details-actions.tsx +4 -0
  61. package/src/components/ui/finance/wallets/walletId/wallet-details-page.tsx +5 -0
  62. package/src/components/ui/legacy/calendar/calendar-content.tsx +9 -1
  63. package/src/components/ui/legacy/calendar/event-modal.tsx +146 -2
  64. package/src/components/ui/legacy/calendar/event-preview-popover.tsx +200 -0
  65. package/src/components/ui/legacy/calendar/smart-calendar.test.tsx +76 -0
  66. package/src/components/ui/legacy/calendar/smart-calendar.tsx +13 -1
  67. package/src/components/ui/legacy/meet/page.test.ts +180 -0
  68. package/src/components/ui/legacy/meet/page.tsx +87 -39
  69. package/src/components/ui/legacy/meet/planId/page.tsx +10 -4
  70. package/src/components/ui/text-editor/__tests__/task-mention-chip.test.tsx +203 -6
  71. package/src/components/ui/text-editor/task-mention-chip.tsx +29 -7
  72. package/src/components/ui/tu-do/boards/boardId/board-column.tsx +79 -25
  73. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/__tests__/bulk-mutations-external-workspaces.test.tsx +392 -0
  74. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-actions-island.test.tsx +57 -0
  75. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-actions-island.tsx +106 -0
  76. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-clear-delete.ts +106 -161
  77. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-relations-assignees.ts +96 -150
  78. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-relations-labels.ts +63 -79
  79. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-relations-projects.ts +64 -83
  80. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-mutations-updates.ts +115 -155
  81. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-operation-utils.ts +319 -2
  82. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-operations.ts +8 -1
  83. package/src/components/ui/tu-do/boards/boardId/kanban/dnd/use-kanban-dnd.ts +63 -37
  84. package/src/components/ui/tu-do/boards/boardId/kanban/kanban-column-collapse.ts +16 -0
  85. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-columns.test.tsx +46 -0
  86. package/src/components/ui/tu-do/boards/boardId/kanban/rendering/kanban-columns.tsx +5 -3
  87. package/src/components/ui/tu-do/boards/boardId/kanban.tsx +19 -7
  88. package/src/components/ui/tu-do/boards/boardId/menus/__tests__/task-menus.test.tsx +181 -2
  89. package/src/components/ui/tu-do/boards/boardId/menus/index.ts +1 -0
  90. package/src/components/ui/tu-do/boards/boardId/menus/task-scheduling-menu.tsx +463 -0
  91. package/src/components/ui/tu-do/boards/boardId/menus/task-scheduling-utils.ts +109 -0
  92. package/src/components/ui/tu-do/boards/boardId/task-board-server-page.tsx +4 -0
  93. package/src/components/ui/tu-do/boards/boardId/task-card/TaskCardCheckbox.tsx +6 -3
  94. package/src/components/ui/tu-do/boards/boardId/task-card/TaskCardDates.tsx +26 -9
  95. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-checkbox-style.ts +39 -0
  96. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-comparator.test.ts +43 -0
  97. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-comparator.ts +33 -0
  98. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-completion-checkbox-visibility.test.ts +31 -0
  99. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-completion-checkbox-visibility.ts +9 -0
  100. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-identifier-row.test.tsx +124 -0
  101. package/src/components/ui/tu-do/boards/boardId/task-card/task-card-identifier-row.tsx +88 -0
  102. package/src/components/ui/tu-do/boards/boardId/task-card/task-card.tsx +151 -76
  103. package/src/components/ui/tu-do/boards/boardId/task-card/task-scheduling-badge.tsx +174 -0
  104. package/src/components/ui/tu-do/providers/task-dialog-provider.tsx +34 -13
  105. package/src/components/ui/tu-do/shared/__tests__/board-client.test.tsx +54 -1
  106. package/src/components/ui/tu-do/shared/__tests__/board-views.test.tsx +158 -0
  107. package/src/components/ui/tu-do/shared/__tests__/task-dialog-manager.test.tsx +5 -2
  108. package/src/components/ui/tu-do/shared/board-client.tsx +12 -2
  109. package/src/components/ui/tu-do/shared/board-views.tsx +195 -328
  110. package/src/components/ui/tu-do/shared/list-view.tsx +18 -8
  111. package/src/components/ui/tu-do/shared/task-due-date-visibility.test.ts +72 -0
  112. package/src/components/ui/tu-do/shared/task-due-date-visibility.ts +38 -0
  113. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/__tests__/use-task-realtime-sync.test.tsx +37 -9
  114. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-mutations.ts +6 -3
  115. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-realtime-sync.ts +89 -70
  116. package/src/components/ui/tu-do/shared/task-edit-dialog/hooks/use-task-save.ts +2 -2
  117. package/src/components/ui/tu-do/shared/task-row-actions-menu.tsx +33 -0
  118. package/src/hooks/__tests__/use-calendar-readonly.test.tsx +74 -3
  119. package/src/hooks/__tests__/use-task-actions.test.tsx +118 -0
  120. package/src/hooks/__tests__/use-user-config.test.tsx +65 -0
  121. package/src/hooks/__tests__/use-workspace-presence.test.tsx +1 -1
  122. package/src/hooks/use-calendar-sync.tsx +22 -277
  123. package/src/hooks/use-calendar.tsx +95 -525
  124. package/src/hooks/use-task-actions.ts +43 -117
  125. package/src/hooks/use-user-config.ts +1 -1
  126. package/src/hooks/use-workspace-config.ts +6 -2
  127. package/src/hooks/use-workspace-presence.ts +1 -1
  128. package/src/components/ui/tu-do/boards/boardId/kanban/bulk/bulk-actions-bar.tsx +0 -94
package/CHANGELOG.md CHANGED
@@ -1,5 +1,76 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.1](https://github.com/tutur3u/platform/compare/ui-v0.3.0...ui-v0.3.1) (2026-06-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **finance:** reduce invoice create read fanout ([69ae9e9](https://github.com/tutur3u/platform/commit/69ae9e904ce6c6d06085e05ffa17ec59a80ee451))
9
+
10
+ ## [0.3.0](https://github.com/tutur3u/platform/compare/ui-v0.2.0...ui-v0.3.0) (2026-06-08)
11
+
12
+
13
+ ### Features
14
+
15
+ * **calendar:** unify provider sync and connections UX ([5db53aa](https://github.com/tutur3u/platform/commit/5db53aa5d5d0ce915c2357cecc89e13b0c2af614))
16
+ * **platform:** add calendar sources and personal Zalo agents ([2746e72](https://github.com/tutur3u/platform/commit/2746e7297a43def06c3c2f12b7751dea94074113))
17
+ * **settings:** add fullscreen settings sheet ([809c78e](https://github.com/tutur3u/platform/commit/809c78e6a38ce1623249540e846c63d26cd8d3b9))
18
+ * **tasks:** show duration and quick scheduling menu ([9443183](https://github.com/tutur3u/platform/commit/944318327515269a5dce8b1c1ececb28823b0767))
19
+ * **web:** add UI component showcase ([8fcbc6b](https://github.com/tutur3u/platform/commit/8fcbc6b4b64c3f9e9da5eb2ddd6d504a83dd2ec4))
20
+ * **web:** merge UI component showcase ([5f4e840](https://github.com/tutur3u/platform/commit/5f4e840960a114952d728b88caf914d2e05959b3))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **auth:** preserve satellite Supabase sessions ([a8b49bb](https://github.com/tutur3u/platform/commit/a8b49bb2d29f42b4a0267aadd5d2e2fd1074aeab))
26
+ * **auth:** support supabase-first satellite sessions ([b014fcf](https://github.com/tutur3u/platform/commit/b014fcf6db8218a1b54fd79f5e13629f66cad090))
27
+ * **ci:** harden workflow guardrails ([2e646c2](https://github.com/tutur3u/platform/commit/2e646c29079380ef49b238f39305058174c4e9f1))
28
+ * **ci:** stabilize current test workflows ([43f6022](https://github.com/tutur3u/platform/commit/43f60220645246ea4a423b0417169203e9345b2f))
29
+ * **finance:** restore subscription checkout flow ([1e4cf62](https://github.com/tutur3u/platform/commit/1e4cf62e4c80f15e5c25feeb2b4ff3ab659edd72))
30
+ * **finance:** restore subscription invoice auto-products ([515f449](https://github.com/tutur3u/platform/commit/515f4499f8eb057e3dd4fb43a85186a31cbac106))
31
+ * **tasks:** hydrate task scheduling settings ([e5d0a1f](https://github.com/tutur3u/platform/commit/e5d0a1f70e8ae7686b3f6dc169374029e2af5a68))
32
+ * **tasks:** improve kanban bulk actions ([b7c313c](https://github.com/tutur3u/platform/commit/b7c313c30d29b9cd090de396c29979676bdb9d95))
33
+ * **tasks:** polish kanban bulk selection ([3a29ce7](https://github.com/tutur3u/platform/commit/3a29ce7ea73c2bdf79e8a9908c0e70299caa3053))
34
+ * **tasks:** reconcile review dates and drag state ([176dcd3](https://github.com/tutur3u/platform/commit/176dcd305d8292e5cf1a2178bfe759b1074bcb54))
35
+ * **tasks:** reduce task board rate limit churn ([de0931f](https://github.com/tutur3u/platform/commit/de0931fe7c1865cbf5c396551b7469fc6bd25e5b))
36
+ * **tasks:** refresh selected cards for bulk actions ([fe0532c](https://github.com/tutur3u/platform/commit/fe0532cada53449e0042eaa59eb4de6b80b04bf3))
37
+ * **tasks:** route bulk actions to source workspaces ([3f4a024](https://github.com/tutur3u/platform/commit/3f4a0248c67eb8b9db16ea00c85d1865ded491c1))
38
+ * **tasks:** save scheduling settings through user route ([c282def](https://github.com/tutur3u/platform/commit/c282def601c1fc28ccc48f2d60a9313094dd6acc))
39
+ * **ui:** defer responsive chart rendering ([6fd38e9](https://github.com/tutur3u/platform/commit/6fd38e93e9d4d9ed0258c59abd5cf2e992ec8bf9))
40
+ * **ui:** export shared button and sonner entries ([ede3e9c](https://github.com/tutur3u/platform/commit/ede3e9c4e2a6bf902478124c9a977412fa2ed9ca))
41
+ * **ui:** preserve Supabase avatar urls ([a8550bb](https://github.com/tutur3u/platform/commit/a8550bb3351b6b04a54e619bfa29653797d5c38b))
42
+ * **ui:** remove stale sidebar import suppression ([65a9383](https://github.com/tutur3u/platform/commit/65a938320415bf1ce13620eb95b35db959eacc6c))
43
+ * **users:** restore referral search updates ([1703c46](https://github.com/tutur3u/platform/commit/1703c4603f95bfb266dac2f121825c056781d8fa))
44
+ * **web:** stabilize local login development ([37f660e](https://github.com/tutur3u/platform/commit/37f660e0d2d1fe3a9f02e38a96f04272e87355df))
45
+ * **web:** use local footer logo in dev ([f45ed5c](https://github.com/tutur3u/platform/commit/f45ed5cef2278f85d35bbcd2af76555e53b3a616))
46
+ * **web:** use local workspace logo fallback ([d32bee7](https://github.com/tutur3u/platform/commit/d32bee79537bdf69e17c0734a55d40591ae15fe9))
47
+
48
+
49
+ ### Performance Improvements
50
+
51
+ * **tasks:** filter task boards through server RPCs ([657f445](https://github.com/tutur3u/platform/commit/657f4458cd40c2e31774c7d9ef0628f986af1838))
52
+ * **ui:** defer sidebar preference sync ([c476b81](https://github.com/tutur3u/platform/commit/c476b818bc5b5c08067317884c530c87b46ac7e9))
53
+ * **web:** improve local dev compile speed ([b9df46e](https://github.com/tutur3u/platform/commit/b9df46e9cbd8f3189d074229dc0f26da2670e8ed))
54
+ * **web:** trim dashboard workspace compile graph ([9b7296d](https://github.com/tutur3u/platform/commit/9b7296d648f9e0239d2640d6bd67207c2e01ac06))
55
+
56
+ ## [0.2.0](https://github.com/tutur3u/platform/compare/ui-v0.1.0...ui-v0.2.0) (2026-06-03)
57
+
58
+
59
+ ### Features
60
+
61
+ * **chat:** add generated titles and personal sections ([10234b4](https://github.com/tutur3u/platform/commit/10234b4b8d48eb44828b89f86b7fcf59d587432e))
62
+
63
+
64
+ ### Bug Fixes
65
+
66
+ * **chat:** restore title generation and pagination ([f85df59](https://github.com/tutur3u/platform/commit/f85df59fba274c694fd38a991607e8d263ae1af3))
67
+ * **chat:** support ai-agent title and gateway verification ([296cd07](https://github.com/tutur3u/platform/commit/296cd0727b56b8b2440e6877932c74fcad07e800))
68
+ * **meet:** protect workspace plan detail pages ([2574e45](https://github.com/tutur3u/platform/commit/2574e45d5a44db3425438233794bd620abfec778))
69
+ * **release:** repair package publishing metadata ([88d9a6d](https://github.com/tutur3u/platform/commit/88d9a6dcc3556b1d1aa677c0592a1e1901a389e3))
70
+ * **ui:** bind stale task mentions to route workspace ([344773f](https://github.com/tutur3u/platform/commit/344773f7b3b04634a11423c8c31c95fefa0ec437))
71
+ * **ui:** refetch task dialog broadcast updates ([d7259b6](https://github.com/tutur3u/platform/commit/d7259b61daa33cb933df0c68222f43352e31b743))
72
+ * **ui:** scope task mention resolution cache ([ef60769](https://github.com/tutur3u/platform/commit/ef607698f220a8e798ef797ffc90690b1711b3bd))
73
+
3
74
  ## [0.1.0](https://github.com/tutur3u/platform/compare/ui-v0.0.4...ui-v0.1.0) (2026-06-02)
4
75
 
5
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuturuuu/ui",
3
- "version": "0.1.0",
3
+ "version": "0.3.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,72 +24,72 @@
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.12",
28
- "@radix-ui/react-alert-dialog": "^1.1.15",
29
- "@radix-ui/react-aspect-ratio": "^1.1.8",
30
- "@radix-ui/react-avatar": "^1.1.11",
31
- "@radix-ui/react-checkbox": "^1.3.3",
32
- "@radix-ui/react-collapsible": "^1.1.12",
33
- "@radix-ui/react-context-menu": "^2.2.16",
34
- "@radix-ui/react-dialog": "^1.1.15",
35
- "@radix-ui/react-dropdown-menu": "^2.1.16",
36
- "@radix-ui/react-hover-card": "^1.1.15",
37
- "@radix-ui/react-label": "^2.1.8",
38
- "@radix-ui/react-menubar": "^1.1.16",
39
- "@radix-ui/react-navigation-menu": "^1.2.14",
40
- "@radix-ui/react-popover": "^1.1.15",
41
- "@radix-ui/react-progress": "^1.1.8",
42
- "@radix-ui/react-radio-group": "^1.3.8",
43
- "@radix-ui/react-scroll-area": "^1.2.10",
44
- "@radix-ui/react-select": "^2.2.6",
45
- "@radix-ui/react-separator": "^1.1.8",
46
- "@radix-ui/react-slider": "^1.3.6",
47
- "@radix-ui/react-slot": "^1.2.4",
48
- "@radix-ui/react-switch": "^1.2.6",
49
- "@radix-ui/react-tabs": "^1.1.13",
50
- "@radix-ui/react-toast": "^1.2.15",
51
- "@radix-ui/react-toggle": "^1.1.10",
52
- "@radix-ui/react-toggle-group": "^1.1.11",
53
- "@radix-ui/react-tooltip": "^1.2.8",
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",
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.100.11",
60
+ "@tanstack/react-query": "^5.101.0",
61
61
  "@tanstack/react-table": "^8.21.3",
62
- "@tanstack/react-virtual": "^3.13.25",
63
- "@tiptap/core": "3.24.0",
64
- "@tiptap/extension-collaboration": "3.24.0",
65
- "@tiptap/extension-collaboration-caret": "3.24.0",
66
- "@tiptap/extension-drag-handle-react": "3.24.0",
67
- "@tiptap/extension-highlight": "3.24.0",
68
- "@tiptap/extension-horizontal-rule": "3.24.0",
69
- "@tiptap/extension-image": "3.24.0",
70
- "@tiptap/extension-link": "3.24.0",
71
- "@tiptap/extension-list": "3.24.0",
72
- "@tiptap/extension-placeholder": "3.24.0",
73
- "@tiptap/extension-strike": "3.24.0",
74
- "@tiptap/extension-subscript": "3.24.0",
75
- "@tiptap/extension-superscript": "3.24.0",
76
- "@tiptap/extension-table": "3.24.0",
77
- "@tiptap/extension-table-cell": "3.24.0",
78
- "@tiptap/extension-table-header": "3.24.0",
79
- "@tiptap/extension-table-row": "3.24.0",
80
- "@tiptap/extension-text-align": "3.24.0",
81
- "@tiptap/extension-youtube": "3.24.0",
82
- "@tiptap/pm": "3.24.0",
83
- "@tiptap/react": "3.24.0",
84
- "@tiptap/starter-kit": "3.24.0",
85
- "@tuturuuu/ai": "workspace:*",
86
- "@tuturuuu/apis": "workspace:*",
87
- "@tuturuuu/hooks": "workspace:*",
88
- "@tuturuuu/icons": "workspace:*",
89
- "@tuturuuu/internal-api": "workspace:*",
90
- "@tuturuuu/supabase": "workspace:*",
91
- "@tuturuuu/trigger": "workspace:*",
92
- "@tuturuuu/utils": "workspace:*",
62
+ "@tanstack/react-virtual": "^3.14.2",
63
+ "@tiptap/core": "3.26.0",
64
+ "@tiptap/extension-collaboration": "3.26.0",
65
+ "@tiptap/extension-collaboration-caret": "3.26.0",
66
+ "@tiptap/extension-drag-handle-react": "3.26.0",
67
+ "@tiptap/extension-highlight": "3.26.0",
68
+ "@tiptap/extension-horizontal-rule": "3.26.0",
69
+ "@tiptap/extension-image": "3.26.0",
70
+ "@tiptap/extension-link": "3.26.0",
71
+ "@tiptap/extension-list": "3.26.0",
72
+ "@tiptap/extension-placeholder": "3.26.0",
73
+ "@tiptap/extension-strike": "3.26.0",
74
+ "@tiptap/extension-subscript": "3.26.0",
75
+ "@tiptap/extension-superscript": "3.26.0",
76
+ "@tiptap/extension-table": "3.26.0",
77
+ "@tiptap/extension-table-cell": "3.26.0",
78
+ "@tiptap/extension-table-header": "3.26.0",
79
+ "@tiptap/extension-table-row": "3.26.0",
80
+ "@tiptap/extension-text-align": "3.26.0",
81
+ "@tiptap/extension-youtube": "3.26.0",
82
+ "@tiptap/pm": "3.26.0",
83
+ "@tiptap/react": "3.26.0",
84
+ "@tiptap/starter-kit": "3.26.0",
85
+ "@tuturuuu/ai": "0.1.0",
86
+ "@tuturuuu/apis": "0.0.12",
87
+ "@tuturuuu/hooks": "0.0.1",
88
+ "@tuturuuu/icons": "0.0.5",
89
+ "@tuturuuu/internal-api": "0.2.1",
90
+ "@tuturuuu/supabase": "0.3.1",
91
+ "@tuturuuu/trigger": "0.2.0",
92
+ "@tuturuuu/utils": "0.3.1",
93
93
  "@types/debug": "^4.1.13",
94
94
  "browser-image-compression": "^2.0.2",
95
95
  "class-variance-authority": "^0.7.1",
@@ -109,16 +109,16 @@
109
109
  "lodash": "^4.18.1",
110
110
  "moment": "^2.30.1",
111
111
  "motion": "^12.40.0",
112
- "next": "^16.2.6",
112
+ "next": "^16.2.7",
113
113
  "next-intl": "^4.13.0",
114
114
  "next-themes": "^0.4.6",
115
115
  "nuqs": "^2.8.9",
116
116
  "prosemirror-state": "^1.4.4",
117
117
  "qrcode.react": "^4.2.0",
118
- "react": "^19.2.6",
118
+ "react": "^19.2.7",
119
119
  "react-colorful": "^5.7.0",
120
120
  "react-day-picker": "^10.0.1",
121
- "react-dom": "^19.2.6",
121
+ "react-dom": "^19.2.7",
122
122
  "react-dropzone": "^15.0.0",
123
123
  "react-hook-form": "^7.77.0",
124
124
  "react-markdown": "^10.1.0",
@@ -133,7 +133,7 @@
133
133
  "tailwind-scrollbar": "^4.0.2",
134
134
  "tailwind-scrollbar-hide": "^4.0.0",
135
135
  "tailwindcss-animate": "^1.0.7",
136
- "tiptap-extension-resize-image": "^1.4.0",
136
+ "tiptap-extension-resize-image": "^1.4.3",
137
137
  "use-debounce": "^10.1.1",
138
138
  "vaul": "^1.1.2",
139
139
  "xlsx": "file:vendor/xlsx-0.20.3.tgz",
@@ -144,16 +144,16 @@
144
144
  "devDependencies": {
145
145
  "@tailwindcss/postcss": "^4.3.0",
146
146
  "@tailwindcss/typography": "^0.5.19",
147
- "@tanstack/react-query": "^5.100.11",
147
+ "@tanstack/react-query": "^5.101.0",
148
148
  "@tanstack/react-table": "^8.21.3",
149
149
  "@testing-library/jest-dom": "^6.9.1",
150
150
  "@testing-library/react": "^16.3.2",
151
- "@tuturuuu/types": "workspace:*",
152
- "@tuturuuu/typescript-config": "workspace:*",
151
+ "@tuturuuu/types": "0.4.1",
152
+ "@tuturuuu/typescript-config": "0.1.1",
153
153
  "@types/html2canvas": "^1.0.0",
154
154
  "@types/lodash": "^4.17.24",
155
- "@types/node": "^25.9.1",
156
- "@types/react": "^19.2.15",
155
+ "@types/node": "^25.9.2",
156
+ "@types/react": "^19.2.17",
157
157
  "@types/react-dom": "^19.2.3",
158
158
  "@types/react-resizable": "^4.0.0",
159
159
  "@types/react-syntax-highlighter": "^15.5.13",
@@ -169,7 +169,7 @@
169
169
  "vitest": "^4.1.8"
170
170
  },
171
171
  "peerDependencies": {
172
- "@tanstack/react-query": "^5.100.11",
172
+ "@tanstack/react-query": "^5.101.0",
173
173
  "@tanstack/react-table": "^8.21.3"
174
174
  },
175
175
  "exports": {
@@ -179,6 +179,10 @@
179
179
  "types": "./src/components/ui/badge.tsx",
180
180
  "import": "./src/components/ui/badge.tsx"
181
181
  },
182
+ "./button": {
183
+ "types": "./src/components/ui/button.tsx",
184
+ "import": "./src/components/ui/button.tsx"
185
+ },
182
186
  "./command": {
183
187
  "types": "./src/components/ui/command.tsx",
184
188
  "import": "./src/components/ui/command.tsx"
@@ -199,6 +203,10 @@
199
203
  "types": "./src/components/ui/sheet.tsx",
200
204
  "import": "./src/components/ui/sheet.tsx"
201
205
  },
206
+ "./sonner": {
207
+ "types": "./src/components/ui/sonner.tsx",
208
+ "import": "./src/components/ui/sonner.tsx"
209
+ },
202
210
  "./hooks/use-board-actions": "./src/hooks/use-board-actions.ts",
203
211
  "./hooks/*": "./src/hooks/*.ts",
204
212
  "./hooks/time-blocking-provider": "./src/hooks/time-blocking-provider.tsx",
@@ -361,6 +369,10 @@
361
369
  "types": "./src/components/ui/custom/tuturuuu-logo.tsx",
362
370
  "import": "./src/components/ui/custom/tuturuuu-logo.tsx"
363
371
  },
372
+ "./custom/tuturuuu-logo-urls": {
373
+ "types": "./src/components/ui/custom/tuturuuu-logo-urls.ts",
374
+ "import": "./src/components/ui/custom/tuturuuu-logo-urls.ts"
375
+ },
364
376
  "./custom/workspace-select": {
365
377
  "types": "./src/components/ui/custom/workspace-select.tsx",
366
378
  "import": "./src/components/ui/custom/workspace-select.tsx"
@@ -19,22 +19,25 @@ vi.mock('@radix-ui/react-avatar', () => ({
19
19
  ),
20
20
  }));
21
21
 
22
- const BROKEN_SUPABASE_AVATAR_URL =
22
+ const SUPABASE_PUBLIC_BARE_UUID_AVATAR_URL =
23
23
  'https://yjbjpmwbfimjcdsjxfst.supabase.co/storage/v1/object/public/avatars/bbaf2747-4452-4b56-910d-0b313f49843e';
24
24
 
25
25
  describe('AvatarImage', () => {
26
- it('omits broken Supabase bare-UUID avatar URLs so fallback can render', () => {
26
+ it('keeps full Supabase public avatar URLs on their original project', () => {
27
27
  render(
28
28
  <Avatar>
29
- <AvatarImage alt="Broken avatar" src={BROKEN_SUPABASE_AVATAR_URL} />
29
+ <AvatarImage
30
+ alt="Supabase avatar"
31
+ src={SUPABASE_PUBLIC_BARE_UUID_AVATAR_URL}
32
+ />
30
33
  <AvatarFallback>AV</AvatarFallback>
31
34
  </Avatar>
32
35
  );
33
36
 
34
37
  expect(screen.getByText('AV')).toBeInTheDocument();
35
38
  expect(
36
- screen.getByRole('img', { name: 'Broken avatar' })
37
- ).not.toHaveAttribute('data-src');
39
+ screen.getByRole('img', { name: 'Supabase avatar' })
40
+ ).toHaveAttribute('data-src', SUPABASE_PUBLIC_BARE_UUID_AVATAR_URL);
38
41
  });
39
42
 
40
43
  it('keeps valid avatar URLs', () => {