@murabei-data-science/pumpwood-ui 1.3.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/LICENSE +21 -0
- package/README.md +145 -0
- package/dist/components.d.ts +1227 -0
- package/dist/components.esm.js +39 -0
- package/dist/components.js +40 -0
- package/dist/design-system.d.ts +391 -0
- package/dist/design-system.esm.js +26 -0
- package/dist/design-system.js +27 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +1599 -0
- package/dist/index.esm.js +39 -0
- package/dist/index.js +40 -0
- package/dist/types/components/AlertWithIcon/index.d.ts +12 -0
- package/dist/types/components/Auth/AuthenticatedView.d.ts +18 -0
- package/dist/types/components/Auth/LoginCard.d.ts +33 -0
- package/dist/types/components/Auth/LoginCardSSO.d.ts +31 -0
- package/dist/types/components/Auth/NotAuthenticatedView.d.ts +21 -0
- package/dist/types/components/Auth/index.d.ts +4 -0
- package/dist/types/components/AutoFormContent/index.d.ts +46 -0
- package/dist/types/components/Badge/index.d.ts +17 -0
- package/dist/types/components/Card/index.d.ts +23 -0
- package/dist/types/components/ClearButton/index.d.ts +3 -0
- package/dist/types/components/CombinedFilterTable/index.d.ts +9 -0
- package/dist/types/components/ConfirmationDialog/index.d.ts +71 -0
- package/dist/types/components/CustomBreadcrumb/index.d.ts +6 -0
- package/dist/types/components/DatePicker/index.d.ts +35 -0
- package/dist/types/components/DeleteDialog/index.d.ts +9 -0
- package/dist/types/components/DetailPage/AutoDetailContent.d.ts +27 -0
- package/dist/types/components/DetailPage/DetailPage.d.ts +24 -0
- package/dist/types/components/DetailPage/detail-utils.d.ts +24 -0
- package/dist/types/components/DetailPage/index.d.ts +3 -0
- package/dist/types/components/DownloadButton/index.d.ts +20 -0
- package/dist/types/components/Dropzone/index.d.ts +21 -0
- package/dist/types/components/EmptyContainer/index.d.ts +16 -0
- package/dist/types/components/ErrorBoundary/index.d.ts +10 -0
- package/dist/types/components/ErrorMessage/index.d.ts +4 -0
- package/dist/types/components/ErrorToast/index.d.ts +4 -0
- package/dist/types/components/FKSelect/index.d.ts +63 -0
- package/dist/types/components/FileDropzone/index.d.ts +22 -0
- package/dist/types/components/FilePreview/index.d.ts +13 -0
- package/dist/types/components/Filters/CreatedByUserFilter.d.ts +24 -0
- package/dist/types/components/Filters/DateRangeFilter.d.ts +23 -0
- package/dist/types/components/KeyValueContent/index.d.ts +3 -0
- package/dist/types/components/Loading/index.d.ts +2 -0
- package/dist/types/components/M2MTable/index.d.ts +35 -0
- package/dist/types/components/MarkdownEditor/index.d.ts +12 -0
- package/dist/types/components/MultiSelectDropdown/index.d.ts +14 -0
- package/dist/types/components/NoResult/index.d.ts +15 -0
- package/dist/types/components/Pagination/index.d.ts +12 -0
- package/dist/types/components/Select/FKSelectVariant.d.ts +52 -0
- package/dist/types/components/Select/index.d.ts +70 -0
- package/dist/types/components/Sidebar/NavigationSidebar.d.ts +45 -0
- package/dist/types/components/Sidebar/index.d.ts +157 -0
- package/dist/types/components/Sidebar/useSidebarCollapse.d.ts +18 -0
- package/dist/types/components/Stack/index.d.ts +28 -0
- package/dist/types/components/Table/index.d.ts +92 -0
- package/dist/types/components/TableSkeleton/index.d.ts +23 -0
- package/dist/types/components/TagInput/index.d.ts +13 -0
- package/dist/types/components/Text/index.d.ts +21 -0
- package/dist/types/components/TooltipComponent/index.d.ts +8 -0
- package/dist/types/components/index.d.ts +56 -0
- package/dist/types/components/ui/accordion.d.ts +7 -0
- package/dist/types/components/ui/alert-dialog.d.ts +33 -0
- package/dist/types/components/ui/alert.d.ts +8 -0
- package/dist/types/components/ui/badge.d.ts +18 -0
- package/dist/types/components/ui/breadcrumb.d.ts +11 -0
- package/dist/types/components/ui/button.d.ts +32 -0
- package/dist/types/components/ui/calendar.d.ts +21 -0
- package/dist/types/components/ui/card.d.ts +21 -0
- package/dist/types/components/ui/checkbox.d.ts +4 -0
- package/dist/types/components/ui/combobox.d.ts +33 -0
- package/dist/types/components/ui/command.d.ts +31 -0
- package/dist/types/components/ui/dialog.d.ts +32 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/types/components/ui/empty.d.ts +23 -0
- package/dist/types/components/ui/input.d.ts +15 -0
- package/dist/types/components/ui/label.d.ts +5 -0
- package/dist/types/components/ui/popover.d.ts +18 -0
- package/dist/types/components/ui/radio.d.ts +3 -0
- package/dist/types/components/ui/select.d.ts +13 -0
- package/dist/types/components/ui/skeleton.d.ts +11 -0
- package/dist/types/components/ui/spinner.d.ts +8 -0
- package/dist/types/components/ui/table.d.ts +29 -0
- package/dist/types/components/ui/tabs.d.ts +20 -0
- package/dist/types/components/ui/textarea.d.ts +3 -0
- package/dist/types/components/ui/tooltip.d.ts +7 -0
- package/dist/types/design-system/Auth/AuthenticatedView.d.ts +18 -0
- package/dist/types/design-system/Auth/LoginCard.d.ts +33 -0
- package/dist/types/design-system/Auth/LoginCardSSO.d.ts +31 -0
- package/dist/types/design-system/Auth/NotAuthenticatedView.d.ts +21 -0
- package/dist/types/design-system/Auth/index.d.ts +4 -0
- package/dist/types/design-system/AutoFormContent/index.d.ts +46 -0
- package/dist/types/design-system/CombinedFilterTable/index.d.ts +9 -0
- package/dist/types/design-system/CustomBreadcrumb/index.d.ts +6 -0
- package/dist/types/design-system/DetailPage/AutoDetailContent.d.ts +27 -0
- package/dist/types/design-system/DetailPage/DetailPage.d.ts +24 -0
- package/dist/types/design-system/DetailPage/detail-utils.d.ts +24 -0
- package/dist/types/design-system/DetailPage/index.d.ts +3 -0
- package/dist/types/design-system/FilePreview/index.d.ts +13 -0
- package/dist/types/design-system/Filters/CreatedByUserFilter.d.ts +24 -0
- package/dist/types/design-system/Filters/DateRangeFilter.d.ts +23 -0
- package/dist/types/design-system/KeyValueContent/index.d.ts +3 -0
- package/dist/types/design-system/M2MTable/index.d.ts +35 -0
- package/dist/types/design-system/NavigationSidebar/index.d.ts +47 -0
- package/dist/types/design-system/index.d.ts +11 -0
- package/dist/types/index.d.ts +67 -0
- package/dist/types/lib/field-trigger.d.ts +5 -0
- package/dist/types/lib/fk-select-fetcher.d.ts +26 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/src/components/Badge/index.d.ts +17 -0
- package/dist/types/src/components/Card/index.d.ts +23 -0
- package/dist/types/src/components/CombinedFilterTable/index.d.ts +9 -0
- package/dist/types/src/components/ConfirmationDialog/index.d.ts +71 -0
- package/dist/types/src/components/Dropzone/index.d.ts +21 -0
- package/dist/types/src/components/EmptyContainer/index.d.ts +16 -0
- package/dist/types/src/components/FKSelect/index.d.ts +45 -0
- package/dist/types/src/components/FileDropzone/index.d.ts +22 -0
- package/dist/types/src/components/Filters/CreatedByUserFilter.d.ts +24 -0
- package/dist/types/src/components/Filters/DateRangeFilter.d.ts +23 -0
- package/dist/types/src/components/Sidebar/index.d.ts +115 -0
- package/dist/types/src/components/Stack/index.d.ts +22 -0
- package/dist/types/src/components/Table/index.d.ts +29 -0
- package/dist/types/src/components/Text/index.d.ts +21 -0
- package/dist/types/src/components/ui/alert-dialog.d.ts +33 -0
- package/dist/types/src/components/ui/badge.d.ts +18 -0
- package/dist/types/src/components/ui/button.d.ts +22 -0
- package/dist/types/src/components/ui/calendar.d.ts +21 -0
- package/dist/types/src/components/ui/card.d.ts +21 -0
- package/dist/types/src/components/ui/combobox.d.ts +28 -0
- package/dist/types/src/components/ui/command.d.ts +31 -0
- package/dist/types/src/components/ui/dialog.d.ts +32 -0
- package/dist/types/src/components/ui/empty.d.ts +23 -0
- package/dist/types/src/components/ui/popover.d.ts +18 -0
- package/dist/types/src/components/ui/table.d.ts +29 -0
- package/dist/types/src/components/ui/tabs.d.ts +20 -0
- package/dist/types/src/index.d.ts +21 -0
- package/dist/types/src/lib/utils.d.ts +2 -0
- package/dist/types/src/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
- package/dist/types/src/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
- package/dist/types/src/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
- package/dist/types/src/stories/Components/DateRangeFilter.stories.d.ts +8 -0
- package/dist/types/src/stories/Components/EmptyContainer.stories.d.ts +24 -0
- package/dist/types/src/stories/Components/FKSelect.stories.d.ts +8 -0
- package/dist/types/src/stories/Components/FileDropZone.stories.d.ts +9 -0
- package/dist/types/src/stories/Components/Sidebar.stories.d.ts +18 -0
- package/dist/types/src/stories/Components/Table.stories.d.ts +11 -0
- package/dist/types/src/stories/Components/Tabs.stories.d.ts +13 -0
- package/dist/types/src/stories/Elements/Badge.stories.d.ts +13 -0
- package/dist/types/src/stories/Elements/Button.stories.d.ts +13 -0
- package/dist/types/src/stories/Elements/Stack.stories.d.ts +9 -0
- package/dist/types/src/stories/Elements/Text.stories.d.ts +8 -0
- package/dist/types/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
- package/dist/types/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
- package/dist/types/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
- package/dist/types/stories/Components/DateRangeFilter.stories.d.ts +8 -0
- package/dist/types/stories/Components/EmptyContainer.stories.d.ts +24 -0
- package/dist/types/stories/Components/FKSelect.stories.d.ts +8 -0
- package/dist/types/stories/Components/FileDropZone.stories.d.ts +9 -0
- package/dist/types/stories/Components/Sidebar.stories.d.ts +18 -0
- package/dist/types/stories/Components/Table.stories.d.ts +11 -0
- package/dist/types/stories/Components/Tabs.stories.d.ts +13 -0
- package/dist/types/stories/Elements/Badge.stories.d.ts +13 -0
- package/dist/types/stories/Elements/Button.stories.d.ts +13 -0
- package/dist/types/stories/Elements/Stack.stories.d.ts +9 -0
- package/dist/types/stories/Elements/Text.stories.d.ts +8 -0
- package/package.json +119 -0
- package/tailwind.config.ts +91 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Murabei
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Pumpwood UI Components
|
|
2
|
+
|
|
3
|
+
A scalable, accessible, and customizable UI library built with
|
|
4
|
+
React, Tailwind CSS 4, and Storybook.
|
|
5
|
+
|
|
6
|
+
The library is split into two entry points:
|
|
7
|
+
|
|
8
|
+
- **`pumpwood-ui-components/components`** — primitives and reusable UI
|
|
9
|
+
blocks (Button, Table, Select, Dialog, etc.)
|
|
10
|
+
- **`pumpwood-ui-components/design-system`** — product patterns
|
|
11
|
+
(Auth, AutoFormContent, DetailPage, M2MTable, Filters, etc.)
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
Install the package using pnpm (or npm/yarn):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm install pumpwood-ui-components
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Setup
|
|
22
|
+
|
|
23
|
+
The library expects `React` to be available as a global variable. In
|
|
24
|
+
Next.js 14+ with the App Router this is not the case by default. Add
|
|
25
|
+
the following to your `next.config.mjs` to patch it at build time:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
/** @type {import('next').NextConfig} */
|
|
29
|
+
const nextConfig = {
|
|
30
|
+
// ...your existing config
|
|
31
|
+
webpack: (config, { webpack }) => {
|
|
32
|
+
config.plugins.push(
|
|
33
|
+
new webpack.ProvidePlugin({
|
|
34
|
+
React: "react",
|
|
35
|
+
})
|
|
36
|
+
);
|
|
37
|
+
return config;
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default nextConfig;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Import the library styles once in your app entry:
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import "pumpwood-ui-components/dist/index.css";
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Usage
|
|
51
|
+
|
|
52
|
+
Import from the subpath that matches the layer you need:
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
import { Button, Table, Select } from "pumpwood-ui-components/components";
|
|
56
|
+
import {
|
|
57
|
+
AutoFormContent,
|
|
58
|
+
LoginCard,
|
|
59
|
+
DetailPage,
|
|
60
|
+
} from "pumpwood-ui-components/design-system";
|
|
61
|
+
|
|
62
|
+
function MyComponent() {
|
|
63
|
+
return <Button className="bg-blue-500">Click Me</Button>;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Design-system peer dependencies
|
|
68
|
+
|
|
69
|
+
Patterns under `design-system` may require additional peers depending on
|
|
70
|
+
what you import:
|
|
71
|
+
|
|
72
|
+
- `swr` — M2MTable, Filters with FKSelect
|
|
73
|
+
- `react-hook-form` — forms integrated with AutoFormContent consumers
|
|
74
|
+
|
|
75
|
+
### Customized Prefix
|
|
76
|
+
|
|
77
|
+
This library uses the `pw:` prefix for all Tailwind utility classes to
|
|
78
|
+
avoid conflicts with your application's styles. When overriding styles
|
|
79
|
+
via `className`, use valid Tailwind utilities prefixed with `pw:` if
|
|
80
|
+
your app is configured to match, or standard utilities if your app has
|
|
81
|
+
its own separate Tailwind config.
|
|
82
|
+
|
|
83
|
+
## Migration from v1.x
|
|
84
|
+
|
|
85
|
+
Version 2.0 removes the root entry point. Update imports as follows:
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
// Before (v1.x)
|
|
89
|
+
import { Button, AutoFormContent } from "pumpwood-ui-components";
|
|
90
|
+
|
|
91
|
+
// After (v2.x)
|
|
92
|
+
import { Button } from "pumpwood-ui-components/components";
|
|
93
|
+
import { AutoFormContent } from "pumpwood-ui-components/design-system";
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
When using design-system patterns, also import components they compose
|
|
97
|
+
(for example FKSelect-backed filters require the components subpath).
|
|
98
|
+
|
|
99
|
+
## Building and Publishing to npm
|
|
100
|
+
|
|
101
|
+
To quickly build and publish the package to npm, we have a helper
|
|
102
|
+
script that automates the environment variable loading, building, and
|
|
103
|
+
publishing.
|
|
104
|
+
|
|
105
|
+
### 1. Setup Auth Token (One-time setup)
|
|
106
|
+
|
|
107
|
+
We use an authentication token rather than logging in interactively.
|
|
108
|
+
|
|
109
|
+
Create a `.env` file at the root of the project with your npm token
|
|
110
|
+
(this file is already in `.gitignore` so it won't be committed safely):
|
|
111
|
+
|
|
112
|
+
```ini
|
|
113
|
+
NODE_AUTH_TOKEN=your_npm_access_token_here
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Your `.npmrc` file is already configured to automatically read this
|
|
117
|
+
token.
|
|
118
|
+
|
|
119
|
+
### 2. Update Version
|
|
120
|
+
|
|
121
|
+
npm requires a new version number for every successful publish. Before
|
|
122
|
+
publishing, bump your package version:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm version patch # For bug fixes (e.g., 1.0.1 -> 1.0.2)
|
|
126
|
+
# or
|
|
127
|
+
npm version minor # For new features (e.g., 1.0.1 -> 1.1.0)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 3. Run the Publish Script
|
|
131
|
+
|
|
132
|
+
Finally, make sure your dependencies are installed (e.g.,
|
|
133
|
+
`pnpm install`) and simply run the automated script:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
./publish.sh
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
This script will automatically:
|
|
140
|
+
|
|
141
|
+
1. Load your `.env` token.
|
|
142
|
+
2. Build the project using Rollup.
|
|
143
|
+
3. Publish to the public npm registry.
|
|
144
|
+
|
|
145
|
+
Once the command succeeds, your new version is live on the npm registry!
|