JSPM

@mdxui/admin

6.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 282
  • Score
    100M100P100Q55346F
  • License MIT

Pure UI components for admin dashboards - bring your own data layer

Package Exports

  • @mdxui/admin
  • @mdxui/admin/components
  • @mdxui/admin/data-browser
  • @mdxui/admin/data-browser/__tests__/create-dialog.test.d.ts
  • @mdxui/admin/data-browser/__tests__/create-dialog.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/create-dialog.test.js
  • @mdxui/admin/data-browser/__tests__/data-browser-integration.test.d.ts
  • @mdxui/admin/data-browser/__tests__/data-browser-integration.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/data-browser-integration.test.js
  • @mdxui/admin/data-browser/__tests__/data-browser.test.d.ts
  • @mdxui/admin/data-browser/__tests__/data-browser.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/data-browser.test.js
  • @mdxui/admin/data-browser/__tests__/detail-panel.test.d.ts
  • @mdxui/admin/data-browser/__tests__/detail-panel.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/detail-panel.test.js
  • @mdxui/admin/data-browser/__tests__/diff-snapshots.test.d.ts
  • @mdxui/admin/data-browser/__tests__/diff-snapshots.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/diff-snapshots.test.js
  • @mdxui/admin/data-browser/__tests__/extract-sections.test.d.ts
  • @mdxui/admin/data-browser/__tests__/extract-sections.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/extract-sections.test.js
  • @mdxui/admin/data-browser/__tests__/helpers.test.d.ts
  • @mdxui/admin/data-browser/__tests__/helpers.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/helpers.test.js
  • @mdxui/admin/data-browser/__tests__/record-event-history.test.d.ts
  • @mdxui/admin/data-browser/__tests__/record-event-history.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/record-event-history.test.js
  • @mdxui/admin/data-browser/__tests__/time-travel-banner.test.d.ts
  • @mdxui/admin/data-browser/__tests__/time-travel-banner.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/time-travel-banner.test.js
  • @mdxui/admin/data-browser/__tests__/utils.test.d.ts
  • @mdxui/admin/data-browser/__tests__/utils.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/utils.test.js
  • @mdxui/admin/data-browser/__tests__/versions-to-events.test.d.ts
  • @mdxui/admin/data-browser/__tests__/versions-to-events.test.d.ts.map
  • @mdxui/admin/data-browser/__tests__/versions-to-events.test.js
  • @mdxui/admin/data-browser/adapters/mock-data.d.ts
  • @mdxui/admin/data-browser/adapters/mock-data.d.ts.map
  • @mdxui/admin/data-browser/adapters/mock-data.js
  • @mdxui/admin/data-browser/adapters/normalize-events.d.ts
  • @mdxui/admin/data-browser/adapters/normalize-events.d.ts.map
  • @mdxui/admin/data-browser/adapters/normalize-events.js
  • @mdxui/admin/data-browser/adapters/normalize-record.d.ts
  • @mdxui/admin/data-browser/adapters/normalize-record.d.ts.map
  • @mdxui/admin/data-browser/adapters/normalize-record.js
  • @mdxui/admin/data-browser/adapters/payload-adapter.d.ts
  • @mdxui/admin/data-browser/adapters/payload-adapter.d.ts.map
  • @mdxui/admin/data-browser/adapters/payload-adapter.js
  • @mdxui/admin/data-browser/adapters/payload-client.d.ts
  • @mdxui/admin/data-browser/adapters/payload-client.d.ts.map
  • @mdxui/admin/data-browser/adapters/payload-client.js
  • @mdxui/admin/data-browser/adapters/types.d.ts
  • @mdxui/admin/data-browser/adapters/types.d.ts.map
  • @mdxui/admin/data-browser/adapters/types.js
  • @mdxui/admin/data-browser/collection-view.d.ts
  • @mdxui/admin/data-browser/collection-view.d.ts.map
  • @mdxui/admin/data-browser/collection-view.js
  • @mdxui/admin/data-browser/create-dialog.d.ts
  • @mdxui/admin/data-browser/create-dialog.d.ts.map
  • @mdxui/admin/data-browser/create-dialog.js
  • @mdxui/admin/data-browser/data-browser-toolbar.d.ts
  • @mdxui/admin/data-browser/data-browser-toolbar.d.ts.map
  • @mdxui/admin/data-browser/data-browser-toolbar.js
  • @mdxui/admin/data-browser/data-browser.d.ts
  • @mdxui/admin/data-browser/data-browser.d.ts.map
  • @mdxui/admin/data-browser/data-browser.js
  • @mdxui/admin/data-browser/data-source-sidebar.d.ts
  • @mdxui/admin/data-browser/data-source-sidebar.d.ts.map
  • @mdxui/admin/data-browser/data-source-sidebar.js
  • @mdxui/admin/data-browser/detail-panel.d.ts
  • @mdxui/admin/data-browser/detail-panel.d.ts.map
  • @mdxui/admin/data-browser/detail-panel.js
  • @mdxui/admin/data-browser/field-renderers/field-renderer.d.ts
  • @mdxui/admin/data-browser/field-renderers/field-renderer.d.ts.map
  • @mdxui/admin/data-browser/field-renderers/field-renderer.js
  • @mdxui/admin/data-browser/field-renderers/index.d.ts
  • @mdxui/admin/data-browser/field-renderers/index.d.ts.map
  • @mdxui/admin/data-browser/field-renderers/index.js
  • @mdxui/admin/data-browser/field-renderers/json-view.d.ts
  • @mdxui/admin/data-browser/field-renderers/json-view.d.ts.map
  • @mdxui/admin/data-browser/field-renderers/json-view.js
  • @mdxui/admin/data-browser/hooks/use-collection-records.d.ts
  • @mdxui/admin/data-browser/hooks/use-collection-records.d.ts.map
  • @mdxui/admin/data-browser/hooks/use-collection-records.js
  • @mdxui/admin/data-browser/hooks/use-collections.d.ts
  • @mdxui/admin/data-browser/hooks/use-collections.d.ts.map
  • @mdxui/admin/data-browser/hooks/use-collections.js
  • @mdxui/admin/data-browser/hooks/use-record-history.d.ts
  • @mdxui/admin/data-browser/hooks/use-record-history.d.ts.map
  • @mdxui/admin/data-browser/hooks/use-record-history.js
  • @mdxui/admin/data-browser/hooks/use-restore.d.ts
  • @mdxui/admin/data-browser/hooks/use-restore.d.ts.map
  • @mdxui/admin/data-browser/hooks/use-restore.js
  • @mdxui/admin/data-browser/index.d.ts
  • @mdxui/admin/data-browser/index.d.ts.map
  • @mdxui/admin/data-browser/index.js
  • @mdxui/admin/data-browser/query-search.d.ts
  • @mdxui/admin/data-browser/query-search.d.ts.map
  • @mdxui/admin/data-browser/query-search.js
  • @mdxui/admin/data-browser/record-event-history.d.ts
  • @mdxui/admin/data-browser/record-event-history.d.ts.map
  • @mdxui/admin/data-browser/record-event-history.js
  • @mdxui/admin/data-browser/time-travel-banner.d.ts
  • @mdxui/admin/data-browser/time-travel-banner.d.ts.map
  • @mdxui/admin/data-browser/time-travel-banner.js
  • @mdxui/admin/data-browser/types.d.ts
  • @mdxui/admin/data-browser/types.d.ts.map
  • @mdxui/admin/data-browser/types.js
  • @mdxui/admin/data-browser/utils.d.ts
  • @mdxui/admin/data-browser/utils.d.ts.map
  • @mdxui/admin/data-browser/utils.js
  • @mdxui/admin/data-browser/utils/diff-snapshots.d.ts
  • @mdxui/admin/data-browser/utils/diff-snapshots.d.ts.map
  • @mdxui/admin/data-browser/utils/diff-snapshots.js
  • @mdxui/admin/data-browser/utils/versions-to-events.d.ts
  • @mdxui/admin/data-browser/utils/versions-to-events.d.ts.map
  • @mdxui/admin/data-browser/utils/versions-to-events.js
  • @mdxui/admin/data-grid
  • @mdxui/admin/data-grid/__tests__/database-grid.test.d.ts
  • @mdxui/admin/data-grid/__tests__/database-grid.test.d.ts.map
  • @mdxui/admin/data-grid/__tests__/database-grid.test.js
  • @mdxui/admin/data-grid/cell-expanded-editor.d.ts
  • @mdxui/admin/data-grid/cell-expanded-editor.d.ts.map
  • @mdxui/admin/data-grid/cell-expanded-editor.js
  • @mdxui/admin/data-grid/column-editor-panel.d.ts
  • @mdxui/admin/data-grid/column-editor-panel.d.ts.map
  • @mdxui/admin/data-grid/column-editor-panel.js
  • @mdxui/admin/data-grid/data-filter-popover.d.ts
  • @mdxui/admin/data-grid/data-filter-popover.d.ts.map
  • @mdxui/admin/data-grid/data-filter-popover.js
  • @mdxui/admin/data-grid/data-sidebar.d.ts
  • @mdxui/admin/data-grid/data-sidebar.d.ts.map
  • @mdxui/admin/data-grid/data-sidebar.js
  • @mdxui/admin/data-grid/database-grid.d.ts
  • @mdxui/admin/data-grid/database-grid.d.ts.map
  • @mdxui/admin/data-grid/database-grid.js
  • @mdxui/admin/data-grid/database-sidebar.d.ts
  • @mdxui/admin/data-grid/database-sidebar.d.ts.map
  • @mdxui/admin/data-grid/database-sidebar.js
  • @mdxui/admin/data-grid/document-sidebar.d.ts
  • @mdxui/admin/data-grid/document-sidebar.d.ts.map
  • @mdxui/admin/data-grid/document-sidebar.js
  • @mdxui/admin/data-grid/document-view-toolbar.d.ts
  • @mdxui/admin/data-grid/document-view-toolbar.d.ts.map
  • @mdxui/admin/data-grid/document-view-toolbar.js
  • @mdxui/admin/data-grid/editors/boolean-editor.d.ts
  • @mdxui/admin/data-grid/editors/boolean-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/boolean-editor.js
  • @mdxui/admin/data-grid/editors/date-editor.d.ts
  • @mdxui/admin/data-grid/editors/date-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/date-editor.js
  • @mdxui/admin/data-grid/editors/index.d.ts
  • @mdxui/admin/data-grid/editors/index.d.ts.map
  • @mdxui/admin/data-grid/editors/index.js
  • @mdxui/admin/data-grid/editors/json-editor.d.ts
  • @mdxui/admin/data-grid/editors/json-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/json-editor.js
  • @mdxui/admin/data-grid/editors/number-editor.d.ts
  • @mdxui/admin/data-grid/editors/number-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/number-editor.js
  • @mdxui/admin/data-grid/editors/select-editor.d.ts
  • @mdxui/admin/data-grid/editors/select-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/select-editor.js
  • @mdxui/admin/data-grid/editors/text-editor.d.ts
  • @mdxui/admin/data-grid/editors/text-editor.d.ts.map
  • @mdxui/admin/data-grid/editors/text-editor.js
  • @mdxui/admin/data-grid/format-view.d.ts
  • @mdxui/admin/data-grid/format-view.d.ts.map
  • @mdxui/admin/data-grid/format-view.js
  • @mdxui/admin/data-grid/function-sidebar.d.ts
  • @mdxui/admin/data-grid/function-sidebar.d.ts.map
  • @mdxui/admin/data-grid/function-sidebar.js
  • @mdxui/admin/data-grid/function-view-toolbar.d.ts
  • @mdxui/admin/data-grid/function-view-toolbar.d.ts.map
  • @mdxui/admin/data-grid/function-view-toolbar.js
  • @mdxui/admin/data-grid/index.d.ts
  • @mdxui/admin/data-grid/index.d.ts.map
  • @mdxui/admin/data-grid/index.js
  • @mdxui/admin/data-grid/query-view.d.ts
  • @mdxui/admin/data-grid/query-view.d.ts.map
  • @mdxui/admin/data-grid/query-view.js
  • @mdxui/admin/data-grid/relationship/domain-utils.d.ts
  • @mdxui/admin/data-grid/relationship/domain-utils.d.ts.map
  • @mdxui/admin/data-grid/relationship/domain-utils.js
  • @mdxui/admin/data-grid/relationship/edge-metadata-display.d.ts
  • @mdxui/admin/data-grid/relationship/edge-metadata-display.d.ts.map
  • @mdxui/admin/data-grid/relationship/edge-metadata-display.js
  • @mdxui/admin/data-grid/relationship/edge-metadata-editor.d.ts
  • @mdxui/admin/data-grid/relationship/edge-metadata-editor.d.ts.map
  • @mdxui/admin/data-grid/relationship/edge-metadata-editor.js
  • @mdxui/admin/data-grid/relationship/index.d.ts
  • @mdxui/admin/data-grid/relationship/index.d.ts.map
  • @mdxui/admin/data-grid/relationship/index.js
  • @mdxui/admin/data-grid/relationship/relationship-breadcrumb.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-breadcrumb.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-breadcrumb.js
  • @mdxui/admin/data-grid/relationship/relationship-chip.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-chip.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-chip.js
  • @mdxui/admin/data-grid/relationship/relationship-detail-view.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-detail-view.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-detail-view.js
  • @mdxui/admin/data-grid/relationship/relationship-field.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-field.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-field.js
  • @mdxui/admin/data-grid/relationship/relationship-peek-card.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-peek-card.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-peek-card.js
  • @mdxui/admin/data-grid/relationship/relationship-picker.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-picker.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-picker.js
  • @mdxui/admin/data-grid/relationship/relationship-query-results.d.ts
  • @mdxui/admin/data-grid/relationship/relationship-query-results.d.ts.map
  • @mdxui/admin/data-grid/relationship/relationship-query-results.js
  • @mdxui/admin/data-grid/relationship/types.d.ts
  • @mdxui/admin/data-grid/relationship/types.d.ts.map
  • @mdxui/admin/data-grid/relationship/types.js
  • @mdxui/admin/data-grid/row-detail-panel.d.ts
  • @mdxui/admin/data-grid/row-detail-panel.d.ts.map
  • @mdxui/admin/data-grid/row-detail-panel.js
  • @mdxui/admin/data-grid/search-input.d.ts
  • @mdxui/admin/data-grid/search-input.d.ts.map
  • @mdxui/admin/data-grid/search-input.js
  • @mdxui/admin/data-grid/table-creator-panel.d.ts
  • @mdxui/admin/data-grid/table-creator-panel.d.ts.map
  • @mdxui/admin/data-grid/table-creator-panel.js
  • @mdxui/admin/data-grid/table-editor-toolbar.d.ts
  • @mdxui/admin/data-grid/table-editor-toolbar.d.ts.map
  • @mdxui/admin/data-grid/table-editor-toolbar.js
  • @mdxui/admin/data-grid/table-filter.d.ts
  • @mdxui/admin/data-grid/table-filter.d.ts.map
  • @mdxui/admin/data-grid/table-filter.js
  • @mdxui/admin/data-grid/use-edit-history.d.ts
  • @mdxui/admin/data-grid/use-edit-history.d.ts.map
  • @mdxui/admin/data-grid/use-edit-history.js
  • @mdxui/admin/data-views
  • @mdxui/admin/data-views/core/ViewSwitcher.d.ts
  • @mdxui/admin/data-views/core/ViewSwitcher.d.ts.map
  • @mdxui/admin/data-views/core/ViewSwitcher.js
  • @mdxui/admin/data-views/core/index.d.ts
  • @mdxui/admin/data-views/core/index.d.ts.map
  • @mdxui/admin/data-views/core/index.js
  • @mdxui/admin/data-views/editors/CodeEditor.d.ts
  • @mdxui/admin/data-views/editors/CodeEditor.d.ts.map
  • @mdxui/admin/data-views/editors/CodeEditor.js
  • @mdxui/admin/data-views/editors/ConsoleView.d.ts
  • @mdxui/admin/data-views/editors/ConsoleView.d.ts.map
  • @mdxui/admin/data-views/editors/ConsoleView.js
  • @mdxui/admin/data-views/editors/DocumentEditor.d.ts
  • @mdxui/admin/data-views/editors/DocumentEditor.d.ts.map
  • @mdxui/admin/data-views/editors/DocumentEditor.js
  • @mdxui/admin/data-views/editors/DocumentNode.d.ts
  • @mdxui/admin/data-views/editors/DocumentNode.d.ts.map
  • @mdxui/admin/data-views/editors/DocumentNode.js
  • @mdxui/admin/data-views/editors/DocumentToolbar.d.ts
  • @mdxui/admin/data-views/editors/DocumentToolbar.d.ts.map
  • @mdxui/admin/data-views/editors/DocumentToolbar.js
  • @mdxui/admin/data-views/editors/DocumentTree.d.ts
  • @mdxui/admin/data-views/editors/DocumentTree.d.ts.map
  • @mdxui/admin/data-views/editors/DocumentTree.js
  • @mdxui/admin/data-views/editors/ExecutionToolbar.d.ts
  • @mdxui/admin/data-views/editors/ExecutionToolbar.d.ts.map
  • @mdxui/admin/data-views/editors/ExecutionToolbar.js
  • @mdxui/admin/data-views/editors/FormatDropdown.d.ts
  • @mdxui/admin/data-views/editors/FormatDropdown.d.ts.map
  • @mdxui/admin/data-views/editors/FormatDropdown.js
  • @mdxui/admin/data-views/editors/GraphVisualization.d.ts
  • @mdxui/admin/data-views/editors/GraphVisualization.d.ts.map
  • @mdxui/admin/data-views/editors/GraphVisualization.js
  • @mdxui/admin/data-views/editors/JsonViewer.d.ts
  • @mdxui/admin/data-views/editors/JsonViewer.d.ts.map
  • @mdxui/admin/data-views/editors/JsonViewer.js
  • @mdxui/admin/data-views/editors/ResultsCardView.d.ts
  • @mdxui/admin/data-views/editors/ResultsCardView.d.ts.map
  • @mdxui/admin/data-views/editors/ResultsCardView.js
  • @mdxui/admin/data-views/editors/ResultsPanel.d.ts
  • @mdxui/admin/data-views/editors/ResultsPanel.d.ts.map
  • @mdxui/admin/data-views/editors/ResultsPanel.js
  • @mdxui/admin/data-views/editors/SDKEditor.d.ts
  • @mdxui/admin/data-views/editors/SDKEditor.d.ts.map
  • @mdxui/admin/data-views/editors/SDKEditor.js
  • @mdxui/admin/data-views/editors/__tests__/document-editor.test.d.ts
  • @mdxui/admin/data-views/editors/__tests__/document-editor.test.d.ts.map
  • @mdxui/admin/data-views/editors/__tests__/document-editor.test.js
  • @mdxui/admin/data-views/editors/__tests__/sdk-editor.test.d.ts
  • @mdxui/admin/data-views/editors/__tests__/sdk-editor.test.d.ts.map
  • @mdxui/admin/data-views/editors/__tests__/sdk-editor.test.js
  • @mdxui/admin/data-views/editors/index.d.ts
  • @mdxui/admin/data-views/editors/index.d.ts.map
  • @mdxui/admin/data-views/editors/index.js
  • @mdxui/admin/data-views/editors/types.d.ts
  • @mdxui/admin/data-views/editors/types.d.ts.map
  • @mdxui/admin/data-views/editors/types.js
  • @mdxui/admin/data-views/index.d.ts
  • @mdxui/admin/data-views/index.d.ts.map
  • @mdxui/admin/data-views/index.js
  • @mdxui/admin/data-views/types.d.ts
  • @mdxui/admin/data-views/types.d.ts.map
  • @mdxui/admin/data-views/types.js
  • @mdxui/admin/data-views/views/CardView.d.ts
  • @mdxui/admin/data-views/views/CardView.d.ts.map
  • @mdxui/admin/data-views/views/CardView.js
  • @mdxui/admin/data-views/views/CodeView.d.ts
  • @mdxui/admin/data-views/views/CodeView.d.ts.map
  • @mdxui/admin/data-views/views/CodeView.js
  • @mdxui/admin/data-views/views/ListView.d.ts
  • @mdxui/admin/data-views/views/ListView.d.ts.map
  • @mdxui/admin/data-views/views/ListView.js
  • @mdxui/admin/data-views/views/TableView.d.ts
  • @mdxui/admin/data-views/views/TableView.d.ts.map
  • @mdxui/admin/data-views/views/TableView.js
  • @mdxui/admin/data-views/views/index.d.ts
  • @mdxui/admin/data-views/views/index.d.ts.map
  • @mdxui/admin/data-views/views/index.js
  • @mdxui/admin/events-log
  • @mdxui/admin/events-log/__tests__/apply-client-filters.test.d.ts
  • @mdxui/admin/events-log/__tests__/apply-client-filters.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/apply-client-filters.test.js
  • @mdxui/admin/events-log/__tests__/derive-helpers.test.d.ts
  • @mdxui/admin/events-log/__tests__/derive-helpers.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/derive-helpers.test.js
  • @mdxui/admin/events-log/__tests__/events-log-detail.test.d.ts
  • @mdxui/admin/events-log/__tests__/events-log-detail.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/events-log-detail.test.js
  • @mdxui/admin/events-log/__tests__/events-log-filter-bar.test.d.ts
  • @mdxui/admin/events-log/__tests__/events-log-filter-bar.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/events-log-filter-bar.test.js
  • @mdxui/admin/events-log/__tests__/events-log-table.test.d.ts
  • @mdxui/admin/events-log/__tests__/events-log-table.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/events-log-table.test.js
  • @mdxui/admin/events-log/__tests__/log-badges.test.d.ts
  • @mdxui/admin/events-log/__tests__/log-badges.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/log-badges.test.js
  • @mdxui/admin/events-log/__tests__/normalize-event.test.d.ts
  • @mdxui/admin/events-log/__tests__/normalize-event.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/normalize-event.test.js
  • @mdxui/admin/events-log/__tests__/use-previous-event.test.d.ts
  • @mdxui/admin/events-log/__tests__/use-previous-event.test.d.ts.map
  • @mdxui/admin/events-log/__tests__/use-previous-event.test.js
  • @mdxui/admin/events-log/adapters/derive-helpers.d.ts
  • @mdxui/admin/events-log/adapters/derive-helpers.d.ts.map
  • @mdxui/admin/events-log/adapters/derive-helpers.js
  • @mdxui/admin/events-log/adapters/normalize-event.d.ts
  • @mdxui/admin/events-log/adapters/normalize-event.d.ts.map
  • @mdxui/admin/events-log/adapters/normalize-event.js
  • @mdxui/admin/events-log/adapters/payload-adapter.d.ts
  • @mdxui/admin/events-log/adapters/payload-adapter.d.ts.map
  • @mdxui/admin/events-log/adapters/payload-adapter.js
  • @mdxui/admin/events-log/components/events-log-detail.d.ts
  • @mdxui/admin/events-log/components/events-log-detail.d.ts.map
  • @mdxui/admin/events-log/components/events-log-detail.js
  • @mdxui/admin/events-log/components/events-log-filter-bar.d.ts
  • @mdxui/admin/events-log/components/events-log-filter-bar.d.ts.map
  • @mdxui/admin/events-log/components/events-log-filter-bar.js
  • @mdxui/admin/events-log/components/events-log-panel.d.ts
  • @mdxui/admin/events-log/components/events-log-panel.d.ts.map
  • @mdxui/admin/events-log/components/events-log-panel.js
  • @mdxui/admin/events-log/components/events-log-table.d.ts
  • @mdxui/admin/events-log/components/events-log-table.d.ts.map
  • @mdxui/admin/events-log/components/events-log-table.js
  • @mdxui/admin/events-log/components/log-badges.d.ts
  • @mdxui/admin/events-log/components/log-badges.d.ts.map
  • @mdxui/admin/events-log/components/log-badges.js
  • @mdxui/admin/events-log/hooks/use-log-events.d.ts
  • @mdxui/admin/events-log/hooks/use-log-events.d.ts.map
  • @mdxui/admin/events-log/hooks/use-log-events.js
  • @mdxui/admin/events-log/hooks/use-previous-event.d.ts
  • @mdxui/admin/events-log/hooks/use-previous-event.d.ts.map
  • @mdxui/admin/events-log/hooks/use-previous-event.js
  • @mdxui/admin/events-log/index.d.ts
  • @mdxui/admin/events-log/index.d.ts.map
  • @mdxui/admin/events-log/index.js
  • @mdxui/admin/events-log/stories/mock-data.d.ts
  • @mdxui/admin/events-log/stories/mock-data.d.ts.map
  • @mdxui/admin/events-log/stories/mock-data.js
  • @mdxui/admin/events-log/types/base-event.d.ts
  • @mdxui/admin/events-log/types/base-event.d.ts.map
  • @mdxui/admin/events-log/types/base-event.js
  • @mdxui/admin/events-log/types/event-data.d.ts
  • @mdxui/admin/events-log/types/event-data.d.ts.map
  • @mdxui/admin/events-log/types/event-data.js
  • @mdxui/admin/events-log/types/log-event.d.ts
  • @mdxui/admin/events-log/types/log-event.d.ts.map
  • @mdxui/admin/events-log/types/log-event.js
  • @mdxui/admin/layout
  • @mdxui/admin/lib/payload-client
  • @mdxui/admin/lib/utils
  • @mdxui/admin/usage-overview
  • @mdxui/admin/usage-overview/adapters/aggregate-events.d.ts
  • @mdxui/admin/usage-overview/adapters/aggregate-events.d.ts.map
  • @mdxui/admin/usage-overview/adapters/aggregate-events.js
  • @mdxui/admin/usage-overview/adapters/mock-usage-data.d.ts
  • @mdxui/admin/usage-overview/adapters/mock-usage-data.d.ts.map
  • @mdxui/admin/usage-overview/adapters/mock-usage-data.js
  • @mdxui/admin/usage-overview/components/channel-volume-chart.d.ts
  • @mdxui/admin/usage-overview/components/channel-volume-chart.d.ts.map
  • @mdxui/admin/usage-overview/components/channel-volume-chart.js
  • @mdxui/admin/usage-overview/components/credit-balance-hero.d.ts
  • @mdxui/admin/usage-overview/components/credit-balance-hero.d.ts.map
  • @mdxui/admin/usage-overview/components/credit-balance-hero.js
  • @mdxui/admin/usage-overview/components/top-actors-table.d.ts
  • @mdxui/admin/usage-overview/components/top-actors-table.d.ts.map
  • @mdxui/admin/usage-overview/components/top-actors-table.js
  • @mdxui/admin/usage-overview/components/usage-overview-panel.d.ts
  • @mdxui/admin/usage-overview/components/usage-overview-panel.d.ts.map
  • @mdxui/admin/usage-overview/components/usage-overview-panel.js
  • @mdxui/admin/usage-overview/hooks/use-usage-data.d.ts
  • @mdxui/admin/usage-overview/hooks/use-usage-data.d.ts.map
  • @mdxui/admin/usage-overview/hooks/use-usage-data.js
  • @mdxui/admin/usage-overview/index.d.ts
  • @mdxui/admin/usage-overview/index.d.ts.map
  • @mdxui/admin/usage-overview/index.js
  • @mdxui/admin/usage-overview/types/usage.d.ts
  • @mdxui/admin/usage-overview/types/usage.d.ts.map
  • @mdxui/admin/usage-overview/types/usage.js

