bonsaif-ui 0.1.27 → 0.1.29

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 (128) hide show
  1. package/README.md +43 -12
  2. package/dist/bonsaif-ui.js +3784 -3138
  3. package/dist/bonsaif-ui.umd.cjs +1 -1
  4. package/dist/components/index.d.ts +1 -0
  5. package/dist/components/index.d.ts.map +1 -1
  6. package/dist/components/layout/PageHeader.d.ts +2 -0
  7. package/dist/components/layout/PageHeader.d.ts.map +1 -1
  8. package/dist/components/notifications/BonsaifUIToaster.d.ts.map +1 -1
  9. package/dist/components/notifications/toast.d.ts +2 -0
  10. package/dist/components/notifications/toast.d.ts.map +1 -0
  11. package/dist/components/ui/DataTable.d.ts +51 -1
  12. package/dist/components/ui/DataTable.d.ts.map +1 -1
  13. package/dist/styles.css +1 -1
  14. package/package.json +5 -10
  15. package/dist/components/BonsaifButton/BonsaifButton.stories.d.ts +0 -22
  16. package/dist/components/BonsaifButton/BonsaifButton.stories.d.ts.map +0 -1
  17. package/dist/components/composition/DynamicDetailTabs.stories.d.ts +0 -11
  18. package/dist/components/composition/DynamicDetailTabs.stories.d.ts.map +0 -1
  19. package/dist/components/layout/AuthShell.stories.d.ts +0 -12
  20. package/dist/components/layout/AuthShell.stories.d.ts.map +0 -1
  21. package/dist/components/layout/GlobalScrollbars.stories.d.ts +0 -9
  22. package/dist/components/layout/GlobalScrollbars.stories.d.ts.map +0 -1
  23. package/dist/components/layout/LayoutShells.stories.d.ts +0 -16
  24. package/dist/components/layout/LayoutShells.stories.d.ts.map +0 -1
  25. package/dist/components/layout/PageHeader.stories.d.ts +0 -12
  26. package/dist/components/layout/PageHeader.stories.d.ts.map +0 -1
  27. package/dist/components/layout/PageSearchInput.stories.d.ts +0 -9
  28. package/dist/components/layout/PageSearchInput.stories.d.ts.map +0 -1
  29. package/dist/components/layout/PrimeAuthRouteShell.stories.d.ts +0 -12
  30. package/dist/components/layout/PrimeAuthRouteShell.stories.d.ts.map +0 -1
  31. package/dist/components/messaging/PrimeSuiteChatFrame.stories.d.ts +0 -14
  32. package/dist/components/messaging/PrimeSuiteChatFrame.stories.d.ts.map +0 -1
  33. package/dist/components/microservices/MicroserviceFrame.stories.d.ts +0 -14
  34. package/dist/components/microservices/MicroserviceFrame.stories.d.ts.map +0 -1
  35. package/dist/components/notifications/BonsaifUIToaster.stories.d.ts +0 -11
  36. package/dist/components/notifications/BonsaifUIToaster.stories.d.ts.map +0 -1
  37. package/dist/components/ui/ActionUtilities.stories.d.ts +0 -13
  38. package/dist/components/ui/ActionUtilities.stories.d.ts.map +0 -1
  39. package/dist/components/ui/Alert.stories.d.ts +0 -23
  40. package/dist/components/ui/Alert.stories.d.ts.map +0 -1
  41. package/dist/components/ui/Button.stories.d.ts +0 -36
  42. package/dist/components/ui/Button.stories.d.ts.map +0 -1
  43. package/dist/components/ui/CalendarPicker.stories.d.ts +0 -9
  44. package/dist/components/ui/CalendarPicker.stories.d.ts.map +0 -1
  45. package/dist/components/ui/Checkbox.stories.d.ts +0 -10
  46. package/dist/components/ui/Checkbox.stories.d.ts.map +0 -1
  47. package/dist/components/ui/CodeBlock.stories.d.ts +0 -11
  48. package/dist/components/ui/CodeBlock.stories.d.ts.map +0 -1
  49. package/dist/components/ui/CompactFilterSelect.stories.d.ts +0 -11
  50. package/dist/components/ui/CompactFilterSelect.stories.d.ts.map +0 -1
  51. package/dist/components/ui/CompactSearchInput.stories.d.ts +0 -11
  52. package/dist/components/ui/CompactSearchInput.stories.d.ts.map +0 -1
  53. package/dist/components/ui/ConfirmDialog.stories.d.ts +0 -9
  54. package/dist/components/ui/ConfirmDialog.stories.d.ts.map +0 -1
  55. package/dist/components/ui/CopyButton.stories.d.ts +0 -11
  56. package/dist/components/ui/CopyButton.stories.d.ts.map +0 -1
  57. package/dist/components/ui/CopyLinkButton.stories.d.ts +0 -11
  58. package/dist/components/ui/CopyLinkButton.stories.d.ts.map +0 -1
  59. package/dist/components/ui/DataDisplay.stories.d.ts +0 -11
  60. package/dist/components/ui/DataDisplay.stories.d.ts.map +0 -1
  61. package/dist/components/ui/DataTable.stories.d.ts +0 -9
  62. package/dist/components/ui/DataTable.stories.d.ts.map +0 -1
  63. package/dist/components/ui/DateRangePicker.stories.d.ts +0 -9
  64. package/dist/components/ui/DateRangePicker.stories.d.ts.map +0 -1
  65. package/dist/components/ui/Drawer.stories.d.ts +0 -9
  66. package/dist/components/ui/Drawer.stories.d.ts.map +0 -1
  67. package/dist/components/ui/DropdownMenu.stories.d.ts +0 -9
  68. package/dist/components/ui/DropdownMenu.stories.d.ts.map +0 -1
  69. package/dist/components/ui/EmailField.stories.d.ts +0 -11
  70. package/dist/components/ui/EmailField.stories.d.ts.map +0 -1
  71. package/dist/components/ui/EmptyState.stories.d.ts +0 -22
  72. package/dist/components/ui/EmptyState.stories.d.ts.map +0 -1
  73. package/dist/components/ui/Feedback.stories.d.ts +0 -18
  74. package/dist/components/ui/Feedback.stories.d.ts.map +0 -1
  75. package/dist/components/ui/FeedbackComponents.stories.d.ts +0 -11
  76. package/dist/components/ui/FeedbackComponents.stories.d.ts.map +0 -1
  77. package/dist/components/ui/FileUpload.stories.d.ts +0 -57
  78. package/dist/components/ui/FileUpload.stories.d.ts.map +0 -1
  79. package/dist/components/ui/FormField.stories.d.ts +0 -16
  80. package/dist/components/ui/FormField.stories.d.ts.map +0 -1
  81. package/dist/components/ui/FormFields.stories.d.ts +0 -30
  82. package/dist/components/ui/FormFields.stories.d.ts.map +0 -1
  83. package/dist/components/ui/InputField.stories.d.ts +0 -26
  84. package/dist/components/ui/InputField.stories.d.ts.map +0 -1
  85. package/dist/components/ui/LoadingState.stories.d.ts +0 -10
  86. package/dist/components/ui/LoadingState.stories.d.ts.map +0 -1
  87. package/dist/components/ui/Modal.stories.d.ts +0 -9
  88. package/dist/components/ui/Modal.stories.d.ts.map +0 -1
  89. package/dist/components/ui/MouseTooltip.stories.d.ts +0 -9
  90. package/dist/components/ui/MouseTooltip.stories.d.ts.map +0 -1
  91. package/dist/components/ui/MultiSelect.stories.d.ts +0 -11
  92. package/dist/components/ui/MultiSelect.stories.d.ts.map +0 -1
  93. package/dist/components/ui/Navigation.stories.d.ts +0 -12
  94. package/dist/components/ui/Navigation.stories.d.ts.map +0 -1
  95. package/dist/components/ui/NumberField.stories.d.ts +0 -11
  96. package/dist/components/ui/NumberField.stories.d.ts.map +0 -1
  97. package/dist/components/ui/Overlays.stories.d.ts +0 -11
  98. package/dist/components/ui/Overlays.stories.d.ts.map +0 -1
  99. package/dist/components/ui/Pagination.stories.d.ts +0 -9
  100. package/dist/components/ui/Pagination.stories.d.ts.map +0 -1
  101. package/dist/components/ui/PhoneField.stories.d.ts +0 -11
  102. package/dist/components/ui/PhoneField.stories.d.ts.map +0 -1
  103. package/dist/components/ui/RadioGroup.stories.d.ts +0 -11
  104. package/dist/components/ui/RadioGroup.stories.d.ts.map +0 -1
  105. package/dist/components/ui/RichTextEditor.stories.d.ts +0 -19
  106. package/dist/components/ui/RichTextEditor.stories.d.ts.map +0 -1
  107. package/dist/components/ui/SearchableSelect.stories.d.ts +0 -11
  108. package/dist/components/ui/SearchableSelect.stories.d.ts.map +0 -1
  109. package/dist/components/ui/SectionPanel.stories.d.ts +0 -9
  110. package/dist/components/ui/SectionPanel.stories.d.ts.map +0 -1
  111. package/dist/components/ui/StatusBadge.stories.d.ts +0 -27
  112. package/dist/components/ui/StatusBadge.stories.d.ts.map +0 -1
  113. package/dist/components/ui/StatusSelect.stories.d.ts +0 -9
  114. package/dist/components/ui/StatusSelect.stories.d.ts.map +0 -1
  115. package/dist/components/ui/StepWizard.stories.d.ts +0 -9
  116. package/dist/components/ui/StepWizard.stories.d.ts.map +0 -1
  117. package/dist/components/ui/Tabs.stories.d.ts +0 -9
  118. package/dist/components/ui/Tabs.stories.d.ts.map +0 -1
  119. package/dist/components/ui/TextInput.stories.d.ts +0 -15
  120. package/dist/components/ui/TextInput.stories.d.ts.map +0 -1
  121. package/dist/components/ui/Textarea.stories.d.ts +0 -17
  122. package/dist/components/ui/Textarea.stories.d.ts.map +0 -1
  123. package/dist/components/ui/TextareaField.stories.d.ts +0 -20
  124. package/dist/components/ui/TextareaField.stories.d.ts.map +0 -1
  125. package/dist/components/ui/Toggle.stories.d.ts +0 -31
  126. package/dist/components/ui/Toggle.stories.d.ts.map +0 -1
  127. package/dist/components/users/UserAvatar.stories.d.ts +0 -12
  128. package/dist/components/users/UserAvatar.stories.d.ts.map +0 -1
