@powerhousedao/common 1.10.44-dev.2 → 1.11.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/common",
3
- "version": "1.10.44-dev.2",
3
+ "version": "1.11.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "files": [
@@ -19,15 +19,15 @@
19
19
  "peerDependencies": {
20
20
  "react": "^18.3.1",
21
21
  "react-dom": "^18.3.1",
22
- "@powerhousedao/reactor-browser": "1.22.34-dev.2"
22
+ "@powerhousedao/reactor-browser": "1.23.0"
23
23
  },
24
24
  "dependencies": {
25
25
  "@tanstack/react-virtual": "^3.8.1",
26
26
  "react-i18next": "^13.5.0",
27
- "@powerhousedao/builder-tools": "0.9.37-dev.2",
28
- "@powerhousedao/design-system": "1.39.26-dev.2",
29
- "document-drive": "1.29.12-dev.4",
30
- "document-model": "2.28.1-dev.12"
27
+ "@powerhousedao/builder-tools": "0.10.0",
28
+ "@powerhousedao/design-system": "1.40.0",
29
+ "document-drive": "1.30.0",
30
+ "document-model": "3.0.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@tailwindcss/cli": "^4.0.9",
@@ -48,9 +48,9 @@
48
48
  "uuid": "^11.0.5",
49
49
  "vite": "^6.2.2",
50
50
  "zod": "^3.24.1",
51
- "@powerhousedao/config": "1.27.0-dev.12",
52
- "@powerhousedao/reactor-browser": "1.22.34-dev.2",
53
- "document-model": "2.28.1-dev.12"
51
+ "@powerhousedao/config": "1.28.0",
52
+ "@powerhousedao/reactor-browser": "1.23.0",
53
+ "document-model": "3.0.0"
54
54
  },
