@papernote/ui 1.1.0 → 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 (114) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +455 -455
  3. package/dist/components/Box.d.ts +2 -1
  4. package/dist/components/Box.d.ts.map +1 -1
  5. package/dist/components/Button.d.ts +10 -1
  6. package/dist/components/Button.d.ts.map +1 -1
  7. package/dist/components/Card.d.ts +11 -2
  8. package/dist/components/Card.d.ts.map +1 -1
  9. package/dist/components/CurrencyInput.d.ts +52 -0
  10. package/dist/components/CurrencyInput.d.ts.map +1 -0
  11. package/dist/components/DataTable.d.ts +19 -3
  12. package/dist/components/DataTable.d.ts.map +1 -1
  13. package/dist/components/EmptyState.d.ts +3 -1
  14. package/dist/components/EmptyState.d.ts.map +1 -1
  15. package/dist/components/Grid.d.ts +4 -2
  16. package/dist/components/Grid.d.ts.map +1 -1
  17. package/dist/components/Input.d.ts +2 -0
  18. package/dist/components/Input.d.ts.map +1 -1
  19. package/dist/components/Modal.d.ts.map +1 -1
  20. package/dist/components/MultiSelect.d.ts +13 -1
  21. package/dist/components/MultiSelect.d.ts.map +1 -1
  22. package/dist/components/Page.d.ts +2 -0
  23. package/dist/components/Page.d.ts.map +1 -1
  24. package/dist/components/PageLayout.d.ts +5 -1
  25. package/dist/components/PageLayout.d.ts.map +1 -1
  26. package/dist/components/Stack.d.ts +25 -5
  27. package/dist/components/Stack.d.ts.map +1 -1
  28. package/dist/components/Text.d.ts +20 -4
  29. package/dist/components/Text.d.ts.map +1 -1
  30. package/dist/components/Textarea.d.ts +2 -0
  31. package/dist/components/Textarea.d.ts.map +1 -1
  32. package/dist/components/index.d.ts +5 -3
  33. package/dist/components/index.d.ts.map +1 -1
  34. package/dist/index.d.ts +311 -49
  35. package/dist/index.esm.js +557 -224
  36. package/dist/index.esm.js.map +1 -1
  37. package/dist/index.js +555 -219
  38. package/dist/index.js.map +1 -1
  39. package/dist/styles.css +2838 -2679
  40. package/dist/utils/excelExport.d.ts +143 -0
  41. package/dist/utils/excelExport.d.ts.map +1 -0
  42. package/dist/utils/index.d.ts +2 -0
  43. package/dist/utils/index.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/components/AdminModal.css +49 -49
  46. package/src/components/Box.stories.tsx +377 -0
  47. package/src/components/Box.tsx +8 -4
  48. package/src/components/Button.tsx +23 -10
  49. package/src/components/Card.tsx +20 -5
  50. package/src/components/CurrencyInput.stories.tsx +290 -0
  51. package/src/components/CurrencyInput.tsx +193 -0
  52. package/src/components/DataTable.stories.tsx +36 -25
  53. package/src/components/DataTable.tsx +170 -16
  54. package/src/components/EmptyState.stories.tsx +124 -72
  55. package/src/components/EmptyState.tsx +10 -0
  56. package/src/components/Grid.stories.tsx +348 -0
  57. package/src/components/Grid.tsx +12 -5
  58. package/src/components/Input.tsx +12 -2
  59. package/src/components/Modal.stories.tsx +64 -0
  60. package/src/components/Modal.tsx +15 -2
  61. package/src/components/MultiSelect.tsx +41 -10
  62. package/src/components/Page.stories.tsx +76 -0
  63. package/src/components/Page.tsx +35 -3
  64. package/src/components/PageLayout.stories.tsx +75 -0
  65. package/src/components/PageLayout.tsx +28 -9
  66. package/src/components/RoleManager.css +10 -10
  67. package/src/components/Spreadsheet.css +216 -216
  68. package/src/components/Spreadsheet.stories.tsx +362 -362
  69. package/src/components/Spreadsheet.tsx +351 -351
  70. package/src/components/SpreadsheetSimple.stories.tsx +27 -27
  71. package/src/components/Stack.stories.tsx +24 -1
  72. package/src/components/Stack.tsx +40 -10
  73. package/src/components/Tabs.tsx +152 -152
  74. package/src/components/Text.stories.tsx +273 -0
  75. package/src/components/Text.tsx +33 -8
  76. package/src/components/Textarea.tsx +32 -21
  77. package/src/components/index.ts +6 -4
  78. package/src/styles/index.css +41 -4
  79. package/src/utils/excelExport.stories.tsx +535 -0
  80. package/src/utils/excelExport.ts +225 -0
  81. package/src/utils/index.ts +3 -0
  82. package/tailwind.config.js +253 -253
  83. package/dist/components/Button.stories.d.ts +0 -51
  84. package/dist/components/Button.stories.d.ts.map +0 -1
  85. package/dist/components/ChartVisualizationUI.d.ts +0 -21
  86. package/dist/components/ChartVisualizationUI.d.ts.map +0 -1
  87. package/dist/components/ChatUI.d.ts +0 -23
  88. package/dist/components/ChatUI.d.ts.map +0 -1
  89. package/dist/components/CommissionDashboardUI.d.ts +0 -25
  90. package/dist/components/CommissionDashboardUI.d.ts.map +0 -1
  91. package/dist/components/DataTable.stories.d.ts +0 -23
  92. package/dist/components/DataTable.stories.d.ts.map +0 -1
  93. package/dist/components/FormField.d.ts +0 -35
  94. package/dist/components/FormField.d.ts.map +0 -1
  95. package/dist/components/Input.stories.d.ts +0 -366
  96. package/dist/components/Input.stories.d.ts.map +0 -1
  97. package/dist/components/InsightsPanelUI.d.ts +0 -21
  98. package/dist/components/InsightsPanelUI.d.ts.map +0 -1
  99. package/dist/components/PaymentHistoryTimeline.d.ts +0 -34
  100. package/dist/components/PaymentHistoryTimeline.d.ts.map +0 -1
  101. package/dist/components/RelationshipManagerUI.d.ts +0 -60
  102. package/dist/components/RelationshipManagerUI.d.ts.map +0 -1
  103. package/dist/components/RoleManager.d.ts +0 -19
  104. package/dist/components/RoleManager.d.ts.map +0 -1
  105. package/dist/components/SplitCommissionBadge.d.ts +0 -18
  106. package/dist/components/SplitCommissionBadge.d.ts.map +0 -1
  107. package/dist/components/Spreadsheet.css +0 -216
  108. package/dist/components/Table.d.ts +0 -26
  109. package/dist/components/Table.d.ts.map +0 -1
  110. package/dist/components/__tests__/Button.test.d.ts +0 -2
  111. package/dist/components/__tests__/Button.test.d.ts.map +0 -1
  112. package/dist/components/__tests__/Input.test.d.ts +0 -2
  113. package/dist/components/__tests__/Input.test.d.ts.map +0 -1
  114. package/src/components/Table.tsx +0 -239