Readme

@mdxui/admin

Pure UI components for admin dashboards. API-compatible with ra-ui-materialui.

When to Use This Package

Choose @mdxui/admin if you are:

  • Starting a new project without an existing react-admin codebase
  • Building a custom admin UI with your own data layer (TanStack Query, SWR, etc.)
  • Want zero react-admin dependencies in your bundle
  • Building on the dotdo platform with @dotdo/react/tanstack
  • Need maximum flexibility - bring your own routing, state management, and data fetching

Choose shadmin instead if you are:

  • Migrating an existing react-admin application to modern styling
  • Need drop-in compatibility with react-admin hooks (useRecordContext, useListContext)
  • Want to preserve existing business logic while upgrading the UI
  • Require react-admin's DataProvider/AuthProvider abstractions
┌─────────────────────────────────────────────────────────────────┐
│                    "Which package do I use?"                     │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│   Do you have an existing react-admin app?                       │
│                                                                  │
│   YES ──────────► Use shadmin (drop-in replacement)              │
│                   • Keep ra-core hooks                           │
│                   • Replace Material UI with ShadCN              │
│                                                                  │
│   NO ───────────► Use @mdxui/admin (this package)                │
│                   • Zero ra-core dependency                      │
│                   • Wire to any data layer                       │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Overview