package/README.md CHANGED
@@ -43,22 +43,17 @@ For Next.js consumers using a local package or monorepo setup, add `transpilePac
43
43
  | Explain status | `Alert`, `StatusBadge`, `StatusSelect`, `EmptyState`, `LoadingState` | Clear operational feedback for data states and workflows. |
44
44
  | Compose related modules | `DynamicDetailTabs` | Parent-detail layout with lazy loaded child modules. |
45
45
 
46
- ## Documentation Playground
46
+ ## Documentation App
47
47
 
48
- Use Storybook for component documentation and the playground for full-screen integration examples.
48
+ Use the local Next.js documentation app for component documentation and full-screen integration examples. The app consumes `bonsaif-ui` through the local package entrypoint, so the examples use the same exports that consuming products use.
49
49
 
50
50
  ```bash
51
- npm run storybook
52
- npm run storybook:build
51
+ npm run docs
52
+ npm run docs:build
53
+ npm run docs:preview
53
54
  ```
54
55
 
55
- Storybook is the main documentation surface for individual components. It includes autodocs, controls, accessibility checks, and isolated states such as `disabled`, `error`, `loading`, single-file upload, and multi-file upload.
56
-
57
- Run the playground when you need to see spacing, page headers, navigation, copy buttons, dark mode, and integrated behavior in one app-like screen.
58
-
59
- ```bash
60
- npm run playground
61
- ```
56
+ The documentation includes isolated states such as `disabled`, `error`, `loading`, single-file upload, multi-file upload, overlays, validation, shells, tables, composition patterns, and dark mode in one app-like screen.
62
57
 
63
58
  ## Component Map
64
59
 
@@ -71,6 +66,22 @@ The package includes reusable components migrated from `prime-auth` and new shar
71
66
  - `GlobalScrollbars`: global OverlayScrollbars setup.
72
67
  - `SectionPanel`: reusable section container with header, actions, body, and footer.
73
68
 
69
+ #### PageHeader Breadcrumbs
70
+
71
+ `PageHeader` can build local breadcrumbs from `currentPath` or render custom `breadcrumbs`. Those breadcrumbs are intended for standalone screens and development views.
72
+
73
+ When a page is opened through Prime Auth SSO, `MicroserviceFrame` passes `primeAuthOrigin` and `primeAuthProjectKey` to the embedded app. `PageHeader` detects those parameters, stores the SSO state for the browser session, and hides its local breadcrumbs so the Prime Auth shell remains the single source for the global breadcrumb trail.
74
+
75
+ Use `showBreadcrumbs={false}` when a standalone page should also hide the local breadcrumb.
76
+
77
+ ```tsx
78
+ <PageHeader
79
+ title="Usuarios"
80
+ currentPath="/admin/users"
81
+ showBreadcrumbs={false}
82
+ />
83
+ ```
84
+
74
85
  ### Forms
75
86
 
76
87
  - `InputField`, `EmailField`, `PhoneField`, `NumberField`, `TextInput`, `Textarea`: inputs with Bonsaif styling and inline validation for email and phone values.
@@ -310,7 +321,7 @@ Useful props:
310
321
  - `unsavedChangesCancelLabel`: label for the action that keeps editing.
311
322
  - `onDiscardChanges`: optional cleanup before `onClose` runs after discard confirmation.
312
323
 
313
- The playground includes a live drawer example: edit the note, then try closing with the `X`, backdrop, Escape, or Cancel button to see the discard modal.
324
+ The documentation app includes a live drawer example: edit the note, then try closing with the `X`, backdrop, Escape, or Cancel button to see the discard modal.
314
325
 
315
326
  How it works:
316
327
 
@@ -390,6 +401,8 @@ Header controls for column reordering, resizing, and visibility are floating con
390
401
 
391
402
  DataTable renders its rows with CSS Grid instead of the browser's native table layout. Column resizing uses the saved column widths as the base grid tracks, fills any spare container width across visible columns, and switches to horizontal scrolling when the resized columns exceed the available space. This keeps resize behavior predictable without leaving a blank gutter on the right side.
392
403
 
404
+ DataTable can also expose a table query state for server-backed screens. Enable `enableBql` to show a compact BQL input in the toolbar, listen to `onQueryChange` to receive the current BQL text, column filters, sort, page, page size, and hidden columns, and use `persistState` with `storageKey` when a screen should reopen with saved filters or BQL. The component only emits and stores query state; each app should validate and translate BQL on the server for its own allowed fields.
405
+
393
406
  ```tsx
394
407
  <DataTable
395
408
  columns={columns}
@@ -398,6 +411,24 @@ DataTable renders its rows with CSS Grid instead of the browser's native table l
398
411
  minTableWidth={810}
399
412
  />
400
413
 
414
+ <DataTable
415
+ columns={columns}
416
+ data={rows}
417
+ getRowId={(row) => row.id}
418
+ storageKey="prime-auth-users-v5"
419
+ enableBql
420
+ persistState={{
421
+ layout: true,
422
+ filters: true,
423
+ sort: true,
424
+ bql: true,
425
+ pagination: true,
426
+ }}
427
+ onQueryChange={(query) => {
428
+ // Send query.bql, query.filters, query.conditionFilters, and query.sort to the API.
429
+ }}
430
+ />
431
+
401
432
  <DataTable
402
433
  columns={columns}
403
434
  data={rows.slice(0, 25)}