@industry-theme/backlogmd-kanban-panel 1.1.4 → 1.1.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPanel.d.ts","sourceRoot":"","sources":["../../src/panels/KanbanPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAelG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiBtD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAk9CvD,CAAC"}
1
+ {"version":3,"file":"KanbanPanel.d.ts","sourceRoot":"","sources":["../../src/panels/KanbanPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAelG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiBtD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA29CvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useKanbanData.d.ts","sourceRoot":"","sources":["../../../../src/panels/kanban/hooks/useKanbanData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,EAAwB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAE5F,gDAAgD;AAChD,eAAO,MAAM,cAAc,EAAE,YAAY,EAIxC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7C,mDAAmD;IACnD,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,+CAA+C;IAC/C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,yDAAyD;IACzD,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACpD,mCAAmC;IACnC,eAAe,EAAE,gBAAgB,CAAC;IAClC,sBAAsB;IACtB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4EAA4E;IAC5E,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACrE,wBAAwB;IACxB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;IAClD,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAID;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CA2gBrB"}
1
+ {"version":3,"file":"useKanbanData.d.ts","sourceRoot":"","sources":["../../../../src/panels/kanban/hooks/useKanbanData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,EAAwB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAE5F,gDAAgD;AAChD,eAAO,MAAM,cAAc,EAAE,YAAY,EAIxC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7C,mDAAmD;IACnD,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,+CAA+C;IAC/C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,yDAAyD;IACzD,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACpD,mCAAmC;IACnC,eAAe,EAAE,gBAAgB,CAAC;IAClC,sBAAsB;IACtB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4EAA4E;IAC5E,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACrE,wBAAwB;IACxB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;IAClD,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAID;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CA6gBrB"}
@@ -8855,6 +8855,7 @@ function useKanbanData(options) {
8855
8855
  });
8856
8856
  span.addEvent("kanban.loaded", {
8857
8857
  "tasks.count": 0,
8858
+ "columns.count": 0,
8858
8859
  "is.backlog.project": false
8859
8860
  });
8860
8861
  span.setStatus({
@@ -8892,6 +8893,7 @@ function useKanbanData(options) {
8892
8893
  setHasMore(paginatedResult.hasMore);
8893
8894
  span.addEvent("kanban.loaded", {
8894
8895
  "tasks.count": allTasks.length,
8896
+ "columns.count": newColumnStates.size,
8895
8897
  "tasks.total": total,
8896
8898
  "tasks.hasMore": paginatedResult.hasMore
8897
8899
  });
@@ -8983,6 +8985,7 @@ function useKanbanData(options) {
8983
8985
  setColumnStates(newColumnStates);
8984
8986
  span.addEvent("kanban.loaded", {
8985
8987
  "tasks.count": newTasks.length,
8988
+ "columns.count": newColumnStates.size,
8986
8989
  "tasks.newlyLoaded": result.items.length
8987
8990
  });
8988
8991
  span.setAttributes({
@@ -11486,94 +11489,121 @@ const KanbanPanel = ({
11486
11489
  style: {
11487
11490
  display: "flex",
11488
11491
  alignItems: "center",
11489
- gap: "12px"
11492
+ gap: "6px",
11493
+ flex: 1
11490
11494
  },
11491
- children: [/* @__PURE__ */ jsxs("div", {
11495
+ children: [/* @__PURE__ */ jsx(SquareKanban, {
11496
+ size: 24,
11497
+ color: theme2.colors.primary
11498
+ }), /* @__PURE__ */ jsx("h2", {
11492
11499
  style: {
11493
- display: "flex",
11494
- alignItems: "center",
11495
- gap: "6px"
11500
+ margin: 0,
11501
+ fontSize: theme2.fontSizes[4],
11502
+ color: theme2.colors.text
11496
11503
  },
11497
- children: [/* @__PURE__ */ jsx(SquareKanban, {
11498
- size: 24,
11499
- color: theme2.colors.primary
11500
- }), /* @__PURE__ */ jsx("h2", {
11504
+ children: /* @__PURE__ */ jsxs("a", {
11505
+ href: "https://github.com/MrLesk/Backlog.md",
11506
+ target: "_blank",
11507
+ rel: "noopener noreferrer",
11501
11508
  style: {
11502
- margin: 0,
11503
- fontSize: theme2.fontSizes[4],
11504
- color: theme2.colors.text
11509
+ color: "inherit",
11510
+ textDecoration: "none"
11505
11511
  },
11506
- children: /* @__PURE__ */ jsxs("a", {
11507
- href: "https://github.com/MrLesk/Backlog.md",
11508
- target: "_blank",
11509
- rel: "noopener noreferrer",
11512
+ onMouseEnter: (e) => e.currentTarget.style.textDecoration = "underline",
11513
+ onMouseLeave: (e) => e.currentTarget.style.textDecoration = "none",
11514
+ children: ["Backlog", /* @__PURE__ */ jsx("span", {
11510
11515
  style: {
11511
- color: "inherit",
11512
- textDecoration: "none"
11516
+ color: theme2.colors.primary
11513
11517
  },
11514
- onMouseEnter: (e) => e.currentTarget.style.textDecoration = "underline",
11515
- onMouseLeave: (e) => e.currentTarget.style.textDecoration = "none",
11516
- children: ["Backlog", /* @__PURE__ */ jsx("span", {
11517
- style: {
11518
- color: theme2.colors.primary
11519
- },
11520
- children: ".md"
11521
- })]
11522
- })
11523
- })]
11524
- }), isBacklogProject && totalTasksState.total > 0 && /* @__PURE__ */ jsxs("div", {
11518
+ children: ".md"
11519
+ })]
11520
+ })
11521
+ })]
11522
+ }), isBacklogProject && totalTasksState.total > 0 && /* @__PURE__ */ jsxs("div", {
11523
+ style: {
11524
+ display: "flex",
11525
+ background: theme2.colors.backgroundSecondary,
11526
+ borderRadius: theme2.radii[2],
11527
+ padding: "3px",
11528
+ gap: "2px"
11529
+ },
11530
+ children: [/* @__PURE__ */ jsx("button", {
11531
+ onClick: () => {
11532
+ setViewMode("milestones");
11533
+ setIsSearchVisible(false);
11534
+ setSearchQuery("");
11535
+ },
11525
11536
  style: {
11537
+ padding: "6px 12px",
11538
+ border: "none",
11539
+ borderRadius: theme2.radii[1],
11540
+ background: "transparent",
11541
+ color: viewMode === "milestones" ? theme2.colors.primary : theme2.colors.textSecondary,
11542
+ fontSize: theme2.fontSizes[2],
11543
+ fontWeight: theme2.fontWeights.medium,
11544
+ cursor: "pointer",
11545
+ transition: "all 0.2s ease",
11526
11546
  display: "flex",
11527
- background: theme2.colors.backgroundSecondary,
11528
- borderRadius: theme2.radii[2],
11529
- padding: "3px",
11530
- gap: "2px"
11547
+ alignItems: "center",
11548
+ justifyContent: "center",
11549
+ gap: "6px",
11550
+ minWidth: "91px"
11531
11551
  },
11532
- children: [/* @__PURE__ */ jsx("button", {
11533
- onClick: () => setViewMode("board"),
11534
- style: {
11535
- padding: "6px 12px",
11536
- border: "none",
11537
- borderRadius: theme2.radii[1],
11538
- background: viewMode === "board" ? theme2.colors.primary : "transparent",
11539
- color: viewMode === "board" ? theme2.colors.textOnPrimary : theme2.colors.textSecondary,
11540
- fontSize: theme2.fontSizes[1],
11541
- fontWeight: theme2.fontWeights.medium,
11542
- cursor: "pointer",
11543
- transition: "all 0.2s ease",
11544
- display: "flex",
11545
- alignItems: "center",
11546
- gap: "6px"
11547
- },
11548
- children: "Board"
11549
- }), /* @__PURE__ */ jsx("button", {
11550
- onClick: () => setViewMode("milestones"),
11551
- style: {
11552
- padding: "6px 12px",
11553
- border: "none",
11554
- borderRadius: theme2.radii[1],
11555
- background: viewMode === "milestones" ? theme2.colors.primary : "transparent",
11556
- color: viewMode === "milestones" ? theme2.colors.textOnPrimary : theme2.colors.textSecondary,
11557
- fontSize: theme2.fontSizes[1],
11558
- fontWeight: theme2.fontWeights.medium,
11559
- cursor: "pointer",
11560
- transition: "all 0.2s ease",
11561
- display: "flex",
11562
- alignItems: "center",
11563
- gap: "6px"
11564
- },
11565
- children: "Milestones"
11566
- })]
11552
+ children: "Milestones"
11553
+ }), /* @__PURE__ */ jsx("button", {
11554
+ onClick: () => {
11555
+ setViewMode("board");
11556
+ setIsSearchVisible(false);
11557
+ setSearchQuery("");
11558
+ },
11559
+ style: {
11560
+ padding: "6px 12px",
11561
+ border: "none",
11562
+ borderRadius: theme2.radii[1],
11563
+ background: "transparent",
11564
+ color: viewMode === "board" ? theme2.colors.primary : theme2.colors.textSecondary,
11565
+ fontSize: theme2.fontSizes[2],
11566
+ fontWeight: theme2.fontWeights.medium,
11567
+ cursor: "pointer",
11568
+ transition: "all 0.2s ease",
11569
+ display: "flex",
11570
+ alignItems: "center",
11571
+ justifyContent: "center",
11572
+ gap: "6px",
11573
+ minWidth: "91px"
11574
+ },
11575
+ children: "Status"
11567
11576
  })]
11568
11577
  }), isBacklogProject && totalTasksState.total > 0 && /* @__PURE__ */ jsx("div", {
11569
11578
  style: {
11570
11579
  display: "flex",
11571
11580
  alignItems: "center",
11572
11581
  gap: "8px",
11573
- flexWrap: "wrap"
11582
+ flexWrap: "wrap",
11583
+ flex: 1,
11584
+ justifyContent: "flex-end"
11574
11585
  },
11575
11586
  children: viewMode === "board" ? /* @__PURE__ */ jsxs(Fragment, {
11576
- children: [/* @__PURE__ */ jsx("button", {
11587
+ children: [canWrite && /* @__PURE__ */ jsxs("button", {
11588
+ onClick: handleOpenNewTask,
11589
+ style: {
11590
+ display: "flex",
11591
+ alignItems: "center",
11592
+ gap: "6px",
11593
+ background: theme2.colors.primary,
11594
+ color: theme2.colors.textOnPrimary,
11595
+ border: "1px solid transparent",
11596
+ borderRadius: theme2.radii[2],
11597
+ padding: "6px 12px",
11598
+ fontSize: theme2.fontSizes[1],
11599
+ fontWeight: theme2.fontWeights.medium,
11600
+ cursor: "pointer",
11601
+ transition: "opacity 0.2s ease"
11602
+ },
11603
+ children: [/* @__PURE__ */ jsx(Plus, {
11604
+ size: 14
11605
+ }), "Add Task"]
11606
+ }), /* @__PURE__ */ jsx("button", {
11577
11607
  onClick: () => {
11578
11608
  const newVisible = !isSearchVisible;
11579
11609
  setIsSearchVisible(newVisible);
@@ -11585,27 +11615,28 @@ const KanbanPanel = ({
11585
11615
  display: "flex",
11586
11616
  alignItems: "center",
11587
11617
  justifyContent: "center",
11588
- background: isSearchVisible ? theme2.colors.primary : theme2.colors.backgroundSecondary,
11589
- color: isSearchVisible ? theme2.colors.textOnPrimary : theme2.colors.textSecondary,
11590
- border: isSearchVisible ? "none" : `1px solid ${theme2.colors.border}`,
11618
+ background: theme2.colors.backgroundSecondary,
11619
+ color: theme2.colors.textSecondary,
11620
+ border: `1px solid ${theme2.colors.border}`,
11591
11621
  borderRadius: theme2.radii[2],
11592
11622
  padding: "6px",
11593
- cursor: "pointer",
11594
- transition: "all 0.2s ease"
11623
+ cursor: "pointer"
11595
11624
  },
11596
11625
  title: isSearchVisible ? "Hide search" : "Search tasks",
11597
11626
  children: /* @__PURE__ */ jsx(Search, {
11598
11627
  size: 16
11599
11628
  })
11600
- }), canWrite && /* @__PURE__ */ jsxs("button", {
11601
- onClick: handleOpenNewTask,
11629
+ })]
11630
+ }) : /* @__PURE__ */ jsxs(Fragment, {
11631
+ children: [canWriteMilestones && /* @__PURE__ */ jsxs("button", {
11632
+ onClick: handleOpenNewMilestone,
11602
11633
  style: {
11603
11634
  display: "flex",
11604
11635
  alignItems: "center",
11605
11636
  gap: "6px",
11606
11637
  background: theme2.colors.primary,
11607
11638
  color: theme2.colors.textOnPrimary,
11608
- border: "none",
11639
+ border: "1px solid transparent",
11609
11640
  borderRadius: theme2.radii[2],
11610
11641
  padding: "6px 12px",
11611
11642
  fontSize: theme2.fontSizes[1],
@@ -11615,10 +11646,8 @@ const KanbanPanel = ({
11615
11646
  },
11616
11647
  children: [/* @__PURE__ */ jsx(Plus, {
11617
11648
  size: 14
11618
- }), "Add Task"]
11619
- })]
11620
- }) : /* @__PURE__ */ jsxs(Fragment, {
11621
- children: [canWrite && /* @__PURE__ */ jsxs("button", {
11649
+ }), "Add Milestone"]
11650
+ }), canWrite && /* @__PURE__ */ jsxs("button", {
11622
11651
  onClick: handleOpenNewTask,
11623
11652
  disabled: !selectedMilestoneId,
11624
11653
  title: selectedMilestoneId ? "Add task to milestone" : "Select a milestone first",
@@ -11628,7 +11657,7 @@ const KanbanPanel = ({
11628
11657
  gap: "6px",
11629
11658
  background: selectedMilestoneId ? theme2.colors.primary : theme2.colors.backgroundSecondary,
11630
11659
  color: selectedMilestoneId ? theme2.colors.textOnPrimary : theme2.colors.textMuted,
11631
- border: selectedMilestoneId ? "none" : `1px solid ${theme2.colors.border}`,
11660
+ border: `1px solid ${selectedMilestoneId ? "transparent" : theme2.colors.border}`,
11632
11661
  borderRadius: theme2.radii[2],
11633
11662
  padding: "6px 12px",
11634
11663
  fontSize: theme2.fontSizes[1],
@@ -11640,25 +11669,6 @@ const KanbanPanel = ({
11640
11669
  children: [/* @__PURE__ */ jsx(Plus, {
11641
11670
  size: 14
11642
11671
  }), "Add Task"]
11643
- }), canWriteMilestones && /* @__PURE__ */ jsxs("button", {
11644
- onClick: handleOpenNewMilestone,
11645
- style: {
11646
- display: "flex",
11647
- alignItems: "center",
11648
- gap: "6px",
11649
- background: theme2.colors.primary,
11650
- color: theme2.colors.textOnPrimary,
11651
- border: "none",
11652
- borderRadius: theme2.radii[2],
11653
- padding: "6px 12px",
11654
- fontSize: theme2.fontSizes[1],
11655
- fontWeight: theme2.fontWeights.medium,
11656
- cursor: "pointer",
11657
- transition: "opacity 0.2s ease"
11658
- },
11659
- children: [/* @__PURE__ */ jsx(Plus, {
11660
- size: 14
11661
- }), "Add Milestone"]
11662
11672
  }), /* @__PURE__ */ jsx("button", {
11663
11673
  onClick: handleRefreshMilestones,
11664
11674
  disabled: isRefreshingMilestones || isMilestonesLoading,