@btst/stack 1.11.0 → 1.12.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 (163) hide show
  1. package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.cjs +1 -1
  2. package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.mjs +1 -1
  3. package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.cjs +77 -0
  4. package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.mjs +79 -3
  5. package/dist/node_modules/.pnpm/@radix-ui_react-avatar@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react_850cfbef1935a6e49a6ad6c93c7ca70d/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -0
  6. package/dist/node_modules/.pnpm/@radix-ui_react-avatar@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react_850cfbef1935a6e49a6ad6c93c7ca70d/node_modules/@radix-ui/react-avatar/dist/index.mjs +119 -0
  7. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.3_@types_react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.cjs +80 -0
  8. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.3_@types_react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs +64 -0
  9. package/dist/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +18 -0
  10. package/dist/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs +16 -0
  11. package/dist/packages/better-stack/src/plugins/kanban/api/plugin.cjs +846 -0
  12. package/dist/packages/better-stack/src/plugins/kanban/api/plugin.mjs +844 -0
  13. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/board-form.cjs +85 -0
  14. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/board-form.mjs +83 -0
  15. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/column-form.cjs +72 -0
  16. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/column-form.mjs +70 -0
  17. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/task-form.cjs +200 -0
  18. package/dist/packages/better-stack/src/plugins/kanban/client/components/forms/task-form.mjs +198 -0
  19. package/dist/packages/better-stack/src/plugins/kanban/client/components/loading/board-skeleton.cjs +47 -0
  20. package/dist/packages/better-stack/src/plugins/kanban/client/components/loading/board-skeleton.mjs +45 -0
  21. package/dist/packages/better-stack/src/plugins/kanban/client/components/loading/boards-list-skeleton.cjs +30 -0
  22. package/dist/packages/better-stack/src/plugins/kanban/client/components/loading/boards-list-skeleton.mjs +28 -0
  23. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/404-page.cjs +27 -0
  24. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/404-page.mjs +25 -0
  25. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/board-page.cjs +31 -0
  26. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/board-page.internal.cjs +458 -0
  27. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/board-page.internal.mjs +456 -0
  28. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/board-page.mjs +29 -0
  29. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/boards-list-page.cjs +30 -0
  30. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/boards-list-page.internal.cjs +72 -0
  31. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/boards-list-page.internal.mjs +70 -0
  32. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/boards-list-page.mjs +28 -0
  33. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/new-board-page.cjs +30 -0
  34. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/new-board-page.internal.cjs +51 -0
  35. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/new-board-page.internal.mjs +49 -0
  36. package/dist/packages/better-stack/src/plugins/kanban/client/components/pages/new-board-page.mjs +28 -0
  37. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/column-content.cjs +76 -0
  38. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/column-content.mjs +74 -0
  39. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/default-error.cjs +27 -0
  40. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/default-error.mjs +25 -0
  41. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/empty-state.cjs +32 -0
  42. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/empty-state.mjs +30 -0
  43. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/kanban-board.cjs +78 -0
  44. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/kanban-board.mjs +76 -0
  45. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/page-wrapper.cjs +15 -0
  46. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/page-wrapper.mjs +13 -0
  47. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/task-card.cjs +68 -0
  48. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/task-card.mjs +66 -0
  49. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/user-avatar.cjs +32 -0
  50. package/dist/packages/better-stack/src/plugins/kanban/client/components/shared/user-avatar.mjs +30 -0
  51. package/dist/packages/better-stack/src/plugins/kanban/client/hooks/kanban-hooks.cjs +391 -0
  52. package/dist/packages/better-stack/src/plugins/kanban/client/hooks/kanban-hooks.mjs +381 -0
  53. package/dist/packages/better-stack/src/plugins/kanban/client/plugin.cjs +290 -0
  54. package/dist/packages/better-stack/src/plugins/kanban/client/plugin.mjs +288 -0
  55. package/dist/packages/better-stack/src/plugins/kanban/db.cjs +125 -0
  56. package/dist/packages/better-stack/src/plugins/kanban/db.mjs +123 -0
  57. package/dist/packages/better-stack/src/plugins/kanban/schemas.cjs +117 -0
  58. package/dist/packages/better-stack/src/plugins/kanban/schemas.mjs +102 -0
  59. package/dist/packages/better-stack/src/plugins/kanban/utils.cjs +49 -0
  60. package/dist/packages/better-stack/src/plugins/kanban/utils.mjs +45 -0
  61. package/dist/packages/ui/src/components/avatar.cjs +58 -0
  62. package/dist/packages/ui/src/components/avatar.mjs +54 -0
  63. package/dist/packages/ui/src/components/command.cjs +3 -3
  64. package/dist/packages/ui/src/components/command.mjs +3 -3
  65. package/dist/packages/ui/src/components/form-builder/index.mjs +2 -2
  66. package/dist/packages/ui/src/components/kanban.cjs +835 -0
  67. package/dist/packages/ui/src/components/kanban.mjs +805 -0
  68. package/dist/packages/ui/src/components/popover.cjs +8 -3
  69. package/dist/packages/ui/src/components/popover.mjs +9 -4
  70. package/dist/packages/ui/src/components/search-select.cjs +75 -0
  71. package/dist/packages/ui/src/components/search-select.mjs +73 -0
  72. package/dist/packages/ui/src/lib/compose-refs.cjs +56 -0
  73. package/dist/packages/ui/src/lib/compose-refs.mjs +39 -0
  74. package/dist/plugins/blog/api/index.d.cts +1 -1
  75. package/dist/plugins/blog/api/index.d.mts +1 -1
  76. package/dist/plugins/blog/api/index.d.ts +1 -1
  77. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  78. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  79. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  80. package/dist/plugins/blog/client/index.d.cts +1 -1
  81. package/dist/plugins/blog/client/index.d.mts +1 -1
  82. package/dist/plugins/blog/client/index.d.ts +1 -1
  83. package/dist/plugins/blog/query-keys.d.cts +2 -2
  84. package/dist/plugins/blog/query-keys.d.mts +2 -2
  85. package/dist/plugins/blog/query-keys.d.ts +2 -2
  86. package/dist/plugins/kanban/api/index.cjs +7 -0
  87. package/dist/plugins/kanban/api/index.d.cts +403 -0
  88. package/dist/plugins/kanban/api/index.d.mts +403 -0
  89. package/dist/plugins/kanban/api/index.d.ts +403 -0
  90. package/dist/plugins/kanban/api/index.mjs +1 -0
  91. package/dist/plugins/kanban/client/components/index.cjs +35 -0
  92. package/dist/plugins/kanban/client/components/index.d.cts +102 -0
  93. package/dist/plugins/kanban/client/components/index.d.mts +102 -0
  94. package/dist/plugins/kanban/client/components/index.d.ts +102 -0
  95. package/dist/plugins/kanban/client/components/index.mjs +15 -0
  96. package/dist/plugins/kanban/client/hooks/index.cjs +15 -0
  97. package/dist/plugins/kanban/client/hooks/index.d.cts +143 -0
  98. package/dist/plugins/kanban/client/hooks/index.d.mts +143 -0
  99. package/dist/plugins/kanban/client/hooks/index.d.ts +143 -0
  100. package/dist/plugins/kanban/client/hooks/index.mjs +1 -0
  101. package/dist/plugins/kanban/client/index.cjs +7 -0
  102. package/dist/plugins/kanban/client/index.d.cts +196 -0
  103. package/dist/plugins/kanban/client/index.d.mts +196 -0
  104. package/dist/plugins/kanban/client/index.d.ts +196 -0
  105. package/dist/plugins/kanban/client/index.mjs +1 -0
  106. package/dist/plugins/kanban/client.css +68 -0
  107. package/dist/plugins/kanban/query-keys.cjs +105 -0
  108. package/dist/plugins/kanban/query-keys.d.cts +59 -0
  109. package/dist/plugins/kanban/query-keys.d.mts +59 -0
  110. package/dist/plugins/kanban/query-keys.d.ts +59 -0
  111. package/dist/plugins/kanban/query-keys.mjs +103 -0
  112. package/dist/plugins/kanban/style.css +7 -0
  113. package/dist/plugins/ui-builder/style.css +6 -0
  114. package/dist/shared/stack.DKDMI-QO.d.cts +70 -0
  115. package/dist/shared/stack.DKDMI-QO.d.mts +70 -0
  116. package/dist/shared/stack.DKDMI-QO.d.ts +70 -0
  117. package/dist/shared/stack.FeaWkglm.d.cts +190 -0
  118. package/dist/shared/stack.FeaWkglm.d.mts +190 -0
  119. package/dist/shared/stack.FeaWkglm.d.ts +190 -0
  120. package/package.json +56 -2
  121. package/src/plugins/kanban/api/index.ts +6 -0
  122. package/src/plugins/kanban/api/plugin.ts +1245 -0
  123. package/src/plugins/kanban/client/components/forms/board-form.tsx +108 -0
  124. package/src/plugins/kanban/client/components/forms/column-form.tsx +97 -0
  125. package/src/plugins/kanban/client/components/forms/task-form.tsx +274 -0
  126. package/src/plugins/kanban/client/components/index.tsx +21 -0
  127. package/src/plugins/kanban/client/components/loading/board-skeleton.tsx +49 -0
  128. package/src/plugins/kanban/client/components/loading/boards-list-skeleton.tsx +34 -0
  129. package/src/plugins/kanban/client/components/loading/index.tsx +2 -0
  130. package/src/plugins/kanban/client/components/pages/404-page.tsx +28 -0
  131. package/src/plugins/kanban/client/components/pages/board-page.internal.tsx +575 -0
  132. package/src/plugins/kanban/client/components/pages/board-page.tsx +31 -0
  133. package/src/plugins/kanban/client/components/pages/boards-list-page.internal.tsx +101 -0
  134. package/src/plugins/kanban/client/components/pages/boards-list-page.tsx +26 -0
  135. package/src/plugins/kanban/client/components/pages/new-board-page.internal.tsx +65 -0
  136. package/src/plugins/kanban/client/components/pages/new-board-page.tsx +26 -0
  137. package/src/plugins/kanban/client/components/shared/column-content.tsx +108 -0
  138. package/src/plugins/kanban/client/components/shared/default-error.tsx +32 -0
  139. package/src/plugins/kanban/client/components/shared/empty-state.tsx +37 -0
  140. package/src/plugins/kanban/client/components/shared/kanban-board.tsx +87 -0
  141. package/src/plugins/kanban/client/components/shared/page-wrapper.tsx +20 -0
  142. package/src/plugins/kanban/client/components/shared/task-card.tsx +79 -0
  143. package/src/plugins/kanban/client/components/shared/user-avatar.tsx +63 -0
  144. package/src/plugins/kanban/client/hooks/index.tsx +11 -0
  145. package/src/plugins/kanban/client/hooks/kanban-hooks.tsx +560 -0
  146. package/src/plugins/kanban/client/index.ts +8 -0
  147. package/src/plugins/kanban/client/localization/index.ts +28 -0
  148. package/src/plugins/kanban/client/localization/kanban-common.ts +69 -0
  149. package/src/plugins/kanban/client/localization/kanban-forms.ts +70 -0
  150. package/src/plugins/kanban/client/localization/kanban-list.ts +36 -0
  151. package/src/plugins/kanban/client/overrides.ts +145 -0
  152. package/src/plugins/kanban/client/plugin.tsx +463 -0
  153. package/src/plugins/kanban/client.css +68 -0
  154. package/src/plugins/kanban/db.ts +125 -0
  155. package/src/plugins/kanban/query-keys.ts +154 -0
  156. package/src/plugins/kanban/schemas.ts +143 -0
  157. package/src/plugins/kanban/style.css +7 -0
  158. package/src/plugins/kanban/types.ts +106 -0
  159. package/src/plugins/kanban/utils.ts +107 -0
  160. package/src/plugins/ui-builder/style.css +6 -0
  161. package/dist/shared/{stack.DLhzx1-D.d.cts → stack.CcI4sYJP.d.cts} +1 -1
  162. package/dist/shared/{stack.DLhzx1-D.d.mts → stack.CcI4sYJP.d.mts} +1 -1
  163. package/dist/shared/{stack.DLhzx1-D.d.ts → stack.CcI4sYJP.d.ts} +1 -1