@mdxui/admin provides admin-specific UI components with zero data-fetching opinions. Built on @mdxui/primitives (Radix + Tailwind), it serves as the shared UI layer for both saaskit and shadmin.

Installation

npm install @mdxui/admin

Components

Table Editor

Supabase-style spreadsheet grid with full keyboard navigation.

import { TableEditor } from '@mdxui/admin'

<TableEditor
  columns={[
    { accessorKey: 'id', header: 'ID', dataType: 'text' },
    { accessorKey: 'name', header: 'Name', dataType: 'text', editable: true },
    { accessorKey: 'email', header: 'Email', dataType: 'email', editable: true },
    { accessorKey: 'status', header: 'Status', dataType: 'enum', enumValues: ['active', 'inactive'] },
    { accessorKey: 'createdAt', header: 'Created', dataType: 'date' },
  ]}
  data={rows}
  onCellChange={(rowIndex, columnId, value) => updateCell(rowIndex, columnId, value)}
  onRowCreate={(row) => createRow(row)}
  onRowDelete={(ids) => deleteRows(ids)}
  editable
  filterable
  sortable
  selectable
/>

Keyboard shortcuts:

Key Action
Arrow keys Navigate cells
Enter / F2 Edit cell
Tab / Shift+Tab Next/prev cell
Escape Cancel edit
Delete Clear cell (NULL)
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Ctrl+C Copy
Home/End First/last column

