@pstdio/ui 0.16.0 → 0.18.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 (210) hide show
  1. package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
  2. package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
  3. package/dist/chat-ui.js +1618 -1102
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  6. package/dist/checkbox-B2zYVemL.js.map +1 -0
  7. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  8. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  9. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  10. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  11. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  12. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  13. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  14. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  16. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  17. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  18. package/dist/components/chat-ui/index.d.ts +4 -2
  19. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  20. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  21. package/dist/components/data-table/build-columns.d.ts +13 -2
  22. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  23. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  24. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  25. package/dist/components/data-table/data-table-column-menu.d.ts +15 -0
  26. package/dist/components/data-table/data-table-header.d.ts +10 -0
  27. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  28. package/dist/components/data-table/data-table-state.d.ts +27 -0
  29. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  30. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  31. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  32. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  33. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  34. package/dist/components/data-table/editable-cells-story.d.ts +9 -0
  35. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  36. package/dist/components/data-table/index.d.ts +3 -1
  37. package/dist/components/data-table/json-cell.d.ts +6 -0
  38. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  39. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  40. package/dist/components/data-table/types.d.ts +72 -0
  41. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  42. package/dist/components/diff-viewer/index.d.ts +1 -1
  43. package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
  44. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  45. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  46. package/dist/components/kanban-renderer/index.d.ts +19 -0
  47. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  48. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  49. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  50. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  51. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  52. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  53. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  54. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  55. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  57. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  58. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  59. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  60. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  61. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  62. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  63. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  64. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  65. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  66. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  67. package/dist/components/layout/index.d.ts +1 -0
  68. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  69. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  70. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  71. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  72. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  73. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  74. package/dist/components/list-row/list-row-content.d.ts +7 -0
  75. package/dist/components/list-row/list-row.types.d.ts +4 -1
  76. package/dist/components/overlays/attached-menu.d.ts +6 -0
  77. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  78. package/dist/components/overlays/index.d.ts +6 -2
  79. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  80. package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
  81. package/dist/components/param-editor/index.d.ts +6 -2
  82. package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
  83. package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
  84. package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
  85. package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
  86. package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
  87. package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
  88. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
  89. package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
  90. package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
  91. package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
  92. package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
  93. package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
  94. package/dist/components/param-editor/inputs/selection-input.d.ts +7 -6
  95. package/dist/components/param-editor/inputs/selection-menu.d.ts +33 -0
  96. package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
  97. package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
  98. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
  99. package/dist/components/param-editor/param-editor-field.d.ts +2 -0
  100. package/dist/components/param-editor/param-editor-horizontal.d.ts +3 -2
  101. package/dist/components/param-editor/param-editor-label.d.ts +1 -0
  102. package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
  103. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  104. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  105. package/dist/components/param-editor/param-editor.d.ts +1 -0
  106. package/dist/components/param-editor/param-editor.types.d.ts +59 -18
  107. package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
  108. package/dist/components/primitives/chip.d.ts +4 -0
  109. package/dist/components/primitives/index.d.ts +2 -0
  110. package/dist/components/primitives/resource-badge.d.ts +12 -10
  111. package/dist/components/rich-text/index.d.ts +1 -0
  112. package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
  113. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  114. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  115. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  116. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  117. package/dist/components/rich-text/types.d.ts +1 -1
  118. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  119. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  120. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  121. package/dist/components/sidenav/sidenav.d.ts +2 -0
  122. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  123. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  124. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  125. package/dist/components/terminal/terminal.d.ts +11 -0
  126. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  127. package/dist/components/tree-list/tree-list.d.ts +1 -1
  128. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  129. package/dist/data-table.js +1321 -0
  130. package/dist/data-table.js.map +1 -0
  131. package/dist/diff.js +370 -366
  132. package/dist/diff.js.map +1 -1
  133. package/dist/font/css/prompt-studio-icons.css +690 -0
  134. package/dist/font/prompt-studio-icons.eot +0 -0
  135. package/dist/font/prompt-studio-icons.svg +1 -0
  136. package/dist/font/prompt-studio-icons.ttf +0 -0
  137. package/dist/font/prompt-studio-icons.woff +0 -0
  138. package/dist/font/prompt-studio-icons.woff2 +0 -0
  139. package/dist/index.d.ts +3 -3
  140. package/dist/index.js +1854 -3381
  141. package/dist/index.js.map +1 -1
  142. package/dist/kanban-renderer-toolbar-Db1mIWWd.js +1318 -0
  143. package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +1 -0
  144. package/dist/kanban-renderer.js +1101 -0
  145. package/dist/kanban-renderer.js.map +1 -0
  146. package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
  147. package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
  148. package/dist/list-row-BYWwcbGK.js +823 -0
  149. package/dist/list-row-BYWwcbGK.js.map +1 -0
  150. package/dist/markdown-DDd2ESoH.js +743 -0
  151. package/dist/markdown-DDd2ESoH.js.map +1 -0
  152. package/dist/markdown-editor-CYVkzt8t.js +741 -0
  153. package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
  154. package/dist/monaco-browser-CO0NxK_Z.js +19 -0
  155. package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
  156. package/dist/param-editor-BCZOw5Gt.js +140 -0
  157. package/dist/param-editor-BCZOw5Gt.js.map +1 -0
  158. package/dist/param-editor-field-ZzZwgjZ_.js +2094 -0
  159. package/dist/param-editor-field-ZzZwgjZ_.js.map +1 -0
  160. package/dist/resource-badge-CuItchgL.js +98 -0
  161. package/dist/resource-badge-CuItchgL.js.map +1 -0
  162. package/dist/rich-message--eRzjWYK.js +730 -0
  163. package/dist/rich-message--eRzjWYK.js.map +1 -0
  164. package/dist/rich-text.js +114 -827
  165. package/dist/rich-text.js.map +1 -1
  166. package/dist/style.css +1 -1
  167. package/dist/terminal.js +197 -177
  168. package/dist/terminal.js.map +1 -1
  169. package/dist/theme/primitives/fonts.d.ts +3 -0
  170. package/dist/theme/primitives/sizes.d.ts +23 -0
  171. package/dist/theme/recipes/badge.d.ts +8 -0
  172. package/dist/theme/recipes/button.d.ts +6 -0
  173. package/dist/theme/recipes/color-picker.d.ts +18 -1
  174. package/dist/theme/recipes/switch.d.ts +17 -0
  175. package/dist/theme/recipes/tabs.d.ts +4 -4
  176. package/dist/theme/tokens/colors.d.ts +18 -24
  177. package/dist/{theme-CJBYBJaA.js → theme-poQlUgt0.js} +414 -240
  178. package/dist/theme-poQlUgt0.js.map +1 -0
  179. package/dist/theme.js +1 -1
  180. package/dist/tree-list-BAja2eXU.js +1033 -0
  181. package/dist/tree-list-BAja2eXU.js.map +1 -0
  182. package/package.json +11 -4
  183. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  184. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  185. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  186. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  187. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  188. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  189. package/dist/components/data-renderer/index.d.ts +0 -18
  190. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  191. package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
  192. package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
  193. package/dist/components/sidebar/sidebar.d.ts +0 -2
  194. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  195. package/dist/data-renderer.js +0 -1669
  196. package/dist/data-renderer.js.map +0 -1
  197. package/dist/list-row-mi3Hn-Um.js +0 -740
  198. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  199. package/dist/resource-badge-qCWHP-wQ.js +0 -99
  200. package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
  201. package/dist/rich-message-DBf_5YlW.js +0 -1450
  202. package/dist/rich-message-DBf_5YlW.js.map +0 -1
  203. package/dist/theme-CJBYBJaA.js.map +0 -1
  204. package/dist/tree-list-CcuZMLS5.js +0 -930
  205. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  206. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  207. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  208. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  209. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  210. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
