@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.
Files changed (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/components.d.ts +1227 -0
  4. package/dist/components.esm.js +39 -0
  5. package/dist/components.js +40 -0
  6. package/dist/design-system.d.ts +391 -0
  7. package/dist/design-system.esm.js +26 -0
  8. package/dist/design-system.js +27 -0
  9. package/dist/index.css +1 -0
  10. package/dist/index.d.ts +1599 -0
  11. package/dist/index.esm.js +39 -0
  12. package/dist/index.js +40 -0
  13. package/dist/types/components/AlertWithIcon/index.d.ts +12 -0
  14. package/dist/types/components/Auth/AuthenticatedView.d.ts +18 -0
  15. package/dist/types/components/Auth/LoginCard.d.ts +33 -0
  16. package/dist/types/components/Auth/LoginCardSSO.d.ts +31 -0
  17. package/dist/types/components/Auth/NotAuthenticatedView.d.ts +21 -0
  18. package/dist/types/components/Auth/index.d.ts +4 -0
  19. package/dist/types/components/AutoFormContent/index.d.ts +46 -0
  20. package/dist/types/components/Badge/index.d.ts +17 -0
  21. package/dist/types/components/Card/index.d.ts +23 -0
  22. package/dist/types/components/ClearButton/index.d.ts +3 -0
  23. package/dist/types/components/CombinedFilterTable/index.d.ts +9 -0
  24. package/dist/types/components/ConfirmationDialog/index.d.ts +71 -0
  25. package/dist/types/components/CustomBreadcrumb/index.d.ts +6 -0
  26. package/dist/types/components/DatePicker/index.d.ts +35 -0
  27. package/dist/types/components/DeleteDialog/index.d.ts +9 -0
  28. package/dist/types/components/DetailPage/AutoDetailContent.d.ts +27 -0
  29. package/dist/types/components/DetailPage/DetailPage.d.ts +24 -0
  30. package/dist/types/components/DetailPage/detail-utils.d.ts +24 -0
  31. package/dist/types/components/DetailPage/index.d.ts +3 -0
  32. package/dist/types/components/DownloadButton/index.d.ts +20 -0
  33. package/dist/types/components/Dropzone/index.d.ts +21 -0
  34. package/dist/types/components/EmptyContainer/index.d.ts +16 -0
  35. package/dist/types/components/ErrorBoundary/index.d.ts +10 -0
  36. package/dist/types/components/ErrorMessage/index.d.ts +4 -0
  37. package/dist/types/components/ErrorToast/index.d.ts +4 -0
  38. package/dist/types/components/FKSelect/index.d.ts +63 -0
  39. package/dist/types/components/FileDropzone/index.d.ts +22 -0
  40. package/dist/types/components/FilePreview/index.d.ts +13 -0
  41. package/dist/types/components/Filters/CreatedByUserFilter.d.ts +24 -0
  42. package/dist/types/components/Filters/DateRangeFilter.d.ts +23 -0
  43. package/dist/types/components/KeyValueContent/index.d.ts +3 -0
  44. package/dist/types/components/Loading/index.d.ts +2 -0
  45. package/dist/types/components/M2MTable/index.d.ts +35 -0
  46. package/dist/types/components/MarkdownEditor/index.d.ts +12 -0
  47. package/dist/types/components/MultiSelectDropdown/index.d.ts +14 -0
  48. package/dist/types/components/NoResult/index.d.ts +15 -0
  49. package/dist/types/components/Pagination/index.d.ts +12 -0
  50. package/dist/types/components/Select/FKSelectVariant.d.ts +52 -0
  51. package/dist/types/components/Select/index.d.ts +70 -0
  52. package/dist/types/components/Sidebar/NavigationSidebar.d.ts +45 -0
  53. package/dist/types/components/Sidebar/index.d.ts +157 -0
  54. package/dist/types/components/Sidebar/useSidebarCollapse.d.ts +18 -0
  55. package/dist/types/components/Stack/index.d.ts +28 -0
  56. package/dist/types/components/Table/index.d.ts +92 -0
  57. package/dist/types/components/TableSkeleton/index.d.ts +23 -0
  58. package/dist/types/components/TagInput/index.d.ts +13 -0
  59. package/dist/types/components/Text/index.d.ts +21 -0
  60. package/dist/types/components/TooltipComponent/index.d.ts +8 -0
  61. package/dist/types/components/index.d.ts +56 -0
  62. package/dist/types/components/ui/accordion.d.ts +7 -0
  63. package/dist/types/components/ui/alert-dialog.d.ts +33 -0
  64. package/dist/types/components/ui/alert.d.ts +8 -0
  65. package/dist/types/components/ui/badge.d.ts +18 -0
  66. package/dist/types/components/ui/breadcrumb.d.ts +11 -0
  67. package/dist/types/components/ui/button.d.ts +32 -0
  68. package/dist/types/components/ui/calendar.d.ts +21 -0
  69. package/dist/types/components/ui/card.d.ts +21 -0
  70. package/dist/types/components/ui/checkbox.d.ts +4 -0
  71. package/dist/types/components/ui/combobox.d.ts +33 -0
  72. package/dist/types/components/ui/command.d.ts +31 -0
  73. package/dist/types/components/ui/dialog.d.ts +32 -0
  74. package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
  75. package/dist/types/components/ui/empty.d.ts +23 -0
  76. package/dist/types/components/ui/input.d.ts +15 -0
  77. package/dist/types/components/ui/label.d.ts +5 -0
  78. package/dist/types/components/ui/popover.d.ts +18 -0
  79. package/dist/types/components/ui/radio.d.ts +3 -0
  80. package/dist/types/components/ui/select.d.ts +13 -0
  81. package/dist/types/components/ui/skeleton.d.ts +11 -0
  82. package/dist/types/components/ui/spinner.d.ts +8 -0
  83. package/dist/types/components/ui/table.d.ts +29 -0
  84. package/dist/types/components/ui/tabs.d.ts +20 -0
  85. package/dist/types/components/ui/textarea.d.ts +3 -0
  86. package/dist/types/components/ui/tooltip.d.ts +7 -0
  87. package/dist/types/design-system/Auth/AuthenticatedView.d.ts +18 -0
  88. package/dist/types/design-system/Auth/LoginCard.d.ts +33 -0
  89. package/dist/types/design-system/Auth/LoginCardSSO.d.ts +31 -0
  90. package/dist/types/design-system/Auth/NotAuthenticatedView.d.ts +21 -0
  91. package/dist/types/design-system/Auth/index.d.ts +4 -0
  92. package/dist/types/design-system/AutoFormContent/index.d.ts +46 -0
  93. package/dist/types/design-system/CombinedFilterTable/index.d.ts +9 -0
  94. package/dist/types/design-system/CustomBreadcrumb/index.d.ts +6 -0
  95. package/dist/types/design-system/DetailPage/AutoDetailContent.d.ts +27 -0
  96. package/dist/types/design-system/DetailPage/DetailPage.d.ts +24 -0
  97. package/dist/types/design-system/DetailPage/detail-utils.d.ts +24 -0
  98. package/dist/types/design-system/DetailPage/index.d.ts +3 -0
  99. package/dist/types/design-system/FilePreview/index.d.ts +13 -0
  100. package/dist/types/design-system/Filters/CreatedByUserFilter.d.ts +24 -0
  101. package/dist/types/design-system/Filters/DateRangeFilter.d.ts +23 -0
  102. package/dist/types/design-system/KeyValueContent/index.d.ts +3 -0
  103. package/dist/types/design-system/M2MTable/index.d.ts +35 -0
  104. package/dist/types/design-system/NavigationSidebar/index.d.ts +47 -0
  105. package/dist/types/design-system/index.d.ts +11 -0
  106. package/dist/types/index.d.ts +67 -0
  107. package/dist/types/lib/field-trigger.d.ts +5 -0
  108. package/dist/types/lib/fk-select-fetcher.d.ts +26 -0
  109. package/dist/types/lib/utils.d.ts +2 -0
  110. package/dist/types/src/components/Badge/index.d.ts +17 -0
  111. package/dist/types/src/components/Card/index.d.ts +23 -0
  112. package/dist/types/src/components/CombinedFilterTable/index.d.ts +9 -0
  113. package/dist/types/src/components/ConfirmationDialog/index.d.ts +71 -0
  114. package/dist/types/src/components/Dropzone/index.d.ts +21 -0
  115. package/dist/types/src/components/EmptyContainer/index.d.ts +16 -0
  116. package/dist/types/src/components/FKSelect/index.d.ts +45 -0
  117. package/dist/types/src/components/FileDropzone/index.d.ts +22 -0
  118. package/dist/types/src/components/Filters/CreatedByUserFilter.d.ts +24 -0
  119. package/dist/types/src/components/Filters/DateRangeFilter.d.ts +23 -0
  120. package/dist/types/src/components/Sidebar/index.d.ts +115 -0
  121. package/dist/types/src/components/Stack/index.d.ts +22 -0
  122. package/dist/types/src/components/Table/index.d.ts +29 -0
  123. package/dist/types/src/components/Text/index.d.ts +21 -0
  124. package/dist/types/src/components/ui/alert-dialog.d.ts +33 -0
  125. package/dist/types/src/components/ui/badge.d.ts +18 -0
  126. package/dist/types/src/components/ui/button.d.ts +22 -0
  127. package/dist/types/src/components/ui/calendar.d.ts +21 -0
  128. package/dist/types/src/components/ui/card.d.ts +21 -0
  129. package/dist/types/src/components/ui/combobox.d.ts +28 -0
  130. package/dist/types/src/components/ui/command.d.ts +31 -0
  131. package/dist/types/src/components/ui/dialog.d.ts +32 -0
  132. package/dist/types/src/components/ui/empty.d.ts +23 -0
  133. package/dist/types/src/components/ui/popover.d.ts +18 -0
  134. package/dist/types/src/components/ui/table.d.ts +29 -0
  135. package/dist/types/src/components/ui/tabs.d.ts +20 -0
  136. package/dist/types/src/index.d.ts +21 -0
  137. package/dist/types/src/lib/utils.d.ts +2 -0
  138. package/dist/types/src/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
  139. package/dist/types/src/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
  140. package/dist/types/src/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
  141. package/dist/types/src/stories/Components/DateRangeFilter.stories.d.ts +8 -0
  142. package/dist/types/src/stories/Components/EmptyContainer.stories.d.ts +24 -0
  143. package/dist/types/src/stories/Components/FKSelect.stories.d.ts +8 -0
  144. package/dist/types/src/stories/Components/FileDropZone.stories.d.ts +9 -0
  145. package/dist/types/src/stories/Components/Sidebar.stories.d.ts +18 -0
  146. package/dist/types/src/stories/Components/Table.stories.d.ts +11 -0
  147. package/dist/types/src/stories/Components/Tabs.stories.d.ts +13 -0
  148. package/dist/types/src/stories/Elements/Badge.stories.d.ts +13 -0
  149. package/dist/types/src/stories/Elements/Button.stories.d.ts +13 -0
  150. package/dist/types/src/stories/Elements/Stack.stories.d.ts +9 -0
  151. package/dist/types/src/stories/Elements/Text.stories.d.ts +8 -0
  152. package/dist/types/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
  153. package/dist/types/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
  154. package/dist/types/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
  155. package/dist/types/stories/Components/DateRangeFilter.stories.d.ts +8 -0
  156. package/dist/types/stories/Components/EmptyContainer.stories.d.ts +24 -0
  157. package/dist/types/stories/Components/FKSelect.stories.d.ts +8 -0
  158. package/dist/types/stories/Components/FileDropZone.stories.d.ts +9 -0
  159. package/dist/types/stories/Components/Sidebar.stories.d.ts +18 -0
  160. package/dist/types/stories/Components/Table.stories.d.ts +11 -0
  161. package/dist/types/stories/Components/Tabs.stories.d.ts +13 -0
  162. package/dist/types/stories/Elements/Badge.stories.d.ts +13 -0
  163. package/dist/types/stories/Elements/Button.stories.d.ts +13 -0
  164. package/dist/types/stories/Elements/Stack.stories.d.ts +9 -0
  165. package/dist/types/stories/Elements/Text.stories.d.ts +8 -0
  166. package/package.json +119 -0
  167. 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!