Fields (Display Components)

Read-only components for displaying data in lists and show views.

import { TextField, NumberField, DateField, BooleanField, EmailField, UrlField, ImageField, BadgeField, ReferenceField, ArrayField, ChipField } from '@mdxui/admin'

<TextField source="name" />
<NumberField source="price" options={{ style: 'currency', currency: 'USD' }} />
<DateField source="createdAt" showTime />
<BooleanField source="isActive" />
<EmailField source="email" />
<UrlField source="website" />
<ImageField source="avatar" />
<BadgeField source="status" variants={{ active: 'success', inactive: 'secondary' }} />
<ReferenceField source="userId" reference="users">
  <TextField source="name" />
</ReferenceField>
<ArrayField source="tags">
  <ChipField source="name" />
</ArrayField>

Inputs (Form Components)

Form inputs for create/edit views. Integrate with react-hook-form.

import { TextInput, NumberInput, SelectInput, BooleanInput, DateInput, TextareaInput, PasswordInput, ReferenceInput } from '@mdxui/admin'

<TextInput source="name" label="Full Name" />
<TextInput source="email" type="email" />
<NumberInput source="price" min={0} step={0.01} />
<SelectInput source="status" choices={[
  { id: 'active', name: 'Active' },
  { id: 'inactive', name: 'Inactive' },
]} />
<BooleanInput source="isPublished" />
<DateInput source="publishedAt" />
<TextareaInput source="description" rows={4} />
<PasswordInput source="password" />
<ReferenceInput source="categoryId" reference="categories" />