@@ -0,0 +1,102 @@
1
+ import { z } from 'zod';
2
+
3
+ const PrioritySchema = z.enum(["LOW", "MEDIUM", "HIGH", "URGENT"]);
4
+ const boardDateFields = {
5
+ createdAt: z.coerce.date().optional(),
6
+ updatedAt: z.coerce.date().optional()
7
+ };
8
+ const boardCoreFields = {
9
+ name: z.string().min(1, "Name is required"),
10
+ slug: z.string().min(1, "Slug is required"),
11
+ description: z.string().optional(),
12
+ ownerId: z.string().optional(),
13
+ organizationId: z.string().optional()
14
+ };
15
+ const BoardDomainSchema = z.object({
16
+ id: z.string().optional(),
17
+ ...boardCoreFields,
18
+ ...boardDateFields
19
+ });
20
+ const createBoardSchema = BoardDomainSchema.extend({
21
+ slug: BoardDomainSchema.shape.slug.optional()
22
+ }).omit({ id: true });
23
+ const updateBoardSchema = BoardDomainSchema.extend({
24
+ id: z.string()
25
+ }).partial().required({ id: true });
26
+ const columnDateFields = {
27
+ createdAt: z.coerce.date().optional(),
28
+ updatedAt: z.coerce.date().optional()
29
+ };
30
+ const columnCoreFields = {
31
+ title: z.string().min(1, "Title is required"),
32
+ order: z.number().int().min(0).optional().default(0),
33
+ boardId: z.string().min(1, "Board ID is required")
34
+ };
35
+ const ColumnDomainSchema = z.object({
36
+ id: z.string().optional(),
37
+ ...columnCoreFields,
38
+ ...columnDateFields
39
+ });
40
+ const createColumnSchema = ColumnDomainSchema.omit({ id: true });
41
+ const updateColumnSchema = ColumnDomainSchema.extend({
42
+ id: z.string()
43
+ }).partial().required({ id: true });
44
+ const taskDateFields = {
45
+ completedAt: z.coerce.date().optional(),
46
+ createdAt: z.coerce.date().optional(),
47
+ updatedAt: z.coerce.date().optional()
48
+ };
49
+ const taskCoreFields = {
50
+ title: z.string().min(1, "Title is required"),
51
+ description: z.string().optional(),
52
+ priority: PrioritySchema.optional().default("MEDIUM"),
53
+ order: z.number().int().min(0).optional().default(0),
54
+ columnId: z.string().min(1, "Column ID is required"),
55
+ assigneeId: z.string().optional().nullable(),
56
+ isArchived: z.boolean().optional().default(false)
57
+ };
58
+ const TaskDomainSchema = z.object({
59
+ id: z.string().optional(),
60
+ ...taskCoreFields,
61
+ ...taskDateFields
62
+ });
63
+ const createTaskSchema = TaskDomainSchema.omit({ id: true });
64
+ const updateTaskSchema = TaskDomainSchema.extend({
65
+ id: z.string()
66
+ }).partial().required({ id: true });
67
+ const BoardListQuerySchema = z.object({
68
+ slug: z.string().optional(),
69
+ ownerId: z.string().optional(),
70
+ organizationId: z.string().optional(),
71
+ offset: z.coerce.number().int().min(0).optional(),
72
+ limit: z.coerce.number().int().min(1).max(100).optional()
73
+ });
74
+ z.object({
75
+ boardId: z.string().optional()
76
+ });
77
+ z.object({
78
+ columnId: z.string().optional(),
79
+ assigneeId: z.string().optional(),
80
+ priority: PrioritySchema.optional(),
81
+ isArchived: z.string().optional().transform((val) => {
82
+ if (val === void 0) return void 0;
83
+ if (val === "true") return true;
84
+ if (val === "false") return false;
85
+ return void 0;
86
+ })
87
+ });
88
+ const reorderColumnsSchema = z.object({
89
+ boardId: z.string().min(1, "Board ID is required"),
90
+ columnIds: z.array(z.string()).min(1, "Column IDs are required")
91
+ });
92
+ const reorderTasksSchema = z.object({
93
+ columnId: z.string().min(1, "Column ID is required"),
94
+ taskIds: z.array(z.string()).min(1, "Task IDs are required")
95
+ });
96
+ const moveTaskSchema = z.object({
97
+ taskId: z.string().min(1, "Task ID is required"),
98
+ targetColumnId: z.string().min(1, "Target column ID is required"),
99
+ targetOrder: z.number().int().min(0)
100
+ });
101
+
102
+ export { BoardDomainSchema, BoardListQuerySchema, ColumnDomainSchema, PrioritySchema, TaskDomainSchema, createBoardSchema, createColumnSchema, createTaskSchema, moveTaskSchema, reorderColumnsSchema, reorderTasksSchema, updateBoardSchema, updateColumnSchema, updateTaskSchema };
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ function slugify(text) {
4
+ return text.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
5
+ }
6
+ function getPriorityConfig(priority) {
7
+ switch (priority) {
8
+ case "URGENT":
9
+ return {
10
+ label: "Urgent",
11
+ variant: "destructive",
12
+ className: "kanban-priority-urgent"
13
+ };
14
+ case "HIGH":
15
+ return {
16
+ label: "High",
17
+ variant: "outline",
18
+ className: "kanban-priority-high"
19
+ };
20
+ case "MEDIUM":
21
+ return {
22
+ label: "Medium",
23
+ variant: "default",
24
+ className: "kanban-priority-medium"
25
+ };
26
+ case "LOW":
27
+ return {
28
+ label: "Low",
29
+ variant: "secondary",
30
+ className: "kanban-priority-low"
31
+ };
32
+ default:
33
+ return {
34
+ label: "Medium",
35
+ variant: "default",
36
+ className: "kanban-priority-medium"
37
+ };
38
+ }
39
+ }
40
+ const PRIORITY_OPTIONS = [
41
+ { value: "LOW", label: "Low" },
42
+ { value: "MEDIUM", label: "Medium" },
43
+ { value: "HIGH", label: "High" },
44
+ { value: "URGENT", label: "Urgent" }
45
+ ];
46
+
47
+ exports.PRIORITY_OPTIONS = PRIORITY_OPTIONS;
48
+ exports.getPriorityConfig = getPriorityConfig;
49
+ exports.slugify = slugify;
@@ -0,0 +1,45 @@
1
+ function slugify(text) {
2
+ return text.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
3
+ }
4
+ function getPriorityConfig(priority) {
5
+ switch (priority) {
6
+ case "URGENT":
7
+ return {
8
+ label: "Urgent",
9
+ variant: "destructive",
10
+ className: "kanban-priority-urgent"
11
+ };
12
+ case "HIGH":
13
+ return {
14
+ label: "High",
15
+ variant: "outline",
16
+ className: "kanban-priority-high"
17
+ };
18
+ case "MEDIUM":
19
+ return {
20
+ label: "Medium",
21
+ variant: "default",
22
+ className: "kanban-priority-medium"
23
+ };
24
+ case "LOW":
25
+ return {
26
+ label: "Low",
27
+ variant: "secondary",
28
+ className: "kanban-priority-low"
29
+ };
30
+ default:
31
+ return {
32
+ label: "Medium",
33
+ variant: "default",
34
+ className: "kanban-priority-medium"
35
+ };
36
+ }
37
+ }
38
+ const PRIORITY_OPTIONS = [
39
+ { value: "LOW", label: "Low" },
40
+ { value: "MEDIUM", label: "Medium" },
41
+ { value: "HIGH", label: "High" },
42
+ { value: "URGENT", label: "Urgent" }
43
+ ];
44
+
45
+ export { PRIORITY_OPTIONS, getPriorityConfig, slugify };
@@ -0,0 +1,58 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ const jsxRuntime = require('react/jsx-runtime');
5
+ const index = require('../../../../node_modules/.pnpm/@radix-ui_react-avatar@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react_850cfbef1935a6e49a6ad6c93c7ca70d/node_modules/@radix-ui/react-avatar/dist/index.cjs');
6
+ const utils = require('../lib/utils.cjs');
7
+
8
+ function Avatar({
9
+ className,
10
+ size = "default",
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsxRuntime.jsx(
14
+ index.Root,
15
+ {
16
+ "data-slot": "avatar",
17
+ "data-size": size,
18
+ className: utils.cn(
19
+ "group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ function AvatarImage({
27
+ className,
28
+ ...props
29
+ }) {
30
+ return /* @__PURE__ */ jsxRuntime.jsx(
31
+ index.Image,
32
+ {
33
+ "data-slot": "avatar-image",
34
+ className: utils.cn("aspect-square size-full", className),
35
+ ...props
36
+ }
37
+ );
38
+ }
39
+ function AvatarFallback({
40
+ className,
41
+ ...props
42
+ }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(
44
+ index.Fallback,
45
+ {
46
+ "data-slot": "avatar-fallback",
47
+ className: utils.cn(
48
+ "bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",
49
+ className
50
+ ),
51
+ ...props
52
+ }
53
+ );
54
+ }
55
+
56
+ exports.Avatar = Avatar;
57
+ exports.AvatarFallback = AvatarFallback;
58
+ exports.AvatarImage = AvatarImage;
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Root, Fallback, Image } from '../../../../node_modules/.pnpm/@radix-ui_react-avatar@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react_850cfbef1935a6e49a6ad6c93c7ca70d/node_modules/@radix-ui/react-avatar/dist/index.mjs';
4
+ import { cn } from '../lib/utils.mjs';
5
+
6
+ function Avatar({
7
+ className,
8
+ size = "default",
9
+ ...props
10
+ }) {
11
+ return /* @__PURE__ */ jsx(
12
+ Root,
13
+ {
14
+ "data-slot": "avatar",
15
+ "data-size": size,
16
+ className: cn(
17
+ "group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
18
+ className
19
+ ),
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ function AvatarImage({
25
+ className,
26
+ ...props
27
+ }) {
28
+ return /* @__PURE__ */ jsx(
29
+ Image,
30
+ {
31
+ "data-slot": "avatar-image",
32
+ className: cn("aspect-square size-full", className),
33
+ ...props
34
+ }
35
+ );
36
+ }
37
+ function AvatarFallback({
38
+ className,
39
+ ...props
40
+ }) {
41
+ return /* @__PURE__ */ jsx(
42
+ Fallback,
43
+ {
44
+ "data-slot": "avatar-fallback",
45
+ className: cn(
46
+ "bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",
47
+ className
48
+ ),
49
+ ...props
50
+ }
51
+ );
52
+ }
53
+
54
+ export { Avatar, AvatarFallback, AvatarImage };
@@ -54,7 +54,7 @@ function CommandInput({
54
54
  "div",
55
55
  {
56
56
  "data-slot": "command-input-wrapper",
57
- className: "flex h-9 items-center gap-2 border-b px-3",
57
+ className: "pointer-events-auto flex h-9 items-center gap-2 border-b px-3",
58
58
  children: [
59
59
  /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
60
60
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -62,7 +62,7 @@ function CommandInput({
62
62
  {
63
63
  "data-slot": "command-input",
64
64
  className: utils.cn(
65
- "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
65
+ "pointer-events-auto placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
66
66
  className
67
67
  ),
68
68
  ...props
@@ -138,7 +138,7 @@ function CommandItem({
138
138
  {
139
139
  "data-slot": "command-item",
140
140
  className: utils.cn(
141
- "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
141
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground pointer-events-auto relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
142
142
  className
143
143
  ),
144
144
  ...props
@@ -52,7 +52,7 @@ function CommandInput({
52
52
  "div",
53
53
  {
54
54
  "data-slot": "command-input-wrapper",
55
- className: "flex h-9 items-center gap-2 border-b px-3",
55
+ className: "pointer-events-auto flex h-9 items-center gap-2 border-b px-3",
56
56
  children: [
57
57
  /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
58
58
  /* @__PURE__ */ jsx(
@@ -60,7 +60,7 @@ function CommandInput({
60
60
  {
61
61
  "data-slot": "command-input",
62
62
  className: cn(
63
- "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
63
+ "pointer-events-auto placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
64
64
  className
65
65
  ),
66
66
  ...props
@@ -136,7 +136,7 @@ function CommandItem({
136
136
  {
137
137
  "data-slot": "command-item",
138
138
  className: cn(
139
- "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
139
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground pointer-events-auto relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
140
140
  className
141
141
  ),
142
142
  ...props
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useId, useState, useCallback, useMemo } from 'react';
4
- import { useSensors, useSensor, DndContext, closestCenter, DragOverlay, KeyboardSensor, TouchSensor, PointerSensor } from '../../../../../node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.mjs';
5
- import { arrayMove, sortableKeyboardCoordinates } from '../../../../../node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.mjs';
4
+ import { useSensors, useSensor, KeyboardSensor, TouchSensor, PointerSensor, DndContext, closestCenter, DragOverlay } from '../../../../../node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.mjs';
5
+ import { sortableKeyboardCoordinates, arrayMove } from '../../../../../node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.mjs';
6
6
  import { cn } from '../../lib/utils.mjs';
7
7
  import { Tabs, TabsList, TabsTrigger, TabsContent } from '../tabs.mjs';
8
8
  import { Palette, PaletteDragOverlay } from './palette.mjs';