@bikdotai/bik-component-library 0.0.850-beta.2 → 0.0.850-beta.4

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 (59) hide show
  1. package/dist/cjs/assets/icons/ShipStation.svg.js +1 -1
  2. package/dist/cjs/assets/icons/ShipStation.svg.js.map +1 -1
  3. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +0 -1
  4. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
  6. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  8. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
  10. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/MentionPicker.js +32 -24
  12. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  13. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  14. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  15. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js +2 -0
  16. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js.map +1 -0
  17. package/dist/cjs/editor/BikEditor.js +1 -1
  18. package/dist/cjs/editor/BikEditor.js.map +1 -1
  19. package/dist/cjs/editor/BikEditor.styles.js +17 -12
  20. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  21. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  22. package/dist/cjs/editor/extensions/buildExtensions.js +2 -2
  23. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  24. package/dist/cjs/editor/extensions/characterLimit/CharacterLimitExtension.js +3 -3
  25. package/dist/cjs/editor/extensions/characterLimit/CharacterLimitExtension.js.map +1 -1
  26. package/dist/cjs/index.js +1 -1
  27. package/dist/esm/assets/icons/ShipStation.svg.js +2 -2
  28. package/dist/esm/assets/icons/ShipStation.svg.js.map +1 -1
  29. package/dist/esm/assets/icons/index.d.ts +1 -0
  30. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +4 -5
  31. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  32. package/dist/esm/components/agent-builder/components/DiscardModal.js +57 -49
  33. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
  34. package/dist/esm/components/agent-builder/components/GoLiveModal.js +26 -22
  35. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  36. package/dist/esm/components/agent-builder/components/MentionEditor.js +24 -23
  37. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  38. package/dist/esm/components/agent-builder/components/MentionPicker.js +81 -73
  39. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  40. package/dist/esm/components/agent-listing/AgentListing.js +68 -74
  41. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  42. package/dist/esm/components/agent-listing/AiAgentsEmptyState.d.ts +22 -0
  43. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js +22 -0
  44. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js.map +1 -0
  45. package/dist/esm/editor/BikEditor.js +70 -68
  46. package/dist/esm/editor/BikEditor.js.map +1 -1
  47. package/dist/esm/editor/BikEditor.styles.js +20 -15
  48. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  49. package/dist/esm/editor/BikEditor.types.d.ts +10 -0
  50. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  51. package/dist/esm/editor/extensions/buildExtensions.d.ts +6 -0
  52. package/dist/esm/editor/extensions/buildExtensions.js +20 -15
  53. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  54. package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.d.ts +20 -3
  55. package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.js +40 -25
  56. package/dist/esm/editor/extensions/characterLimit/CharacterLimitExtension.js.map +1 -1
  57. package/dist/esm/index.js +761 -759
  58. package/dist/esm/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -1,55 +1,55 @@
1
- import { jsxs as z, jsx as i, Fragment as U } from "react/jsx-runtime";
1
+ import { jsxs as y, jsx as i, Fragment as W } from "react/jsx-runtime";
2
2
  import { useState as L, useCallback as n } from "react";
3
- import { TablePagination as W } from "../TablePagination/TablePagination.js";
4
- import { ZeroState as X } from "../zeroState/ZeroState.js";
5
- import { Page as Y, Body as _, EmptyHolder as ee } from "./AgentListing.styled.js";
6
- import { AgentListingFilters as te } from "./AgentListingFilters.js";
7
- import { AgentListingHeader as ne } from "./AgentListingHeader.js";
8
- import { AgentTable as oe } from "./AgentTable.js";
9
- import { AgentTableShimmer as ie } from "./AgentTableShimmer.js";
3
+ import { TablePagination as X } from "../TablePagination/TablePagination.js";
4
+ import { Page as Y, Body as Z, EmptyHolder as _ } from "./AgentListing.styled.js";
5
+ import { AgentListingFilters as ee } from "./AgentListingFilters.js";
6
+ import { AgentListingHeader as te } from "./AgentListingHeader.js";
7
+ import { AgentTable as ne } from "./AgentTable.js";
8
+ import { AgentTableShimmer as oe } from "./AgentTableShimmer.js";
9
+ import { AiAgentsEmptyState as ie } from "./AiAgentsEmptyState.js";
10
10
  import { DeleteAgentModal as ae } from "./DeleteAgentModal.js";
11
11
  import { unwrapDropdownValue as re } from "../dropdown/utils.js";