Layout Components

Admin shell components for building dashboard layouts.

import { AdminLayout, Sidebar, SidebarItem, SidebarGroup, AppBar, Breadcrumbs, PageHeader } from '@mdxui/admin'

<AdminLayout
  sidebar={
    <Sidebar>
      <SidebarGroup label="Main">
        <SidebarItem to="/dashboard" icon={<HomeIcon />}>Dashboard</SidebarItem>
        <SidebarItem to="/users" icon={<UsersIcon />}>Users</SidebarItem>
      </SidebarGroup>
      <SidebarGroup label="Settings">
        <SidebarItem to="/settings" icon={<SettingsIcon />}>Settings</SidebarItem>
      </SidebarGroup>
    </Sidebar>
  }
  appBar={<AppBar />}
>
  <PageHeader title="Users" actions={<CreateButton />} />
  <Breadcrumbs />
  {children}
</AdminLayout>

Type Compatibility

All components are type-compatible with ra-ui-materialui, enabling gradual migration from react-admin.

// These props interfaces match react-admin
import type { TextFieldProps, TextInputProps, ListProps, DatagridProps } from '@mdxui/admin'

Styling

Components use Tailwind CSS via @mdxui/primitives. Override styles via className or CSS variables.

<TextField source="name" className="text-lg font-bold" />