@@ -1,216 +1,216 @@
1
- /**
2
- * Spreadsheet Component Styles
3
- *
4
- * Custom styling for react-spreadsheet to match notebook-ui's paper aesthetic
5
- */
6
-
7
- /* Container */
8
- .spreadsheet-container {
9
- width: 100%;
10
- overflow: auto;
11
- background-color: #fafaf9; /* paper-50 */
12
- border-radius: 0.5rem;
13
- border: 1px solid #e7e5e4; /* stone-200 */
14
- }
15
-
16
- /* Spreadsheet base */
17
- .notebook-spreadsheet {
18
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
19
- font-size: 0.875rem;
20
- color: #1c1917; /* ink-900 */
21
- }
22
-
23
- /* Table styling */
24
- .notebook-spreadsheet table {
25
- border-collapse: separate;
26
- border-spacing: 0;
27
- background-color: #ffffff;
28
- width: 100%;
29
- }
30
-
31
- /* Cell styling */
32
- .notebook-spreadsheet td {
33
- border: 1px solid #e7e5e4; /* stone-200 */
34
- padding: 0;
35
- background-color: #ffffff;
36
- transition: background-color 0.15s ease;
37
- }
38
-
39
- /* Cell hover */
40
- .notebook-spreadsheet td:hover {
41
- background-color: #fafaf9; /* paper-50 */
42
- }
43
-
44
- /* Selected cell */
45
- .notebook-spreadsheet td.Spreadsheet__active-cell {
46
- border: 2px solid #334155; /* primary-700 */
47
- box-shadow: 0 0 0 1px #334155;
48
- background-color: #ffffff;
49
- z-index: 10;
50
- }
51
-
52
- /* Header cells (row/column labels) */
53
- .notebook-spreadsheet th {
54
- background-color: #f5f5f4; /* stone-100 */
55
- color: #57534e; /* ink-600 */
56
- border: 1px solid #e7e5e4; /* stone-200 */
57
- padding: 0.5rem;
58
- font-weight: 600;
59
- font-size: 0.75rem;
60
- text-align: center;
61
- position: sticky;
62
- z-index: 5;
63
- }
64
-
65
- /* Column headers */
66
- .notebook-spreadsheet thead th {
67
- top: 0;
68
- z-index: 10;
69
- }
70
-
71
- /* Row headers */
72
- .notebook-spreadsheet tbody th {
73
- left: 0;
74
- z-index: 5;
75
- }
76
-
77
- /* Corner header (top-left cell) */
78
- .notebook-spreadsheet thead th:first-child {
79
- left: 0;
80
- z-index: 15;
81
- }
82
-
83
- /* Cell input */
84
- .notebook-spreadsheet .Spreadsheet__data-editor {
85
- width: 100%;
86
- height: 100%;
87
- border: none;
88
- outline: none;
89
- padding: 0.5rem;
90
- font-family: inherit;
91
- font-size: inherit;
92
- color: inherit;
93
- background-color: #ffffff;
94
- box-sizing: border-box;
95
- }
96
-
97
- .notebook-spreadsheet .Spreadsheet__data-editor:focus {
98
- background-color: #ffffff;
99
- border: 2px solid #334155; /* primary-700 */
100
- padding: calc(0.5rem - 1px);
101
- }
102
-
103
- /* Cell with formula indicator */
104
- .notebook-spreadsheet .Spreadsheet__cell--formula {
105
- font-style: italic;
106
- background-color: #f0fdf4; /* success-50 */
107
- }
108
-
109
- /* Read-only cells */
110
- .notebook-spreadsheet .Spreadsheet__cell--readonly {
111
- background-color: #f5f5f4; /* stone-100 */
112
- color: #78716c; /* ink-500 */
113
- }
114
-
115
- /* Selection highlight */
116
- .notebook-spreadsheet .Spreadsheet__cell--selected {
117
- background-color: #e0f2fe; /* primary-100 */
118
- }
119
-
120
- /* Cell error state */
121
- .notebook-spreadsheet .Spreadsheet__cell--error {
122
- background-color: #fef2f2; /* error-50 */
123
- color: #991b1b; /* error-800 */
124
- }
125
-
126
- /* Cell value display */
127
- .notebook-spreadsheet .Spreadsheet__value {
128
- padding: 0.5rem;
129
- min-height: 2rem;
130
- display: flex;
131
- align-items: center;
132
- }
133
-
134
- /* Number cells - align right */
135
- .notebook-spreadsheet .Spreadsheet__cell--number .Spreadsheet__value {
136
- justify-content: flex-end;
137
- font-variant-numeric: tabular-nums;
138
- }
139
-
140
- /* Empty cells */
141
- .notebook-spreadsheet .Spreadsheet__cell--empty .Spreadsheet__value {
142
- color: #a8a29e; /* ink-400 */
143
- }
144
-
145
- /* Copy/paste indicator */
146
- .notebook-spreadsheet .Spreadsheet__floating-rect {
147
- border: 2px dashed #334155; /* primary-700 */
148
- background-color: rgba(51, 65, 85, 0.1);
149
- pointer-events: none;
150
- }
151
-
152
- /* Scrollbar styling for webkit browsers */
153
- .spreadsheet-container::-webkit-scrollbar {
154
- width: 12px;
155
- height: 12px;
156
- }
157
-
158
- .spreadsheet-container::-webkit-scrollbar-track {
159
- background-color: #fafaf9; /* paper-50 */
160
- border-radius: 0.5rem;
161
- }
162
-
163
- .spreadsheet-container::-webkit-scrollbar-thumb {
164
- background-color: #d6d3d1; /* stone-300 */
165
- border-radius: 0.5rem;
166
- border: 2px solid #fafaf9;
167
- }
168
-
169
- .spreadsheet-container::-webkit-scrollbar-thumb:hover {
170
- background-color: #a8a29e; /* ink-400 */
171
- }
172
-
173
- /* Loading state */
174
- .spreadsheet-container.loading {
175
- opacity: 0.6;
176
- pointer-events: none;
177
- }
178
-
179
- /* Responsive adjustments */
180
- @media (max-width: 768px) {
181
- .notebook-spreadsheet {
182
- font-size: 0.75rem;
183
- }
184
-
185
- .notebook-spreadsheet .Spreadsheet__value {
186
- padding: 0.375rem;
187
- min-height: 1.75rem;
188
- }
189
-
190
- .notebook-spreadsheet .Spreadsheet__data-editor {
191
- padding: 0.375rem;
192
- }
193
-
194
- .notebook-spreadsheet th {
195
- padding: 0.375rem;
196
- font-size: 0.6875rem;
197
- }
198
- }
199
-
200
- /* Print styles */
201
- @media print {
202
- .spreadsheet-container {
203
- border: none;
204
- overflow: visible;
205
- }
206
-
207
- .notebook-spreadsheet td,
208
- .notebook-spreadsheet th {
209
- border-color: #000;
210
- }
211
-
212
- .notebook-spreadsheet .Spreadsheet__active-cell {
213
- border: 1px solid #000;
214
- box-shadow: none;
215
- }
216
- }
1
+ /**
2
+ * Spreadsheet Component Styles
3
+ *
4
+ * Custom styling for react-spreadsheet to match notebook-ui's paper aesthetic
5
+ */
6
+
7
+ /* Container */
8
+ .spreadsheet-container {
9
+ width: 100%;
10
+ overflow: auto;
11
+ background-color: #fafaf9; /* paper-50 */
12
+ border-radius: 0.5rem;
13
+ border: 1px solid #e7e5e4; /* stone-200 */
14
+ }
15
+
16
+ /* Spreadsheet base */
17
+ .notebook-spreadsheet {
18
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
19
+ font-size: 0.875rem;
20
+ color: #1c1917; /* ink-900 */
21
+ }
22
+
23
+ /* Table styling */
24
+ .notebook-spreadsheet table {
25
+ border-collapse: separate;
26
+ border-spacing: 0;
27
+ background-color: #ffffff;
28
+ width: 100%;
29
+ }
30
+
31
+ /* Cell styling */
32
+ .notebook-spreadsheet td {
33
+ border: 1px solid #e7e5e4; /* stone-200 */
34
+ padding: 0;
35
+ background-color: #ffffff;
36
+ transition: background-color 0.15s ease;
37
+ }
38
+
39
+ /* Cell hover */
40
+ .notebook-spreadsheet td:hover {
41
+ background-color: #fafaf9; /* paper-50 */
42
+ }
43
+
44
+ /* Selected cell */
45
+ .notebook-spreadsheet td.Spreadsheet__active-cell {
46
+ border: 2px solid #334155; /* primary-700 */
47
+ box-shadow: 0 0 0 1px #334155;
48
+ background-color: #ffffff;
49
+ z-index: 10;
50
+ }
51
+
52
+ /* Header cells (row/column labels) */
53
+ .notebook-spreadsheet th {
54
+ background-color: #f5f5f4; /* stone-100 */
55
+ color: #57534e; /* ink-600 */
56
+ border: 1px solid #e7e5e4; /* stone-200 */
57
+ padding: 0.5rem;
58
+ font-weight: 600;
59
+ font-size: 0.75rem;
60
+ text-align: center;
61
+ position: sticky;
62
+ z-index: 5;
63
+ }
64
+
65
+ /* Column headers */
66
+ .notebook-spreadsheet thead th {
67
+ top: 0;
68
+ z-index: 10;
69
+ }
70
+
71
+ /* Row headers */
72
+ .notebook-spreadsheet tbody th {
73
+ left: 0;
74
+ z-index: 5;
75
+ }
76
+
77
+ /* Corner header (top-left cell) */
78
+ .notebook-spreadsheet thead th:first-child {
79
+ left: 0;
80
+ z-index: 15;
81
+ }
82
+
83
+ /* Cell input */
84
+ .notebook-spreadsheet .Spreadsheet__data-editor {
85
+ width: 100%;
86
+ height: 100%;
87
+ border: none;
88
+ outline: none;
89
+ padding: 0.5rem;
90
+ font-family: inherit;
91
+ font-size: inherit;
92
+ color: inherit;
93
+ background-color: #ffffff;
94
+ box-sizing: border-box;
95
+ }
96
+
97
+ .notebook-spreadsheet .Spreadsheet__data-editor:focus {
98
+ background-color: #ffffff;
99
+ border: 2px solid #334155; /* primary-700 */
100
+ padding: calc(0.5rem - 1px);
101
+ }
102
+
103
+ /* Cell with formula indicator */
104
+ .notebook-spreadsheet .Spreadsheet__cell--formula {
105
+ font-style: italic;
106
+ background-color: #f0fdf4; /* success-50 */
107
+ }
108
+
109
+ /* Read-only cells */
110
+ .notebook-spreadsheet .Spreadsheet__cell--readonly {
111
+ background-color: #f5f5f4; /* stone-100 */
112
+ color: #78716c; /* ink-500 */
113
+ }
114
+
115
+ /* Selection highlight */
116
+ .notebook-spreadsheet .Spreadsheet__cell--selected {
117
+ background-color: #e0f2fe; /* primary-100 */
118
+ }
119
+
120
+ /* Cell error state */
121
+ .notebook-spreadsheet .Spreadsheet__cell--error {
122
+ background-color: #fef2f2; /* error-50 */
123
+ color: #991b1b; /* error-800 */
124
+ }
125
+
126
+ /* Cell value display */
127
+ .notebook-spreadsheet .Spreadsheet__value {
128
+ padding: 0.5rem;
129
+ min-height: 2rem;
130
+ display: flex;
131
+ align-items: center;
132
+ }
133
+
134
+ /* Number cells - align right */
135
+ .notebook-spreadsheet .Spreadsheet__cell--number .Spreadsheet__value {
136
+ justify-content: flex-end;
137
+ font-variant-numeric: tabular-nums;
138
+ }
139
+
140
+ /* Empty cells */
141
+ .notebook-spreadsheet .Spreadsheet__cell--empty .Spreadsheet__value {
142
+ color: #a8a29e; /* ink-400 */
143
+ }
144
+
145
+ /* Copy/paste indicator */
146
+ .notebook-spreadsheet .Spreadsheet__floating-rect {
147
+ border: 2px dashed #334155; /* primary-700 */
148
+ background-color: rgba(51, 65, 85, 0.1);
149
+ pointer-events: none;
150
+ }
151
+
152
+ /* Scrollbar styling for webkit browsers */
153
+ .spreadsheet-container::-webkit-scrollbar {
154
+ width: 12px;
155
+ height: 12px;
156
+ }
157
+
158
+ .spreadsheet-container::-webkit-scrollbar-track {
159
+ background-color: #fafaf9; /* paper-50 */
160
+ border-radius: 0.5rem;
161
+ }
162
+
163
+ .spreadsheet-container::-webkit-scrollbar-thumb {
164
+ background-color: #d6d3d1; /* stone-300 */
165
+ border-radius: 0.5rem;
166
+ border: 2px solid #fafaf9;
167
+ }
168
+
169
+ .spreadsheet-container::-webkit-scrollbar-thumb:hover {
170
+ background-color: #a8a29e; /* ink-400 */
171
+ }
172
+
173
+ /* Loading state */
174
+ .spreadsheet-container.loading {
175
+ opacity: 0.6;
176
+ pointer-events: none;
177
+ }
178
+
179
+ /* Responsive adjustments */
180
+ @media (max-width: 768px) {
181
+ .notebook-spreadsheet {
182
+ font-size: 0.75rem;
183
+ }
184
+
185
+ .notebook-spreadsheet .Spreadsheet__value {
186
+ padding: 0.375rem;
187
+ min-height: 1.75rem;
188
+ }
189
+
190
+ .notebook-spreadsheet .Spreadsheet__data-editor {
191
+ padding: 0.375rem;
192
+ }
193
+
194
+ .notebook-spreadsheet th {
195
+ padding: 0.375rem;
196
+ font-size: 0.6875rem;
197
+ }
198
+ }
199
+
200
+ /* Print styles */
201
+ @media print {
202
+ .spreadsheet-container {
203
+ border: none;
204
+ overflow: visible;
205
+ }
206
+
207
+ .notebook-spreadsheet td,
208
+ .notebook-spreadsheet th {
209
+ border-color: #000;
210
+ }
211
+
212
+ .notebook-spreadsheet .Spreadsheet__active-cell {
213
+ border: 1px solid #000;
214
+ box-shadow: none;
215
+ }
216
+ }