@powerhousedao/academy 3.2.0 → 3.3.0-dev.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +50 -16
  2. package/docs/academy/01-GetStarted/00-ExploreDemoPackage.mdx +60 -51
  3. package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +8 -28
  4. package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +1 -1
  5. package/docs/academy/01-GetStarted/images/OperationsHistory.png +0 -0
  6. package/docs/academy/01-GetStarted/images/OperationsHistoryButton.png +0 -0
  7. package/docs/academy/01-GetStarted/images/OperationsHistorySignature.png +0 -0
  8. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/02-ConfiguringDrives.md +53 -29
  9. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/images/Screenshot 2025-06-26 at 17.41.14.png +0 -0
  10. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/images/AddDrive.png +0 -0
  11. package/docs/academy/02-MasteryTrack/04-WorkWithData/01-ReadingAndWritingThroughTheAPI.mdx +174 -56
  12. package/docs/academy/02-MasteryTrack/04-WorkWithData/04-analytics-processor.md +281 -1
  13. package/docs/academy/02-MasteryTrack/04-WorkWithData/05-AnalyticsProcessorTutorial/02-CreateNewPowerhouseProject.md +4 -2
  14. package/docs/academy/02-MasteryTrack/04-WorkWithData/images/AddNewDriveURL.png +0 -0
  15. package/docs/academy/02-MasteryTrack/04-WorkWithData/images/DocumentID.png +0 -0
  16. package/docs/academy/02-MasteryTrack/04-WorkWithData/images/OnboardingTasks.png +0 -0
  17. package/docs/academy/02-MasteryTrack/04-WorkWithData/images/QueryDocument.png +0 -0
  18. package/docs/academy/02-MasteryTrack/04-WorkWithData/images/QueryDocument2.png +0 -0
  19. package/docs/academy/03-ExampleUsecases/Chatroom/02-CreateNewPowerhouseProject.md +2 -1
  20. package/docs/academy/04-APIReferences/01-ReactHooks.md +0 -5
  21. package/docs/academy/06-ComponentLibrary/00-DocumentEngineering.md +52 -0
  22. package/docs/academy/07-Cookbook.md +2 -2
  23. package/package.json +2 -2
  24. package/src/css/custom.css +22 -1
  25. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/00-DocumentToolbar.mdx +0 -0
  26. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/01-OperationHistory.md +0 -0
  27. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/02-RevisionHistoryTimeline.md +0 -0
  28. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/_category_.json +0 -0
  29. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/DocumentToolbar.png +0 -0
  30. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/committer-address-popup.png +0 -0
  31. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/revision-hash-popup.png +0 -0
  32. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/revision-history-list.png +0 -0
  33. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/revision-history-timeline.png +0 -0
  34. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{07-DocumentTools → 06-DocumentTools}/images/signature-details-popup.png +0 -0
  35. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/01-RenownAuthenticationFlow.md +0 -0
  36. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/02-Authorization.md +0 -0
  37. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/_category_.json +0 -0
  38. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/images/ConnectAddress.png +0 -0
  39. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/images/LoginComplete.png +0 -0
  40. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/images/OperationsHistory.png +0 -0
  41. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/images/RenownLogin.png +0 -0
  42. /package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/{08-Authorization → 07-Authorization}/images/ReturnToConnect.png +0 -0
@@ -15,6 +15,22 @@ Here are the key points to understand:
15
15
  - **Custom Scalars:** Besides the built-in scalars, you can define custom scalars (e.g., a Date type) if you need to handle more specific formats or validations. Powerhouse does this specific for the web3 ecosystem.
16
16
  :::
17
17
 
18
+ ## What are Components?
19
+
20
+ In the context of Powerhouse Builder platform, components can be thought of as reusable elements, or ready-to-use building blocks that help builders implement **document editors & viewers** with little to no effort. An important utility aspect of a component is that it serves its users as a **data input field**, providing structured ways to enter and manipulate information within your document models.
21
+
22
+ ## Document Editors vs Document Viewers
23
+
24
+ Understanding the relationship between document editors and viewers is crucial for component usage:
25
+
26
+ **Document Editor**: A specific document type that is used by one or more users to make data entries and update its state. Key utility is the ability to enter data in a structured format, making it a great tool for collaboration within a group of authorized users.
27
+
28
+ **Document Viewer**: Does not allow modifications. It's a great way to inform about the state of the document type, making it a great tool for providing a broader group or public with transparent insights. Document viewers do not have to match the view of the editor one-to-one - the data presented could be framed as a specific selection, or filtered to provide desired insights.
29
+
30
+ :::tip Component Behavior in Different Contexts
31
+ The same component that will be used in a document viewer will have a **disabled state** (not allowed to edit documents). Document editors precede document viewers - you would start by creating a document editor and then, if needed, decide which viewer format is useful.
32
+ :::
33
+
18
34
  ## Scalars vs. General UI Components
19
35
 
20
36
  ### Scalar Components
@@ -39,6 +55,42 @@ This category includes a broader range of UI elements such as simplified version
39
55
  **Location:** @powerhousedao/document-engineering/ui
40
56
  https://github.com/powerhouse-inc/document-engineering
41
57
 
