@industry-theme/principal-view-panels 0.10.16 → 0.10.17

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":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAgB/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAktB7D,CAAC"}
1
+ {"version":3,"file":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAiB/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAusB7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const StoryboardLoadingGraph: React.FC;
3
+ //# sourceMappingURL=StoryboardLoadingGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoryboardLoadingGraph.d.ts","sourceRoot":"","sources":["../../../../src/panels/canvas-list/components/StoryboardLoadingGraph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAiN1C,CAAC"}
@@ -98697,6 +98697,224 @@ const useCanvasWorkflowData = ({
98697
98697
  refreshData
98698
98698
  };
98699
98699
  };
98700
+ const StoryboardLoadingGraph = () => {
98701
+ const { theme: theme2 } = useTheme();
98702
+ const stepDuration = 0.5;
98703
+ const animationDuration = stepDuration * 12;
98704
+ const pauseDuration = 2;
98705
+ const fadeDuration = 0.5;
98706
+ const totalCycleDuration = animationDuration + pauseDuration + fadeDuration;
98707
+ const nodes = [
98708
+ { id: "workflow-1", x: 20, y: 30, delay: 0 },
98709
+ // Step 0: Start
98710
+ { id: "storyboard-1", x: 40, y: 50, delay: stepDuration * 2 },
98711
+ // Step 2: After edge-0
98712
+ { id: "canvas-1", x: 60, y: 30, delay: stepDuration * 4 },
98713
+ // Step 4: After edge-1
98714
+ { id: "workflow-2", x: 80, y: 50, delay: stepDuration * 6 },
98715
+ // Step 6: After edge-2
98716
+ { id: "storyboard-2", x: 60, y: 70, delay: stepDuration * 8 },
98717
+ // Step 8: After edge-3
98718
+ { id: "workflow-3", x: 40, y: 70, delay: stepDuration * 10 }
98719
+ // Step 10: After edge-4
98720
+ ];
98721
+ const edges = [
98722
+ { from: nodes[0], to: nodes[1], delay: stepDuration * 1 },
98723
+ // Step 1: workflow-1 → storyboard-1
98724
+ { from: nodes[1], to: nodes[2], delay: stepDuration * 3 },
98725
+ // Step 3: storyboard-1 → canvas-1
98726
+ { from: nodes[2], to: nodes[3], delay: stepDuration * 5 },
98727
+ // Step 5: canvas-1 → workflow-2
98728
+ { from: nodes[3], to: nodes[4], delay: stepDuration * 7 },
98729
+ // Step 7: workflow-2 → storyboard-2
98730
+ { from: nodes[4], to: nodes[5], delay: stepDuration * 9 },
98731
+ // Step 9: storyboard-2 → workflow-3
98732
+ { from: nodes[5], to: nodes[1], delay: stepDuration * 11 }
98733
+ // Step 11: workflow-3 → storyboard-1 (completes cycle)
98734
+ ];
98735
+ return /* @__PURE__ */ jsxs(
98736
+ "div",
98737
+ {
98738
+ style: {
98739
+ height: "100%",
98740
+ display: "flex",
98741
+ flexDirection: "column",
98742
+ alignItems: "center",
98743
+ justifyContent: "center",
98744
+ color: theme2.colors.textSecondary,
98745
+ padding: "32px"
98746
+ },
98747
+ children: [
98748
+ /* @__PURE__ */ jsx("style", { children: `
98749
+ ${nodes.map((node2, index2) => {
98750
+ const appearStart = node2.delay / totalCycleDuration * 100;
98751
+ const appearEnd = (node2.delay + 0.4) / totalCycleDuration * 100;
98752
+ const fadeStart = (animationDuration + pauseDuration) / totalCycleDuration * 100;
98753
+ return `
98754
+ @keyframes nodeAppear-${index2} {
98755
+ 0% {
98756
+ opacity: 0;
98757
+ transform: translate(-50%, -50%) scale(0.3);
98758
+ }
98759
+ ${appearStart}% {
98760
+ opacity: 0;
98761
+ transform: translate(-50%, -50%) scale(0.3);
98762
+ }
98763
+ ${appearEnd}% {
98764
+ opacity: 1;
98765
+ transform: translate(-50%, -50%) scale(1);
98766
+ }
98767
+ ${fadeStart}% {
98768
+ opacity: 1;
98769
+ transform: translate(-50%, -50%) scale(1);
98770
+ }
98771
+ 100% {
98772
+ opacity: 0;
98773
+ transform: translate(-50%, -50%) scale(0.3);
98774
+ }
98775
+ }
98776
+ `;
98777
+ }).join("")}
98778
+
98779
+ ${edges.map((edge, index2) => {
98780
+ const drawStart = edge.delay / totalCycleDuration * 100;
98781
+ const drawEnd = (edge.delay + 0.5) / totalCycleDuration * 100;
98782
+ const fadeStart = (animationDuration + pauseDuration) / totalCycleDuration * 100;
98783
+ return `
98784
+ @keyframes edgeDraw-${index2} {
98785
+ 0% {
98786
+ stroke-dashoffset: 200;
98787
+ opacity: 0;
98788
+ }
98789
+ ${drawStart}% {
98790
+ stroke-dashoffset: 200;
98791
+ opacity: 0;
98792
+ }
98793
+ ${drawEnd}% {
98794
+ stroke-dashoffset: 0;
98795
+ opacity: 1;
98796
+ }
98797
+ ${fadeStart}% {
98798
+ stroke-dashoffset: 0;
98799
+ opacity: 1;
98800
+ }
98801
+ 100% {
98802
+ stroke-dashoffset: 200;
98803
+ opacity: 0;
98804
+ }
98805
+ }
98806
+ `;
98807
+ }).join("")}
98808
+ ` }),
98809
+ /* @__PURE__ */ jsxs(
98810
+ "div",
98811
+ {
98812
+ style: {
98813
+ position: "relative",
98814
+ width: "100%",
98815
+ maxWidth: "500px",
98816
+ height: "300px",
98817
+ marginBottom: "24px"
98818
+ },
98819
+ children: [
98820
+ /* @__PURE__ */ jsx(
98821
+ "svg",
98822
+ {
98823
+ style: {
98824
+ position: "absolute",
98825
+ top: 0,
98826
+ left: 0,
98827
+ width: "100%",
98828
+ height: "100%",
98829
+ overflow: "visible"
98830
+ },
98831
+ children: edges.map((edge, index2) => {
98832
+ const x1 = `${edge.from.x}%`;
98833
+ const y1 = `${edge.from.y}%`;
98834
+ const x2 = `${edge.to.x}%`;
98835
+ const y2 = `${edge.to.y}%`;
98836
+ return /* @__PURE__ */ jsx(
98837
+ "line",
98838
+ {
98839
+ x1,
98840
+ y1,
98841
+ x2,
98842
+ y2,
98843
+ stroke: theme2.colors.primary,
98844
+ strokeWidth: "2",
98845
+ strokeDasharray: "200",
98846
+ strokeDashoffset: "200",
98847
+ opacity: "0",
98848
+ style: {
98849
+ animation: `edgeDraw-${index2} ${totalCycleDuration}s ease-out infinite`
98850
+ }
98851
+ },
98852
+ `edge-${index2}`
98853
+ );
98854
+ })
98855
+ }
98856
+ ),
98857
+ nodes.map((node2, index2) => /* @__PURE__ */ jsx(
98858
+ "div",
98859
+ {
98860
+ style: {
98861
+ position: "absolute",
98862
+ left: `${node2.x}%`,
98863
+ top: `${node2.y}%`,
98864
+ width: "40px",
98865
+ height: "40px",
98866
+ borderRadius: "8px",
98867
+ backgroundColor: theme2.colors.backgroundSecondary,
98868
+ border: `2px solid ${theme2.colors.primary}`,
98869
+ display: "flex",
98870
+ alignItems: "center",
98871
+ justifyContent: "center",
98872
+ opacity: 0,
98873
+ animation: `nodeAppear-${index2} ${totalCycleDuration}s ease-out infinite`
98874
+ },
98875
+ children: /* @__PURE__ */ jsx(
98876
+ "div",
98877
+ {
98878
+ style: {
98879
+ width: "8px",
98880
+ height: "8px",
98881
+ borderRadius: "50%",
98882
+ backgroundColor: theme2.colors.primary
98883
+ }
98884
+ }
98885
+ )
98886
+ },
98887
+ node2.id
98888
+ ))
98889
+ ]
98890
+ }
98891
+ ),
98892
+ /* @__PURE__ */ jsx(
98893
+ "div",
98894
+ {
98895
+ style: {
98896
+ fontSize: theme2.fontSizes[2],
98897
+ fontWeight: 500,
98898
+ color: theme2.colors.text,
98899
+ marginBottom: "8px"
98900
+ },
98901
+ children: "Loading storyboards..."
98902
+ }
98903
+ ),
98904
+ /* @__PURE__ */ jsx(
98905
+ "div",
98906
+ {
98907
+ style: {
98908
+ fontSize: theme2.fontSizes[1],
98909
+ color: theme2.colors.textSecondary
98910
+ },
98911
+ children: "Discovering workflows and canvases"
98912
+ }
98913
+ )
98914
+ ]
98915
+ }
98916
+ );
98917
+ };
98700
98918
  const StoryboardListPanel = ({
98701
98919
  context,
98702
98920
  actions,
@@ -99140,20 +99358,7 @@ const StoryboardListPanel = ({
99140
99358
  overflowY: "hidden",
99141
99359
  minHeight: 0
99142
99360
  },
99143
- children: isLoading ? /* @__PURE__ */ jsx(
99144
- "div",
99145
- {
99146
- style: {
99147
- height: "100%",
99148
- display: "flex",
99149
- alignItems: "center",
99150
- justifyContent: "center",
99151
- color: theme2.colors.textSecondary,
99152
- fontSize: theme2.fontSizes[2]
99153
- },
99154
- children: "Loading storyboards..."
99155
- }
99156
- ) : filteredStoryboards.length === 0 ? /* @__PURE__ */ jsx(
99361
+ children: isLoading ? /* @__PURE__ */ jsx(StoryboardLoadingGraph, {}) : filteredStoryboards.length === 0 ? /* @__PURE__ */ jsx(
99157
99362
  "div",
99158
99363
  {
99159
99364
  style: {