@burdenoff/planmagnet-fe-sdk 2026.706.5 → 2026.706.7

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.
package/dist/index.d.ts CHANGED
@@ -666,6 +666,17 @@ interface TaskListCoreProps {
666
666
  renderLinkIcon?: RenderLinkIcon;
667
667
  /** Max items to fetch (pagination.first). Defaults to 200. */
668
668
  limit?: number;
669
+ /**
670
+ * Opt-in bulk select: prepend a checkbox column + show a bulk-action bar
671
+ * (set status / priority / assignee, delete) for the selected rows. Defaults
672
+ * to `false` so existing embeds render unchanged.
673
+ */
674
+ selectable?: boolean;
675
+ /**
676
+ * Host-provided member directory. When passed (and `selectable`), the bulk bar
677
+ * offers an "Assign" picker; otherwise the assignee bulk action is hidden.
678
+ */
679
+ assigneeOptions?: AssigneeOption[];
669
680
  /** Extra classes on the root container. */
670
681
  className?: string;
671
682
  /** Explicit workspace ID. Falls back to PlanMagnetProvider context. */
@@ -679,7 +690,7 @@ interface TaskListCoreProps {
679
690
  * headers. Filters map to the server-side filter; sort is client-side.
680
691
  * BYO-Apollo, semantic-token only, farm-free.
681
692
  */
682
- declare function TaskListCore({ projectId, status, type, priority, assigneeId, search, columns, sortBy, sortDir, hideHeader, onSelect, resolveAssignee, linkSourceProduct, renderLinkIcon, limit, className, workspaceId: workspaceIdProp, }: TaskListCoreProps): react.JSX.Element;
693
+ declare function TaskListCore({ projectId, status, type, priority, assigneeId, search, columns, sortBy, sortDir, hideHeader, onSelect, resolveAssignee, linkSourceProduct, renderLinkIcon, limit, selectable, assigneeOptions, className, workspaceId: workspaceIdProp, }: TaskListCoreProps): react.JSX.Element;
683
694
 
684
695
  interface TaskListProps extends TaskListCoreProps {
685
696
  /** Workspace API gateway URL (URL mode). */
@@ -740,6 +751,25 @@ interface TaskTimelineCoreProps {
740
751
  resolveAssignee?: ResolveAssignee;
741
752
  /** Fetch + flag project milestones on the timeline (default true). */
742
753
  showMilestones?: boolean;
754
+ /**
755
+ * Allow creating milestones from the timeline (an inline name + due-date
756
+ * form in the milestones strip). Requires a create project (see
757
+ * `milestoneProjectId`). Gate on the host's manage permission. Default false.
758
+ */
759
+ canCreateMilestone?: boolean;
760
+ /**
761
+ * Project new milestones are created under. Defaults to `projectId`. Set this
762
+ * when the timeline's task-filter project differs from the project milestones
763
+ * should belong to — e.g. an unscoped "all tasks" board that still has a
764
+ * default create-project.
765
+ */
766
+ milestoneProjectId?: string;
767
+ /**
768
+ * BCP-47 language code (e.g. "hi", "zh", "ar") for localizing the calendar's
769
+ * weekday/month names via date-fns. Defaults to English. The task strings
770
+ * themselves come from the `TaskLabels` contract; this covers only the dates.
771
+ */
772
+ locale?: string;
743
773
  className?: string;
744
774
  workspaceId?: string;
745
775
  }
@@ -752,7 +782,7 @@ interface TaskTimelineCoreProps {
752
782
  * honest to the data. Overdue and undated work is surfaced explicitly so nothing
753
783
  * hides. BYO-Apollo, semantic-token only, farm-free.
754
784
  */
755
- declare function TaskTimelineCore({ projectId, priority, type, search, assigneeId, defaultMode, onSelect, resolveAssignee, showMilestones, className, workspaceId: workspaceIdProp, }: TaskTimelineCoreProps): react.JSX.Element;
785
+ declare function TaskTimelineCore({ projectId, priority, type, search, assigneeId, defaultMode, onSelect, resolveAssignee, showMilestones, canCreateMilestone, milestoneProjectId, locale, className, workspaceId: workspaceIdProp, }: TaskTimelineCoreProps): react.JSX.Element;
756
786
 
757
787
  /** The three task views the toolbar can switch between. */
758
788
  type TaskView = "board" | "list" | "timeline";
@@ -946,11 +976,21 @@ interface TaskLabels {
946
976
  overdue: string;
947
977
  noDueDate: string;
948
978
  milestones: string;
979
+ addMilestone: string;
980
+ milestoneNamePlaceholder: string;
981
+ failedToCreateMilestone: string;
949
982
  today: string;
950
983
  week: string;
951
984
  month: string;
952
985
  tasksSingular: string;
953
986
  tasksPlural: string;
987
+ bulkSelected: string;
988
+ bulkSetStatus: string;
989
+ bulkSetPriority: string;
990
+ bulkAssign: string;
991
+ bulkDelete: string;
992
+ bulkClear: string;
993
+ bulkApplying: string;
954
994
  colTask: string;
955
995
  colStatus: string;
956
996
  colPriority: string;
@@ -989,8 +1029,13 @@ interface TaskLabels {
989
1029
  noComments: string;
990
1030
  you: string;
991
1031
  editedTag: string;
1032
+ editComment: string;
1033
+ saveComment: string;
1034
+ addReaction: string;
992
1035
  failedToComment: string;
993
1036
  failedToDeleteComment: string;
1037
+ failedToEditComment: string;
1038
+ failedToReact: string;
994
1039
  reply: string;
995
1040
  replyPlaceholder: string;
996
1041
  repliesCount: string;
@@ -1061,6 +1106,16 @@ interface TasksPageCoreProps {
1061
1106
  columns?: BoardColumn[];
1062
1107
  /** Read-only — hides the "New task" button, disables drag + detail editing. */
1063
1108
  readonly?: boolean;
1109
+ /**
1110
+ * Allow creating milestones from the Timeline view (inline form in the
1111
+ * milestones strip). Requires a `boardProjectId`. Defaults to `!readonly`.
1112
+ */
1113
+ canCreateMilestone?: boolean;
1114
+ /**
1115
+ * BCP-47 language code (e.g. "hi", "ar") for localizing the Timeline's
1116
+ * weekday/month names. Task strings come from `labels`; this covers dates.
1117
+ */
1118
+ locale?: string;
1064
1119
  /**
1065
1120
  * Field names to hide across the board cards, create form, and detail view.
1066
1121
  * A product-agnostic hook so hosts can suppress fields that don't apply.
@@ -1137,7 +1192,7 @@ interface TasksPageCoreProps {
1137
1192
  * BYO-Apollo: reads the ambient `<ApolloProvider>` and takes `workspaceId` from
1138
1193
  * a prop or the PlanMagnetProvider context. Semantic tokens only, farm-free.
1139
1194
  */
1140
- declare function TasksPageCore({ workspaceId: workspaceIdProp, projectId, boardProjectId, columns, readonly, hiddenFields, views, defaultView, confirmMove, resolveAssignee, linkSourceProduct, renderLinkIcon, assigneeOptions, currentActorId, commentsEntityType, onMention, labels, openItemId, header, onTaskSaved, createSurface, detailSurface, className, }: TasksPageCoreProps): react.JSX.Element;
1195
+ declare function TasksPageCore({ workspaceId: workspaceIdProp, projectId, boardProjectId, columns, readonly, canCreateMilestone, locale, hiddenFields, views, defaultView, confirmMove, resolveAssignee, linkSourceProduct, renderLinkIcon, assigneeOptions, currentActorId, commentsEntityType, onMention, labels, openItemId, header, onTaskSaved, createSurface, detailSurface, className, }: TasksPageCoreProps): react.JSX.Element;
1141
1196
 
1142
1197
  interface TasksPageProps extends TasksPageCoreProps {
1143
1198
  /** Workspace API gateway URL (URL mode). */
@@ -1255,11 +1310,28 @@ interface UseWorkItemLinksResult {
1255
1310
  */
1256
1311
  declare function useWorkItemLinks(workspaceId: string | undefined, sourceProduct: string | undefined, limit?: number): UseWorkItemLinksResult;
1257
1312
 
1313
+ /** Args for creating a milestone (subset of PlanmagnetCreateMilestoneInput). */
1314
+ interface CreateMilestoneArgs {
1315
+ projectId: string;
1316
+ name: string;
1317
+ /** A `yyyy-MM-dd` day; stored on the DateTime column at local noon. */
1318
+ dueDate?: string | null;
1319
+ status?: MilestoneStatus;
1320
+ description?: string | null;
1321
+ }
1258
1322
  interface UseMilestonesResult {
1259
1323
  milestones: Milestone[];
1260
1324
  /** Milestones grouped by their due day (yyyy-MM-dd), for timeline flags. */
1261
1325
  byDay: Map<string, Milestone[]>;
1262
1326
  loading: boolean;
1327
+ /** True while a create mutation is in flight. */
1328
+ creating: boolean;
1329
+ /**
1330
+ * Create a milestone and refetch the list. Returns the created milestone, or
1331
+ * throws so the caller can surface a toast. A `yyyy-MM-dd` dueDate is stored
1332
+ * at local noon so it lands on the intended day regardless of timezone.
1333
+ */
1334
+ createMilestone: (args: CreateMilestoneArgs) => Promise<Milestone | null>;
1263
1335
  }
1264
1336
  /**
1265
1337
  * useMilestones — fetch a project's milestones (e.g. a harvest window) for the
@@ -1353,6 +1425,7 @@ declare const DELETE_WORK_ITEM_LINK: graphql.DocumentNode;
1353
1425
  declare const MILESTONE_FIELDS: graphql.DocumentNode;
1354
1426
  declare const LIST_MILESTONES: graphql.DocumentNode;
1355
1427
  declare const DELETE_WORK_ITEM: graphql.DocumentNode;
1428
+ declare const BULK_UPDATE_WORK_ITEMS: graphql.DocumentNode;
1356
1429
 
1357
1430
  /**
1358
1431
  * Configuration module for the PlanMagnet SDK.
@@ -1422,4 +1495,4 @@ declare function getGraphQLEndpoint(baseUrl?: string): string;
1422
1495
 
1423
1496
  declare function cn(...inputs: ClassValue[]): string;
1424
1497
 
1425
- export { type AssigneeOption, Avatar, type AvatarProps, Badge, type BadgeProps, type BoardColumn, CREATE_WORK_ITEM, CREATE_WORK_ITEM_LINK, CreateTask, CreateTaskCore, type CreateTaskCoreProps, type CreateTaskField, type CreateTaskInput, type CreateTaskProps, type CreateWorkItemLinkInput, DEFAULT_BOARD_COLUMNS, DEFAULT_TASK_LABELS, DELETE_WORK_ITEM, DELETE_WORK_ITEM_LINK, Drawer, type DrawerProps, GET_PROJECTS, GET_WORK_ITEM, LIST_MILESTONES, LIST_WORK_ITEMS, LIST_WORK_ITEM_LINKS, LinkChip, type LinkChipProps, type ListMilestonesInput, type ListTasksInput, type ListWorkItemLinksInput, MILESTONE_FIELDS, MOVE_WORK_ITEM, type Milestone, type MilestoneList, type MilestoneStatus, Modal, type ModalProps, PRIORITY_META, PROJECT_SUMMARY_FIELDS, type PartialTaskLabels, type PlanMagnetClientConfig, type PlanMagnetConfig, PlanMagnetProvider, type PlanMagnetProviderProps, PriorityIndicator, type PriorityIndicatorProps, type Project, type ProjectList, type RenderLinkIcon, type ResolveAssignee, STATUS_META, StatusIcon, type StatusIconProps, StatusPill, type StatusPillProps, TASK_PRIORITIES, TASK_STATUSES, TASK_TYPES, type Task, TaskBoard, TaskBoardCore, type TaskBoardCoreProps, type TaskBoardProps, TaskCard, type TaskCardProps, TaskCommentsCore, type TaskCommentsCoreProps, TaskDetail, TaskDetailCore, type TaskDetailCoreProps, type TaskDetailField, type TaskDetailProps, type TaskLabels, TaskLabelsProvider, TaskList, type TaskListColumn, TaskListCore, type TaskListCoreProps, type TaskListProps, type TaskListSort, type TaskPageInfo, type TaskPaginationInput, type TaskPriority, type TaskSavedResult, type TaskStatus, TaskTimelineCore, type TaskTimelineCoreProps, TaskToolbar, type TaskToolbarProps, type TaskType, type TaskView, TasksPage, TasksPageCore, type TasksPageCoreProps, type TasksPageField, type TasksPageProps, type TasksPageSaved, TypeBadge, type TypeBadgeProps, UPDATE_WORK_ITEM, type UpdateTaskInput, type UseMilestonesResult, type UseWorkItemLinksResult, WORK_ITEM_FIELDS, WORK_ITEM_LINK_FIELDS, WORK_ITEM_SUMMARY_FIELDS, type WorkItemDetail, type WorkItemLink, type WorkItemLinkList, type WorkItemLinkRelation, type WorkItemList, badgeVariants, cn, config, createPlanMagnetClient, enumLabel, getGraphQLEndpoint, getPlanMagnetClient, getPlanMagnetClientSafe, getPlanMagnetConfig, isPlanMagnetClientReady, mergeTaskLabels, resetPlanMagnetClient, resetPlanMagnetConfig, setPlanMagnetClient, setPlanMagnetConfig, useMilestones, usePlanMagnetContext, usePlanMagnetContextSafe, useTaskLabels, useWorkItemLinks, validateTrustedOrigin, waitForPlanMagnetClient };
1498
+ export { type AssigneeOption, Avatar, type AvatarProps, BULK_UPDATE_WORK_ITEMS, Badge, type BadgeProps, type BoardColumn, CREATE_WORK_ITEM, CREATE_WORK_ITEM_LINK, CreateTask, CreateTaskCore, type CreateTaskCoreProps, type CreateTaskField, type CreateTaskInput, type CreateTaskProps, type CreateWorkItemLinkInput, DEFAULT_BOARD_COLUMNS, DEFAULT_TASK_LABELS, DELETE_WORK_ITEM, DELETE_WORK_ITEM_LINK, Drawer, type DrawerProps, GET_PROJECTS, GET_WORK_ITEM, LIST_MILESTONES, LIST_WORK_ITEMS, LIST_WORK_ITEM_LINKS, LinkChip, type LinkChipProps, type ListMilestonesInput, type ListTasksInput, type ListWorkItemLinksInput, MILESTONE_FIELDS, MOVE_WORK_ITEM, type Milestone, type MilestoneList, type MilestoneStatus, Modal, type ModalProps, PRIORITY_META, PROJECT_SUMMARY_FIELDS, type PartialTaskLabels, type PlanMagnetClientConfig, type PlanMagnetConfig, PlanMagnetProvider, type PlanMagnetProviderProps, PriorityIndicator, type PriorityIndicatorProps, type Project, type ProjectList, type RenderLinkIcon, type ResolveAssignee, STATUS_META, StatusIcon, type StatusIconProps, StatusPill, type StatusPillProps, TASK_PRIORITIES, TASK_STATUSES, TASK_TYPES, type Task, TaskBoard, TaskBoardCore, type TaskBoardCoreProps, type TaskBoardProps, TaskCard, type TaskCardProps, TaskCommentsCore, type TaskCommentsCoreProps, TaskDetail, TaskDetailCore, type TaskDetailCoreProps, type TaskDetailField, type TaskDetailProps, type TaskLabels, TaskLabelsProvider, TaskList, type TaskListColumn, TaskListCore, type TaskListCoreProps, type TaskListProps, type TaskListSort, type TaskPageInfo, type TaskPaginationInput, type TaskPriority, type TaskSavedResult, type TaskStatus, TaskTimelineCore, type TaskTimelineCoreProps, TaskToolbar, type TaskToolbarProps, type TaskType, type TaskView, TasksPage, TasksPageCore, type TasksPageCoreProps, type TasksPageField, type TasksPageProps, type TasksPageSaved, TypeBadge, type TypeBadgeProps, UPDATE_WORK_ITEM, type UpdateTaskInput, type UseMilestonesResult, type UseWorkItemLinksResult, WORK_ITEM_FIELDS, WORK_ITEM_LINK_FIELDS, WORK_ITEM_SUMMARY_FIELDS, type WorkItemDetail, type WorkItemLink, type WorkItemLinkList, type WorkItemLinkRelation, type WorkItemList, badgeVariants, cn, config, createPlanMagnetClient, enumLabel, getGraphQLEndpoint, getPlanMagnetClient, getPlanMagnetClientSafe, getPlanMagnetConfig, isPlanMagnetClientReady, mergeTaskLabels, resetPlanMagnetClient, resetPlanMagnetConfig, setPlanMagnetClient, setPlanMagnetConfig, useMilestones, usePlanMagnetContext, usePlanMagnetContextSafe, useTaskLabels, useWorkItemLinks, validateTrustedOrigin, waitForPlanMagnetClient };