58
+ ## Component Types Classification
59
+
60
+ Inspired by atomic design methodology, Powerhouse classifies components into the following categories:
61
+
62
+ ### Fragment
63
+ The smallest element that combined together makes up a scalar or other simple component.
64
+ **Examples:** Character counter, Checkbox field, Label
65
+
66
+ ### Scalar (Simple Component)
67
+ The simplest component that contains the basic input field for one-dimensional data type (single value).
68
+ **Examples:** Integer, Boolean, String, Powerhouse ID (PHID)
69
+
70
+ ### Complex Component
71
+ Compound component that has an object/array value. It's made up of multiple scalars combined to serve a specific function.
72
+ **Examples:** Sidebar (tree structure navigation component with content-style navigation for hierarchical data)
73
+
74
+ ### Layout Component
75
+ Purpose-specific container for other components like lists of other components, color layouts, sections, etc.
76
+ **Examples:** Homepage section layout
77
+
78
+ :::info Component Library Philosophy
79
+ The Powerhouse team is building a Component library with a wide range of components embedding best UX practices & key functionality. This library establishes standards and best practices for building documents while fast-tracking the building process through facilitation of the most basic & useful component types.
80
+ :::
81
+
82
+ ## Component Behavior & UX Principles
83
+
84
+ Besides the ability to input data, components have another crucial utility: they describe the mechanism of user interaction through implementing a defined set of behavior rules.
85
+
86
+ **Best Practices for Component Behavior:**
87
+ - Implementing behaviors at a component level is much more efficient than at the document level
88
+ - Good component behavior feels natural to the user and is easily understood
89
+ - Components should be intuitive and not require additional tutorials or explanations
90
+ - Start with the most simple/basic behaviors first, then layer additional behaviors on top
91
+ - Keep behaviors as simple as needed - less is more
92
+
93
+
42
94
  ## Exploring Components with Storybook
43
95
 
44
96
  We use Storybook as an interactive catalog for our design system components. It allows you to visually explore each component, interact with different states, and understand how to integrate them into your projects. [https://storybook.powerhouse.academy](https://storybook.powerhouse.academy)
@@ -14,7 +14,7 @@ You need to install the Powerhouse CLI (`ph-cmd`) to create and manage Powerhous
14
14
 
15
15
  ## Prerequisites
16
16
  - node.js 22 installed
17
- - pnpm package manager installed
17
+ - pnpm package manager 10 installed
18
18
  - Terminal or command prompt access
19
19
 
20
20
  ## Solution
@@ -169,7 +169,7 @@ You need to access experimental features, bugfixes, or development versions of P
169
169
 
170
170
  ## Prerequisites
171
171
  - Terminal or command prompt access
172
- - pnpm package manager installed
172
+ - pnpm package manager 10 installed
173
173
  - Node.js 22 installed
174
174
 
175
175
  ## Solution
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/academy",
3
- "version": "3.2.0",
3
+ "version": "3.3.0-dev.0",
4
4
  "homepage": "https://powerhouse.academy",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  "@docusaurus/module-type-aliases": "^3.8.0",
24
24
  "@docusaurus/tsconfig": "^3.8.0",
25
25
  "@docusaurus/types": "^3.8.0",
26
- "tsx": "^4.19.4",
26
+ "tsx": "^4.20.3",
27
27
  "typescript": "^5.7.3"
28
28
  },
29
29
  "browserslist": {
@@ -157,6 +157,21 @@ a {
157
157
  color: #003d7a; /* darker blue on hover */
158
158
  }
159
159
 
160
+ /* Dark mode specific styles for better readability */
161
+ [data-theme='dark'] .docs-doc-page .theme-doc-markdown a,
162
+ [data-theme='dark'] .markdown a,
163
+ [data-theme='dark'] details a,
164
+ [data-theme='dark'] .theme-doc-markdown details a {
165
+ color: #66b3ff !important; /* lighter blue for dark mode */
166
+ }
167
+
168
+ [data-theme='dark'] .docs-doc-page .theme-doc-markdown a:hover,
169
+ [data-theme='dark'] .markdown a:hover,
170
+ [data-theme='dark'] details a:hover,
171
+ [data-theme='dark'] .theme-doc-markdown details a:hover {
172
+ color: #99ccff !important; /* even lighter blue on hover for dark mode */
173
+ }
174
+
160
175
  /* Reset styling for navigation elements, category pages, and utility links */
161
176
  .breadcrumbs a,
162
177
  .pagination-nav a,
@@ -488,14 +503,20 @@ html[data-theme='dark'] .DocSearch-Hits > *:empty {
488
503
  }
489
504
 
490
505
  .image-container {
506
+ box-sizing: border-box;
491
507
  border: 1px solid var(--ifm-color-emphasis-300);
492
508
  border-radius: var(--ifm-card-border-radius);
493
- padding: 1rem;
509
+ padding: 0.5rem;
494
510
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
495
511
  margin-bottom: 1.5rem;
512
+ max-width: calc(var(--ifm-container-width-xl) - 2rem);
513
+ margin-left: auto;
514
+ margin-right: auto;
496
515
  }
497
516
 
498
517
  .image-container img {
518
+ width: 100%;
519
+ height: auto;
499
520
  border-radius: var(--ifm-card-border-radius);
500
521
  }
501
522