@papernote/ui 1.12.0 → 1.13.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/dist/styles.css CHANGED
@@ -4739,6 +4739,10 @@ input:checked + .slider:before{
4739
4739
  letter-spacing: 0.05em;
4740
4740
  }
4741
4741
 
4742
+ .tracking-widest{
4743
+ letter-spacing: 0.1em;
4744
+ }
4745
+
4742
4746
  .text-accent-200{
4743
4747
  --tw-text-opacity: 1;
4744
4748
  color: rgb(232 231 224 / var(--tw-text-opacity, 1));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@papernote/ui",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "type": "module",
5
5
  "description": "A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive",
6
6
  "main": "dist/index.js",
@@ -109,6 +109,7 @@ export function AdminModal({
109
109
  className="flex-1 overflow-y-auto min-h-0 h-0 px-6 py-6 admin-modal-form"
110
110
  onSubmit={handleFormSubmit}
111
111
  id={formId}
112
+ noValidate
112
113
  >
113
114
  {activeTab?.content || children}
114
115
  </form>
@@ -331,8 +331,26 @@ export default function Sidebar({
331
331
  {/* Navigation */}
332
332
  <nav className="flex-1 px-3 py-2 space-y-1 overflow-y-auto">
333
333
  {items.map((item) => {
334
- // Render separator
334
+ // Render separator or section header
335
335
  if (item.separator) {
336
+ // Section header: separator with a label
337
+ if (item.label) {
338
+ return (
339
+ <div
340
+ key={item.id}
341
+ className="mt-6 mb-2 px-3"
342
+ data-testid={item.dataAttributes?.['data-testid'] || `sidebar-section-${item.id}`}
343
+ {...item.dataAttributes}
344
+ >
345
+ <div className="border-t border-paper-300 pt-3">
346
+ <span className="text-[10px] font-semibold uppercase tracking-widest text-ink-400">
347
+ {item.label}
348
+ </span>
349
+ </div>
350
+ </div>
351
+ );
352
+ }
353
+ // Plain separator: just a line
336
354
  return (
337
355
  <div
338
356
  key={item.id}