@@ -0,0 +1,1101 @@
1
+ import { N as Z, M as Ie, g as Ue, o as ge, r as Ye, c as Me, a as Ke, f as Le, b as _e, u as Je, d as pe, e as Qe, h as Ze, i as et, K as tt } from "./kanban-renderer-toolbar-Db1mIWWd.js";
2
+ import { D as En, F as Pn, j as An, k as On, l as $n, m as Bn, n as zn, p as Mn, q as Kn, s as Ln, t as _n, v as Vn, w as Wn, x as Hn, y as jn } from "./kanban-renderer-toolbar-Db1mIWWd.js";
3
+ import { jsx as d, jsxs as B, Fragment as nt } from "react/jsx-runtime";
4
+ import { c as K } from "react/compiler-runtime";
5
+ import { Text as _, Badge as fe, IconButton as Ee, Icon as N, Menu as F, Spacer as rt, HStack as X, Portal as ot, Wrap as we, Stack as q, Box as re, VStack as lt, Textarea as at, Button as me, Input as it, Dialog as ne, CloseButton as st } from "@chakra-ui/react";
6
+ import { useState as W, useRef as Ve, useEffect as Se } from "react";
7
+ import { E as dt } from "./empty-state-Bo4HVrgr.js";
8
+ import { L as ke, R as We } from "./list-row-BYWwcbGK.js";
9
+ import { T as ct, S as Pe } from "./scroll-area-BMbg1WcD.js";
10
+ import { Plus as ut, MoreHorizontal as pt, SquareCheck as gt, Square as ft, Check as mt, ChevronDown as bt, ChevronRight as ht, Paperclip as yt } from "lucide-react";
11
+ import { g as be, W as vt, i as He, a as he, P as xt, S as Ct, A as St } from "./param-editor-field-ZzZwgjZ_.js";
12
+ import { L as Dt } from "./lazy-markdown-editor-DwhqQ-NN.js";
13
+ const It = async (r) => {
14
+ const {
15
+ settings: e,
16
+ rowId: t,
17
+ targetColumnId: n,
18
+ targetGroupKey: a,
19
+ beforeItemId: i,
20
+ onAttributeChange: s,
21
+ onReorder: p
22
+ } = r;
23
+ e.columnGrouping !== Z && s && await s(t, e.columnGrouping, n), e.rowGrouping !== Z && a && s && await s(t, e.rowGrouping, a), e.ordering.attributeId === Ie && await p?.(t, i);
24
+ }, wt = async (r) => {
25
+ const {
26
+ settings: e,
27
+ rowId: t,
28
+ targetGroupKey: n,
29
+ beforeItemId: a,
30
+ onAttributeChange: i,
31
+ onReorder: s
32
+ } = r;
33
+ e.rowGrouping === Z || !i || (await i(t, e.rowGrouping, n), e.ordering.attributeId === Ie && await s?.(t, a));
34
+ }, kt = (r) => {
35
+ const e = K(26), {
36
+ column: t,
37
+ onCreateStart: n,
38
+ onColumnAction: a
39
+ } = r, i = t.color ?? "gray";
40
+ let s;
41
+ e[0] !== t.icon ? (s = be(t.icon), e[0] = t.icon, e[1] = s) : s = e[1];
42
+ let p;
43
+ e[2] !== s ? (p = /* @__PURE__ */ d(N, { "data-testid": "column-status-icon", as: s, boxSize: "0.875rem", color: "colorPalette.solid", flexShrink: 0 }), e[2] = s, e[3] = p) : p = e[3];
44
+ let c;
45
+ e[4] !== t.label ? (c = /* @__PURE__ */ d(_, { textStyle: "label/S/medium", children: t.label }), e[4] = t.label, e[5] = c) : c = e[5];
46
+ let f;
47
+ e[6] !== t.items.length ? (f = /* @__PURE__ */ d(fe, { variant: "number", size: "xs", colorPalette: "gray", children: t.items.length }), e[6] = t.items.length, e[7] = f) : f = e[7];
48
+ let g;
49
+ e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ d(rt, {}), e[8] = g) : g = e[8];
50
+ let o;
51
+ e[9] !== t.canCreate || e[10] !== t.createLabel || e[11] !== t.id || e[12] !== n ? (o = t.canCreate && n && /* @__PURE__ */ d(ct, { content: t.createLabel ?? "Create new row", children: /* @__PURE__ */ d(Ee, { size: "2xs", variant: "outline", onClick: () => n(t.id), "aria-label": t.createLabel ?? "Create row", children: /* @__PURE__ */ d(N, { as: ut, boxSize: "12px" }) }) }), e[9] = t.canCreate, e[10] = t.createLabel, e[11] = t.id, e[12] = n, e[13] = o) : o = e[13];
52
+ let u;
53
+ e[14] !== t.actions || e[15] !== t.id || e[16] !== t.label || e[17] !== a ? (u = t.actions.length > 0 && /* @__PURE__ */ B(F.Root, { children: [
54
+ /* @__PURE__ */ d(F.Trigger, { asChild: !0, children: /* @__PURE__ */ d(Ee, { size: "2xs", variant: "ghost", "aria-label": `Column actions for ${t.label}`, children: /* @__PURE__ */ d(N, { as: pt, boxSize: "12px" }) }) }),
55
+ /* @__PURE__ */ d(F.Positioner, { children: /* @__PURE__ */ d(F.Content, { minW: "180px", bg: "bg", children: t.actions.map((h) => /* @__PURE__ */ d(F.Item, { value: h.id, asChild: !0, children: /* @__PURE__ */ d(ke, { asChild: !0, variant: "full-width", label: h.label, icon: /* @__PURE__ */ d(N, { as: h.icon, boxSize: "16px" }), onActivate: () => a?.(t.id, h.id) }) }, h.id)) }) })
56
+ ] }), e[14] = t.actions, e[15] = t.id, e[16] = t.label, e[17] = a, e[18] = u) : u = e[18];
57
+ let b;
58
+ return e[19] !== i || e[20] !== p || e[21] !== c || e[22] !== f || e[23] !== o || e[24] !== u ? (b = /* @__PURE__ */ B(X, { minH: "1.5rem", gap: "2xs", alignItems: "center", colorPalette: i, children: [
59
+ p,
60
+ c,
61
+ f,
62
+ g,
63
+ o,
64
+ u
65
+ ] }), e[19] = i, e[20] = p, e[21] = c, e[22] = f, e[23] = o, e[24] = u, e[25] = b) : b = e[25], b;
66
+ }, Q = (r) => r.stopPropagation(), Gt = (r) => Array.isArray(r.value) ? r.value : r.value ? [r.value] : [], Rt = (r, e) => r.includes(e) ? r.filter((t) => t !== e) : [...r, e], Ae = {
67
+ bg: {
68
+ _light: "bg.muted",
69
+ _dark: "bg.subtle"
70
+ },
71
+ color: "fg.muted",
72
+ _hover: {
73
+ bg: {
74
+ _light: "bg.subtle",
75
+ _dark: "bg.hover"
76
+ }
77
+ }
78
+ }, Tt = (r) => r.color ? `${r.color}.fg` : "fg.muted", Et = (r) => r.isMultiValue ? r.isSelected ? /* @__PURE__ */ d(gt, { size: 14 }) : /* @__PURE__ */ d(ft, { size: 14 }) : r.isSelected ? /* @__PURE__ */ d(mt, { size: 14 }) : null, je = (r) => {
79
+ const e = K(49), {
80
+ badge: t,
81
+ onChange: n
82
+ } = r;
83
+ let a, i, s, p, c, f, g, o, u, b, h, l, m, x;
84
+ if (e[0] !== t || e[1] !== n) {
85
+ x = /* @__PURE__ */ Symbol.for("react.early_return_sentinel");
86
+ e: {
87
+ const E = t.options ?? [], v = !!(n && t.isEditable && E.length > 0), k = Array.isArray(t.value), I = Gt(t);
88
+ let y;
89
+ e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = {
90
+ onClick: Q,
91
+ onPointerDown: Q,
92
+ onKeyDown: Q
93
+ }, e[16] = y) : y = e[16];
94
+ const S = y, R = (A) => {
95
+ let z;
96
+ k ? z = Rt(I, A) : z = I.includes(A) ? "" : A, n?.(t.attributeId, z);
97
+ };
98
+ let G;
99
+ e[17] !== t ? (G = t.icon ? /* @__PURE__ */ d(N, { as: be(t.icon), boxSize: "3.5", color: Tt(t) }) : null, e[17] = t, e[18] = G) : G = e[18];
100
+ let $;
101
+ e[19] !== v ? ($ = v ? /* @__PURE__ */ d(N, { as: bt, boxSize: "3", color: "fg.muted" }) : null, e[19] = v, e[20] = $) : $ = e[20];
102
+ let O;
103
+ e[21] !== t.label || e[22] !== G || e[23] !== $ ? (O = /* @__PURE__ */ B(nt, { children: [
104
+ G,
105
+ t.label,
106
+ $
107
+ ] }), e[21] = t.label, e[22] = G, e[23] = $, e[24] = O) : O = e[24];
108
+ const T = O;
109
+ if (!v) {
110
+ let A;
111
+ e[25] !== T ? (A = /* @__PURE__ */ d(fe, { variant: "subtle", gap: "2xs", textStyle: "label/XS/medium", ...Ae, children: T }), e[25] = T, e[26] = A) : A = e[26], x = A;
112
+ break e;
113
+ }
114
+ p = F.Root, l = !k, e[27] !== T ? (m = /* @__PURE__ */ d(F.Trigger, { asChild: !0, children: /* @__PURE__ */ d(fe, { as: "span", role: "button", tabIndex: 0, variant: "subtle", gap: "2xs", textStyle: "label/XS/medium", cursor: "pointer", ...Ae, onClick: Q, onPointerDown: Q, onKeyDown: Q, children: T }) }), e[27] = T, e[28] = m) : m = e[28], s = ot, i = F.Positioner, a = F.Content, c = "180px", f = "0", g = "0", o = Q, u = Q, b = Q, h = E.map((A) => {
115
+ const z = I.includes(A.value);
116
+ return /* @__PURE__ */ d(F.Item, { value: A.value, asChild: !0, children: /* @__PURE__ */ d(ke, { asChild: !0, role: k ? "menuitemcheckbox" : "menuitemradio", "aria-checked": z, variant: "full-width", id: A.value, label: A.label, icon: /* @__PURE__ */ d(N, { as: be(A.icon), boxSize: "16px" }), iconColor: `${A.color ?? "gray"}.500`, isSelected: z, endContent: Et({
117
+ isMultiValue: k,
118
+ isSelected: z
119
+ }), onActivate: () => R(A.value), ...S }) }, A.value);
120
+ });
121
+ }
122
+ e[0] = t, e[1] = n, e[2] = a, e[3] = i, e[4] = s, e[5] = p, e[6] = c, e[7] = f, e[8] = g, e[9] = o, e[10] = u, e[11] = b, e[12] = h, e[13] = l, e[14] = m, e[15] = x;
123
+ } else
124
+ a = e[2], i = e[3], s = e[4], p = e[5], c = e[6], f = e[7], g = e[8], o = e[9], u = e[10], b = e[11], h = e[12], l = e[13], m = e[14], x = e[15];
125
+ if (x !== /* @__PURE__ */ Symbol.for("react.early_return_sentinel"))
126
+ return x;
127
+ let C;
128
+ e[29] !== a || e[30] !== c || e[31] !== f || e[32] !== g || e[33] !== o || e[34] !== u || e[35] !== b || e[36] !== h ? (C = /* @__PURE__ */ d(a, { minW: c, p: f, gap: g, onClick: o, onPointerDown: u, onKeyDown: b, children: h }), e[29] = a, e[30] = c, e[31] = f, e[32] = g, e[33] = o, e[34] = u, e[35] = b, e[36] = h, e[37] = C) : C = e[37];
129
+ let w;
130
+ e[38] !== i || e[39] !== C ? (w = /* @__PURE__ */ d(i, { children: C }), e[38] = i, e[39] = C, e[40] = w) : w = e[40];
131
+ let D;
132
+ e[41] !== s || e[42] !== w ? (D = /* @__PURE__ */ d(s, { children: w }), e[41] = s, e[42] = w, e[43] = D) : D = e[43];
133
+ let P;
134
+ return e[44] !== p || e[45] !== D || e[46] !== l || e[47] !== m ? (P = /* @__PURE__ */ B(p, { closeOnSelect: l, children: [
135
+ m,
136
+ D
137
+ ] }), e[44] = p, e[45] = D, e[46] = l, e[47] = m, e[48] = P) : P = e[48], P;
138
+ }, Fe = (r) => {
139
+ const e = K(30), {
140
+ eyebrow: t,
141
+ title: n,
142
+ badges: a,
143
+ customSlots: i,
144
+ workspaceBadge: s,
145
+ isSelected: p,
146
+ draggable: c,
147
+ onBadgeChange: f,
148
+ onDragStart: g,
149
+ onDragEnd: o,
150
+ onClick: u
151
+ } = r;
152
+ let b;
153
+ e[0] !== a ? (b = a === void 0 ? [] : a, e[0] = a, e[1] = b) : b = e[1];
154
+ const h = b;
155
+ let l;
156
+ e[2] !== i ? (l = i === void 0 ? [] : i, e[2] = i, e[3] = l) : l = e[3];
157
+ const m = l, x = p === void 0 ? !1 : p, C = h.length > 0 || m.length > 0, w = c ? "grab" : u ? "pointer" : "default";
158
+ let D;
159
+ e[4] !== u ? (D = (O) => {
160
+ O.defaultPrevented || !(O.target instanceof Node) || !O.currentTarget.contains(O.target) || u?.();
161
+ }, e[4] = u, e[5] = D) : D = e[5];
162
+ const P = D, E = x ? "border.accent" : "border", v = x ? "border.accent" : "border.accent-light";
163
+ let k;
164
+ e[6] !== v ? (k = {
165
+ borderColor: v
166
+ }, e[6] = v, e[7] = k) : k = e[7];
167
+ const I = u ? P : void 0, y = x ? "true" : void 0;
168
+ let S;
169
+ e[8] !== t || e[9] !== s ? (S = t || s ? /* @__PURE__ */ B(X, { minW: "0", gap: "2xs", children: [
170
+ t ? /* @__PURE__ */ d(_, { textStyle: "label/XS", color: "fg.muted", fontFamily: "mono", truncate: !0, children: t }) : null,
171
+ /* @__PURE__ */ d(X, { marginLeft: "auto", children: s ? /* @__PURE__ */ d(vt, { ...s }) : null })
172
+ ] }) : null, e[8] = t, e[9] = s, e[10] = S) : S = e[10];
173
+ let R;
174
+ e[11] !== n ? (R = /* @__PURE__ */ d(_, { textStyle: "paragraph/S/regular", minW: "0", overflowWrap: "anywhere", children: n }), e[11] = n, e[12] = R) : R = e[12];
175
+ let G;
176
+ e[13] !== h || e[14] !== m || e[15] !== C || e[16] !== f ? (G = C && /* @__PURE__ */ B(we, { gap: "2xs", children: [
177
+ h.map((O) => /* @__PURE__ */ d(je, { badge: O, onChange: f }, O.attributeId)),
178
+ m
179
+ ] }), e[13] = h, e[14] = m, e[15] = C, e[16] = f, e[17] = G) : G = e[17];
180
+ let $;
181
+ return e[18] !== w || e[19] !== c || e[20] !== o || e[21] !== g || e[22] !== y || e[23] !== S || e[24] !== R || e[25] !== G || e[26] !== E || e[27] !== k || e[28] !== I ? ($ = /* @__PURE__ */ B(q, { gap: "xs", padding: "compact", borderRadius: "compact", borderWidth: "1px", borderColor: E, width: "100%", background: "bg", transition: "border-color 0.2s ease-in-out, background 0.2s ease-in-out", _hover: k, cursor: w, draggable: c, onDragStart: g, onDragEnd: o, onClick: I, "data-selected": y, "data-testid": "renderer-card", children: [
182
+ S,
183
+ R,
184
+ G
185
+ ] }), e[18] = w, e[19] = c, e[20] = o, e[21] = g, e[22] = y, e[23] = S, e[24] = R, e[25] = G, e[26] = E, e[27] = k, e[28] = I, e[29] = $) : $ = e[29], $;
186
+ }, Pt = (r) => {
187
+ const e = K(30), {
188
+ columnId: t,
189
+ group: n,
190
+ selectedItemId: a,
191
+ canDragIn: i,
192
+ canDragOut: s,
193
+ isDropTarget: p,
194
+ onDragStart: c,
195
+ onDragEnd: f,
196
+ onGroupDragOver: g,
197
+ onGroupDragLeave: o,
198
+ onGroupDrop: u
199
+ } = r, [b, h] = W(!0), l = p ? "bg.subtle" : "transparent", m = i ? g : void 0, x = i ? o : void 0, C = i ? u : void 0;
200
+ let w;
201
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (w = {
202
+ bg: "bg.hover"
203
+ }, e[0] = w) : w = e[0];
204
+ let D;
205
+ e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = () => h(At), e[1] = D) : D = e[1];
206
+ const P = b ? "rotate(90deg)" : "rotate(0deg)";
207
+ let E;
208
+ e[2] !== P ? (E = /* @__PURE__ */ d(re, { display: "flex", alignItems: "center", flexShrink: 0, children: /* @__PURE__ */ d(N, { as: ht, boxSize: "14px", color: "fg.muted", transform: P, transition: "transform 0.15s ease" }) }), e[2] = P, e[3] = E) : E = e[3];
209
+ let v;
210
+ e[4] !== n.label ? (v = /* @__PURE__ */ d(_, { textStyle: "label/S/medium", color: "fg.muted", children: n.label }), e[4] = n.label, e[5] = v) : v = e[5];
211
+ let k;
212
+ e[6] !== n.items.length ? (k = /* @__PURE__ */ d(fe, { variant: "number", colorPalette: "gray", size: "sm", children: n.items.length }), e[6] = n.items.length, e[7] = k) : k = e[7];
213
+ let I;
214
+ e[8] !== E || e[9] !== v || e[10] !== k ? (I = /* @__PURE__ */ B(X, { px: "xs", py: "2xs", gap: "2xs", cursor: "pointer", _hover: w, borderRadius: "sm", onClick: D, children: [
215
+ E,
216
+ v,
217
+ k
218
+ ] }), e[8] = E, e[9] = v, e[10] = k, e[11] = I) : I = e[11];
219
+ let y;
220
+ e[12] !== i || e[13] !== s || e[14] !== b || e[15] !== n.items || e[16] !== f || e[17] !== c || e[18] !== u || e[19] !== a ? (y = b && /* @__PURE__ */ d(q, { gap: "xs", pt: "xs", children: n.items.map((R) => /* @__PURE__ */ d(We, { actions: R.contextMenuActions ?? [], children: /* @__PURE__ */ d(re, { onDragOver: i ? Ot : void 0, onDrop: i ? (G) => {
221
+ G.preventDefault(), G.stopPropagation();
222
+ const $ = G.dataTransfer.getData("text/plain");
223
+ !$ || $ === R.id || u(G, R.id);
224
+ } : void 0, children: /* @__PURE__ */ d(Fe, { ...R.cardProps, isSelected: R.id === a, draggable: s, onDragStart: s ? c(R.id) : void 0, onDragEnd: s ? f : void 0 }) }) }, R.id)) }), e[12] = i, e[13] = s, e[14] = b, e[15] = n.items, e[16] = f, e[17] = c, e[18] = u, e[19] = a, e[20] = y) : y = e[20];
225
+ let S;
226
+ return e[21] !== t || e[22] !== n.key || e[23] !== l || e[24] !== m || e[25] !== I || e[26] !== y || e[27] !== x || e[28] !== C ? (S = /* @__PURE__ */ B(q, { "data-column-id": t, "data-group-key": n.key, gap: "0", borderRadius: "sm", background: l, transition: "background 150ms ease", onDragOver: m, onDragLeave: x, onDrop: C, children: [
227
+ I,
228
+ y
229
+ ] }), e[21] = t, e[22] = n.key, e[23] = l, e[24] = m, e[25] = I, e[26] = y, e[27] = x, e[28] = C, e[29] = S) : S = e[29], S;
230
+ };
231
+ function At(r) {
232
+ return !r;
233
+ }
234
+ function Ot(r) {
235
+ r.preventDefault(), r.stopPropagation(), r.dataTransfer.dropEffect = "move";
236
+ }
237
+ const $t = (r) => {
238
+ const e = K(27), {
239
+ columns: t,
240
+ selectedItemId: n,
241
+ onMoveItem: a,
242
+ onMoveToGroup: i,
243
+ onCreateStart: s,
244
+ onColumnAction: p
245
+ } = r, c = n === void 0 ? null : n, [f, g] = W(null), [o, u] = W(null), b = Bt;
246
+ let h;
247
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = () => {
248
+ g(null), u(null);
249
+ }, e[0] = h) : h = e[0];
250
+ const l = h;
251
+ let m;
252
+ e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = (I) => (y) => {
253
+ y.preventDefault(), y.dataTransfer.dropEffect = "move", g(I);
254
+ }, e[1] = m) : m = e[1];
255
+ const x = m;
256
+ let C;
257
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = (I) => {
258
+ I.currentTarget.contains(I.relatedTarget) || g(null);
259
+ }, e[2] = C) : C = e[2];
260
+ const w = C;
261
+ let D;
262
+ e[3] !== a ? (D = (I) => (y) => {
263
+ y.preventDefault(), g(null);
264
+ const S = y.dataTransfer.getData("text/plain");
265
+ S && a?.(S, I);
266
+ }, e[3] = a, e[4] = D) : D = e[4];
267
+ const P = D;
268
+ let E;
269
+ e[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = {
270
+ display: "flex",
271
+ alignItems: "stretch",
272
+ gap: "sm",
273
+ padding: "comfortable",
274
+ minH: "100%"
275
+ }, e[5] = E) : E = e[5];
276
+ let v;
277
+ if (e[6] !== f || e[7] !== o || e[8] !== t || e[9] !== P || e[10] !== p || e[11] !== s || e[12] !== a || e[13] !== i || e[14] !== c) {
278
+ let I;
279
+ e[16] !== f || e[17] !== o || e[18] !== P || e[19] !== p || e[20] !== s || e[21] !== a || e[22] !== i || e[23] !== c ? (I = (y) => /* @__PURE__ */ B(q, { "data-testid": `board-column-${y.id}`, gap: "xs", padding: "compact", borderWidth: "1px", borderColor: "border", borderRadius: "sm", background: f === y.id ? "bg.active" : "bg.subtle", transition: "background 150ms ease", height: "100%", minH: "240px", overflow: "hidden", minW: "260px", flex: "1 0 260px", onDragOver: y.canDragIn ? x(y.id) : void 0, onDragLeave: y.canDragIn ? w : void 0, onDrop: y.canDragIn ? P(y.id) : void 0, children: [
280
+ /* @__PURE__ */ d(kt, { column: y, onCreateStart: s, onColumnAction: p }),
281
+ /* @__PURE__ */ d(Pe, { flex: "1", minH: "0", size: "xs", verticalScrollbarProps: {
282
+ margin: "0"
283
+ }, contentProps: {
284
+ spaceY: "xs"
285
+ }, children: y.groups && y.groups.length > 0 ? y.groups.map((S) => {
286
+ const R = `${y.id}::${S.key}`;
287
+ return /* @__PURE__ */ d(Pt, { columnId: y.id, group: S, selectedItemId: c, canDragIn: y.canDragIn, canDragOut: y.canDragOut, isDropTarget: o === R, onDragStart: b, onDragEnd: l, onGroupDragOver: (G) => {
288
+ G.preventDefault(), G.stopPropagation(), G.dataTransfer.dropEffect = "move", u(R), g(null);
289
+ }, onGroupDragLeave: (G) => {
290
+ G.currentTarget.contains(G.relatedTarget) || u(null);
291
+ }, onGroupDrop: (G, $) => {
292
+ G.preventDefault(), G.stopPropagation(), u(null), g(null);
293
+ const O = G.dataTransfer.getData("text/plain");
294
+ if (O) {
295
+ if (a) {
296
+ a(O, y.id, {
297
+ beforeItemId: $,
298
+ targetGroupKey: S.key
299
+ });
300
+ return;
301
+ }
302
+ i?.(O, S.key, {
303
+ beforeItemId: $
304
+ });
305
+ }
306
+ } }, S.key);
307
+ }) : y.items.map((S) => /* @__PURE__ */ d(We, { actions: S.contextMenuActions ?? [], children: /* @__PURE__ */ d(re, { onDragOver: y.canDragIn ? (R) => {
308
+ R.preventDefault(), R.stopPropagation(), R.dataTransfer.dropEffect = "move", g(y.id);
309
+ } : void 0, onDrop: y.canDragIn ? (R) => {
310
+ R.preventDefault(), R.stopPropagation(), g(null);
311
+ const G = R.dataTransfer.getData("text/plain");
312
+ !G || G === S.id || a?.(G, y.id, {
313
+ beforeItemId: S.id
314
+ });
315
+ } : void 0, children: /* @__PURE__ */ d(Fe, { ...S.cardProps, isSelected: S.id === c, draggable: y.canDragOut, onDragStart: y.canDragOut ? b(S.id) : void 0, onDragEnd: y.canDragOut ? l : void 0 }) }) }, S.id)) })
316
+ ] }, y.id), e[16] = f, e[17] = o, e[18] = P, e[19] = p, e[20] = s, e[21] = a, e[22] = i, e[23] = c, e[24] = I) : I = e[24], v = t.map(I), e[6] = f, e[7] = o, e[8] = t, e[9] = P, e[10] = p, e[11] = s, e[12] = a, e[13] = i, e[14] = c, e[15] = v;
317
+ } else
318
+ v = e[15];
319
+ let k;
320
+ return e[25] !== v ? (k = /* @__PURE__ */ d(Pe, { height: "100%", size: "xs", showHorizontalScrollbar: !0, showVerticalScrollbar: !1, contentProps: E, children: v }), e[25] = v, e[26] = k) : k = e[26], k;
321
+ };
322
+ function Bt(r) {
323
+ return (e) => {
324
+ e.dataTransfer.setData("text/plain", r), e.dataTransfer.effectAllowed = "move";
325
+ };
326
+ }
327
+ const Ne = (r, e, t = 0) => {
328
+ const n = [];
329
+ for (const a of r) {
330
+ const i = (a.children?.length ?? 0) > 0;
331
+ n.push({
332
+ id: a.id,
333
+ item: a,
334
+ depth: t,
335
+ isGroup: a.isGroup === !0,
336
+ canExpand: i
337
+ }), i && Xe(e, a.id) && n.push(...Ne(a.children ?? [], e, t + 1));
338
+ }
339
+ return n;
340
+ }, zt = (r, e) => {
341
+ if (r)
342
+ return {
343
+ _before: {
344
+ content: '""',
345
+ position: "absolute",
346
+ bg: "border.accent",
347
+ left: "0",
348
+ top: "0",
349
+ width: e ? "3px" : "100%",
350
+ height: e ? "100%" : "2px"
351
+ }
352
+ };
353
+ }, Xe = (r, e) => r[e] !== !1, Mt = (r, e, t) => ({
354
+ ...r,
355
+ [e]: t
356
+ }), Kt = (r, e) => e ? /* @__PURE__ */ B(X, { gap: "xs", minW: "0", maxW: "full", flex: "1", children: [
357
+ /* @__PURE__ */ d(_, { textStyle: "label/S/medium", minW: "0", truncate: !0, children: r.title }),
358
+ /* @__PURE__ */ d(_, { textStyle: "label/XS", color: "fg.muted", flexShrink: 0, children: r.countBadge })
359
+ ] }) : /* @__PURE__ */ B(X, { gap: "compact", minW: "0", maxW: "full", flex: "1", children: [
360
+ r.eyebrow ? /* @__PURE__ */ d(_, { "data-testid": "list-row-eyebrow", flexShrink: 0, textStyle: "mono/XS", color: "fg.muted", truncate: !0, children: r.eyebrow }) : null,
361
+ /* @__PURE__ */ d(_, { textStyle: "paragraph/S/regular", minW: "0", truncate: !0, children: r.title })
362
+ ] }), Lt = (r) => (r.badges?.length ?? 0) > 0 || (r.customSlots?.length ?? 0) > 0 ? /* @__PURE__ */ d(X, { gap: "xs", flexShrink: 0, children: /* @__PURE__ */ B(we, { gap: "2xs", flexShrink: 0, children: [
363
+ r.badges?.map((t) => /* @__PURE__ */ d(je, { badge: t, onChange: r.onBadgeChange }, t.attributeId)),
364
+ r.customSlots
365
+ ] }) }) : null, _t = (r, e) => ({
366
+ id: r.id,
367
+ label: Kt(r, r.isGroup === !0),
368
+ icon: r.statusIcon ? /* @__PURE__ */ d(N, { "data-testid": r.isGroup ? "list-status-icon" : "row-status-icon", as: r.statusIcon, boxSize: "1rem", colorPalette: r.statusColorPalette ?? r.countColorPalette ?? "gray", color: r.statusColor ?? (r.isGroup || r.statusColorPalette ? "colorPalette.solid" : "fg.muted") }) : void 0,
369
+ endContent: Lt(r),
370
+ isContainer: e,
371
+ contextMenuItems: r.contextMenuActions?.map((t) => ({
372
+ id: t.key,
373
+ label: t.label,
374
+ icon: t.icon ?? void 0,
375
+ disabled: t.isDisabled,
376
+ separatorBefore: t.separatorBefore,
377
+ endContent: t.endContent,
378
+ onAction: t.onClick
379
+ }))
380
+ }), Vt = (r) => {
381
+ const e = K(24), {
382
+ items: t,
383
+ selectedItemId: n,
384
+ expandedGroups: a,
385
+ onItemClick: i,
386
+ onExpandedGroupChange: s
387
+ } = r, p = n === void 0 ? null : n;
388
+ let c;
389
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c = {}, e[0] = c) : c = e[0];
390
+ const [f, g] = W(c), [o, u] = W(null), [b, h] = W(null), l = a ?? f;
391
+ let m, x;
392
+ if (e[1] !== o || e[2] !== b || e[3] !== l || e[4] !== a || e[5] !== t || e[6] !== s || e[7] !== i || e[8] !== p) {
393
+ const w = Ne(t, l);
394
+ let D;
395
+ e[11] !== a || e[12] !== s ? (D = (v, k) => {
396
+ s?.(v, k), a === void 0 && g((I) => Mt(I, v, k));
397
+ }, e[11] = a, e[12] = s, e[13] = D) : D = e[13];
398
+ const P = D;
399
+ m = re;
400
+ let E;
401
+ e[14] !== o || e[15] !== b || e[16] !== l || e[17] !== P || e[18] !== i || e[19] !== p ? (E = (v) => /* @__PURE__ */ d(Wt, { row: v, isExpanded: Xe(l, v.id), selectedItemId: p, activeDropTargetId: o, draggedItemId: b, onDraggedItemChange: h, onDropTargetChange: u, onItemClick: i, onExpandedChange: P }, v.id), e[14] = o, e[15] = b, e[16] = l, e[17] = P, e[18] = i, e[19] = p, e[20] = E) : E = e[20], x = w.map(E), e[1] = o, e[2] = b, e[3] = l, e[4] = a, e[5] = t, e[6] = s, e[7] = i, e[8] = p, e[9] = m, e[10] = x;
402
+ } else
403
+ m = e[9], x = e[10];
404
+ let C;
405
+ return e[21] !== m || e[22] !== x ? (C = /* @__PURE__ */ d(m, { children: x }), e[21] = m, e[22] = x, e[23] = C) : C = e[23], C;
406
+ }, Wt = (r) => {
407
+ const e = K(56), {
408
+ row: t,
409
+ isExpanded: n,
410
+ selectedItemId: a,
411
+ activeDropTargetId: i,
412
+ draggedItemId: s,
413
+ onDraggedItemChange: p,
414
+ onDropTargetChange: c,
415
+ onItemClick: f,
416
+ onExpandedChange: g
417
+ } = r, {
418
+ item: o,
419
+ isGroup: u,
420
+ canExpand: b
421
+ } = t, h = o.id === a, l = !!o.onDropRow && o.id !== s, m = l && o.id === i;
422
+ let x;
423
+ e[0] !== b || e[1] !== o ? (x = _t(o, b), e[0] = b, e[1] = o, e[2] = x) : x = e[2];
424
+ const C = x;
425
+ let w;
426
+ e[3] !== n || e[4] !== g || e[5] !== t.id ? (w = () => g(t.id, !n), e[3] = n, e[4] = g, e[5] = t.id, e[6] = w) : w = e[6];
427
+ const D = w;
428
+ let P;
429
+ e[7] !== b || e[8] !== u || e[9] !== o || e[10] !== f || e[11] !== D ? (P = () => {
430
+ if (b) {
431
+ D();
432
+ return;
433
+ }
434
+ u || (o.onClick?.(), f?.(o));
435
+ }, e[7] = b, e[8] = u, e[9] = o, e[10] = f, e[11] = D, e[12] = P) : P = e[12];
436
+ const E = P;
437
+ let v;
438
+ e[13] !== o.draggable || e[14] !== o.id || e[15] !== p || e[16] !== c ? (v = (M) => {
439
+ o.draggable && (M.stopPropagation(), M.dataTransfer.setData("text/plain", o.id), M.dataTransfer.effectAllowed = "move", p(o.id), c(null));
440
+ }, e[13] = o.draggable, e[14] = o.id, e[15] = p, e[16] = c, e[17] = v) : v = e[17];
441
+ const k = v;
442
+ let I;
443
+ e[18] !== l || e[19] !== o.id || e[20] !== c ? (I = (M) => {
444
+ l && (M.preventDefault(), M.stopPropagation(), M.dataTransfer.dropEffect = "move", c(o.id));
445
+ }, e[18] = l, e[19] = o.id, e[20] = c, e[21] = I) : I = e[21];
446
+ const y = I;
447
+ let S;
448
+ e[22] !== c ? (S = (M) => {
449
+ M.currentTarget.contains(M.relatedTarget) || c(null);
450
+ }, e[22] = c, e[23] = S) : S = e[23];
451
+ const R = S;
452
+ let G;
453
+ e[24] !== l || e[25] !== o || e[26] !== p || e[27] !== c ? (G = (M) => {
454
+ if (!l || !o.onDropRow)
455
+ return;
456
+ M.preventDefault(), M.stopPropagation(), c(null), p(null);
457
+ const j = M.dataTransfer.getData("text/plain");
458
+ !j || j === o.id || o.onDropRow(j);
459
+ }, e[24] = l, e[25] = o, e[26] = p, e[27] = c, e[28] = G) : G = e[28];
460
+ const $ = G;
461
+ let O;
462
+ e[29] !== p || e[30] !== c ? (O = () => {
463
+ c(null), p(null);
464
+ }, e[29] = p, e[30] = c, e[31] = O) : O = e[31];
465
+ const T = O, A = m ? "true" : void 0, z = m ? "bg.subtle" : "transparent", U = o.draggable;
466
+ let V;
467
+ e[32] !== b || e[33] !== m ? (V = zt(m, b), e[32] = b, e[33] = m, e[34] = V) : V = e[34];
468
+ const ee = o.onDropRow ? R : void 0, oe = u ? void 0 : o.title, te = u ? "compact" : "collection";
469
+ let H;
470
+ e[35] !== b || e[36] !== E || e[37] !== n || e[38] !== h || e[39] !== t.depth || e[40] !== C || e[41] !== oe || e[42] !== te || e[43] !== D ? (H = /* @__PURE__ */ d(ke, { ...C, "aria-label": oe, variant: te, depth: t.depth, isSelected: h, isExpanded: n, showExpandToggle: b, showContextMenuTrigger: !1, onActivate: E, onToggleExpand: D }), e[35] = b, e[36] = E, e[37] = n, e[38] = h, e[39] = t.depth, e[40] = C, e[41] = oe, e[42] = te, e[43] = D, e[44] = H) : H = e[44];
471
+ let Y;
472
+ return e[45] !== T || e[46] !== y || e[47] !== k || e[48] !== $ || e[49] !== o.draggable || e[50] !== V || e[51] !== ee || e[52] !== H || e[53] !== A || e[54] !== z ? (Y = /* @__PURE__ */ d(re, { "data-drop-target": A, position: "relative", borderBottomWidth: "1px", borderBottomColor: "border.subtle", bg: z, draggable: U, transition: "background 120ms ease", ...V, onDragStart: k, onDragOver: y, onDragLeave: ee, onDragEnd: T, onDrop: $, children: H }), e[45] = T, e[46] = y, e[47] = k, e[48] = $, e[49] = o.draggable, e[50] = V, e[51] = ee, e[52] = H, e[53] = A, e[54] = z, e[55] = Y) : Y = e[55], Y;
473
+ }, Oe = (r) => {
474
+ const e = K(7), {
475
+ emptyState: t,
476
+ title: n,
477
+ description: a,
478
+ height: i
479
+ } = r;
480
+ if (t !== void 0) {
481
+ let p;
482
+ return e[0] !== t || e[1] !== i ? (p = i ? /* @__PURE__ */ d(re, { height: i, children: t }) : t, e[0] = t, e[1] = i, e[2] = p) : p = e[2], p;
483
+ }
484
+ let s;
485
+ return e[3] !== a || e[4] !== i || e[5] !== n ? (s = /* @__PURE__ */ d(dt, { title: n, description: a, height: i }), e[3] = a, e[4] = i, e[5] = n, e[6] = s) : s = e[6], s;
486
+ }, Ht = (r) => {
487
+ const e = K(20), {
488
+ viewMode: t,
489
+ boardColumns: n,
490
+ listItems: a,
491
+ listExpandedGroups: i,
492
+ selectedRowId: s,
493
+ emptyState: p,
494
+ emptyTitle: c,
495
+ emptyDescription: f,
496
+ onBoardMoveItem: g,
497
+ onBoardMoveToGroup: o,
498
+ onCreateRow: u,
499
+ onColumnAction: b,
500
+ onListExpandedGroupChange: h,
501
+ listKey: l
502
+ } = r;
503
+ if (t === "board") {
504
+ let x;
505
+ return e[0] !== n || e[1] !== f || e[2] !== p || e[3] !== c || e[4] !== g || e[5] !== o || e[6] !== b || e[7] !== u || e[8] !== s ? (x = /* @__PURE__ */ d(re, { flex: "1", minH: "0", children: n.length > 0 ? /* @__PURE__ */ d($t, { columns: n, selectedItemId: s, onMoveItem: g, onMoveToGroup: o, onCreateStart: u, onColumnAction: b }) : /* @__PURE__ */ d(Oe, { emptyState: p, title: c, description: f, height: "100%" }) }), e[0] = n, e[1] = f, e[2] = p, e[3] = c, e[4] = g, e[5] = o, e[6] = b, e[7] = u, e[8] = s, e[9] = x) : x = e[9], x;
506
+ }
507
+ if (a.length > 0) {
508
+ let x;
509
+ return e[10] !== i || e[11] !== a || e[12] !== l || e[13] !== h || e[14] !== s ? (x = /* @__PURE__ */ d(Vt, { items: a, selectedItemId: s, expandedGroups: i, onExpandedGroupChange: h }, l), e[10] = i, e[11] = a, e[12] = l, e[13] = h, e[14] = s, e[15] = x) : x = e[15], x;
510
+ }
511
+ let m;
512
+ return e[16] !== f || e[17] !== p || e[18] !== c ? (m = /* @__PURE__ */ d(Oe, { emptyState: p, title: c, description: f }), e[16] = f, e[17] = p, e[18] = c, e[19] = m) : m = e[19], m;
513
+ }, jt = (r) => {
514
+ const e = K(2), {
515
+ children: t
516
+ } = r;
517
+ let n;
518
+ return e[0] !== t ? (n = /* @__PURE__ */ d(_, { minH: "0.75rem", textStyle: "label/XS", color: "fg.muted", lineHeight: "1", letterSpacing: "0.08em", textTransform: "uppercase", children: t }), e[0] = t, e[1] = n) : n = e[1], n;
519
+ }, $e = (r) => {
520
+ const e = K(15), {
521
+ group: t,
522
+ params: n,
523
+ renderParam: a,
524
+ variant: i,
525
+ width: s
526
+ } = r, p = s === void 0 ? "auto" : s, c = t.title, f = i === "small" ? "2xs" : "xs";
527
+ let g;
528
+ e[0] !== t.title ? (g = /* @__PURE__ */ d(jt, { children: t.title }), e[0] = t.title, e[1] = g) : g = e[1];
529
+ const o = i === "small" ? "2xs" : "xs";
530
+ let u;
531
+ e[2] !== n || e[3] !== a ? (u = n.map(a), e[2] = n, e[3] = a, e[4] = u) : u = e[4];
532
+ let b;
533
+ e[5] !== o || e[6] !== u || e[7] !== p ? (b = /* @__PURE__ */ d(X, { gap: o, flexWrap: "wrap", alignItems: "start", minW: "0", width: p, children: u }), e[5] = o, e[6] = u, e[7] = p, e[8] = b) : b = e[8];
534
+ let h;
535
+ return e[9] !== t.title || e[10] !== f || e[11] !== g || e[12] !== b || e[13] !== p ? (h = /* @__PURE__ */ B(lt, { as: "section", "aria-label": c, gap: f, alignItems: "start", minW: "0", width: p, children: [
536
+ g,
537
+ b
538
+ ] }), e[9] = t.title, e[10] = f, e[11] = g, e[12] = b, e[13] = p, e[14] = h) : h = e[14], h;
539
+ }, Ft = (r) => {
540
+ const e = K(35), {
541
+ params: t,
542
+ groups: n,
543
+ defaultValues: a,
544
+ onChange: i,
545
+ onOpenResource: s,
546
+ readOnly: p,
547
+ variant: c
548
+ } = r;
549
+ let f, g, o, u, b, h, l, m;
550
+ if (e[0] !== a || e[1] !== i || e[2] !== s || e[3] !== p || e[4] !== t || e[5] !== n || e[6] !== c) {
551
+ const C = t === void 0 ? [] : t, w = n === void 0 ? [] : n, D = c === void 0 ? "default" : c, P = C.filter(He), E = w.map(Nt);
552
+ let v;
553
+ e[15] !== a || e[16] !== i || e[17] !== s || e[18] !== p || e[19] !== D ? (v = (A) => /* @__PURE__ */ d(xt, { param: A, defaultValues: a, onChange: i, onOpenResource: s, readOnly: p, presentation: "horizontal", size: D === "small" ? "xs" : "sm" }, A.id), e[15] = a, e[16] = i, e[17] = s, e[18] = p, e[19] = D, e[20] = v) : v = e[20];
554
+ const k = v, I = P.filter(Xt), y = P.filter(he), S = E.map(Ut).filter(Yt), R = E.map(Jt).filter(Qt), G = D === "small" ? "xs" : "sm", $ = I.length > 0 || S.length > 0;
555
+ f = q, g = "1", o = "full", u = G, b = "0", h = $ ? /* @__PURE__ */ B(X, { gap: G, flexWrap: "wrap", alignItems: "start", minW: "0", children: [
556
+ I.map(k),
557
+ S.map((A) => {
558
+ const {
559
+ group: z,
560
+ params: U
561
+ } = A;
562
+ return /* @__PURE__ */ d($e, { group: z, params: U, renderParam: k, variant: D }, z.id);
563
+ })
564
+ ] }) : null;
565
+ let O;
566
+ e[21] !== k ? (O = (A) => /* @__PURE__ */ d(re, { width: "full", minW: "0", children: k(A) }, A.id), e[21] = k, e[22] = O) : O = e[22], l = y.map(O);
567
+ let T;
568
+ e[23] !== k || e[24] !== D ? (T = (A) => {
569
+ const {
570
+ group: z,
571
+ params: U
572
+ } = A;
573
+ return /* @__PURE__ */ d($e, { group: z, params: U, renderParam: k, variant: D, width: "full" }, `${z.id}-rich`);
574
+ }, e[23] = k, e[24] = D, e[25] = T) : T = e[25], m = R.map(T), e[0] = a, e[1] = i, e[2] = s, e[3] = p, e[4] = t, e[5] = n, e[6] = c, e[7] = f, e[8] = g, e[9] = o, e[10] = u, e[11] = b, e[12] = h, e[13] = l, e[14] = m;
575
+ } else
576
+ f = e[7], g = e[8], o = e[9], u = e[10], b = e[11], h = e[12], l = e[13], m = e[14];
577
+ let x;
578
+ return e[26] !== f || e[27] !== g || e[28] !== o || e[29] !== u || e[30] !== b || e[31] !== h || e[32] !== l || e[33] !== m ? (x = /* @__PURE__ */ B(f, { flex: g, maxW: o, gap: u, minW: b, children: [
579
+ h,
580
+ l,
581
+ m
582
+ ] }), e[26] = f, e[27] = g, e[28] = o, e[29] = u, e[30] = b, e[31] = h, e[32] = l, e[33] = m, e[34] = x) : x = e[34], x;
583
+ };
584
+ function Nt(r) {
585
+ return {
586
+ ...r,
587
+ params: r.params.filter(He)
588
+ };
589
+ }
590
+ function Xt(r) {
591
+ return !he(r);
592
+ }
593
+ function qt(r) {
594
+ return !he(r);
595
+ }
596
+ function Ut(r) {
597
+ return {
598
+ group: r,
599
+ params: r.params.filter(qt)
600
+ };
601
+ }
602
+ function Yt(r) {
603
+ const {
604
+ params: e
605
+ } = r;
606
+ return e.length > 0;
607
+ }
608
+ function Jt(r) {
609
+ return {
610
+ group: r,
611
+ params: r.params.filter(he)
612
+ };
613
+ }
614
+ function Qt(r) {
615
+ const {
616
+ params: e
617
+ } = r;
618
+ return e.length > 0;
619
+ }
620
+ const Zt = (r) => {
621
+ const e = K(7), {
622
+ disabled: t,
623
+ field: n,
624
+ onChange: a
625
+ } = r, i = typeof n.defaultValue == "string" ? n.defaultValue : "", s = !t;
626
+ let p;
627
+ e[0] !== a ? (p = (f) => a(f), e[0] = a, e[1] = p) : p = e[1];
628
+ let c;
629
+ return e[2] !== n.placeholder || e[3] !== i || e[4] !== s || e[5] !== p ? (c = /* @__PURE__ */ d(Dt, { defaultState: i, isEditable: s, placeholder: n.placeholder, autoFocus: !0, onChange: p }), e[2] = n.placeholder, e[3] = i, e[4] = s, e[5] = p, e[6] = c) : c = e[6], c;
630
+ }, en = (r) => {
631
+ const e = K(24), {
632
+ disabled: t,
633
+ field: n,
634
+ removeLabel: a,
635
+ value: i,
636
+ onChange: s
637
+ } = r, p = Ve(null);
638
+ let c;
639
+ e[0] !== i ? (c = Array.isArray(i) ? i : [], e[0] = i, e[1] = c) : c = e[1];
640
+ const f = c, g = n.multiple !== !1;
641
+ let o;
642
+ e[2] !== n.multiple || e[3] !== f || e[4] !== s ? (o = (C) => {
643
+ const w = Array.from(C.target.files ?? []);
644
+ s(n.multiple === !1 ? w.slice(0, 1) : [...f, ...w]), C.target.value = "";
645
+ }, e[2] = n.multiple, e[3] = f, e[4] = s, e[5] = o) : o = e[5];
646
+ let u;
647
+ e[6] !== n.accept || e[7] !== g || e[8] !== o ? (u = /* @__PURE__ */ d("input", { ref: p, hidden: !0, type: "file", accept: n.accept, multiple: g, onChange: o }), e[6] = n.accept, e[7] = g, e[8] = o, e[9] = u) : u = e[9];
648
+ let b, h;
649
+ e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = () => p.current?.click(), h = /* @__PURE__ */ d(N, { as: yt, boxSize: "4" }), e[10] = b, e[11] = h) : (b = e[10], h = e[11]);
650
+ let l;
651
+ e[12] !== t || e[13] !== n.label ? (l = /* @__PURE__ */ B(me, { size: "xs", variant: "ghost", disabled: t, onClick: b, children: [
652
+ h,
653
+ n.label
654
+ ] }), e[12] = t, e[13] = n.label, e[14] = l) : l = e[14];
655
+ let m;
656
+ e[15] !== t || e[16] !== f || e[17] !== s || e[18] !== a ? (m = f.length > 0 ? /* @__PURE__ */ d(we, { gap: "2xs", children: f.map((C, w) => /* @__PURE__ */ d(St, { file: C, disabled: t, removeLabel: a, onRemove: () => s(f.filter((D, P) => P !== w)) }, `${C.name}-${w.toString()}`)) }) : null, e[15] = t, e[16] = f, e[17] = s, e[18] = a, e[19] = m) : m = e[19];
657
+ let x;
658
+ return e[20] !== u || e[21] !== l || e[22] !== m ? (x = /* @__PURE__ */ B(q, { gap: "2xs", align: "start", children: [
659
+ u,
660
+ l,
661
+ m
662
+ ] }), e[20] = u, e[21] = l, e[22] = m, e[23] = x) : x = e[23], x;
663
+ }, tn = (r) => {
664
+ const e = K(45), {
665
+ disabled: t,
666
+ field: n,
667
+ value: a,
668
+ onChange: i
669
+ } = r;
670
+ if (n.type === "longtext") {
671
+ const g = typeof a == "string" ? a : "";
672
+ let o;
673
+ e[0] !== i ? (o = (b) => i(b.target.value), e[0] = i, e[1] = o) : o = e[1];
674
+ let u;
675
+ return e[2] !== t || e[3] !== n.label || e[4] !== n.placeholder || e[5] !== g || e[6] !== o ? (u = /* @__PURE__ */ d(at, { "aria-label": n.label, minH: "120px", size: "sm", placeholder: n.placeholder, value: g, disabled: t, onChange: o }), e[2] = t, e[3] = n.label, e[4] = n.placeholder, e[5] = g, e[6] = o, e[7] = u) : u = e[7], u;
676
+ }
677
+ if (n.type === "select" || n.type === "multi-select") {
678
+ const g = n.id, o = n.label, u = n.description ?? "";
679
+ let b;
680
+ e[8] !== n.type || e[9] !== a ? (b = a ?? (n.type === "multi-select" ? [] : ""), e[8] = n.type, e[9] = a, e[10] = b) : b = e[10];
681
+ let h;
682
+ e[11] !== n.options ? (h = n.options ?? [], e[11] = n.options, e[12] = h) : h = e[12];
683
+ let l;
684
+ e[13] !== h ? (l = h.map(rn), e[13] = h, e[14] = l) : l = e[14];
685
+ const m = n.type === "multi-select", x = n.placeholder ?? n.label, C = !n.required;
686
+ let w;
687
+ e[15] !== i ? (w = (P, E) => i(E), e[15] = i, e[16] = w) : w = e[16];
688
+ let D;
689
+ return e[17] !== t || e[18] !== n.id || e[19] !== n.label || e[20] !== u || e[21] !== b || e[22] !== l || e[23] !== m || e[24] !== x || e[25] !== C || e[26] !== w ? (D = /* @__PURE__ */ d(Ct, { hideLabel: !0, id: g, name: o, description: u, defaultValue: b, options: l, multiSelect: m, placeholder: x, clearable: C, readOnly: t, onChange: w }), e[17] = t, e[18] = n.id, e[19] = n.label, e[20] = u, e[21] = b, e[22] = l, e[23] = m, e[24] = x, e[25] = C, e[26] = w, e[27] = D) : D = e[27], D;
690
+ }
691
+ if (n.type === "boolean") {
692
+ let g;
693
+ e[28] !== i || e[29] !== a ? (g = () => i(a !== !0), e[28] = i, e[29] = a, e[30] = g) : g = e[30];
694
+ let o;
695
+ return e[31] !== t || e[32] !== n.label || e[33] !== g ? (o = /* @__PURE__ */ d(me, { size: "sm", variant: "outline", disabled: t, onClick: g, children: n.label }), e[31] = t, e[32] = n.label, e[33] = g, e[34] = o) : o = e[34], o;
696
+ }
697
+ const s = n.type === "number" ? "number" : "text", p = typeof a == "string" || typeof a == "number" ? a : "";
698
+ let c;
699
+ e[35] !== n.type || e[36] !== i ? (c = (g) => i(n.type === "number" && g.target.value ? Number(g.target.value) : g.target.value), e[35] = n.type, e[36] = i, e[37] = c) : c = e[37];
700
+ let f;
701
+ return e[38] !== t || e[39] !== n.label || e[40] !== n.placeholder || e[41] !== s || e[42] !== p || e[43] !== c ? (f = /* @__PURE__ */ d(it, { "aria-label": n.label, size: "sm", type: s, placeholder: n.placeholder, value: p, disabled: t, onChange: c }), e[38] = t, e[39] = n.label, e[40] = n.placeholder, e[41] = s, e[42] = p, e[43] = c, e[44] = f) : f = e[44], f;
702
+ }, nn = (r) => {
703
+ const e = K(20), {
704
+ disabled: t,
705
+ field: n,
706
+ removeLabel: a,
707
+ value: i,
708
+ onChange: s
709
+ } = r;
710
+ if (n.type === "files") {
711
+ let u;
712
+ return e[0] !== t || e[1] !== n || e[2] !== s || e[3] !== a || e[4] !== i ? (u = /* @__PURE__ */ d(en, { disabled: t, field: n, removeLabel: a, value: i, onChange: s }), e[0] = t, e[1] = n, e[2] = s, e[3] = a, e[4] = i, e[5] = u) : u = e[5], u;
713
+ }
714
+ if (n.type === "markdown") {
715
+ let u;
716
+ return e[6] !== t || e[7] !== n || e[8] !== s ? (u = /* @__PURE__ */ d(Zt, { disabled: t, field: n, onChange: s }), e[6] = t, e[7] = n, e[8] = s, e[9] = u) : u = e[9], u;
717
+ }
718
+ const p = `${n.label}${n.required ? " *" : ""}`;
719
+ let c;
720
+ e[10] !== p ? (c = /* @__PURE__ */ d(_, { textStyle: "label/S/medium", children: p }), e[10] = p, e[11] = c) : c = e[11];
721
+ let f;
722
+ e[12] !== n.description ? (f = n.description ? /* @__PURE__ */ d(_, { textStyle: "paragraph/XS/regular", color: "fg.muted", children: n.description }) : null, e[12] = n.description, e[13] = f) : f = e[13];
723
+ let g;
724
+ e[14] !== r ? (g = /* @__PURE__ */ d(tn, { ...r }), e[14] = r, e[15] = g) : g = e[15];
725
+ let o;
726
+ return e[16] !== c || e[17] !== f || e[18] !== g ? (o = /* @__PURE__ */ B(q, { gap: "2xs", children: [
727
+ c,
728
+ f,
729
+ g
730
+ ] }), e[16] = c, e[17] = f, e[18] = g, e[19] = o) : o = e[19], o;
731
+ };
732
+ function rn(r) {
733
+ return {
734
+ id: r.value,
735
+ name: r.label,
736
+ icon: r.icon ?? void 0,
737
+ color: r.color
738
+ };
739
+ }
740
+ const on = (r) => r.type === "files" || r.type === "multi-select" ? [] : r.type === "boolean" ? !1 : "", Be = (r) => Object.fromEntries(r.map((e) => [e.id, e.defaultValue ?? on(e)])), ln = (r, e) => r.required ? Array.isArray(e) ? e.length > 0 : typeof e == "string" ? e.trim().length > 0 : e != null : !0, De = (r) => r.filter((e) => e.editable), ze = (r, e, t) => Object.fromEntries(r.map((n) => [n.id, n.id === e ? t : n.type.kind === "enum-multi" ? [] : ""])), an = (r, e) => {
741
+ const t = {
742
+ id: r.id,
743
+ name: r.label,
744
+ description: ""
745
+ };
746
+ if (r.type.kind === "enum" || r.type.kind === "enum-multi") {
747
+ const n = r.type.kind === "enum-multi";
748
+ return {
749
+ ...t,
750
+ type: "selection",
751
+ defaultValue: n ? [] : "",
752
+ multiSelect: n,
753
+ // The trigger shows the value alone; the attribute name is the placeholder.
754
+ placeholder: r.label,
755
+ clearable: !e,
756
+ // The column already chose this value, and the create command reads it
757
+ // from the column param — editing it here would be ignored.
758
+ disabled: e,
759
+ options: Ue(r.type).map((a) => ({
760
+ id: a.value,
761
+ name: a.label,
762
+ icon: a.icon ?? void 0,
763
+ color: a.color
764
+ }))
765
+ };
766
+ }
767
+ return r.type.kind === "number" ? {
768
+ ...t,
769
+ type: "number",
770
+ defaultValue: 0
771
+ } : {
772
+ ...t,
773
+ type: "text",
774
+ defaultValue: "",
775
+ singleLine: !0
776
+ };
777
+ }, sn = (r) => {
778
+ const {
779
+ open: e,
780
+ columnId: t,
781
+ columnAttributeId: n,
782
+ attributes: a,
783
+ config: i,
784
+ onClose: s,
785
+ onSubmit: p
786
+ } = r, [c, f] = W({}), [g, o] = W({}), [u, b] = W(!1), [h, l] = W(""), [m, x] = W(0), C = Ve(!1), w = De(a);
787
+ Se(() => {
788
+ if (!e) {
789
+ C.current = !1;
790
+ return;
791
+ }
792
+ C.current || (C.current = !0, f(Be(i.fields)), o(ze(De(a), n, t)), l(""), x((v) => v + 1));
793
+ }, [a, n, t, i.fields, e]), Se(() => {
794
+ if (!e) return;
795
+ const v = Be(i.fields), k = new Set(i.fields.map((I) => I.id));
796
+ f((I) => {
797
+ const y = Object.entries(I).filter(([R]) => k.has(R)), S = Object.entries(v).filter(([R]) => !(R in I));
798
+ return S.length === 0 && y.length === Object.keys(I).length ? I : {
799
+ ...Object.fromEntries(S),
800
+ ...Object.fromEntries(y)
801
+ };
802
+ });
803
+ }, [i.fields, e]), Se(() => {
804
+ if (!e) return;
805
+ const v = De(a), k = ze(v, n, t), I = new Set(v.map((y) => y.id));
806
+ o((y) => {
807
+ const S = Object.entries(y).filter(([G]) => I.has(G)), R = Object.entries(k).filter(([G]) => !(G in y));
808
+ return R.length === 0 && S.length === Object.keys(y).length ? y : {
809
+ ...Object.fromEntries(R),
810
+ ...Object.fromEntries(S)
811
+ };
812
+ });
813
+ }, [a, e, t, n]);
814
+ const D = () => {
815
+ u || s();
816
+ }, P = i.fields.every((v) => ln(v, c[v.id])), E = async () => {
817
+ if (!(!P || u)) {
818
+ b(!0), l("");
819
+ try {
820
+ const v = new Set(i.fields.filter((y) => y.type === "files").map((y) => y.id)), k = [...v].flatMap((y) => Array.isArray(c[y]) ? c[y] : []), I = Object.fromEntries(Object.entries(c).filter(([y]) => !v.has(y)));
821
+ await p({
822
+ columnId: t,
823
+ columnAttributeId: n,
824
+ values: I,
825
+ attributeValues: g,
826
+ files: k
827
+ }), s();
828
+ } catch (v) {
829
+ l(v instanceof Error ? v.message : i.labels.submitError);
830
+ } finally {
831
+ b(!1);
832
+ }
833
+ }
834
+ };
835
+ return /* @__PURE__ */ B(ne.Root, { open: e, size: "lg", scrollBehavior: "inside", onOpenChange: (v) => !v.open && D(), children: [
836
+ /* @__PURE__ */ d(ne.Backdrop, {}),
837
+ /* @__PURE__ */ d(ne.Positioner, { children: /* @__PURE__ */ B(ne.Content, { maxH: "calc(100% - 48px)", children: [
838
+ /* @__PURE__ */ B(ne.Header, { children: [
839
+ /* @__PURE__ */ d(_, { textStyle: "heading/M/semibold", children: i.title }),
840
+ /* @__PURE__ */ d(ne.CloseTrigger, { asChild: !0, children: /* @__PURE__ */ d(st, { size: "sm", disabled: u }) })
841
+ ] }),
842
+ /* @__PURE__ */ d(ne.Body, { children: /* @__PURE__ */ B(q, { gap: "md", children: [
843
+ i.fields.map((v) => /* @__PURE__ */ d(nn, { field: v, removeLabel: i.labels.removeFile, value: c[v.id], disabled: u, onChange: (k) => f((I) => ({
844
+ ...I,
845
+ [v.id]: k
846
+ })) }, `${v.id}:${m.toString()}`)),
847
+ w.length > 0 ? /* @__PURE__ */ B(q, { gap: "2xs", children: [
848
+ /* @__PURE__ */ d(_, { textStyle: "label/S/medium", children: i.labels.properties }),
849
+ /* @__PURE__ */ d(Ft, { variant: "small", params: w.map((v) => an(v, v.id === n)), defaultValues: g, readOnly: u, onChange: (v, k) => o((I) => ({
850
+ ...I,
851
+ [v]: k
852
+ })) })
853
+ ] }) : null,
854
+ h ? /* @__PURE__ */ d(_, { textStyle: "paragraph/S/regular", color: "fg.error", children: h }) : null
855
+ ] }) }),
856
+ /* @__PURE__ */ d(ne.Footer, { justifyContent: "end", children: /* @__PURE__ */ B(X, { gap: "2", children: [
857
+ /* @__PURE__ */ d(me, { size: "sm", variant: "ghost", disabled: u, onClick: D, children: i.labels.cancel }),
858
+ /* @__PURE__ */ d(me, { size: "sm", variant: "primary", disabled: !P, loading: u, onClick: () => {
859
+ E();
860
+ }, children: i.submitLabel })
861
+ ] }) })
862
+ ] }) })
863
+ ] });
864
+ }, dn = (r) => {
865
+ const {
866
+ settings: e,
867
+ visibleRows: t,
868
+ grouped: n,
869
+ attributes: a,
870
+ onRowClick: i,
871
+ onAttributeChange: s,
872
+ onReorder: p,
873
+ getRowContextMenuActions: c
874
+ } = r, f = e.ordering.attributeId === Ie, g = e.displayProperties.filter((l) => l !== "id"), o = (l, m) => {
875
+ const x = Le(a, l), C = x ? _e(x.type, m) : void 0;
876
+ return {
877
+ statusColorPalette: C?.color,
878
+ statusIcon: be(C?.icon)
879
+ };
880
+ }, u = (l) => {
881
+ const m = l.attributes.status;
882
+ return typeof m != "string" ? {} : o("status", m);
883
+ }, b = (l, m) => {
884
+ const x = typeof l.attributes.id == "string" ? l.attributes.id : void 0;
885
+ return {
886
+ id: l.id,
887
+ eyebrow: x && x !== l.title ? x : void 0,
888
+ title: l.title,
889
+ ...u(l),
890
+ badges: Ke(l, a, g),
891
+ customSlots: Me(l, a, g),
892
+ contextMenuActions: c?.(l),
893
+ onClick: () => i?.(l),
894
+ onBadgeChange: s ? (C, w) => s(l.id, C, w) : void 0,
895
+ draggable: !!(s || p),
896
+ onDropRow: f && (s || p) ? (C) => {
897
+ const w = Ye(e.columnGrouping, m);
898
+ w && e.columnGrouping !== Z && s && s(C, e.columnGrouping, w), e.rowGrouping !== Z && m?.rowKey && s && s(C, e.rowGrouping, m.rowKey), p?.(C, l.id);
899
+ } : void 0
900
+ };
901
+ }, h = (l, m) => {
902
+ const x = m ? e.rowGrouping : e.columnGrouping;
903
+ return {
904
+ id: m ? `group::${m.columnKey}::${l.key}` : `group::${l.key}`,
905
+ title: l.label,
906
+ isGroup: !0,
907
+ countBadge: l.rows.length,
908
+ ...o(x, l.key),
909
+ onDropRow: s && e.columnGrouping !== Z ? (C) => {
910
+ const w = m?.columnKey ?? l.key;
911
+ s(C, e.columnGrouping, w), e.rowGrouping !== Z && m && s(C, e.rowGrouping, l.key);
912
+ } : void 0,
913
+ children: ge(l.rows, e.ordering, a).map((C) => b(C, {
914
+ columnKey: m?.columnKey ?? l.key,
915
+ rowKey: m ? l.key : void 0
916
+ }))
917
+ };
918
+ };
919
+ return e.columnGrouping === Z ? ge(t, e.ordering, a).map((l) => b(l)) : n.map((l) => l.subgroups.length > 0 ? {
920
+ id: `group::${l.key}`,
921
+ title: l.label,
922
+ isGroup: !0,
923
+ countBadge: l.rows.length,
924
+ ...o(e.columnGrouping, l.key),
925
+ onDropRow: s ? (m) => s(m, e.columnGrouping, l.key) : void 0,
926
+ children: l.subgroups.map((m) => h(m, {
927
+ columnKey: l.key
928
+ }))
929
+ } : h(l));
930
+ }, cn = (r) => {
931
+ const e = r.attributes.id;
932
+ return typeof e == "string" && e ? e : r.id;
933
+ }, Gn = (r) => {
934
+ const e = K(59), {
935
+ rows: t,
936
+ storageKey: n,
937
+ attributes: a,
938
+ selectedRowId: i,
939
+ emptyState: s,
940
+ emptyTitle: p,
941
+ emptyDescription: c,
942
+ defaultSettings: f,
943
+ defaultFilters: g,
944
+ defaultViews: o,
945
+ defaultActiveViewId: u,
946
+ onRowClick: b,
947
+ onAttributeChange: h,
948
+ onReorder: l,
949
+ createRow: m,
950
+ onCreateRow: x,
951
+ onColumnAction: C,
952
+ getBoardColumnConfig: w,
953
+ getRowContextMenuActions: D,
954
+ hideToolbar: P,
955
+ toolbarLeading: E
956
+ } = r, v = i === void 0 ? null : i, k = p === void 0 ? "No rows found" : p, I = c === void 0 ? "Try changing filters or display settings." : c, y = P === void 0 ? !1 : P, S = Je(a), [R, G] = W(null);
957
+ let $;
958
+ e[0] !== u || e[1] !== g || e[2] !== f || e[3] !== o ? ($ = {
959
+ settings: f,
960
+ filters: g,
961
+ views: o,
962
+ activeViewId: u
963
+ }, e[0] = u, e[1] = g, e[2] = f, e[3] = o, e[4] = $) : $ = e[4];
964
+ const O = $, T = pe(n, un, O), A = pe(n, pn, O), z = pe(n, gn, O), U = pe(n, fn, O);
965
+ let V, ee;
966
+ if (e[5] !== S || e[6] !== A || e[7] !== w || e[8] !== D || e[9] !== h || e[10] !== l || e[11] !== b || e[12] !== t || e[13] !== T) {
967
+ const se = Qe(t, A, S), de = Ze(T.columnGrouping, S, A), le = et(se, {
968
+ attributes: S,
969
+ columnGrouping: T.columnGrouping,
970
+ rowGrouping: T.rowGrouping,
971
+ knownColumnKeys: de
972
+ });
973
+ V = dn({
974
+ settings: T,
975
+ visibleRows: se,
976
+ grouped: le,
977
+ attributes: S,
978
+ onRowClick: b,
979
+ onAttributeChange: h,
980
+ onReorder: l,
981
+ getRowContextMenuActions: D
982
+ });
983
+ const Ge = T.displayProperties.filter(mn), Re = (J) => J.map((L) => ({
984
+ id: L.id,
985
+ contextMenuActions: D?.(L),
986
+ cardProps: {
987
+ eyebrow: T.displayProperties.includes("id") ? cn(L) : void 0,
988
+ title: L.title,
989
+ badges: Ke(L, S, Ge),
990
+ customSlots: Me(L, S, Ge),
991
+ onBadgeChange: h ? (xe, ue) => h(L.id, xe, ue) : void 0,
992
+ onClick: () => b?.(L)
993
+ }
994
+ })), Te = Le(S, T.columnGrouping);
995
+ ee = le.map((J) => {
996
+ const L = w?.(J.key) ?? {}, xe = ge(J.rows, T.ordering, S), ue = Te ? _e(Te.type, J.key) : void 0, qe = J.subgroups.length > 0 ? J.subgroups.map((Ce) => ({
997
+ key: Ce.key,
998
+ label: Ce.label,
999
+ items: Re(ge(Ce.rows, T.ordering, S))
1000
+ })) : void 0;
1001
+ return {
1002
+ id: J.key,
1003
+ label: J.label,
1004
+ color: L.color ?? ue?.color,
1005
+ icon: ue?.icon ?? "circle",
1006
+ canDragIn: L.canDragIn ?? !1,
1007
+ canDragOut: L.canDragOut ?? !1,
1008
+ canCreate: L.canCreate ?? !1,
1009
+ actions: L.actions ?? [],
1010
+ items: Re(xe),
1011
+ groups: qe
1012
+ };
1013
+ }), e[5] = S, e[6] = A, e[7] = w, e[8] = D, e[9] = h, e[10] = l, e[11] = b, e[12] = t, e[13] = T, e[14] = V, e[15] = ee;
1014
+ } else
1015
+ V = e[14], ee = e[15];
1016
+ const oe = ee;
1017
+ let te;
1018
+ e[16] !== h || e[17] !== l || e[18] !== T ? (te = async (se, de, le) => {
1019
+ await It({
1020
+ settings: T,
1021
+ rowId: se,
1022
+ targetColumnId: de,
1023
+ targetGroupKey: le?.targetGroupKey,
1024
+ beforeItemId: le?.beforeItemId,
1025
+ onAttributeChange: h,
1026
+ onReorder: l
1027
+ });
1028
+ }, e[16] = h, e[17] = l, e[18] = T, e[19] = te) : te = e[19];
1029
+ const H = te;
1030
+ let Y;
1031
+ e[20] !== h || e[21] !== l || e[22] !== T ? (Y = async (se, de, le) => {
1032
+ await wt({
1033
+ settings: T,
1034
+ rowId: se,
1035
+ targetGroupKey: de,
1036
+ beforeItemId: le?.beforeItemId,
1037
+ onAttributeChange: h,
1038
+ onReorder: l
1039
+ });
1040
+ }, e[20] = h, e[21] = l, e[22] = T, e[23] = Y) : Y = e[23];
1041
+ const M = Y;
1042
+ let j;
1043
+ e[24] !== S || e[25] !== u || e[26] !== g || e[27] !== f || e[28] !== o || e[29] !== y || e[30] !== t || e[31] !== n || e[32] !== E ? (j = y ? null : /* @__PURE__ */ d(tt, { rows: t, storageKey: n, attributes: S, defaultSettings: f, defaultFilters: g, defaultViews: o, defaultActiveViewId: u, leading: E }), e[24] = S, e[25] = u, e[26] = g, e[27] = f, e[28] = o, e[29] = y, e[30] = t, e[31] = n, e[32] = E, e[33] = j) : j = e[33];
1044
+ const ye = m && x ? G : void 0, ve = `${T.columnGrouping}:${T.rowGrouping}`;
1045
+ let ae;
1046
+ e[34] !== oe || e[35] !== I || e[36] !== s || e[37] !== k || e[38] !== z || e[39] !== H || e[40] !== M || e[41] !== V || e[42] !== C || e[43] !== v || e[44] !== U || e[45] !== T.viewMode || e[46] !== ve || e[47] !== ye ? (ae = /* @__PURE__ */ d(Ht, { viewMode: T.viewMode, boardColumns: oe, listItems: V, listExpandedGroups: z, selectedRowId: v, emptyState: s, emptyTitle: k, emptyDescription: I, onBoardMoveItem: H, onBoardMoveToGroup: M, onCreateRow: ye, onColumnAction: C, onListExpandedGroupChange: U, listKey: ve }), e[34] = oe, e[35] = I, e[36] = s, e[37] = k, e[38] = z, e[39] = H, e[40] = M, e[41] = V, e[42] = C, e[43] = v, e[44] = U, e[45] = T.viewMode, e[46] = ve, e[47] = ye, e[48] = ae) : ae = e[48];
1047
+ let ie;
1048
+ e[49] !== S || e[50] !== R || e[51] !== m || e[52] !== x || e[53] !== T.columnGrouping ? (ie = m && x && R ? /* @__PURE__ */ d(sn, { open: !0, columnId: R, columnAttributeId: T.columnGrouping === Z ? void 0 : T.columnGrouping, attributes: S, config: m, onClose: () => G(null), onSubmit: x }) : null, e[49] = S, e[50] = R, e[51] = m, e[52] = x, e[53] = T.columnGrouping, e[54] = ie) : ie = e[54];
1049
+ let ce;
1050
+ return e[55] !== ae || e[56] !== ie || e[57] !== j ? (ce = /* @__PURE__ */ B(q, { "data-testid": "kanban-renderer", height: "100%", minH: "0", gap: "0", background: "bg", overflow: "hidden", children: [
1051
+ j,
1052
+ ae,
1053
+ ie
1054
+ ] }), e[55] = ae, e[56] = ie, e[57] = j, e[58] = ce) : ce = e[58], ce;
1055
+ };
1056
+ function un(r) {
1057
+ return r.settings;
1058
+ }
1059
+ function pn(r) {
1060
+ return r.filters;
1061
+ }
1062
+ function gn(r) {
1063
+ return r.expandedGroups;
1064
+ }
1065
+ function fn(r) {
1066
+ return r.setExpandedGroup;
1067
+ }
1068
+ function mn(r) {
1069
+ return r !== "id";
1070
+ }
1071
+ export {
1072
+ En as DisplayMenu,
1073
+ Pn as FilterMenu,
1074
+ Gn as KanbanRenderer,
1075
+ $t as KanbanRendererBoard,
1076
+ Fe as KanbanRendererCard,
1077
+ sn as KanbanRendererCreateDialog,
1078
+ Vt as KanbanRendererList,
1079
+ tt as KanbanRendererToolbar,
1080
+ Ie as MANUAL_ORDERING,
1081
+ Z as NO_GROUPING,
1082
+ An as buildDisplayPropertyOptions,
1083
+ On as buildFilterCategories,
1084
+ $n as buildGroupingOptions,
1085
+ Bn as buildOrderingOptions,
1086
+ Ke as collectDisplayBadges,
1087
+ Le as findAttribute,
1088
+ zn as getAttributeStringValues,
1089
+ Mn as getAttributeValue,
1090
+ Ue as getEnumOptions,
1091
+ Kn as isActiveKanbanRendererViewDirty,
1092
+ Ln as isAttributesSource,
1093
+ _n as isEnumOptionsSource,
1094
+ Vn as renderAttributeBadge,
1095
+ Wn as resolveAttributeOptions,
1096
+ Hn as sanitizeFilters,
1097
+ jn as sanitizeSettings,
1098
+ pe as useKanbanRendererStore,
1099
+ Je as useResolvedAttributes
1100
+ };
1101
+ //# sourceMappingURL=kanban-renderer.js.map