Theme variables in your globals.css:

:root {
  --admin-sidebar-width: 280px;
  --admin-header-height: 64px;
}

Bring Your Own Data

@mdxui/admin is purely presentational with zero data-fetching dependencies. You wire it to your data layer:

// 1. Create your data provider (implements DataProvider interface from mdxui)
const dataProvider = createMyDataProvider()

// 2. Wire up your components with your state management
function UserList() {
  const { data, isLoading } = useMyDataHook('users') // TanStack Query, SWR, etc.

  return (
    <ListView
      data={data}
      loading={isLoading}
      columns={columns}
    />
  )
}

Popular integrations:

  • TanStack Query - Use @tanstack/react-query for data fetching
  • SWR - Use swr for data fetching
  • Zustand/Redux - Manage state externally
  • react-admin - Compatible with react-admin's DataProvider

Architecture

@mdxui/admin sits at the admin patterns layer - extending @mdxui/app with CRUD and data management components for operators and admins.

┌─────────────────────────────────────────────────────────────────┐
│                      mdxui (interfaces)                          │
│   DataProvider, AuthProvider, AdminComponents                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓ implements
┌─────────────────────────────────────────────────────────────────┐
│                  @mdxui/primitives (raw UI)                      │
│   Button, Card, Dialog, Input, Table, Sidebar, etc.              │
└─────────────────────────────────────────────────────────────────┘
                              ↓ uses