55
55
  "scripts": {
56
56
  "dev": "ph-cli dev --config-file ./powerhouse.config.json",
@@ -58,7 +58,6 @@
58
58
  "build:tsc": "tsc --build",
59
59
  "lint": "eslint",
60
60
  "build": "npm run build:css && npm run build:tsc",
61
- "prebuild": "npm run clean",
62
61
  "storybook": "storybook dev -p 6006",
63
62
  "build-storybook": "storybook build",
64
63
  "clean": "rimraf dist",
@@ -1,2 +0,0 @@
1
- export * from "./useTimelineItems.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./useTimelineItems.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { type DocumentToolbarProps } from "@powerhousedao/design-system";
2
- type TimelineResult = {
3
- isLoading: boolean;
4
- data: DocumentToolbarProps["timelineItems"];
5
- };
6
- export declare const useTimelineItems: (documentId?: string, startTimestamp?: string) => TimelineResult;
7
- export {};
8
- //# sourceMappingURL=useTimelineItems.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimelineItems.d.ts","sourceRoot":"","sources":["../../hooks/useTimelineItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAyCzE,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBACd,MAAM,mBACF,MAAM,KACtB,cA8GF,CAAC"}
@@ -1,106 +0,0 @@
1
- import { AnalyticsGranularity, AnalyticsPath, DateTime, useAnalyticsQuery, } from "@powerhousedao/reactor-browser/analytics";
2
- import { useMemo } from "react";
3
- const getBarSize = (value) => {
4
- if (value <= 0)
5
- return 0;
6
- if (value > 0 && value <= 50)
7
- return 1;
8
- if (value > 50 && value <= 100)
9
- return 2;
10
- if (value > 100 && value <= 250)
11
- return 3;
12
- return 4;
13
- };
14
- export const useTimelineItems = (documentId, startTimestamp) => {
15
- const start = startTimestamp
16
- ? DateTime.fromISO(startTimestamp)
17
- : DateTime.now().startOf("day");
18
- const { data: diffResult, isLoading } = useAnalyticsQuery({
19
- start,
20
- end: DateTime.now().endOf("day"),
21
- granularity: AnalyticsGranularity.Hourly,
22
- metrics: ["Count"],
23
- select: {
24
- changes: [AnalyticsPath.fromString(`changes`)],
25
- document: [AnalyticsPath.fromString(`document/${documentId}`)],
26
- },
27
- lod: {
28
- changes: 2,
29
- },
30
- currency: AnalyticsPath.fromString(""),
31
- });
32
- // memoize the mapped result to avoid recalculation on rerenders
33
- const mappedResult = useMemo(() => {
34
- if (!diffResult)
35
- return [];
36
- return diffResult
37
- .sort((a, b) => {
38
- const aDate = new Date(a.start);
39
- const bDate = new Date(b.start);
40
- return aDate.getTime() - bDate.getTime();
41
- })
42
- .filter((result) => {
43
- return result.rows.every((row) => row.value > 0);
44
- })
45
- .map((result) => {
46
- const { additions, deletions } = result.rows.reduce((acc, row) => {
47
- if (row.dimensions.changes.path ===
48
- "changes/add") {
49
- acc.additions += row.value;
50
- }
51
- else if (row.dimensions.changes.path ===
52
- "changes/remove") {
53
- acc.deletions += row.value;
54
- }
55
- return acc;
56
- }, { additions: 0, deletions: 0 });
57
- const startDate = new Date(result.start);
58
- return {
59
- id: startDate.toISOString(),
60
- type: "bar",
61
- addSize: getBarSize(additions),
62
- delSize: getBarSize(deletions),
63
- additions,
64
- deletions,
65
- timestamp: startDate.toISOString(),
66
- startDate: startDate,
67
- endDate: new Date(result.end),
68
- revision: 0,
69
- };
70
- });
71
- }, [diffResult]);
72
- // memoize the divider insertion to avoid recalculation
73
- const resultWithDividers = useMemo(() => {
74
- if (!mappedResult.length)
75
- return [];
76
- const result = [];
77
- mappedResult.forEach((item, index) => {
78
- result.push(item);
79
- // Check if there's a next item and if they're not in consecutive hours
80
- if (index < mappedResult.length - 1) {
81
- const currentDate = new Date(item.startDate);
82
- const nextDate = new Date(mappedResult[index + 1].startDate);
83
- const currentHour = currentDate.getHours();
84
- const nextHour = nextDate.getHours();
85
- // Get day parts (without time) for comparison
86
- const currentDay = currentDate.toDateString();
87
- const nextDay = nextDate.toDateString();
88
- // If different days or non-consecutive hours on the same day
89
- if (currentDay !== nextDay ||
90
- (currentDay === nextDay && Math.abs(nextHour - currentHour) > 1)) {
91
- result.push({
92
- id: `divider-${item.id}-${mappedResult[index + 1].id}`,
93
- type: "divider",
94
- revision: 0,
95
- });
96
- }
97
- }
98
- });
99
- return result;
100
- }, [mappedResult]);
101
- return {
102
- isLoading,
103
- data: resultWithDividers,
104
- };
105
- };
106
- //# sourceMappingURL=useTimelineItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimelineItems.js","sourceRoot":"","sources":["../../hooks/useTimelineItems.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type Operation } from "document-model";
2
- export declare const getRevisionFromDate: (startDate?: Date, endDate?: Date, operations?: Operation[]) => number;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,mBAAmB,eAClB,IAAI,YACN,IAAI,eACF,SAAS,EAAE,WAUxB,CAAC"}
@@ -1,10 +0,0 @@
1
- export const getRevisionFromDate = (startDate, endDate, operations = []) => {
2
- if (!startDate || !endDate)
3
- return 0;
4
- const operation = operations.find((operation) => {
5
- const operationDate = new Date(operation.timestamp);
6
- return operationDate >= startDate && operationDate <= endDate;
7
- });
8
- return operation ? operation.index : 0;
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAgB,EAChB,OAAc,EACd,aAA0B,EAAE,EAC5B,EAAE;IACF,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,OAAO,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC"}