12
12
  const se = ({
13
- config: T,
14
- onSearchChange: u,
13
+ config: z,
14
+ onSearchChange: p,
15
15
  onSearchSubmit: l,
16
16
  onFilterChange: g,
17
17
  onSortChange: d,
18
- onNewAgent: f,
18
+ onNewAgent: u,
19
19
  onBrowseTemplates: m,
20
- onRunAgent: A,
21
- onEditAgent: S,
20
+ onRunAgent: f,
21
+ onEditAgent: A,
22
22
  onDeleteAgent: r,
23
23
  onRowClick: c,
24
24
  ...D
25
25
  }) => {
26
26
  const [a, h] = L(
27
27
  null
28
- ), [b, C] = L(!1), {
29
- agents: w,
28
+ ), [S, w] = L(!1), {
29
+ agents: C,
30
30
  isLoading: N,
31
31
  triggerCountsLoading: R,
32
32
  searchValue: v,
33
- searchPlaceholder: x = "Search",
34
- filterOptions: B,
35
- filterPlaceholder: E = "Filters",
36
- sortOptions: F,
37
- selectedSort: I,
38
- title: O = "AI Agents",
33
+ searchPlaceholder: E = "Search",
34
+ filterOptions: F,
35
+ filterPlaceholder: O = "Filters",
36
+ sortOptions: T,
37
+ selectedSort: x,
38
+ title: j = "AI Agents",
39
39
  headerActions: k,
40
40
  pagination: o,
41
- emptyState: p,
42
- debugLog: y
43
- } = T, j = !N && w.length === 0, t = n(
41
+ emptyState: B,
42
+ debugLog: b
43
+ } = z, H = !N && C.length === 0, t = n(
44
44
  (e, ...s) => {
45
- y && console.log(`[AgentListing] ${e}`, ...s);
45
+ b && console.log(`[AgentListing] ${e}`, ...s);
46
46
  },
47
- [y]
48
- ), H = n(
47
+ [b]
48
+ ), I = n(
49
49
  (e) => {
50
- t("onSearchChange", e), u(e);
50
+ t("onSearchChange", e), p(e);
51
51
  },
52
- [t, u]
52
+ [t, p]
53
53
  ), M = n(
54
54
  (e) => {
55
55
  t("onSearchSubmit", e), l?.(e);
@@ -66,90 +66,84 @@ const se = ({
66
66
  },
67
67
  [t, d]
68
68
  ), P = n(() => {
69
- t("onNewAgent"), f();
70
- }, [t, f]), Z = n(() => {
69
+ t("onNewAgent"), u();
70
+ }, [t, u]), $ = n(() => {
71
71
  t("onBrowseTemplates"), m?.();
72
- }, [t, m]), $ = n(
72
+ }, [t, m]), G = n(
73
73
  (e) => {
74
- t("onRunAgent", e.id), A(e);
74
+ t("onRunAgent", e.id), f(e);
75
75
  },
76
- [t, A]
77
- ), G = n(
76
+ [t, f]
77
+ ), J = n(
78
78
  (e) => {
79
- t("onEditAgent", e.id), S(e);
79
+ t("onEditAgent", e.id), A(e);
80
80
  },
81
- [t, S]
82
- ), J = n(
81
+ [t, A]
82
+ ), K = n(
83
83
  (e) => {
84
84
  t("onRowClick", e.id), c?.(e);
85
85
  },
86
86
  [t, c]
87
- ), K = n(
87
+ ), Q = n(
88
88
  (e) => {
89
89
  t("onDeleteAgent", e.id), h(e);
90
90
  },
91
91
  [t]
92
- ), Q = n(async () => {
92
+ ), U = n(async () => {
93
93
  if (!(!a || !r)) {
94
- C(!0);
94
+ w(!0);
95
95
  try {
96
96
  await r(a), h(null);
97
97
  } finally {
98
- C(!1);
98
+ w(!1);
99
99
  }
100
100
  }
101
101
  }, [a, r]);
102
- return /* @__PURE__ */ z(Y, { "data-test": D["data-test"] ?? "agent-listing", children: [
102
+ return /* @__PURE__ */ y(Y, { "data-test": D["data-test"] ?? "agent-listing", children: [
103
103
  /* @__PURE__ */ i(
104
- ne,
104
+ te,
105
105
  {
106
- title: O,
106
+ title: j,
107
107
  onNewAgent: P,
108
- onBrowseTemplates: m ? Z : void 0,
108
+ onBrowseTemplates: m ? $ : void 0,
109
109
  headerActions: k
110
110
  }
111
111
  ),
112
112
  /* @__PURE__ */ i(
113
- te,
113
+ ee,
114
114
  {
115
115
  searchValue: v,
116
- onSearchChange: H,
116
+ onSearchChange: I,
117
117
  onSearchSubmit: l ? M : void 0,
118
- searchPlaceholder: x,
119
- filterOptions: B,
118
+ searchPlaceholder: E,
119
+ filterOptions: F,
120
120
  onFilterChange: g ? V : void 0,
121
- filterPlaceholder: E,
122
- sortOptions: F,
123
- selectedSort: I,
121
+ filterPlaceholder: O,
122
+ sortOptions: T,
123
+ selectedSort: x,
124
124
  onSortChange: d ? q : void 0
125
125
  }
126
126
  ),
127
- /* @__PURE__ */ i(_, { children: N ? /* @__PURE__ */ i(ie, { rows: Math.min(o?.pageSize ?? 5, 10) }) : j ? /* @__PURE__ */ i(ee, { children: /* @__PURE__ */ i(
128
- X,
127
+ /* @__PURE__ */ i(Z, { children: N ? /* @__PURE__ */ i(oe, { rows: Math.min(o?.pageSize ?? 5, 10) }) : H ? /* @__PURE__ */ i(_, { children: /* @__PURE__ */ i(
128
+ ie,
129
129
  {
130
- title: p?.title ?? "No agents yet",
131
- subTitle: p?.subTitle ?? "Create your first AI agent to start automating conversations.",
132
- actionButton: p?.actionButton ?? {
133
- buttonText: "New AI agent",
134
- buttonType: "primary",
135
- size: "small",
136
- onClick: P
137
- }
130
+ emptyState: B,
131
+ onNewAgent: P
138
132
  }
139
- ) }) : /* @__PURE__ */ z(U, { children: [
133
+ ) }) : /* @__PURE__ */ y(W, { children: [
140
134
  /* @__PURE__ */ i(
141
- oe,
135
+ ne,
142
136
  {
143
- agents: w,
137
+ agents: C,
144
138
  triggerCountsLoading: R,
145
- onRunAgent: $,
146
- onEditAgent: G,
147
- onDeleteAgent: r ? K : void 0,
148
- onRowClick: c ? J : void 0
139
+ onRunAgent: G,
140
+ onEditAgent: J,
141
+ onDeleteAgent: r ? Q : void 0,
142
+ onRowClick: c ? K : void 0
149
143
  }
150
144
  ),
151
145
  o && o.totalRows > 0 && /* @__PURE__ */ i(
152
- W,
146
+ X,
153
147
  {
154
148
  pageNumber: o.pageNumber,
155
149
  pageSize: o.pageSize,
@@ -167,9 +161,9 @@ const se = ({
167
161
  ae,
168
162
  {
169
163
  agentName: a.name,
170
- isDeleting: b,
171
- onClose: () => b ? void 0 : h(null),
172
- onConfirm: Q
164
+ isDeleting: S,
165
+ onClose: () => S ? void 0 : h(null),
166
+ onConfirm: U
173
167
  }
174
168
  )
175
169
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"AgentListing.js","sources":["../../../../src/components/agent-listing/AgentListing.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownOption } from '@src/components/dropdown/type';\nimport { TablePagination } from '@src/components/TablePagination/TablePagination';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { AgentListingProps, AgentListItem } from './AgentListing.model';\nimport { Body, EmptyHolder, Page } from './AgentListing.styled';\nimport { AgentListingFilters } from './AgentListingFilters';\nimport { AgentListingHeader } from './AgentListingHeader';\nimport { AgentTable } from './AgentTable';\nimport { AgentTableShimmer } from './AgentTableShimmer';\nimport { DeleteAgentModal } from './DeleteAgentModal';\n\n/**\n * Full body of the \"AI Agents\" listing screen (header + filters + table).\n * Presentational and fully controlled — the consumer owns data, search, sort,\n * pagination and routing. Render it inside your app shell (next to the sidebar).\n *\n * @example\n * <AgentListing\n * agents={rows}\n * searchValue={search}\n * onSearchChange={setSearch}\n * onNewAgent={() => router.push('/agents/new')}\n * onRunAgent={runAgent}\n * onEditAgent={(a) => router.push(`/agents/${a.id}`)}\n * />\n */\nexport const AgentListing: React.FC<AgentListingProps> = ({\n\tconfig,\n\tonSearchChange,\n\tonSearchSubmit,\n\tonFilterChange,\n\tonSortChange,\n\tonNewAgent,\n\tonBrowseTemplates,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n\t...rest\n}) => {\n\t// Agent pending delete-confirmation (null = dialog closed).\n\tconst [pendingDelete, setPendingDelete] = useState<AgentListItem | null>(\n\t\tnull,\n\t);\n\tconst [isDeleting, setIsDeleting] = useState(false);\n\tconst {\n\t\tagents,\n\t\tisLoading,\n\t\ttriggerCountsLoading,\n\t\tsearchValue,\n\t\tsearchPlaceholder = 'Search',\n\t\tfilterOptions,\n\t\tfilterPlaceholder = 'Filters',\n\t\tsortOptions,\n\t\tselectedSort,\n\t\ttitle = 'AI Agents',\n\t\theaderActions,\n\t\tpagination,\n\t\temptyState,\n\t\tdebugLog,\n\t} = config;\n\n\tconst showEmpty = !isLoading && agents.length === 0;\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentListing] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleSearchChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchChange', v);\n\t\t\tonSearchChange(v);\n\t\t},\n\t\t[logAction, onSearchChange],\n\t);\n\tconst handleSearchSubmit = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchSubmit', v);\n\t\t\tonSearchSubmit?.(v);\n\t\t},\n\t\t[logAction, onSearchSubmit],\n\t);\n\tconst handleFilterChange = useCallback(\n\t\t(selected: DropdownOption | DropdownOption[]) => {\n\t\t\tlogAction('onFilterChange', selected);\n\t\t\tonFilterChange?.(selected);\n\t\t},\n\t\t[logAction, onFilterChange],\n\t);\n\tconst handleSortChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSortChange', v);\n\t\t\tonSortChange?.(v);\n\t\t},\n\t\t[logAction, onSortChange],\n\t);\n\tconst handleNewAgent = useCallback(() => {\n\t\tlogAction('onNewAgent');\n\t\tonNewAgent();\n\t}, [logAction, onNewAgent]);\n\tconst handleBrowseTemplates = useCallback(() => {\n\t\tlogAction('onBrowseTemplates');\n\t\tonBrowseTemplates?.();\n\t}, [logAction, onBrowseTemplates]);\n\tconst handleRunAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRunAgent', agent.id);\n\t\t\tonRunAgent(agent);\n\t\t},\n\t\t[logAction, onRunAgent],\n\t);\n\tconst handleEditAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onEditAgent', agent.id);\n\t\t\tonEditAgent(agent);\n\t\t},\n\t\t[logAction, onEditAgent],\n\t);\n\tconst handleRowClick = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRowClick', agent.id);\n\t\t\tonRowClick?.(agent);\n\t\t},\n\t\t[logAction, onRowClick],\n\t);\n\t// Row delete just opens the confirm dialog; the actual delete runs on confirm.\n\tconst handleDeleteRequest = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onDeleteAgent', agent.id);\n\t\t\tsetPendingDelete(agent);\n\t\t},\n\t\t[logAction],\n\t);\n\tconst handleConfirmDelete = useCallback(async () => {\n\t\tif (!pendingDelete || !onDeleteAgent) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsDeleting(true);\n\t\ttry {\n\t\t\tawait onDeleteAgent(pendingDelete);\n\t\t\tsetPendingDelete(null);\n\t\t} finally {\n\t\t\tsetIsDeleting(false);\n\t\t}\n\t}, [pendingDelete, onDeleteAgent]);\n\n\treturn (\n\t\t<Page data-test={rest['data-test'] ?? 'agent-listing'}>\n\t\t\t<AgentListingHeader\n\t\t\t\ttitle={title}\n\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\tonBrowseTemplates={\n\t\t\t\t\tonBrowseTemplates ? handleBrowseTemplates : undefined\n\t\t\t\t}\n\t\t\t\theaderActions={headerActions}\n\t\t\t/>\n\n\t\t\t<AgentListingFilters\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={handleSearchChange}\n\t\t\t\tonSearchSubmit={onSearchSubmit ? handleSearchSubmit : undefined}\n\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\tfilterOptions={filterOptions}\n\t\t\t\tonFilterChange={onFilterChange ? handleFilterChange : undefined}\n\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\tsortOptions={sortOptions}\n\t\t\t\tselectedSort={selectedSort}\n\t\t\t\tonSortChange={onSortChange ? handleSortChange : undefined}\n\t\t\t/>\n\n\t\t\t<Body>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<AgentTableShimmer rows={Math.min(pagination?.pageSize ?? 5, 10)} />\n\t\t\t\t) : showEmpty ? (\n\t\t\t\t\t<EmptyHolder>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\ttitle={emptyState?.title ?? 'No agents yet'}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\temptyState?.subTitle ??\n\t\t\t\t\t\t\t\t'Create your first AI agent to start automating conversations.'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionButton={\n\t\t\t\t\t\t\t\temptyState?.actionButton ?? {\n\t\t\t\t\t\t\t\t\tbuttonText: 'New AI agent',\n\t\t\t\t\t\t\t\t\tbuttonType: 'primary',\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t\tonClick: handleNewAgent,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</EmptyHolder>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AgentTable\n\t\t\t\t\t\t\tagents={agents}\n\t\t\t\t\t\t\ttriggerCountsLoading={triggerCountsLoading}\n\t\t\t\t\t\t\tonRunAgent={handleRunAgent}\n\t\t\t\t\t\t\tonEditAgent={handleEditAgent}\n\t\t\t\t\t\t\tonDeleteAgent={onDeleteAgent ? handleDeleteRequest : undefined}\n\t\t\t\t\t\t\tonRowClick={onRowClick ? handleRowClick : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{pagination && pagination.totalRows > 0 && (\n\t\t\t\t\t\t\t<TablePagination\n\t\t\t\t\t\t\t\tpageNumber={pagination.pageNumber}\n\t\t\t\t\t\t\t\tpageSize={pagination.pageSize}\n\t\t\t\t\t\t\t\ttotalRows={pagination.totalRows}\n\t\t\t\t\t\t\t\thidePageSizeOptions={pagination.hidePageSizeOptions}\n\t\t\t\t\t\t\t\tupdatePageNumber={pagination.onPageChange}\n\t\t\t\t\t\t\t\tupdatePageSize={(opt) => {\n\t\t\t\t\t\t\t\t\tconst value = Number(unwrapDropdownValue(opt));\n\t\t\t\t\t\t\t\t\tif (!Number.isNaN(value)) {\n\t\t\t\t\t\t\t\t\t\tpagination.onPageSizeChange(value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Body>\n\n\t\t\t{pendingDelete && (\n\t\t\t\t<DeleteAgentModal\n\t\t\t\t\tagentName={pendingDelete.name}\n\t\t\t\t\tisDeleting={isDeleting}\n\t\t\t\t\tonClose={() => (isDeleting ? undefined : setPendingDelete(null))}\n\t\t\t\t\tonConfirm={handleConfirmDelete}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Page>\n\t);\n};\n\nAgentListing.displayName = 'AgentListing';\n"],"names":["AgentListing","config","onSearchChange","onSearchSubmit","onFilterChange","onSortChange","onNewAgent","onBrowseTemplates","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","rest","pendingDelete","setPendingDelete","useState","isDeleting","setIsDeleting","agents","isLoading","triggerCountsLoading","searchValue","searchPlaceholder","filterOptions","filterPlaceholder","sortOptions","selectedSort","title","headerActions","pagination","emptyState","debugLog","showEmpty","logAction","useCallback","action","args","handleSearchChange","v","handleSearchSubmit","handleFilterChange","selected","handleSortChange","handleNewAgent","handleBrowseTemplates","handleRunAgent","agent","handleEditAgent","handleRowClick","handleDeleteRequest","handleConfirmDelete","Page","jsx","AgentListingHeader","AgentListingFilters","Body","AgentTableShimmer","EmptyHolder","ZeroState","jsxs","Fragment","AgentTable","TablePagination","opt","value","unwrapDropdownValue","DeleteAgentModal"],"mappings":"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"}
1
+ {"version":3,"file":"AgentListing.js","sources":["../../../../src/components/agent-listing/AgentListing.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownOption } from '@src/components/dropdown/type';\nimport { TablePagination } from '@src/components/TablePagination/TablePagination';\nimport { AgentListingProps, AgentListItem } from './AgentListing.model';\nimport { Body, EmptyHolder, Page } from './AgentListing.styled';\nimport { AgentListingFilters } from './AgentListingFilters';\nimport { AgentListingHeader } from './AgentListingHeader';\nimport { AgentTable } from './AgentTable';\nimport { AgentTableShimmer } from './AgentTableShimmer';\nimport { AiAgentsEmptyState } from './AiAgentsEmptyState';\nimport { DeleteAgentModal } from './DeleteAgentModal';\n\n/**\n * Full body of the \"AI Agents\" listing screen (header + filters + table).\n * Presentational and fully controlled — the consumer owns data, search, sort,\n * pagination and routing. Render it inside your app shell (next to the sidebar).\n *\n * @example\n * <AgentListing\n * agents={rows}\n * searchValue={search}\n * onSearchChange={setSearch}\n * onNewAgent={() => router.push('/agents/new')}\n * onRunAgent={runAgent}\n * onEditAgent={(a) => router.push(`/agents/${a.id}`)}\n * />\n */\nexport const AgentListing: React.FC<AgentListingProps> = ({\n\tconfig,\n\tonSearchChange,\n\tonSearchSubmit,\n\tonFilterChange,\n\tonSortChange,\n\tonNewAgent,\n\tonBrowseTemplates,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n\t...rest\n}) => {\n\t// Agent pending delete-confirmation (null = dialog closed).\n\tconst [pendingDelete, setPendingDelete] = useState<AgentListItem | null>(\n\t\tnull,\n\t);\n\tconst [isDeleting, setIsDeleting] = useState(false);\n\tconst {\n\t\tagents,\n\t\tisLoading,\n\t\ttriggerCountsLoading,\n\t\tsearchValue,\n\t\tsearchPlaceholder = 'Search',\n\t\tfilterOptions,\n\t\tfilterPlaceholder = 'Filters',\n\t\tsortOptions,\n\t\tselectedSort,\n\t\ttitle = 'AI Agents',\n\t\theaderActions,\n\t\tpagination,\n\t\temptyState,\n\t\tdebugLog,\n\t} = config;\n\n\tconst showEmpty = !isLoading && agents.length === 0;\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentListing] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleSearchChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchChange', v);\n\t\t\tonSearchChange(v);\n\t\t},\n\t\t[logAction, onSearchChange],\n\t);\n\tconst handleSearchSubmit = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchSubmit', v);\n\t\t\tonSearchSubmit?.(v);\n\t\t},\n\t\t[logAction, onSearchSubmit],\n\t);\n\tconst handleFilterChange = useCallback(\n\t\t(selected: DropdownOption | DropdownOption[]) => {\n\t\t\tlogAction('onFilterChange', selected);\n\t\t\tonFilterChange?.(selected);\n\t\t},\n\t\t[logAction, onFilterChange],\n\t);\n\tconst handleSortChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSortChange', v);\n\t\t\tonSortChange?.(v);\n\t\t},\n\t\t[logAction, onSortChange],\n\t);\n\tconst handleNewAgent = useCallback(() => {\n\t\tlogAction('onNewAgent');\n\t\tonNewAgent();\n\t}, [logAction, onNewAgent]);\n\tconst handleBrowseTemplates = useCallback(() => {\n\t\tlogAction('onBrowseTemplates');\n\t\tonBrowseTemplates?.();\n\t}, [logAction, onBrowseTemplates]);\n\tconst handleRunAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRunAgent', agent.id);\n\t\t\tonRunAgent(agent);\n\t\t},\n\t\t[logAction, onRunAgent],\n\t);\n\tconst handleEditAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onEditAgent', agent.id);\n\t\t\tonEditAgent(agent);\n\t\t},\n\t\t[logAction, onEditAgent],\n\t);\n\tconst handleRowClick = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRowClick', agent.id);\n\t\t\tonRowClick?.(agent);\n\t\t},\n\t\t[logAction, onRowClick],\n\t);\n\t// Row delete just opens the confirm dialog; the actual delete runs on confirm.\n\tconst handleDeleteRequest = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onDeleteAgent', agent.id);\n\t\t\tsetPendingDelete(agent);\n\t\t},\n\t\t[logAction],\n\t);\n\tconst handleConfirmDelete = useCallback(async () => {\n\t\tif (!pendingDelete || !onDeleteAgent) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsDeleting(true);\n\t\ttry {\n\t\t\tawait onDeleteAgent(pendingDelete);\n\t\t\tsetPendingDelete(null);\n\t\t} finally {\n\t\t\tsetIsDeleting(false);\n\t\t}\n\t}, [pendingDelete, onDeleteAgent]);\n\n\treturn (\n\t\t<Page data-test={rest['data-test'] ?? 'agent-listing'}>\n\t\t\t<AgentListingHeader\n\t\t\t\ttitle={title}\n\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\tonBrowseTemplates={\n\t\t\t\t\tonBrowseTemplates ? handleBrowseTemplates : undefined\n\t\t\t\t}\n\t\t\t\theaderActions={headerActions}\n\t\t\t/>\n\n\t\t\t<AgentListingFilters\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={handleSearchChange}\n\t\t\t\tonSearchSubmit={onSearchSubmit ? handleSearchSubmit : undefined}\n\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\tfilterOptions={filterOptions}\n\t\t\t\tonFilterChange={onFilterChange ? handleFilterChange : undefined}\n\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\tsortOptions={sortOptions}\n\t\t\t\tselectedSort={selectedSort}\n\t\t\t\tonSortChange={onSortChange ? handleSortChange : undefined}\n\t\t\t/>\n\n\t\t\t<Body>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<AgentTableShimmer rows={Math.min(pagination?.pageSize ?? 5, 10)} />\n\t\t\t\t) : showEmpty ? (\n\t\t\t\t\t<EmptyHolder>\n\t\t\t\t\t\t<AiAgentsEmptyState\n\t\t\t\t\t\t\temptyState={emptyState}\n\t\t\t\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</EmptyHolder>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AgentTable\n\t\t\t\t\t\t\tagents={agents}\n\t\t\t\t\t\t\ttriggerCountsLoading={triggerCountsLoading}\n\t\t\t\t\t\t\tonRunAgent={handleRunAgent}\n\t\t\t\t\t\t\tonEditAgent={handleEditAgent}\n\t\t\t\t\t\t\tonDeleteAgent={onDeleteAgent ? handleDeleteRequest : undefined}\n\t\t\t\t\t\t\tonRowClick={onRowClick ? handleRowClick : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{pagination && pagination.totalRows > 0 && (\n\t\t\t\t\t\t\t<TablePagination\n\t\t\t\t\t\t\t\tpageNumber={pagination.pageNumber}\n\t\t\t\t\t\t\t\tpageSize={pagination.pageSize}\n\t\t\t\t\t\t\t\ttotalRows={pagination.totalRows}\n\t\t\t\t\t\t\t\thidePageSizeOptions={pagination.hidePageSizeOptions}\n\t\t\t\t\t\t\t\tupdatePageNumber={pagination.onPageChange}\n\t\t\t\t\t\t\t\tupdatePageSize={(opt) => {\n\t\t\t\t\t\t\t\t\tconst value = Number(unwrapDropdownValue(opt));\n\t\t\t\t\t\t\t\t\tif (!Number.isNaN(value)) {\n\t\t\t\t\t\t\t\t\t\tpagination.onPageSizeChange(value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Body>\n\n\t\t\t{pendingDelete && (\n\t\t\t\t<DeleteAgentModal\n\t\t\t\t\tagentName={pendingDelete.name}\n\t\t\t\t\tisDeleting={isDeleting}\n\t\t\t\t\tonClose={() => (isDeleting ? undefined : setPendingDelete(null))}\n\t\t\t\t\tonConfirm={handleConfirmDelete}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Page>\n\t);\n};\n\nAgentListing.displayName = 'AgentListing';\n"],"names":["AgentListing","config","onSearchChange","onSearchSubmit","onFilterChange","onSortChange","onNewAgent","onBrowseTemplates","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","rest","pendingDelete","setPendingDelete","useState","isDeleting","setIsDeleting","agents","isLoading","triggerCountsLoading","searchValue","searchPlaceholder","filterOptions","filterPlaceholder","sortOptions","selectedSort","title","headerActions","pagination","emptyState","debugLog","showEmpty","logAction","useCallback","action","args","handleSearchChange","v","handleSearchSubmit","handleFilterChange","selected","handleSortChange","handleNewAgent","handleBrowseTemplates","handleRunAgent","agent","handleEditAgent","handleRowClick","handleDeleteRequest","handleConfirmDelete","Page","jsx","AgentListingHeader","AgentListingFilters","Body","AgentTableShimmer","EmptyHolder","AiAgentsEmptyState","jsxs","Fragment","AgentTable","TablePagination","opt","value","unwrapDropdownValue","DeleteAgentModal"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from '../button/model';
3
+ export interface AiAgentsEmptyStateProps {
4
+ /**
5
+ * Overrides for the default copy / CTA — e.g. the search-miss variant passes
6
+ * "No results found …". Any omitted field falls back to the "no agents yet"
7
+ * defaults below.
8
+ */
9
+ emptyState?: {
10
+ title?: string;
11
+ subTitle?: string;
12
+ actionButton?: ButtonProps;
13
+ };
14
+ /** Runs the default "New AI agent" CTA when no override button is supplied. */
15
+ onNewAgent: () => void;
16
+ }
17
+ /**
18
+ * Zero state for the AI Agents listing — shown when there are no agents yet or a
19
+ * search returns no hits. Renders the shared {@link ZeroState} with AI-agents
20
+ * defaults; a consumer-supplied `emptyState` overrides any of the copy / CTA.
21
+ */
22
+ export declare const AiAgentsEmptyState: React.FC<AiAgentsEmptyStateProps>;
@@ -0,0 +1,22 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { ZeroState as i } from "../zeroState/ZeroState.js";
3
+ const a = ({
4
+ emptyState: t,
5
+ onNewAgent: o
6
+ }) => /* @__PURE__ */ e(
7
+ i,
8
+ {
9
+ title: t?.title ?? "No agents yet",
10
+ subTitle: t?.subTitle ?? "Create your first AI agent to start automating conversations.",
11
+ actionButton: t?.actionButton ?? {
12
+ buttonText: "New AI agent",
13
+ buttonType: "primary",
14
+ size: "small",
15
+ onClick: o
16
+ }
17
+ }
18
+ );
19
+ export {
20
+ a as AiAgentsEmptyState
21
+ };
22
+ //# sourceMappingURL=AiAgentsEmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAgentsEmptyState.js","sources":["../../../../src/components/agent-listing/AiAgentsEmptyState.tsx"],"sourcesContent":["import React from 'react';\nimport { ButtonProps } from '@src/components/button/model';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\n\nexport interface AiAgentsEmptyStateProps {\n\t/**\n\t * Overrides for the default copy / CTA — e.g. the search-miss variant passes\n\t * \"No results found …\". Any omitted field falls back to the \"no agents yet\"\n\t * defaults below.\n\t */\n\temptyState?: {\n\t\ttitle?: string;\n\t\tsubTitle?: string;\n\t\tactionButton?: ButtonProps;\n\t};\n\t/** Runs the default \"New AI agent\" CTA when no override button is supplied. */\n\tonNewAgent: () => void;\n}\n\n/**\n * Zero state for the AI Agents listing — shown when there are no agents yet or a\n * search returns no hits. Renders the shared {@link ZeroState} with AI-agents\n * defaults; a consumer-supplied `emptyState` overrides any of the copy / CTA.\n */\nexport const AiAgentsEmptyState: React.FC<AiAgentsEmptyStateProps> = ({\n\temptyState,\n\tonNewAgent,\n}) => (\n\t<ZeroState\n\t\ttitle={emptyState?.title ?? 'No agents yet'}\n\t\tsubTitle={\n\t\t\temptyState?.subTitle ??\n\t\t\t'Create your first AI agent to start automating conversations.'\n\t\t}\n\t\tactionButton={\n\t\t\temptyState?.actionButton ?? {\n\t\t\t\tbuttonText: 'New AI agent',\n\t\t\t\tbuttonType: 'primary',\n\t\t\t\tsize: 'small',\n\t\t\t\tonClick: onNewAgent,\n\t\t\t}\n\t\t}\n\t/>\n);\n"],"names":["AiAgentsEmptyState","emptyState","onNewAgent","jsx","ZeroState"],"mappings":";;AAwBO,MAAMA,IAAwD,CAAC;AAAA,EACrE,YAAAC;AAAA,EACA,YAAAC;AACD,MACC,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACA,OAAOH,GAAY,SAAS;AAAA,IAC5B,UACCA,GAAY,YACZ;AAAA,IAED,cACCA,GAAY,gBAAgB;AAAA,MAC3B,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,SAASC;AAAA,IAAA;AAAA,EACV;AAEF;"}
@@ -1,23 +1,23 @@
1
1
  import { jsxs as u, jsx as d } from "react/jsx-runtime";
2
- import { getMarkRange as xt } from "../node_modules/@tiptap/core/dist/index.js";
3
- import { useEditor as vt, EditorContent as X } from "@tiptap/react";
4
- import { forwardRef as bt, useState as A, useRef as a, useEffect as Et, useImperativeHandle as At } from "react";
2
+ import { getMarkRange as vt } from "../node_modules/@tiptap/core/dist/index.js";
3
+ import { useEditor as bt, EditorContent as X } from "@tiptap/react";
4
+ import { forwardRef as Et, useState as A, useRef as a, useEffect as At, useImperativeHandle as Tt } from "react";
5
5
  import { BodyCaption as Y } from "../components/TypographyStyle.js";
6
- import { BikEditorShell as Tt, BikJsonHeader as It, BikJsonBody as Rt, BikJsonEmptyState as Jt, BikJsonError as Mt } from "./BikEditor.styles.js";
6
+ import { BikEditorShell as It, BikJsonHeader as Rt, BikJsonBody as Jt, BikJsonEmptyState as Lt, BikJsonError as Mt } from "./BikEditor.styles.js";
7
7
  import { DEFAULT_FORMAT_STATE as tt } from "./BikEditor.types.js";
8
- import { buildJsonCodeBlockHtml as Lt, buildSectionedContent as et, normalizeHtml as s, extractActiveFormats as nt, extractContent as ot, getCodeBlockText as g, parseJson as p, extractBodyContent as Ot, extractSectionContent as Ft, setCodeBlockText as x, findSectionEndPos as rt, findSectionStartPos as zt, setSectionContentInEditor as T, insertInlineHtml as Nt } from "./BikEditor.utils.js";
9
- import { buildExtensions as jt } from "./extensions/buildExtensions.js";
10
- import { LinkBubbleMenu as Ht } from "./floating/LinkBubbleMenu.js";
11
- import wt from "../icons/BIK AI specific/WandSparkles.js";
12
- import Pt from "../icons/Actions/Formatting/Copy.js";
13
- import Dt from "../icons/Actions/Common actions/Code.js";
14
- import qt from "../icons/Informational/General/Info.js";
15
- function Ut(k) {
8
+ import { buildJsonCodeBlockHtml as Ot, buildSectionedContent as et, normalizeHtml as s, extractActiveFormats as nt, extractContent as ot, getCodeBlockText as g, parseJson as p, extractBodyContent as Ft, extractSectionContent as zt, setCodeBlockText as x, findSectionEndPos as rt, findSectionStartPos as Nt, setSectionContentInEditor as T, insertInlineHtml as jt } from "./BikEditor.utils.js";
9
+ import { buildExtensions as Ht } from "./extensions/buildExtensions.js";
10
+ import { LinkBubbleMenu as wt } from "./floating/LinkBubbleMenu.js";
11
+ import Pt from "../icons/BIK AI specific/WandSparkles.js";
12
+ import Dt from "../icons/Actions/Formatting/Copy.js";
13
+ import qt from "../icons/Actions/Common actions/Code.js";
14
+ import Ut from "../icons/Informational/General/Info.js";
15
+ function $t(k) {
16
16
  return Object.entries(k).map(
17
17
  ([v, C]) => `${v.replace(/([A-Z])/g, (y) => `-${y.toLowerCase()}`)}:${C}`
18
18
  ).join(";");
19
19
  }
20
- const $t = (k, v) => {
20
+ const Wt = (k, v) => {
21
21
  const {
22
22
  initialContent: C,
23
23
  sections: y,
@@ -25,28 +25,29 @@ const $t = (k, v) => {
25
25
  disabled: it,
26
26
  maxCharacters: I,
27
27
  characterLimit: st,
28
- shortcuts: ct,
29
- sendShortcut: at,
28
+ characterLimitHard: ct,
29
+ shortcuts: at,
30
+ sendShortcut: lt,
30
31
  mentions: l,
31
32
  slashCommands: S,
32
- link: lt,
33
- onPaste: dt,
33
+ link: dt,
34
+ onPaste: ut,
34
35
  onReady: R,
35
36
  onChange: J,
36
37
  onSend: b,
37
- onFocus: M,
38
- onBlur: L,
38
+ onFocus: L,
39
+ onBlur: M,
39
40
  onSelectionChange: O,
40
- minHeight: ut,
41
- maxHeight: mt,
42
- style: ft,
43
- className: gt,
41
+ minHeight: mt,
42
+ maxHeight: ft,
43
+ style: gt,
44
+ className: ht,
44
45
  editorClassName: F,
45
46
  editorStyle: z,
46
47
  renderJsonError: N
47
- } = k, m = !!B?.jsonMode, [f, j] = A(null), [ht, H] = A(!1), [pt, w] = A(
48
+ } = k, m = !!B?.jsonMode, [f, j] = A(null), [pt, H] = A(!1), [Ct, w] = A(
48
49
  m && !(C ?? "").trim()
49
- ), Ct = m ? Lt(C ?? "") : y?.length ? et(
50
+ ), St = m ? Ot(C ?? "") : y?.length ? et(
50
51
  s(C ?? ""),
51
52
  y.map((t) => ({ ...t, content: s(t.content) }))
52
53
  ) : s(C ?? ""), E = a([]), P = a(!1), D = a(R);
@@ -55,10 +56,10 @@ const $t = (k, v) => {
55
56
  q.current = J;
56
57
  const U = a(O);
57
58
  U.current = O;
58
- const $ = a(tt), W = a(M);
59
- W.current = M;
60
- const V = a(L);
61
- V.current = L;
59
+ const $ = a(tt), W = a(L);
60
+ W.current = L;
61
+ const V = a(M);
62
+ V.current = M;
62
63
  const _ = a(b);
63
64
  _.current = b;
64
65
  const Q = a(l?.agents ?? []);
@@ -67,22 +68,23 @@ const $t = (k, v) => {
67
68
  Z.current = l?.teams ?? [];
68
69
  const G = a(S?.items ?? []);
69
70
  G.current = S?.items ?? [];
70
- const n = vt({
71
- extensions: jt({
71
+ const n = bt({
72
+ extensions: Ht({
72
73
  features: B,
73
74
  placeholder: k.placeholder,
74
75
  maxCharacters: I,
75
76
  characterLimit: st,
77
+ characterLimitHard: ct,
76
78
  hasSections: (y?.length ?? 0) > 0,
77
79
  mentions: {
78
80
  agents: l ? Q : void 0,
79
81
  teams: l ? Z : void 0
80
82
  },
81
83
  slashCommands: S ? G : void 0,
82
- onPaste: dt,
84
+ onPaste: ut,
83
85
  onSend: b ? (t) => _.current?.(t) : void 0,
84
- sendShortcut: at,
85
- shortcuts: ct,
86
+ sendShortcut: lt,
87
+ shortcuts: at,
86
88
  onMentionSelected: l?.onSelect,
87
89
  onSlashCommandSelected: S?.onSelect,
88
90
  renderMentionItem: l?.renderItem,
@@ -92,14 +94,14 @@ const $t = (k, v) => {
92
94
  renderSlashCommandItem: S?.renderItem,
93
95
  renderSlashCommandDropdown: S?.renderDropdown
94
96
  }),
95
- content: Ct,
97
+ content: St,
96
98
  editable: !it,
97
99
  immediatelyRender: !1,
98
100
  // SSR-safe — NEVER remove this
99
101
  editorProps: {
100
102
  attributes: {
101
103
  ...F ? { class: F } : {},
102
- ...z ? { style: Ut(z) } : {}
104
+ ...z ? { style: $t(z) } : {}
103
105
  }
104
106
  },
105
107
  onUpdate: ({ editor: t }) => {
@@ -118,12 +120,12 @@ const $t = (k, v) => {
118
120
  function i(t) {
119
121
  n ? t(n) : E.current.push(t);
120
122
  }
121
- Et(() => {
123
+ At(() => {
122
124
  if (n && (E.current.length > 0 && E.current.splice(0).forEach((e) => e(n)), P.current || (P.current = !0, D.current?.()), m)) {
123
125
  const t = g(n), e = p(t);
124
126
  j(e.valid ? null : e), w(!t.trim());
125
127
  }
126
- }, [n, m]), At(
128
+ }, [n, m]), Tt(
127
129
  v,
128
130
  () => ({
129
131
  // ── Focus ────────────────────────────────────────────────────────
@@ -140,7 +142,7 @@ const $t = (k, v) => {
140
142
  i((o) => o.commands.insertContent(e));
141
143
  },
142
144
  insertInlineContent: (t) => {
143
- i((e) => Nt(e, t));
145
+ i((e) => jt(e, t));
144
146
  },
145
147
  insertAtStart: (t) => {
146
148
  const e = s(t);
@@ -190,7 +192,7 @@ const $t = (k, v) => {
190
192
  return t.doc.textBetween(e, o, " ");
191
193
  const c = t.schema.marks.link;
192
194
  if (c) {
193
- const h = xt(t.doc.resolve(e), c);
195
+ const h = vt(t.doc.resolve(e), c);
194
196
  if (h)
195
197
  return t.doc.textBetween(h.from, h.to, " ");
196
198
  }
@@ -202,7 +204,7 @@ const $t = (k, v) => {
202
204
  limit: I ?? null
203
205
  }),
204
206
  // ── Sections ─────────────────────────────────────────────────────
205
- getSectionContent: (t) => n ? Ft(n, t) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
207
+ getSectionContent: (t) => n ? zt(n, t) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
206
208
  setSectionContent: (t, e) => {
207
209
  const o = s(e);
208
210
  i((r) => T(r, t, o));
@@ -225,7 +227,7 @@ const $t = (k, v) => {
225
227
  i((e) => T(e, t, "<p></p>"));
226
228
  },
227
229
  // ── Convenience body shorthands ───────────────────────────────────
228
- getBodyContent: () => n ? Ot(n) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
230
+ getBodyContent: () => n ? Ft(n) : { html: "", text: "", isEmpty: !0, characterCount: 0 },
229
231
  setBodyContent: (t) => {
230
232
  const e = s(t);
231
233
  i((o) => T(o, "body", e));
@@ -252,7 +254,7 @@ const $t = (k, v) => {
252
254
  insertAtSectionStart: (t, e) => {
253
255
  const o = s(e);
254
256
  i((r) => {
255
- const c = zt(r, t);
257
+ const c = Nt(r, t);
256
258
  c !== -1 && r.commands.insertContentAt(c, o, {
257
259
  parseOptions: { preserveWhitespace: !0 }
258
260
  });
@@ -289,10 +291,10 @@ const $t = (k, v) => {
289
291
  n && (e !== void 0 ? n.chain().focus().extendMarkRange("link").command(({ tr: o, state: r }) => {
290
292
  const { from: c, to: h } = o.selection, K = r.schema.marks.link;
291
293
  if (!K) return !1;
292
- const yt = r.schema.text(e, [
294
+ const Bt = r.schema.text(e, [
293
295
  K.create({ href: t })
294
- ]), Bt = r.schema.text(" ");
295
- return o.replaceWith(c, h, [yt, Bt]), !0;
296
+ ]), xt = r.schema.text(" ");
297
+ return o.replaceWith(c, h, [Bt, xt]), !0;
296
298
  }).run() : n.chain().focus().extendMarkRange("link").setLink({ href: t }).insertContent(" ").run());
297
299
  },
298
300
  updateLink: (t) => n?.chain().focus().extendMarkRange("link").setLink({ href: t }).run(),
@@ -327,55 +329,55 @@ const $t = (k, v) => {
327
329
  // eslint-disable-next-line react-hooks/exhaustive-deps
328
330
  [n]
329
331
  );
330
- const St = () => {
332
+ const kt = () => {
331
333
  if (!n) return;
332
334
  const { valid: t, value: e } = p(g(n));
333
335
  !t || e === null || x(n, JSON.stringify(e, null, 2));
334
- }, kt = () => {
336
+ }, yt = () => {
335
337
  n && (navigator.clipboard?.writeText(g(n)), H(!0), setTimeout(() => H(!1), 1500));
336
338
  };
337
339
  return n ? /* @__PURE__ */ u(
338
- Tt,
340
+ It,
339
341
  {
340
- minHeight: ut,
341
- maxHeight: mt,
342
+ minHeight: mt,
343
+ maxHeight: ft,
342
344
  tightParagraphs: !B?.richPaste,
343
345
  jsonMode: m,
344
- style: ft,
345
- className: gt,
346
+ style: gt,
347
+ className: ht,
346
348
  children: [
347
- m && /* @__PURE__ */ u(It, { children: [
349
+ m && /* @__PURE__ */ u(Rt, { children: [
348
350
  /* @__PURE__ */ d("span", { className: "bik-json-header-label", children: "JSON" }),
349
351
  /* @__PURE__ */ u("div", { className: "bik-json-header-actions", children: [
350
352
  /* @__PURE__ */ u(
351
353
  "button",
352
354
  {
353
355
  type: "button",
354
- onClick: St,
356
+ onClick: kt,
355
357
  disabled: !!f,
356
358
  title: "Format JSON",
357
359
  children: [
358
- /* @__PURE__ */ d(wt, { size: 16 }),
360
+ /* @__PURE__ */ d(Pt, { size: 16 }),
359
361
  /* @__PURE__ */ d(Y, { children: "Beautify" })
360
362
  ]
361
363
  }
362
364
  ),
363
- /* @__PURE__ */ u("button", { type: "button", onClick: kt, title: "Copy JSON", children: [
364
- /* @__PURE__ */ d(Pt, { size: 16 }),
365
- ht && /* @__PURE__ */ d(Y, { children: "Copied" })
365
+ /* @__PURE__ */ u("button", { type: "button", onClick: yt, title: "Copy JSON", children: [
366
+ /* @__PURE__ */ d(Dt, { size: 16 }),
367
+ pt && /* @__PURE__ */ d(Y, { children: "Copied" })
366
368
  ] })
367
369
  ] })
368
370
  ] }),
369
- m ? /* @__PURE__ */ u(Rt, { $error: !!f, children: [
371
+ m ? /* @__PURE__ */ u(Jt, { $error: !!f, children: [
370
372
  /* @__PURE__ */ d(X, { editor: n }),
371
- pt && /* @__PURE__ */ u(Jt, { "aria-hidden": !0, children: [
372
- /* @__PURE__ */ d(Dt, { size: 20 }),
373
+ Ct && /* @__PURE__ */ u(Lt, { "aria-hidden": !0, children: [
374
+ /* @__PURE__ */ d(qt, { size: 20 }),
373
375
  /* @__PURE__ */ d("span", { children: k.placeholder ?? "Type or paste JSON here" })
374
376
  ] })
375
377
  ] }) : /* @__PURE__ */ d(X, { editor: n }),
376
- /* @__PURE__ */ d(Ht, { editor: n, renderLinkTooltip: lt?.renderTooltip }),
378
+ /* @__PURE__ */ d(wt, { editor: n, renderLinkTooltip: dt?.renderTooltip }),
377
379
  m && f ? N ? N(f) : /* @__PURE__ */ u(Mt, { children: [
378
- /* @__PURE__ */ d(qt, { size: 16 }),
380
+ /* @__PURE__ */ d(Ut, { size: 16 }),
379
381
  /* @__PURE__ */ u("span", { children: [
380
382
  f.line != null && /* @__PURE__ */ u("strong", { children: [
381
383
  "Line ",
@@ -390,11 +392,11 @@ const $t = (k, v) => {
390
392
  ]
391
393
  }
392
394
  ) : null;
393
- }, Wt = bt(
394
- $t
395
+ }, Vt = Et(
396
+ Wt
395
397
  );
396
- Wt.displayName = "BikEditor";
398
+ Vt.displayName = "BikEditor";
397
399
  export {
398
- Wt as BikEditor
400
+ Vt as BikEditor
399
401
  };
400
402
  //# sourceMappingURL=BikEditor.js.map