┌─────────────────────────────────────────────────────────────────┐
│                   @mdxui/app (app framework)                     │
│   <App/>, Shell, Sidebar, useDataProvider(), useAuth()           │
└─────────────────────────────────────────────────────────────────┘
                              ↓ extends
┌─────────────────────────────────────────────────────────────────┐
│            ★ @mdxui/admin (admin patterns) ← YOU ARE HERE        │
│   <Admin/>, <Resource/>, CRUD views, DatabaseGrid, DataBrowser   │
│   For: Operators, admins, internal teams                         │
└─────────────────────────────────────────────────────────────────┘
                              ↓ used by
┌─────────────────────────────────────────────────────────────────┐
│                Your Application (data layer)                     │
│   TanStack Query, SWR, Zustand, or any data fetching solution    │
└─────────────────────────────────────────────────────────────────┘

What @mdxui/admin Adds

Component Type Examples Purpose
CRUD Views ListView, EditView, CreateView, ShowView Standard admin pages
Resources <Resource/>, <Admin/> Declarative resource management
Data Display Fields, DataGrid, DataBrowser Read-only data presentation
Data Entry Inputs, Forms Create/edit functionality
Editors TableEditor, DocumentEditor, CodeEditor Advanced editing interfaces

Key Principle

@mdxui/admin is purely presentational with no data-fetching dependencies. Data binding is your application's responsibility - use TanStack Query, SWR, or any other solution.

Package Relationship
@mdxui/primitives Base UI components (dependency)
@mdxui/app App framework (extends this)
mdxui Type definitions and interfaces

Peer Dependencies

  • react ^18.0.0 || ^19.0.0
  • react-router-dom ^6.0.0 (optional, for routing components)

License

MIT