@alfakit/react 0.0.0-stage → 0.1.1
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/CHANGELOG.md +9 -0
- package/LICENSE.md +21 -0
- package/README.md +19 -2
- package/dist/app/components.d.ts +49 -0
- package/dist/app/components.d.ts.map +1 -0
- package/dist/app/components.js +99 -0
- package/dist/app/components.js.map +1 -0
- package/dist/app/hooks.d.ts +79 -0
- package/dist/app/hooks.d.ts.map +1 -0
- package/dist/app/hooks.js +239 -0
- package/dist/app/hooks.js.map +1 -0
- package/dist/components/actions/action-button.d.ts +17 -0
- package/dist/components/actions/action-button.d.ts.map +1 -0
- package/dist/components/actions/action-button.js +150 -0
- package/dist/components/actions/action-button.js.map +1 -0
- package/dist/components/actions/action-context.d.ts +11 -0
- package/dist/components/actions/action-context.d.ts.map +1 -0
- package/dist/components/actions/action-context.js +24 -0
- package/dist/components/actions/action-context.js.map +1 -0
- package/dist/components/actions/action-list.d.ts +20 -0
- package/dist/components/actions/action-list.d.ts.map +1 -0
- package/dist/components/actions/action-list.js +181 -0
- package/dist/components/actions/action-list.js.map +1 -0
- package/dist/components/actions/action-modals.d.ts +5 -0
- package/dist/components/actions/action-modals.d.ts.map +1 -0
- package/dist/components/actions/action-modals.js +362 -0
- package/dist/components/actions/action-modals.js.map +1 -0
- package/dist/components/actions/index.d.ts +5 -0
- package/dist/components/ai/copilot-panel.js +439 -0
- package/dist/components/ai/copilot-panel.js.map +1 -0
- package/dist/components/ai/copilot.d.ts +12 -0
- package/dist/components/ai/copilot.d.ts.map +1 -0
- package/dist/components/ai/copilot.js +66 -0
- package/dist/components/ai/copilot.js.map +1 -0
- package/dist/components/ai/index.d.ts +3 -0
- package/dist/components/ai/index.js +3 -0
- package/dist/components/ai/stream-lazy.d.ts +9 -0
- package/dist/components/ai/stream-lazy.d.ts.map +1 -0
- package/dist/components/ai/stream-lazy.js +13 -0
- package/dist/components/ai/stream-lazy.js.map +1 -0
- package/dist/components/ai/stream.js +85 -0
- package/dist/components/ai/stream.js.map +1 -0
- package/dist/components/analytics/alfakit-analytics.d.ts +14 -0
- package/dist/components/analytics/alfakit-analytics.d.ts.map +1 -0
- package/dist/components/analytics/alfakit-analytics.js +36 -0
- package/dist/components/analytics/alfakit-analytics.js.map +1 -0
- package/dist/components/analytics/breakdown.d.ts +11 -0
- package/dist/components/analytics/breakdown.d.ts.map +1 -0
- package/dist/components/analytics/breakdown.js +155 -0
- package/dist/components/analytics/breakdown.js.map +1 -0
- package/dist/components/analytics/index.d.ts +3 -0
- package/dist/components/cms/admin-bar.js +68 -0
- package/dist/components/cms/admin-bar.js.map +1 -0
- package/dist/components/cms/blocks.d.ts +41 -0
- package/dist/components/cms/blocks.d.ts.map +1 -0
- package/dist/components/cms/blocks.js +400 -0
- package/dist/components/cms/blocks.js.map +1 -0
- package/dist/components/cms/context.d.ts +24 -0
- package/dist/components/cms/context.d.ts.map +1 -0
- package/dist/components/cms/context.js +43 -0
- package/dist/components/cms/context.js.map +1 -0
- package/dist/components/cms/head.d.ts +11 -0
- package/dist/components/cms/head.d.ts.map +1 -0
- package/dist/components/cms/head.js +40 -0
- package/dist/components/cms/head.js.map +1 -0
- package/dist/components/cms/index.d.ts +8 -0
- package/dist/components/cms/index.js +8 -0
- package/dist/components/cms/live-preview-lazy.d.ts +9 -0
- package/dist/components/cms/live-preview-lazy.d.ts.map +1 -0
- package/dist/components/cms/live-preview-lazy.js +13 -0
- package/dist/components/cms/live-preview-lazy.js.map +1 -0
- package/dist/components/cms/live-preview.js +288 -0
- package/dist/components/cms/live-preview.js.map +1 -0
- package/dist/components/cms/menu.d.ts +24 -0
- package/dist/components/cms/menu.d.ts.map +1 -0
- package/dist/components/cms/menu.js +181 -0
- package/dist/components/cms/menu.js.map +1 -0
- package/dist/components/cms/page.d.ts +27 -0
- package/dist/components/cms/page.d.ts.map +1 -0
- package/dist/components/cms/page.js +180 -0
- package/dist/components/cms/page.js.map +1 -0
- package/dist/components/cms/parts.d.ts +24 -0
- package/dist/components/cms/parts.d.ts.map +1 -0
- package/dist/components/cms/parts.js +58 -0
- package/dist/components/cms/parts.js.map +1 -0
- package/dist/components/dev-tools/dev-tools-inspector.js +302 -0
- package/dist/components/dev-tools/dev-tools-inspector.js.map +1 -0
- package/dist/components/dev-tools/dev-tools-slot.js +24 -0
- package/dist/components/dev-tools/dev-tools-slot.js.map +1 -0
- package/dist/components/entries/code-entry.d.ts +8 -0
- package/dist/components/entries/code-entry.d.ts.map +1 -0
- package/dist/components/entries/code-entry.js +59 -0
- package/dist/components/entries/code-entry.js.map +1 -0
- package/dist/components/entries/entry-wrapper.d.ts +13 -0
- package/dist/components/entries/entry-wrapper.d.ts.map +1 -0
- package/dist/components/entries/entry-wrapper.js +175 -0
- package/dist/components/entries/entry-wrapper.js.map +1 -0
- package/dist/components/entries/index.d.ts +6 -0
- package/dist/components/entries/other-entries.d.ts +20 -0
- package/dist/components/entries/other-entries.d.ts.map +1 -0
- package/dist/components/entries/other-entries.js +169 -0
- package/dist/components/entries/other-entries.js.map +1 -0
- package/dist/components/entries/repeatable-entry-table.js +33 -0
- package/dist/components/entries/repeatable-entry-table.js.map +1 -0
- package/dist/components/entries/text-entry.d.ts +12 -0
- package/dist/components/entries/text-entry.d.ts.map +1 -0
- package/dist/components/entries/text-entry.js +181 -0
- package/dist/components/entries/text-entry.js.map +1 -0
- package/dist/components/entries/view-entry.d.ts +8 -0
- package/dist/components/entries/view-entry.d.ts.map +1 -0
- package/dist/components/entries/view-entry.js +26 -0
- package/dist/components/entries/view-entry.js.map +1 -0
- package/dist/components/fields/builder-picker.js +215 -0
- package/dist/components/fields/builder-picker.js.map +1 -0
- package/dist/components/fields/builder.d.ts +16 -0
- package/dist/components/fields/builder.d.ts.map +1 -0
- package/dist/components/fields/builder.js +351 -0
- package/dist/components/fields/builder.js.map +1 -0
- package/dist/components/fields/checkbox-list.d.ts +7 -0
- package/dist/components/fields/checkbox-list.d.ts.map +1 -0
- package/dist/components/fields/checkbox-list.js +133 -0
- package/dist/components/fields/checkbox-list.js.map +1 -0
- package/dist/components/fields/checkbox.d.ts +7 -0
- package/dist/components/fields/checkbox.d.ts.map +1 -0
- package/dist/components/fields/checkbox.js +29 -0
- package/dist/components/fields/checkbox.js.map +1 -0
- package/dist/components/fields/code-editor-lazy.d.ts +9 -0
- package/dist/components/fields/code-editor-lazy.d.ts.map +1 -0
- package/dist/components/fields/code-editor-lazy.js +31 -0
- package/dist/components/fields/code-editor-lazy.js.map +1 -0
- package/dist/components/fields/code-editor.js +107 -0
- package/dist/components/fields/code-editor.js.map +1 -0
- package/dist/components/fields/code-tokens.js +18 -0
- package/dist/components/fields/code-tokens.js.map +1 -0
- package/dist/components/fields/color-picker.d.ts +7 -0
- package/dist/components/fields/color-picker.d.ts.map +1 -0
- package/dist/components/fields/color-picker.js +70 -0
- package/dist/components/fields/color-picker.js.map +1 -0
- package/dist/components/fields/date-picker.d.ts +7 -0
- package/dist/components/fields/date-picker.d.ts.map +1 -0
- package/dist/components/fields/date-picker.js +230 -0
- package/dist/components/fields/date-picker.js.map +1 -0
- package/dist/components/fields/file-upload.d.ts +7 -0
- package/dist/components/fields/file-upload.d.ts.map +1 -0
- package/dist/components/fields/file-upload.js +397 -0
- package/dist/components/fields/file-upload.js.map +1 -0
- package/dist/components/fields/hidden.d.ts +7 -0
- package/dist/components/fields/hidden.d.ts.map +1 -0
- package/dist/components/fields/hidden.js +17 -0
- package/dist/components/fields/hidden.js.map +1 -0
- package/dist/components/fields/icon-picker-lazy.d.ts +9 -0
- package/dist/components/fields/icon-picker-lazy.d.ts.map +1 -0
- package/dist/components/fields/icon-picker-lazy.js +45 -0
- package/dist/components/fields/icon-picker-lazy.js.map +1 -0
- package/dist/components/fields/icon-picker-value.js +48 -0
- package/dist/components/fields/icon-picker-value.js.map +1 -0
- package/dist/components/fields/icon-picker.js +228 -0
- package/dist/components/fields/icon-picker.js.map +1 -0
- package/dist/components/fields/image-editor-dialog-lazy.js +18 -0
- package/dist/components/fields/image-editor-dialog-lazy.js.map +1 -0
- package/dist/components/fields/image-editor-dialog.js +328 -0
- package/dist/components/fields/image-editor-dialog.js.map +1 -0
- package/dist/components/fields/index.d.ts +24 -0
- package/dist/components/fields/item-actions.js +270 -0
- package/dist/components/fields/item-actions.js.map +1 -0
- package/dist/components/fields/key-value.d.ts +11 -0
- package/dist/components/fields/key-value.d.ts.map +1 -0
- package/dist/components/fields/key-value.js +194 -0
- package/dist/components/fields/key-value.js.map +1 -0
- package/dist/components/fields/lazy-fields.d.ts +13 -0
- package/dist/components/fields/lazy-fields.d.ts.map +1 -0
- package/dist/components/fields/lazy-fields.js +34 -0
- package/dist/components/fields/lazy-fields.js.map +1 -0
- package/dist/components/fields/modal-table-select.js +386 -0
- package/dist/components/fields/modal-table-select.js.map +1 -0
- package/dist/components/fields/money-input.d.ts +7 -0
- package/dist/components/fields/money-input.d.ts.map +1 -0
- package/dist/components/fields/money-input.js +91 -0
- package/dist/components/fields/money-input.js.map +1 -0
- package/dist/components/fields/one-time-code-input.d.ts +12 -0
- package/dist/components/fields/one-time-code-input.d.ts.map +1 -0
- package/dist/components/fields/one-time-code-input.js +53 -0
- package/dist/components/fields/one-time-code-input.js.map +1 -0
- package/dist/components/fields/query-builder-rules.js +295 -0
- package/dist/components/fields/query-builder-rules.js.map +1 -0
- package/dist/components/fields/radio.d.ts +7 -0
- package/dist/components/fields/radio.d.ts.map +1 -0
- package/dist/components/fields/radio.js +57 -0
- package/dist/components/fields/radio.js.map +1 -0
- package/dist/components/fields/repeater-table.js +111 -0
- package/dist/components/fields/repeater-table.js.map +1 -0
- package/dist/components/fields/repeater.d.ts +15 -0
- package/dist/components/fields/repeater.d.ts.map +1 -0
- package/dist/components/fields/repeater.js +209 -0
- package/dist/components/fields/repeater.js.map +1 -0
- package/dist/components/fields/rich-editor-extensions.js +295 -0
- package/dist/components/fields/rich-editor-extensions.js.map +1 -0
- package/dist/components/fields/rich-editor-lazy.d.ts +9 -0
- package/dist/components/fields/rich-editor-lazy.d.ts.map +1 -0
- package/dist/components/fields/rich-editor-lazy.js +24 -0
- package/dist/components/fields/rich-editor-lazy.js.map +1 -0
- package/dist/components/fields/rich-editor.js +517 -0
- package/dist/components/fields/rich-editor.js.map +1 -0
- package/dist/components/fields/select.d.ts +7 -0
- package/dist/components/fields/select.d.ts.map +1 -0
- package/dist/components/fields/select.js +455 -0
- package/dist/components/fields/select.js.map +1 -0
- package/dist/components/fields/slider.d.ts +12 -0
- package/dist/components/fields/slider.d.ts.map +1 -0
- package/dist/components/fields/slider.js +146 -0
- package/dist/components/fields/slider.js.map +1 -0
- package/dist/components/fields/tags-input.d.ts +7 -0
- package/dist/components/fields/tags-input.d.ts.map +1 -0
- package/dist/components/fields/tags-input.js +129 -0
- package/dist/components/fields/tags-input.js.map +1 -0
- package/dist/components/fields/text-input.d.ts +7 -0
- package/dist/components/fields/text-input.d.ts.map +1 -0
- package/dist/components/fields/text-input.js +135 -0
- package/dist/components/fields/text-input.js.map +1 -0
- package/dist/components/fields/textarea.d.ts +7 -0
- package/dist/components/fields/textarea.d.ts.map +1 -0
- package/dist/components/fields/textarea.js +37 -0
- package/dist/components/fields/textarea.js.map +1 -0
- package/dist/components/fields/toggle-buttons.d.ts +7 -0
- package/dist/components/fields/toggle-buttons.d.ts.map +1 -0
- package/dist/components/fields/toggle-buttons.js +84 -0
- package/dist/components/fields/toggle-buttons.js.map +1 -0
- package/dist/components/fields/toggle.d.ts +7 -0
- package/dist/components/fields/toggle.d.ts.map +1 -0
- package/dist/components/fields/toggle.js +39 -0
- package/dist/components/fields/toggle.js.map +1 -0
- package/dist/components/file-manager/file-manager-lazy.d.ts +10 -0
- package/dist/components/file-manager/file-manager-lazy.d.ts.map +1 -0
- package/dist/components/file-manager/file-manager-lazy.js +49 -0
- package/dist/components/file-manager/file-manager-lazy.js.map +1 -0
- package/dist/components/file-manager/file-manager.d.ts +1 -0
- package/dist/components/file-manager/file-manager.js +1387 -0
- package/dist/components/file-manager/file-manager.js.map +1 -0
- package/dist/components/file-manager/index.d.ts +3 -0
- package/dist/components/file-manager/picker-field.d.ts +12 -0
- package/dist/components/file-manager/picker-field.d.ts.map +1 -0
- package/dist/components/file-manager/picker-field.js +124 -0
- package/dist/components/file-manager/picker-field.js.map +1 -0
- package/dist/components/form/form-block.d.ts +12 -0
- package/dist/components/form/form-block.d.ts.map +1 -0
- package/dist/components/form/form-block.js +155 -0
- package/dist/components/form/form-block.js.map +1 -0
- package/dist/components/form/form-context.d.ts +27 -0
- package/dist/components/form/form-context.d.ts.map +1 -0
- package/dist/components/form/form-context.js +65 -0
- package/dist/components/form/form-context.js.map +1 -0
- package/dist/components/helpdesk/chat-panel.js +209 -0
- package/dist/components/helpdesk/chat-panel.js.map +1 -0
- package/dist/components/helpdesk/chat-widget.d.ts +23 -0
- package/dist/components/helpdesk/chat-widget.d.ts.map +1 -0
- package/dist/components/helpdesk/chat-widget.js +76 -0
- package/dist/components/helpdesk/chat-widget.js.map +1 -0
- package/dist/components/helpdesk/inbox-lazy.d.ts +9 -0
- package/dist/components/helpdesk/inbox-lazy.d.ts.map +1 -0
- package/dist/components/helpdesk/inbox-lazy.js +46 -0
- package/dist/components/helpdesk/inbox-lazy.js.map +1 -0
- package/dist/components/helpdesk/inbox.js +609 -0
- package/dist/components/helpdesk/inbox.js.map +1 -0
- package/dist/components/helpdesk/index.d.ts +3 -0
- package/dist/components/kanban/index.d.ts +2 -0
- package/dist/components/kanban/index.js +2 -0
- package/dist/components/kanban/kanban-lazy.d.ts +10 -0
- package/dist/components/kanban/kanban-lazy.d.ts.map +1 -0
- package/dist/components/kanban/kanban-lazy.js +31 -0
- package/dist/components/kanban/kanban-lazy.js.map +1 -0
- package/dist/components/kanban/kanban.js +591 -0
- package/dist/components/kanban/kanban.js.map +1 -0
- package/dist/components/layout/actions.js +40 -0
- package/dist/components/layout/actions.js.map +1 -0
- package/dist/components/layout/component-context.d.ts +13 -0
- package/dist/components/layout/component-context.d.ts.map +1 -0
- package/dist/components/layout/component-context.js +28 -0
- package/dist/components/layout/component-context.js.map +1 -0
- package/dist/components/layout/deferred.js +135 -0
- package/dist/components/layout/deferred.js.map +1 -0
- package/dist/components/layout/elements.d.ts +23 -0
- package/dist/components/layout/elements.d.ts.map +1 -0
- package/dist/components/layout/elements.js +183 -0
- package/dist/components/layout/elements.js.map +1 -0
- package/dist/components/layout/fieldset.d.ts +7 -0
- package/dist/components/layout/fieldset.d.ts.map +1 -0
- package/dist/components/layout/fieldset.js +29 -0
- package/dist/components/layout/fieldset.js.map +1 -0
- package/dist/components/layout/fused-group.d.ts +11 -0
- package/dist/components/layout/fused-group.d.ts.map +1 -0
- package/dist/components/layout/fused-group.js +64 -0
- package/dist/components/layout/fused-group.js.map +1 -0
- package/dist/components/layout/grid.d.ts +7 -0
- package/dist/components/layout/grid.d.ts.map +1 -0
- package/dist/components/layout/grid.js +20 -0
- package/dist/components/layout/grid.js.map +1 -0
- package/dist/components/layout/index.d.ts +12 -0
- package/dist/components/layout/mixed-content.d.ts +14 -0
- package/dist/components/layout/mixed-content.d.ts.map +1 -0
- package/dist/components/layout/mixed-content.js +44 -0
- package/dist/components/layout/mixed-content.js.map +1 -0
- package/dist/components/layout/prime.d.ts +17 -0
- package/dist/components/layout/prime.d.ts.map +1 -0
- package/dist/components/layout/prime.js +126 -0
- package/dist/components/layout/prime.js.map +1 -0
- package/dist/components/layout/schema-children.d.ts +18 -0
- package/dist/components/layout/schema-children.d.ts.map +1 -0
- package/dist/components/layout/schema-children.js +26 -0
- package/dist/components/layout/schema-children.js.map +1 -0
- package/dist/components/layout/section.d.ts +7 -0
- package/dist/components/layout/section.d.ts.map +1 -0
- package/dist/components/layout/section.js +133 -0
- package/dist/components/layout/section.js.map +1 -0
- package/dist/components/layout/tabs.d.ts +7 -0
- package/dist/components/layout/tabs.d.ts.map +1 -0
- package/dist/components/layout/tabs.js +83 -0
- package/dist/components/layout/tabs.js.map +1 -0
- package/dist/components/layout/wizard.d.ts +7 -0
- package/dist/components/layout/wizard.d.ts.map +1 -0
- package/dist/components/layout/wizard.js +172 -0
- package/dist/components/layout/wizard.js.map +1 -0
- package/dist/components/notifications/flash-toasts.d.ts +20 -0
- package/dist/components/notifications/flash-toasts.d.ts.map +1 -0
- package/dist/components/notifications/flash-toasts.js +121 -0
- package/dist/components/notifications/flash-toasts.js.map +1 -0
- package/dist/components/notifications/index.d.ts +5 -0
- package/dist/components/notifications/notifications-menu.d.ts +15 -0
- package/dist/components/notifications/notifications-menu.d.ts.map +1 -0
- package/dist/components/notifications/notifications-menu.js +201 -0
- package/dist/components/notifications/notifications-menu.js.map +1 -0
- package/dist/components/notifications/realtime-notifications.d.ts +9 -0
- package/dist/components/notifications/realtime-notifications.d.ts.map +1 -0
- package/dist/components/notifications/realtime-notifications.js +30 -0
- package/dist/components/notifications/realtime-notifications.js.map +1 -0
- package/dist/components/notifications/undo-button.d.ts +13 -0
- package/dist/components/notifications/undo-button.d.ts.map +1 -0
- package/dist/components/notifications/undo-button.js +54 -0
- package/dist/components/notifications/undo-button.js.map +1 -0
- package/dist/components/panel/app-sidebar.d.ts +7 -0
- package/dist/components/panel/app-sidebar.d.ts.map +1 -0
- package/dist/components/panel/app-sidebar.js +302 -0
- package/dist/components/panel/app-sidebar.js.map +1 -0
- package/dist/components/panel/bottom-nav.d.ts +9 -0
- package/dist/components/panel/bottom-nav.d.ts.map +1 -0
- package/dist/components/panel/bottom-nav.js +100 -0
- package/dist/components/panel/bottom-nav.js.map +1 -0
- package/dist/components/panel/debug-panel-slot.d.ts +8 -0
- package/dist/components/panel/debug-panel-slot.d.ts.map +1 -0
- package/dist/components/panel/debug-panel-slot.js +19 -0
- package/dist/components/panel/debug-panel-slot.js.map +1 -0
- package/dist/components/panel/debug-panel.d.ts +18 -0
- package/dist/components/panel/debug-panel.d.ts.map +1 -0
- package/dist/components/panel/debug-panel.js +423 -0
- package/dist/components/panel/debug-panel.js.map +1 -0
- package/dist/components/panel/global-search-palette.js +278 -0
- package/dist/components/panel/global-search-palette.js.map +1 -0
- package/dist/components/panel/global-search.d.ts +13 -0
- package/dist/components/panel/global-search.d.ts.map +1 -0
- package/dist/components/panel/global-search.js +114 -0
- package/dist/components/panel/global-search.js.map +1 -0
- package/dist/components/panel/impersonation-banner.d.ts +11 -0
- package/dist/components/panel/impersonation-banner.d.ts.map +1 -0
- package/dist/components/panel/impersonation-banner.js +52 -0
- package/dist/components/panel/impersonation-banner.js.map +1 -0
- package/dist/components/panel/index.d.ts +18 -0
- package/dist/components/panel/keyboard-shortcuts.d.ts +10 -0
- package/dist/components/panel/keyboard-shortcuts.d.ts.map +1 -0
- package/dist/components/panel/keyboard-shortcuts.js +107 -0
- package/dist/components/panel/keyboard-shortcuts.js.map +1 -0
- package/dist/components/panel/lazy-placeholder.d.ts +11 -0
- package/dist/components/panel/lazy-placeholder.d.ts.map +1 -0
- package/dist/components/panel/lazy-placeholder.js +35 -0
- package/dist/components/panel/lazy-placeholder.js.map +1 -0
- package/dist/components/panel/locale-switcher.d.ts +19 -0
- package/dist/components/panel/locale-switcher.d.ts.map +1 -0
- package/dist/components/panel/locale-switcher.js +113 -0
- package/dist/components/panel/locale-switcher.js.map +1 -0
- package/dist/components/panel/menu-item.js +65 -0
- package/dist/components/panel/menu-item.js.map +1 -0
- package/dist/components/panel/nav-label.js +29 -0
- package/dist/components/panel/nav-label.js.map +1 -0
- package/dist/components/panel/pwa.d.ts +13 -0
- package/dist/components/panel/pwa.d.ts.map +1 -0
- package/dist/components/panel/pwa.js +90 -0
- package/dist/components/panel/pwa.js.map +1 -0
- package/dist/components/panel/schema-contract-guard.js +44 -0
- package/dist/components/panel/schema-contract-guard.js.map +1 -0
- package/dist/components/panel/shortcut-keys.d.ts +11 -0
- package/dist/components/panel/shortcut-keys.d.ts.map +1 -0
- package/dist/components/panel/shortcut-keys.js +33 -0
- package/dist/components/panel/shortcut-keys.js.map +1 -0
- package/dist/components/panel/shortcuts-overlay.d.ts +13 -0
- package/dist/components/panel/shortcuts-overlay.d.ts.map +1 -0
- package/dist/components/panel/shortcuts-overlay.js +159 -0
- package/dist/components/panel/shortcuts-overlay.js.map +1 -0
- package/dist/components/panel/slot.d.ts +18 -0
- package/dist/components/panel/slot.d.ts.map +1 -0
- package/dist/components/panel/slot.js +31 -0
- package/dist/components/panel/slot.js.map +1 -0
- package/dist/components/panel/sub-navigation.js +125 -0
- package/dist/components/panel/sub-navigation.js.map +1 -0
- package/dist/components/panel/tenant-menu.d.ts +10 -0
- package/dist/components/panel/tenant-menu.d.ts.map +1 -0
- package/dist/components/panel/tenant-menu.js +196 -0
- package/dist/components/panel/tenant-menu.js.map +1 -0
- package/dist/components/panel/theme-toggle.d.ts +4 -0
- package/dist/components/panel/theme-toggle.d.ts.map +1 -0
- package/dist/components/panel/theme-toggle.js +84 -0
- package/dist/components/panel/theme-toggle.js.map +1 -0
- package/dist/components/panel/topbar.d.ts +10 -0
- package/dist/components/panel/topbar.d.ts.map +1 -0
- package/dist/components/panel/topbar.js +74 -0
- package/dist/components/panel/topbar.js.map +1 -0
- package/dist/components/panel/user-menu.d.ts +16 -0
- package/dist/components/panel/user-menu.d.ts.map +1 -0
- package/dist/components/panel/user-menu.js +151 -0
- package/dist/components/panel/user-menu.js.map +1 -0
- package/dist/components/realtime/conflict-banner.d.ts +13 -0
- package/dist/components/realtime/conflict-banner.d.ts.map +1 -0
- package/dist/components/realtime/conflict-banner.js +193 -0
- package/dist/components/realtime/conflict-banner.js.map +1 -0
- package/dist/components/realtime/index.d.ts +4 -0
- package/dist/components/realtime/index.js +4 -0
- package/dist/components/realtime/live-records-pill.d.ts +19 -0
- package/dist/components/realtime/live-records-pill.d.ts.map +1 -0
- package/dist/components/realtime/live-records-pill.js +57 -0
- package/dist/components/realtime/live-records-pill.js.map +1 -0
- package/dist/components/realtime/record-presence.d.ts +12 -0
- package/dist/components/realtime/record-presence.d.ts.map +1 -0
- package/dist/components/realtime/record-presence.js +79 -0
- package/dist/components/realtime/record-presence.js.map +1 -0
- package/dist/components/schema/content-slot.js +49 -0
- package/dist/components/schema/content-slot.js.map +1 -0
- package/dist/components/schema/field-actions.js +72 -0
- package/dist/components/schema/field-actions.js.map +1 -0
- package/dist/components/schema/field-wrapper.d.ts +20 -0
- package/dist/components/schema/field-wrapper.d.ts.map +1 -0
- package/dist/components/schema/field-wrapper.js +210 -0
- package/dist/components/schema/field-wrapper.js.map +1 -0
- package/dist/components/schema/fused-group-context.js +14 -0
- package/dist/components/schema/fused-group-context.js.map +1 -0
- package/dist/components/schema/schema-renderer.d.ts +23 -0
- package/dist/components/schema/schema-renderer.d.ts.map +1 -0
- package/dist/components/schema/schema-renderer.js +77 -0
- package/dist/components/schema/schema-renderer.js.map +1 -0
- package/dist/components/schema/translatable-field.js +76 -0
- package/dist/components/schema/translatable-field.js.map +1 -0
- package/dist/components/schema/virtual-spacer.js +23 -0
- package/dist/components/schema/virtual-spacer.js.map +1 -0
- package/dist/components/table/cells.d.ts +12 -0
- package/dist/components/table/cells.d.ts.map +1 -0
- package/dist/components/table/cells.js +472 -0
- package/dist/components/table/cells.js.map +1 -0
- package/dist/components/table/column-manager.d.ts +17 -0
- package/dist/components/table/column-manager.d.ts.map +1 -0
- package/dist/components/table/column-manager.js +338 -0
- package/dist/components/table/column-manager.js.map +1 -0
- package/dist/components/table/content-layout.d.ts +30 -0
- package/dist/components/table/content-layout.d.ts.map +1 -0
- package/dist/components/table/content-layout.js +224 -0
- package/dist/components/table/content-layout.js.map +1 -0
- package/dist/components/table/filters.d.ts +15 -0
- package/dist/components/table/filters.d.ts.map +1 -0
- package/dist/components/table/filters.js +300 -0
- package/dist/components/table/filters.js.map +1 -0
- package/dist/components/table/grouping.js +194 -0
- package/dist/components/table/grouping.js.map +1 -0
- package/dist/components/table/index.d.ts +10 -0
- package/dist/components/table/list-tabs.js +105 -0
- package/dist/components/table/list-tabs.js.map +1 -0
- package/dist/components/table/pagination.d.ts +7 -0
- package/dist/components/table/pagination.d.ts.map +1 -0
- package/dist/components/table/pagination.js +255 -0
- package/dist/components/table/pagination.js.map +1 -0
- package/dist/components/table/record-cell.d.ts +25 -0
- package/dist/components/table/record-cell.d.ts.map +1 -0
- package/dist/components/table/record-cell.js +86 -0
- package/dist/components/table/record-cell.js.map +1 -0
- package/dist/components/table/spreadsheet-lazy.d.ts +7 -0
- package/dist/components/table/spreadsheet-lazy.d.ts.map +1 -0
- package/dist/components/table/spreadsheet-lazy.js +15 -0
- package/dist/components/table/spreadsheet-lazy.js.map +1 -0
- package/dist/components/table/spreadsheet.d.ts +11 -0
- package/dist/components/table/spreadsheet.d.ts.map +1 -0
- package/dist/components/table/spreadsheet.js +420 -0
- package/dist/components/table/spreadsheet.js.map +1 -0
- package/dist/components/table/summary-rows.js +104 -0
- package/dist/components/table/summary-rows.js.map +1 -0
- package/dist/components/table/table-block.d.ts +12 -0
- package/dist/components/table/table-block.d.ts.map +1 -0
- package/dist/components/table/table-block.js +875 -0
- package/dist/components/table/table-block.js.map +1 -0
- package/dist/components/table/table-views.d.ts +15 -0
- package/dist/components/table/table-views.d.ts.map +1 -0
- package/dist/components/table/table-views.js +376 -0
- package/dist/components/table/table-views.js.map +1 -0
- package/dist/components/table/trigger-button.js +44 -0
- package/dist/components/table/trigger-button.js.map +1 -0
- package/dist/components/translation-manager/index.d.ts +2 -0
- package/dist/components/translation-manager/index.js +2 -0
- package/dist/components/translation-manager/translation-manager-lazy.d.ts +9 -0
- package/dist/components/translation-manager/translation-manager-lazy.d.ts.map +1 -0
- package/dist/components/translation-manager/translation-manager-lazy.js +24 -0
- package/dist/components/translation-manager/translation-manager-lazy.js.map +1 -0
- package/dist/components/translation-manager/translation-manager.js +719 -0
- package/dist/components/translation-manager/translation-manager.js.map +1 -0
- package/dist/components/tree/index.d.ts +2 -0
- package/dist/components/tree/index.js +2 -0
- package/dist/components/tree/tree-lazy.d.ts +10 -0
- package/dist/components/tree/tree-lazy.d.ts.map +1 -0
- package/dist/components/tree/tree-lazy.js +24 -0
- package/dist/components/tree/tree-lazy.js.map +1 -0
- package/dist/components/tree/tree.js +291 -0
- package/dist/components/tree/tree.js.map +1 -0
- package/dist/components/ui/alert.d.ts +12 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.js +37 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +9 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +29 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +12 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +26 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +14 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.js +79 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button.d.ts +13 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +47 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +7 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +48 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.d.ts +12 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +56 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +7 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +21 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +9 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +25 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/command.d.ts +23 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +89 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +18 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +92 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +123 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +15 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/label.d.ts +7 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +15 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/popover.d.ts +10 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +35 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +8 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group.js +28 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +8 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +36 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +18 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +96 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +7 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +17 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +17 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +89 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/sidebar.d.ts +72 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sidebar.js +376 -0
- package/dist/components/ui/sidebar.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +6 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +14 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/sonner.d.ts +6 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/sonner.js +34 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.d.ts +10 -0
- package/dist/components/ui/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner.js +30 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.d.ts +7 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +19 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +13 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +67 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +10 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +36 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +6 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea.js +14 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +36 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/versions/record-versions.d.ts +12 -0
- package/dist/components/versions/record-versions.d.ts.map +1 -0
- package/dist/components/versions/record-versions.js +138 -0
- package/dist/components/versions/record-versions.js.map +1 -0
- package/dist/components/widgets/calendar-lazy.d.ts +9 -0
- package/dist/components/widgets/calendar-lazy.d.ts.map +1 -0
- package/dist/components/widgets/calendar-lazy.js +47 -0
- package/dist/components/widgets/calendar-lazy.js.map +1 -0
- package/dist/components/widgets/calendar.js +122 -0
- package/dist/components/widgets/calendar.js.map +1 -0
- package/dist/components/widgets/chart-filters.js +101 -0
- package/dist/components/widgets/chart-filters.js.map +1 -0
- package/dist/components/widgets/chart-lazy.d.ts +9 -0
- package/dist/components/widgets/chart-lazy.d.ts.map +1 -0
- package/dist/components/widgets/chart-lazy.js +27 -0
- package/dist/components/widgets/chart-lazy.js.map +1 -0
- package/dist/components/widgets/chart.js +216 -0
- package/dist/components/widgets/chart.js.map +1 -0
- package/dist/components/widgets/dashboard-customizer.d.ts +15 -0
- package/dist/components/widgets/dashboard-customizer.d.ts.map +1 -0
- package/dist/components/widgets/dashboard-customizer.js +219 -0
- package/dist/components/widgets/dashboard-customizer.js.map +1 -0
- package/dist/components/widgets/index.d.ts +6 -0
- package/dist/components/widgets/stats-overview.d.ts +7 -0
- package/dist/components/widgets/stats-overview.d.ts.map +1 -0
- package/dist/components/widgets/stats-overview.js +133 -0
- package/dist/components/widgets/stats-overview.js.map +1 -0
- package/dist/components/widgets/widgets-block.d.ts +10 -0
- package/dist/components/widgets/widgets-block.d.ts.map +1 -0
- package/dist/components/widgets/widgets-block.js +72 -0
- package/dist/components/widgets/widgets-block.js.map +1 -0
- package/dist/context.d.ts +55 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +115 -0
- package/dist/context.js.map +1 -0
- package/dist/create-alfakit.d.ts +25 -0
- package/dist/create-alfakit.d.ts.map +1 -0
- package/dist/create-alfakit.js +182 -0
- package/dist/create-alfakit.js.map +1 -0
- package/dist/eject-manifest.json +1128 -0
- package/dist/hooks/use-hydrated.d.ts +9 -0
- package/dist/hooks/use-hydrated.d.ts.map +1 -0
- package/dist/hooks/use-hydrated.js +15 -0
- package/dist/hooks/use-hydrated.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +8 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +21 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-store.d.ts +7 -0
- package/dist/hooks/use-store.d.ts.map +1 -0
- package/dist/hooks/use-store.js +13 -0
- package/dist/hooks/use-store.js.map +1 -0
- package/dist/hooks/use-virtual-list.d.ts +29 -0
- package/dist/hooks/use-virtual-list.d.ts.map +1 -0
- package/dist/hooks/use-virtual-list.js +73 -0
- package/dist/hooks/use-virtual-list.js.map +1 -0
- package/dist/index.d.ts +180 -0
- package/dist/index.js +161 -0
- package/dist/layouts/app-layout.d.ts +11 -0
- package/dist/layouts/app-layout.d.ts.map +1 -0
- package/dist/layouts/app-layout.js +104 -0
- package/dist/layouts/app-layout.js.map +1 -0
- package/dist/layouts/auth-layout.d.ts +11 -0
- package/dist/layouts/auth-layout.d.ts.map +1 -0
- package/dist/layouts/auth-layout.js +65 -0
- package/dist/layouts/auth-layout.js.map +1 -0
- package/dist/layouts/blank-layout.d.ts +7 -0
- package/dist/layouts/blank-layout.d.ts.map +1 -0
- package/dist/layouts/blank-layout.js +12 -0
- package/dist/layouts/blank-layout.js.map +1 -0
- package/dist/layouts/fullscreen-layout.d.ts +16 -0
- package/dist/layouts/fullscreen-layout.d.ts.map +1 -0
- package/dist/layouts/fullscreen-layout.js +107 -0
- package/dist/layouts/fullscreen-layout.js.map +1 -0
- package/dist/layouts/top-nav-layout.d.ts +15 -0
- package/dist/layouts/top-nav-layout.d.ts.map +1 -0
- package/dist/layouts/top-nav-layout.js +223 -0
- package/dist/layouts/top-nav-layout.js.map +1 -0
- package/dist/lib/attributes.d.ts +12 -0
- package/dist/lib/attributes.d.ts.map +1 -0
- package/dist/lib/attributes.js +55 -0
- package/dist/lib/attributes.js.map +1 -0
- package/dist/lib/colors.d.ts +23 -0
- package/dist/lib/colors.d.ts.map +1 -0
- package/dist/lib/colors.js +126 -0
- package/dist/lib/colors.js.map +1 -0
- package/dist/lib/discovery.d.ts +22 -0
- package/dist/lib/discovery.d.ts.map +1 -0
- package/dist/lib/discovery.js +45 -0
- package/dist/lib/discovery.js.map +1 -0
- package/dist/lib/icons.d.ts +24 -0
- package/dist/lib/icons.d.ts.map +1 -0
- package/dist/lib/icons.js +93 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/lazy.d.ts +8 -0
- package/dist/lib/lazy.d.ts.map +1 -0
- package/dist/lib/lazy.js +47 -0
- package/dist/lib/lazy.js.map +1 -0
- package/dist/lib/new-tab-hint.js +15 -0
- package/dist/lib/new-tab-hint.js.map +1 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/pages/page.d.ts +23 -0
- package/dist/pages/page.d.ts.map +1 -0
- package/dist/pages/page.js +328 -0
- package/dist/pages/page.js.map +1 -0
- package/dist/registry.d.ts +7 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +113 -0
- package/dist/registry.js.map +1 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +38 -0
- package/dist/server.js.map +1 -0
- package/dist/standalone/alfakit-component.d.ts +30 -0
- package/dist/standalone/alfakit-component.d.ts.map +1 -0
- package/dist/standalone/alfakit-component.js +156 -0
- package/dist/standalone/alfakit-component.js.map +1 -0
- package/dist/standalone/alfakit-toaster.d.ts +26 -0
- package/dist/standalone/alfakit-toaster.d.ts.map +1 -0
- package/dist/standalone/alfakit-toaster.js +38 -0
- package/dist/standalone/alfakit-toaster.js.map +1 -0
- package/dist/standalone/configure.d.ts +14 -0
- package/dist/standalone/configure.d.ts.map +1 -0
- package/dist/standalone/configure.js +27 -0
- package/dist/standalone/configure.js.map +1 -0
- package/dist/standalone/index.d.ts +4 -0
- package/dist/standalone/runtime.js +94 -0
- package/dist/standalone/runtime.js.map +1 -0
- package/dist/standalone.css +150 -0
- package/dist/starter-kit/index.d.ts +4 -0
- package/dist/starter-kit/index.js +4 -0
- package/dist/starter-kit/navigation.d.ts +20 -0
- package/dist/starter-kit/navigation.d.ts.map +1 -0
- package/dist/starter-kit/navigation.js +25 -0
- package/dist/starter-kit/navigation.js.map +1 -0
- package/dist/starter-kit/starter-kit.d.ts +56 -0
- package/dist/starter-kit/starter-kit.d.ts.map +1 -0
- package/dist/starter-kit/starter-kit.js +120 -0
- package/dist/starter-kit/starter-kit.js.map +1 -0
- package/dist/starter-kit/widgets-loaded.js +172 -0
- package/dist/starter-kit/widgets-loaded.js.map +1 -0
- package/dist/starter-kit/widgets-triggers.js +90 -0
- package/dist/starter-kit/widgets-triggers.js.map +1 -0
- package/dist/starter-kit/widgets.d.ts +38 -0
- package/dist/starter-kit/widgets.d.ts.map +1 -0
- package/dist/starter-kit/widgets.js +64 -0
- package/dist/starter-kit/widgets.js.map +1 -0
- package/dist/styles.css +305 -0
- package/dist/themes.css +1340 -0
- package/package.json +128 -3
- package/src/app/components.tsx +104 -0
- package/src/app/hooks.ts +365 -0
- package/src/components/actions/action-button.tsx +254 -0
- package/src/components/actions/action-context.tsx +23 -0
- package/src/components/actions/action-list.tsx +356 -0
- package/src/components/actions/action-modals.tsx +479 -0
- package/src/components/actions/index.ts +4 -0
- package/src/components/ai/copilot-panel.tsx +517 -0
- package/src/components/ai/copilot.tsx +82 -0
- package/src/components/ai/index.ts +2 -0
- package/src/components/ai/stream-lazy.tsx +8 -0
- package/src/components/ai/stream.tsx +100 -0
- package/src/components/analytics/alfakit-analytics.tsx +27 -0
- package/src/components/analytics/breakdown.tsx +150 -0
- package/src/components/analytics/index.ts +2 -0
- package/src/components/cms/admin-bar.tsx +66 -0
- package/src/components/cms/blocks.tsx +474 -0
- package/src/components/cms/context.tsx +57 -0
- package/src/components/cms/head.tsx +47 -0
- package/src/components/cms/index.ts +23 -0
- package/src/components/cms/live-preview-lazy.tsx +8 -0
- package/src/components/cms/live-preview.tsx +339 -0
- package/src/components/cms/menu.tsx +246 -0
- package/src/components/cms/page.tsx +219 -0
- package/src/components/cms/parts.tsx +84 -0
- package/src/components/dev-tools/dev-tools-inspector.tsx +374 -0
- package/src/components/dev-tools/dev-tools-slot.tsx +28 -0
- package/src/components/entries/code-entry.tsx +73 -0
- package/src/components/entries/entry-wrapper.tsx +171 -0
- package/src/components/entries/index.ts +11 -0
- package/src/components/entries/other-entries.tsx +235 -0
- package/src/components/entries/repeatable-entry-table.tsx +50 -0
- package/src/components/entries/text-entry.tsx +264 -0
- package/src/components/entries/view-entry.tsx +27 -0
- package/src/components/fields/builder-picker.tsx +323 -0
- package/src/components/fields/builder.tsx +537 -0
- package/src/components/fields/checkbox-list.tsx +181 -0
- package/src/components/fields/checkbox.tsx +26 -0
- package/src/components/fields/code-editor-lazy.tsx +33 -0
- package/src/components/fields/code-editor.tsx +157 -0
- package/src/components/fields/code-tokens.ts +15 -0
- package/src/components/fields/color-picker.tsx +72 -0
- package/src/components/fields/date-picker.tsx +336 -0
- package/src/components/fields/file-upload.tsx +643 -0
- package/src/components/fields/hidden.tsx +8 -0
- package/src/components/fields/icon-picker-lazy.tsx +44 -0
- package/src/components/fields/icon-picker-value.tsx +46 -0
- package/src/components/fields/icon-picker.tsx +293 -0
- package/src/components/fields/image-editor-dialog-lazy.tsx +22 -0
- package/src/components/fields/image-editor-dialog.tsx +431 -0
- package/src/components/fields/index.ts +23 -0
- package/src/components/fields/item-actions.tsx +381 -0
- package/src/components/fields/key-value.tsx +218 -0
- package/src/components/fields/lazy-fields.tsx +30 -0
- package/src/components/fields/modal-table-select.tsx +519 -0
- package/src/components/fields/money-input.tsx +132 -0
- package/src/components/fields/one-time-code-input.tsx +56 -0
- package/src/components/fields/query-builder-rules.tsx +444 -0
- package/src/components/fields/radio.tsx +67 -0
- package/src/components/fields/repeater-table.tsx +185 -0
- package/src/components/fields/repeater.tsx +317 -0
- package/src/components/fields/rich-editor-extensions.tsx +470 -0
- package/src/components/fields/rich-editor-lazy.tsx +21 -0
- package/src/components/fields/rich-editor.tsx +815 -0
- package/src/components/fields/select.tsx +667 -0
- package/src/components/fields/slider.tsx +262 -0
- package/src/components/fields/tags-input.tsx +176 -0
- package/src/components/fields/text-input.tsx +179 -0
- package/src/components/fields/textarea.tsx +37 -0
- package/src/components/fields/toggle-buttons.tsx +125 -0
- package/src/components/fields/toggle.tsx +50 -0
- package/src/components/file-manager/file-manager-lazy.tsx +52 -0
- package/src/components/file-manager/file-manager.tsx +1857 -0
- package/src/components/file-manager/index.ts +2 -0
- package/src/components/file-manager/picker-field.tsx +169 -0
- package/src/components/form/form-block.tsx +237 -0
- package/src/components/form/form-context.tsx +95 -0
- package/src/components/helpdesk/chat-panel.tsx +247 -0
- package/src/components/helpdesk/chat-widget.tsx +107 -0
- package/src/components/helpdesk/inbox-lazy.tsx +42 -0
- package/src/components/helpdesk/inbox.tsx +745 -0
- package/src/components/helpdesk/index.ts +2 -0
- package/src/components/kanban/index.ts +1 -0
- package/src/components/kanban/kanban-lazy.tsx +34 -0
- package/src/components/kanban/kanban.tsx +788 -0
- package/src/components/layout/actions.tsx +48 -0
- package/src/components/layout/component-context.ts +31 -0
- package/src/components/layout/deferred.tsx +156 -0
- package/src/components/layout/elements.tsx +259 -0
- package/src/components/layout/fieldset.tsx +35 -0
- package/src/components/layout/fused-group.tsx +96 -0
- package/src/components/layout/grid.tsx +19 -0
- package/src/components/layout/index.ts +18 -0
- package/src/components/layout/mixed-content.tsx +59 -0
- package/src/components/layout/prime.tsx +168 -0
- package/src/components/layout/schema-children.tsx +30 -0
- package/src/components/layout/section.tsx +173 -0
- package/src/components/layout/tabs.tsx +129 -0
- package/src/components/layout/wizard.tsx +244 -0
- package/src/components/notifications/flash-toasts.tsx +200 -0
- package/src/components/notifications/index.ts +4 -0
- package/src/components/notifications/notifications-menu.tsx +262 -0
- package/src/components/notifications/realtime-notifications.tsx +40 -0
- package/src/components/notifications/undo-button.tsx +50 -0
- package/src/components/panel/app-sidebar.tsx +439 -0
- package/src/components/panel/bottom-nav.tsx +130 -0
- package/src/components/panel/debug-panel-slot.tsx +25 -0
- package/src/components/panel/debug-panel.tsx +412 -0
- package/src/components/panel/global-search-palette.tsx +387 -0
- package/src/components/panel/global-search.tsx +147 -0
- package/src/components/panel/impersonation-banner.tsx +47 -0
- package/src/components/panel/index.ts +16 -0
- package/src/components/panel/keyboard-shortcuts.tsx +134 -0
- package/src/components/panel/lazy-placeholder.tsx +39 -0
- package/src/components/panel/locale-switcher.tsx +144 -0
- package/src/components/panel/menu-item.tsx +89 -0
- package/src/components/panel/nav-label.tsx +34 -0
- package/src/components/panel/pwa.tsx +118 -0
- package/src/components/panel/schema-contract-guard.tsx +50 -0
- package/src/components/panel/shortcut-keys.tsx +34 -0
- package/src/components/panel/shortcuts-overlay.tsx +238 -0
- package/src/components/panel/slot.tsx +43 -0
- package/src/components/panel/sub-navigation.tsx +161 -0
- package/src/components/panel/tenant-menu.tsx +175 -0
- package/src/components/panel/theme-toggle.tsx +69 -0
- package/src/components/panel/topbar.tsx +81 -0
- package/src/components/panel/user-menu.tsx +166 -0
- package/src/components/realtime/conflict-banner.tsx +208 -0
- package/src/components/realtime/index.ts +3 -0
- package/src/components/realtime/live-records-pill.tsx +66 -0
- package/src/components/realtime/record-presence.tsx +98 -0
- package/src/components/schema/content-slot.tsx +81 -0
- package/src/components/schema/field-actions.tsx +67 -0
- package/src/components/schema/field-wrapper.tsx +246 -0
- package/src/components/schema/fused-group-context.ts +11 -0
- package/src/components/schema/schema-renderer.tsx +127 -0
- package/src/components/schema/translatable-field.tsx +113 -0
- package/src/components/schema/virtual-spacer.tsx +14 -0
- package/src/components/table/cells.tsx +712 -0
- package/src/components/table/column-manager.tsx +480 -0
- package/src/components/table/content-layout.tsx +368 -0
- package/src/components/table/filters.tsx +378 -0
- package/src/components/table/grouping.tsx +275 -0
- package/src/components/table/index.ts +9 -0
- package/src/components/table/list-tabs.tsx +144 -0
- package/src/components/table/pagination.tsx +335 -0
- package/src/components/table/record-cell.tsx +147 -0
- package/src/components/table/spreadsheet-lazy.tsx +14 -0
- package/src/components/table/spreadsheet.tsx +602 -0
- package/src/components/table/summary-rows.tsx +160 -0
- package/src/components/table/table-block.tsx +1112 -0
- package/src/components/table/table-views.tsx +460 -0
- package/src/components/table/trigger-button.tsx +92 -0
- package/src/components/translation-manager/index.ts +1 -0
- package/src/components/translation-manager/translation-manager-lazy.tsx +25 -0
- package/src/components/translation-manager/translation-manager.tsx +827 -0
- package/src/components/tree/index.ts +1 -0
- package/src/components/tree/tree-lazy.tsx +30 -0
- package/src/components/tree/tree.tsx +385 -0
- package/src/components/ui/alert.tsx +57 -0
- package/src/components/ui/avatar.tsx +38 -0
- package/src/components/ui/badge.tsx +33 -0
- package/src/components/ui/breadcrumb.tsx +110 -0
- package/src/components/ui/button.tsx +54 -0
- package/src/components/ui/calendar.tsx +65 -0
- package/src/components/ui/card.tsx +74 -0
- package/src/components/ui/checkbox.tsx +30 -0
- package/src/components/ui/collapsible.tsx +20 -0
- package/src/components/ui/command.tsx +158 -0
- package/src/components/ui/dialog.tsx +124 -0
- package/src/components/ui/dropdown-menu.tsx +217 -0
- package/src/components/ui/input.tsx +20 -0
- package/src/components/ui/label.tsx +18 -0
- package/src/components/ui/popover.tsx +39 -0
- package/src/components/ui/radio-group.tsx +36 -0
- package/src/components/ui/scroll-area.tsx +53 -0
- package/src/components/ui/select.tsx +165 -0
- package/src/components/ui/separator.tsx +25 -0
- package/src/components/ui/sheet.tsx +131 -0
- package/src/components/ui/sidebar.tsx +660 -0
- package/src/components/ui/skeleton.tsx +14 -0
- package/src/components/ui/sonner.tsx +43 -0
- package/src/components/ui/spinner.tsx +31 -0
- package/src/components/ui/switch.tsx +25 -0
- package/src/components/ui/table.tsx +89 -0
- package/src/components/ui/tabs.tsx +51 -0
- package/src/components/ui/textarea.tsx +17 -0
- package/src/components/ui/tooltip.tsx +50 -0
- package/src/components/versions/record-versions.tsx +162 -0
- package/src/components/widgets/calendar-lazy.tsx +31 -0
- package/src/components/widgets/calendar.tsx +124 -0
- package/src/components/widgets/chart-filters.tsx +114 -0
- package/src/components/widgets/chart-lazy.tsx +21 -0
- package/src/components/widgets/chart.tsx +252 -0
- package/src/components/widgets/dashboard-customizer.tsx +309 -0
- package/src/components/widgets/index.ts +5 -0
- package/src/components/widgets/stats-overview.tsx +185 -0
- package/src/components/widgets/widgets-block.tsx +102 -0
- package/src/context.tsx +187 -0
- package/src/create-alfakit.tsx +300 -0
- package/src/hooks/use-hydrated.ts +16 -0
- package/src/hooks/use-mobile.ts +29 -0
- package/src/hooks/use-store.ts +18 -0
- package/src/hooks/use-virtual-list.ts +88 -0
- package/src/index.ts +135 -0
- package/src/layouts/app-layout.tsx +128 -0
- package/src/layouts/auth-layout.tsx +66 -0
- package/src/layouts/blank-layout.tsx +5 -0
- package/src/layouts/fullscreen-layout.tsx +86 -0
- package/src/layouts/top-nav-layout.tsx +293 -0
- package/src/lib/attributes.ts +79 -0
- package/src/lib/colors.ts +151 -0
- package/src/lib/discovery.tsx +68 -0
- package/src/lib/icons.tsx +145 -0
- package/src/lib/lazy.tsx +89 -0
- package/src/lib/new-tab-hint.tsx +8 -0
- package/src/lib/utils.ts +6 -0
- package/src/pages/page.tsx +463 -0
- package/src/registry.ts +132 -0
- package/src/server.tsx +68 -0
- package/src/standalone/alfakit-component.tsx +222 -0
- package/src/standalone/alfakit-toaster.tsx +52 -0
- package/src/standalone/configure.ts +24 -0
- package/src/standalone/index.ts +3 -0
- package/src/standalone/runtime.ts +153 -0
- package/src/starter-kit/index.ts +14 -0
- package/src/starter-kit/navigation.ts +34 -0
- package/src/starter-kit/starter-kit.tsx +196 -0
- package/src/starter-kit/widgets-loaded.tsx +217 -0
- package/src/starter-kit/widgets-triggers.tsx +103 -0
- package/src/starter-kit/widgets.tsx +103 -0
- package/src/styles.css +305 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","names":[],"sources":["../src/registry.ts"],"mappings":";;;;wBAuFgB,yBAAyB,kBAAkB"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { AiCopilot } from "./components/ai/copilot.js";
|
|
2
|
+
import { AiStream } from "./components/ai/stream-lazy.js";
|
|
3
|
+
import { AnalyticsBreakdown } from "./components/analytics/breakdown.js";
|
|
4
|
+
import { CmsLivePreview } from "./components/cms/live-preview-lazy.js";
|
|
5
|
+
import { CheckboxField } from "./components/fields/checkbox.js";
|
|
6
|
+
import { CodeEditorField } from "./components/fields/code-editor-lazy.js";
|
|
7
|
+
import { HiddenField } from "./components/fields/hidden.js";
|
|
8
|
+
import { IconPickerField } from "./components/fields/icon-picker-lazy.js";
|
|
9
|
+
import { ModalTableSelectField, QueryBuilderRulesField } from "./components/fields/lazy-fields.js";
|
|
10
|
+
import { RichEditorField } from "./components/fields/rich-editor-lazy.js";
|
|
11
|
+
import { SelectField } from "./components/fields/select.js";
|
|
12
|
+
import { TextInputField } from "./components/fields/text-input.js";
|
|
13
|
+
import { ToggleField } from "./components/fields/toggle.js";
|
|
14
|
+
import { FileManager } from "./components/file-manager/file-manager-lazy.js";
|
|
15
|
+
import { FileManagerPickerField } from "./components/file-manager/picker-field.js";
|
|
16
|
+
import { HelpdeskInbox } from "./components/helpdesk/inbox-lazy.js";
|
|
17
|
+
import { Kanban } from "./components/kanban/kanban-lazy.js";
|
|
18
|
+
import { ActionsComponent } from "./components/layout/actions.js";
|
|
19
|
+
import { GridComponent } from "./components/layout/grid.js";
|
|
20
|
+
import { SectionComponent } from "./components/layout/section.js";
|
|
21
|
+
import { TranslationManager } from "./components/translation-manager/translation-manager-lazy.js";
|
|
22
|
+
import { Tree } from "./components/tree/tree-lazy.js";
|
|
23
|
+
import { CalendarWidget } from "./components/widgets/calendar-lazy.js";
|
|
24
|
+
import { discoveredComponent } from "./lib/discovery.js";
|
|
25
|
+
import { ComponentRegistry, lazyComponents } from "@alfakit/core";
|
|
26
|
+
//#region src/registry.ts
|
|
27
|
+
const prime = () => import("./components/layout/prime.js");
|
|
28
|
+
const elements = () => import("./components/layout/elements.js");
|
|
29
|
+
const entries = () => import("./components/entries/other-entries.js");
|
|
30
|
+
/**
|
|
31
|
+
* Built-ins split per type: a page downloads only the ones its schema names (preloaded
|
|
32
|
+
* before it renders, see `bootAlfakit()`), the rest load the first time they are shown.
|
|
33
|
+
* The core set used on nearly every page stays in `createDefaultRegistry()` directly.
|
|
34
|
+
*/
|
|
35
|
+
const builtInComponents = lazyComponents({
|
|
36
|
+
MoneyInput: () => import("./components/fields/money-input.js").then((m) => m.MoneyInputField),
|
|
37
|
+
Textarea: () => import("./components/fields/textarea.js").then((m) => m.TextareaField),
|
|
38
|
+
OneTimeCodeInput: () => import("./components/fields/one-time-code-input.js").then((m) => m.OneTimeCodeInputField),
|
|
39
|
+
CheckboxList: () => import("./components/fields/checkbox-list.js").then((m) => m.CheckboxListField),
|
|
40
|
+
Radio: () => import("./components/fields/radio.js").then((m) => m.RadioField),
|
|
41
|
+
DatePicker: () => import("./components/fields/date-picker.js").then((m) => m.DatePickerField),
|
|
42
|
+
DateTimePicker: () => import("./components/fields/date-picker.js").then((m) => m.DatePickerField),
|
|
43
|
+
TimePicker: () => import("./components/fields/date-picker.js").then((m) => m.DatePickerField),
|
|
44
|
+
ColorPicker: () => import("./components/fields/color-picker.js").then((m) => m.ColorPickerField),
|
|
45
|
+
TagsInput: () => import("./components/fields/tags-input.js").then((m) => m.TagsInputField),
|
|
46
|
+
KeyValue: () => import("./components/fields/key-value.js").then((m) => m.KeyValueField),
|
|
47
|
+
FileUpload: () => import("./components/fields/file-upload.js").then((m) => m.FileUploadField),
|
|
48
|
+
Repeater: () => import("./components/fields/repeater.js").then((m) => m.RepeaterField),
|
|
49
|
+
Builder: () => import("./components/fields/builder.js").then((m) => m.BuilderField),
|
|
50
|
+
ToggleButtons: () => import("./components/fields/toggle-buttons.js").then((m) => m.ToggleButtonsField),
|
|
51
|
+
Slider: () => import("./components/fields/slider.js").then((m) => m.SliderField),
|
|
52
|
+
Fieldset: () => import("./components/layout/fieldset.js").then((m) => m.FieldsetComponent),
|
|
53
|
+
FusedGroup: () => import("./components/layout/fused-group.js").then((m) => m.FusedGroupComponent),
|
|
54
|
+
Tabs: () => import("./components/layout/tabs.js").then((m) => m.TabsComponent),
|
|
55
|
+
Wizard: () => import("./components/layout/wizard.js").then((m) => m.WizardComponent),
|
|
56
|
+
Placeholder: () => prime().then((m) => m.PlaceholderComponent),
|
|
57
|
+
Html: () => prime().then((m) => m.HtmlComponent),
|
|
58
|
+
Text: () => prime().then((m) => m.TextComponent),
|
|
59
|
+
View: () => prime().then((m) => m.ViewComponent),
|
|
60
|
+
Flex: () => elements().then((m) => m.FlexComponent),
|
|
61
|
+
Callout: () => elements().then((m) => m.CalloutComponent),
|
|
62
|
+
EmptyState: () => elements().then((m) => m.EmptyStateComponent),
|
|
63
|
+
Icon: () => elements().then((m) => m.IconComponent),
|
|
64
|
+
Image: () => elements().then((m) => m.ImageComponent),
|
|
65
|
+
UnorderedList: () => elements().then((m) => m.UnorderedListComponent),
|
|
66
|
+
RecordVersions: () => import("./components/versions/record-versions.js").then((m) => m.RecordVersionsComponent),
|
|
67
|
+
TextEntry: () => import("./components/entries/text-entry.js").then((m) => m.TextEntryComponent),
|
|
68
|
+
IconEntry: () => entries().then((m) => m.IconEntryComponent),
|
|
69
|
+
ImageEntry: () => entries().then((m) => m.ImageEntryComponent),
|
|
70
|
+
CodeEntry: () => import("./components/entries/code-entry.js").then((m) => m.CodeEntryComponent),
|
|
71
|
+
ColorEntry: () => entries().then((m) => m.ColorEntryComponent),
|
|
72
|
+
KeyValueEntry: () => entries().then((m) => m.KeyValueEntryComponent),
|
|
73
|
+
RepeatableEntry: () => entries().then((m) => m.RepeatableEntryComponent),
|
|
74
|
+
ViewEntry: () => import("./components/entries/view-entry.js").then((m) => m.ViewEntryComponent)
|
|
75
|
+
});
|
|
76
|
+
/** Built-in renderers for every schema `type` the PHP side emits. */
|
|
77
|
+
function createDefaultRegistry() {
|
|
78
|
+
return new ComponentRegistry({
|
|
79
|
+
...builtInComponents.map(discoveredComponent).components,
|
|
80
|
+
TextInput: TextInputField,
|
|
81
|
+
Hidden: HiddenField,
|
|
82
|
+
Checkbox: CheckboxField,
|
|
83
|
+
Toggle: ToggleField,
|
|
84
|
+
Select: SelectField,
|
|
85
|
+
RichEditor: RichEditorField,
|
|
86
|
+
MarkdownEditor: RichEditorField,
|
|
87
|
+
CodeEditor: CodeEditorField,
|
|
88
|
+
ModalTableSelect: ModalTableSelectField,
|
|
89
|
+
IconPicker: IconPickerField,
|
|
90
|
+
QueryBuilderRules: QueryBuilderRulesField,
|
|
91
|
+
Grid: GridComponent,
|
|
92
|
+
Group: GridComponent,
|
|
93
|
+
Section: SectionComponent,
|
|
94
|
+
Tab: GridComponent,
|
|
95
|
+
Step: GridComponent,
|
|
96
|
+
Actions: ActionsComponent,
|
|
97
|
+
"widget:calendar": CalendarWidget,
|
|
98
|
+
tree: Tree,
|
|
99
|
+
"translation-manager": TranslationManager,
|
|
100
|
+
kanban: Kanban,
|
|
101
|
+
"file-manager": FileManager,
|
|
102
|
+
FileManagerPicker: FileManagerPickerField,
|
|
103
|
+
"ai:copilot": AiCopilot,
|
|
104
|
+
"ai:stream": AiStream,
|
|
105
|
+
"analytics:breakdown": AnalyticsBreakdown,
|
|
106
|
+
CmsLivePreview,
|
|
107
|
+
"helpdesk:inbox": HelpdeskInbox
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
export { builtInComponents, createDefaultRegistry };
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","names":[],"sources":["../src/registry.ts"],"sourcesContent":["import { ComponentRegistry, lazyComponents } from '@alfakit/core'\nimport { AiCopilot, AiStream } from './components/ai'\nimport { AnalyticsBreakdown } from './components/analytics/breakdown'\nimport { CmsLivePreview } from './components/cms/live-preview-lazy'\nimport {\n CheckboxField,\n CodeEditorField,\n HiddenField,\n IconPickerField,\n ModalTableSelectField,\n QueryBuilderRulesField,\n RichEditorField,\n SelectField,\n TextInputField,\n ToggleField,\n} from './components/fields'\nimport { FileManager, FileManagerPickerField } from './components/file-manager'\nimport { HelpdeskInbox } from './components/helpdesk'\nimport { Kanban } from './components/kanban'\nimport { ActionsComponent } from './components/layout/actions'\nimport { GridComponent } from './components/layout/grid'\nimport { SectionComponent } from './components/layout/section'\nimport { TranslationManager } from './components/translation-manager'\nimport { Tree } from './components/tree'\nimport { CalendarWidget } from './components/widgets/calendar-lazy'\nimport type { AnyComponent } from './context'\nimport { discoveredComponent } from './lib/discovery'\n\nconst prime = () => import('./components/layout/prime')\nconst elements = () => import('./components/layout/elements')\nconst entries = () => import('./components/entries/other-entries')\n\n/**\n * Built-ins split per type: a page downloads only the ones its schema names (preloaded\n * before it renders, see `bootAlfakit()`), the rest load the first time they are shown.\n * The core set used on nearly every page stays in `createDefaultRegistry()` directly.\n */\nexport const builtInComponents = lazyComponents<AnyComponent>({\n // Fields\n MoneyInput: () => import('./components/fields/money-input').then((m) => m.MoneyInputField),\n Textarea: () => import('./components/fields/textarea').then((m) => m.TextareaField),\n OneTimeCodeInput: () =>\n import('./components/fields/one-time-code-input').then((m) => m.OneTimeCodeInputField),\n CheckboxList: () => import('./components/fields/checkbox-list').then((m) => m.CheckboxListField),\n Radio: () => import('./components/fields/radio').then((m) => m.RadioField),\n DatePicker: () => import('./components/fields/date-picker').then((m) => m.DatePickerField),\n DateTimePicker: () => import('./components/fields/date-picker').then((m) => m.DatePickerField),\n TimePicker: () => import('./components/fields/date-picker').then((m) => m.DatePickerField),\n ColorPicker: () => import('./components/fields/color-picker').then((m) => m.ColorPickerField),\n TagsInput: () => import('./components/fields/tags-input').then((m) => m.TagsInputField),\n KeyValue: () => import('./components/fields/key-value').then((m) => m.KeyValueField),\n FileUpload: () => import('./components/fields/file-upload').then((m) => m.FileUploadField),\n Repeater: () => import('./components/fields/repeater').then((m) => m.RepeaterField),\n Builder: () => import('./components/fields/builder').then((m) => m.BuilderField),\n ToggleButtons: () =>\n import('./components/fields/toggle-buttons').then((m) => m.ToggleButtonsField),\n Slider: () => import('./components/fields/slider').then((m) => m.SliderField),\n // Layout\n Fieldset: () => import('./components/layout/fieldset').then((m) => m.FieldsetComponent),\n FusedGroup: () => import('./components/layout/fused-group').then((m) => m.FusedGroupComponent),\n Tabs: () => import('./components/layout/tabs').then((m) => m.TabsComponent),\n Wizard: () => import('./components/layout/wizard').then((m) => m.WizardComponent),\n Placeholder: () => prime().then((m) => m.PlaceholderComponent),\n Html: () => prime().then((m) => m.HtmlComponent),\n Text: () => prime().then((m) => m.TextComponent),\n View: () => prime().then((m) => m.ViewComponent),\n Flex: () => elements().then((m) => m.FlexComponent),\n Callout: () => elements().then((m) => m.CalloutComponent),\n EmptyState: () => elements().then((m) => m.EmptyStateComponent),\n Icon: () => elements().then((m) => m.IconComponent),\n Image: () => elements().then((m) => m.ImageComponent),\n UnorderedList: () => elements().then((m) => m.UnorderedListComponent),\n // `HistoryAction`'s version list (`HasRecordVersions`).\n RecordVersions: () =>\n import('./components/versions/record-versions').then((m) => m.RecordVersionsComponent),\n // Infolist entries\n TextEntry: () => import('./components/entries/text-entry').then((m) => m.TextEntryComponent),\n IconEntry: () => entries().then((m) => m.IconEntryComponent),\n ImageEntry: () => entries().then((m) => m.ImageEntryComponent),\n CodeEntry: () => import('./components/entries/code-entry').then((m) => m.CodeEntryComponent),\n ColorEntry: () => entries().then((m) => m.ColorEntryComponent),\n KeyValueEntry: () => entries().then((m) => m.KeyValueEntryComponent),\n RepeatableEntry: () => entries().then((m) => m.RepeatableEntryComponent),\n ViewEntry: () => import('./components/entries/view-entry').then((m) => m.ViewEntryComponent),\n})\n\n/** Built-in renderers for every schema `type` the PHP side emits. */\nexport function createDefaultRegistry(): ComponentRegistry<AnyComponent> {\n return new ComponentRegistry<AnyComponent>({\n ...builtInComponents.map(discoveredComponent).components,\n // Core set: on nearly every page, so in the main chunk.\n TextInput: TextInputField,\n Hidden: HiddenField,\n Checkbox: CheckboxField,\n Toggle: ToggleField,\n Select: SelectField,\n RichEditor: RichEditorField,\n MarkdownEditor: RichEditorField,\n CodeEditor: CodeEditorField,\n ModalTableSelect: ModalTableSelectField,\n IconPicker: IconPickerField,\n // Table filters\n QueryBuilderRules: QueryBuilderRulesField,\n // Layout\n Grid: GridComponent,\n Group: GridComponent,\n Section: SectionComponent,\n Tab: GridComponent,\n Step: GridComponent,\n Actions: ActionsComponent,\n // First-party plugins (alfasix/alfakit-calendar, alfasix/alfakit-tree), lazy-loaded\n 'widget:calendar': CalendarWidget,\n tree: Tree,\n // alfasix/alfakit-translation-manager, lazy-loaded\n 'translation-manager': TranslationManager,\n // alfasix/alfakit-kanban: the page component and the widget share the key.\n kanban: Kanban,\n // alfasix/alfakit-file-manager: the page component (lazy-loaded) and the picker field.\n 'file-manager': FileManager,\n FileManagerPicker: FileManagerPickerField,\n // alfasix/alfakit-ai: the topbar copilot (its chat loads on first open).\n 'ai:copilot': AiCopilot,\n // alfasix/alfakit-ai `streaming()`: answers streamed into modal forms (lazy-loaded).\n 'ai:stream': AiStream,\n // alfasix/alfakit-analytics: the dashboard's top lists.\n 'analytics:breakdown': AnalyticsBreakdown,\n // alfasix/alfakit-cms: the page editor's autosave and live preview.\n CmsLivePreview,\n // alfasix/alfakit-helpdesk: the agent inbox page component, lazy-loaded.\n 'helpdesk:inbox': HelpdeskInbox,\n })\n}\n"],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CreateAlfakitOptions } from "./create-alfakit.js";
|
|
2
|
+
import { InertiaAppResponse, Page } from "@inertiajs/core";
|
|
3
|
+
//#region src/server.d.ts
|
|
4
|
+
export interface CreateAlfakitServerOptions extends CreateAlfakitOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Render Inertia pages that are neither Alfakit pages (they lack the shared `alfakit` prop)
|
|
7
|
+
* nor registered with `pages`, e.g. the rest of your application. Without it those pages
|
|
8
|
+
* render in the browser only.
|
|
9
|
+
*/
|
|
10
|
+
fallback?: (page: Page) => InertiaAppResponse;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Server-side rendering for Alfakit panels: returns the render callback for Inertia's SSR
|
|
14
|
+
* server. Pass the same components and pages as `createAlfakit()` so both sides render
|
|
15
|
+
* the same tree.
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // resources/js/ssr.tsx
|
|
19
|
+
* import createServer from '@inertiajs/react/server'
|
|
20
|
+
* import { createAlfakitServer } from '@alfakit/react/server'
|
|
21
|
+
*
|
|
22
|
+
* createServer(createAlfakitServer({ components: { 'map-picker': MapPicker } }))
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function createAlfakitServer(options?: CreateAlfakitServerOptions): (page: Page) => InertiaAppResponse;
|
|
26
|
+
//#endregion
|
|
27
|
+
export type { CreateAlfakitOptions };
|
|
28
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","names":[],"sources":["../src/server.tsx"],"mappings":";;;iBASiB,mCAAmC;;;;;;EAMlD,YAAY,MAAM,SAAS;;;;;;;;;;;;;;;wBAgBb,oBACd,UAAS,8BACP,MAAM,SAAS"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { bootAlfakit } from "./create-alfakit.js";
|
|
2
|
+
import { discoveryKey } from "@alfakit/core";
|
|
3
|
+
import { renderToString } from "react-dom/server";
|
|
4
|
+
//#region src/server.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Server-side rendering for Alfakit panels: returns the render callback for Inertia's SSR
|
|
7
|
+
* server. Pass the same components and pages as `createAlfakit()` so both sides render
|
|
8
|
+
* the same tree.
|
|
9
|
+
*
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // resources/js/ssr.tsx
|
|
12
|
+
* import createServer from '@inertiajs/react/server'
|
|
13
|
+
* import { createAlfakitServer } from '@alfakit/react/server'
|
|
14
|
+
*
|
|
15
|
+
* createServer(createAlfakitServer({ components: { 'map-picker': MapPicker } }))
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function createAlfakitServer(options = {}) {
|
|
19
|
+
const { fallback, ...alfakitOptions } = options;
|
|
20
|
+
let render = null;
|
|
21
|
+
const discoveredPages = new Set(Object.keys(alfakitOptions.discover ?? {}).flatMap((path) => {
|
|
22
|
+
const key = discoveryKey(path);
|
|
23
|
+
return key?.section === "pages" ? [key.key] : [];
|
|
24
|
+
}));
|
|
25
|
+
return async (page) => {
|
|
26
|
+
const registered = alfakitOptions.pages !== void 0 && page.component in alfakitOptions.pages || discoveredPages.has(page.component);
|
|
27
|
+
if (!page.props.alfakit && !registered) return fallback ? fallback(page) : null;
|
|
28
|
+
render ??= bootAlfakit(alfakitOptions).then((result) => {
|
|
29
|
+
if (typeof result !== "function") throw new Error("Alfakit: createAlfakitServer() must run on the server (no `window`).");
|
|
30
|
+
return result;
|
|
31
|
+
});
|
|
32
|
+
return (await render)(page, renderToString);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { createAlfakitServer };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","names":[],"sources":["../src/server.tsx"],"sourcesContent":["import { discoveryKey } from '@alfakit/core'\nimport type { InertiaAppResponse, Page } from '@inertiajs/core'\nimport { renderToString } from 'react-dom/server'\nimport {\n bootAlfakit,\n type AlfakitRenderFunction,\n type CreateAlfakitOptions,\n} from './create-alfakit'\n\nexport interface CreateAlfakitServerOptions extends CreateAlfakitOptions {\n /**\n * Render Inertia pages that are neither Alfakit pages (they lack the shared `alfakit` prop)\n * nor registered with `pages`, e.g. the rest of your application. Without it those pages\n * render in the browser only.\n */\n fallback?: (page: Page) => InertiaAppResponse\n}\n\n/**\n * Server-side rendering for Alfakit panels: returns the render callback for Inertia's SSR\n * server. Pass the same components and pages as `createAlfakit()` so both sides render\n * the same tree.\n *\n * ```tsx\n * // resources/js/ssr.tsx\n * import createServer from '@inertiajs/react/server'\n * import { createAlfakitServer } from '@alfakit/react/server'\n *\n * createServer(createAlfakitServer({ components: { 'map-picker': MapPicker } }))\n * ```\n */\nexport function createAlfakitServer(\n options: CreateAlfakitServerOptions = {},\n): (page: Page) => InertiaAppResponse {\n const { fallback, ...alfakitOptions } = options\n let render: Promise<AlfakitRenderFunction> | null = null\n const discoveredPages = new Set(\n Object.keys(alfakitOptions.discover ?? {}).flatMap((path) => {\n const key = discoveryKey(path)\n\n return key?.section === 'pages' ? [key.key] : []\n }),\n )\n\n return async (page) => {\n // Panel pages and the pages registered with `pages` render here; any other page goes to\n // `fallback`, or `null` tells Laravel to fall back to client-side rendering for it.\n const registered =\n (alfakitOptions.pages !== undefined && page.component in alfakitOptions.pages) ||\n discoveredPages.has(page.component)\n\n if (!(page.props as Record<string, unknown>).alfakit && !registered) {\n return fallback ? fallback(page) : (null as unknown as void)\n }\n\n render ??= bootAlfakit(alfakitOptions).then((result) => {\n if (typeof result !== 'function') {\n throw new Error('Alfakit: createAlfakitServer() must run on the server (no `window`).')\n }\n\n return result\n })\n\n return (await render)(page, renderToString)\n }\n}\n\nexport type { CreateAlfakitOptions } from './create-alfakit'\n"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,SAAgB,oBACd,UAAsC,CAAC,GACH;CACpC,MAAM,EAAE,UAAU,GAAG,mBAAmB;CACxC,IAAI,SAAgD;CACpD,MAAM,kBAAkB,IAAI,IAC1B,OAAO,KAAK,eAAe,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS;EAC3D,MAAM,MAAM,aAAa,IAAI;EAE7B,OAAO,KAAK,YAAY,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;CACjD,CAAC,CACH;CAEA,OAAO,OAAO,SAAS;EAGrB,MAAM,aACH,eAAe,UAAU,KAAA,KAAa,KAAK,aAAa,eAAe,SACxE,gBAAgB,IAAI,KAAK,SAAS;EAEpC,IAAI,CAAE,KAAK,MAAkC,WAAW,CAAC,YACvD,OAAO,WAAW,SAAS,IAAI,IAAK;EAGtC,WAAW,YAAY,cAAc,CAAC,CAAC,MAAM,WAAW;GACtD,IAAI,OAAO,WAAW,YACpB,MAAM,IAAI,MAAM,sEAAsE;GAGxF,OAAO;EACT,CAAC;EAED,QAAQ,MAAM,OAAA,CAAQ,MAAM,cAAc;CAC5C;AACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AnyComponent } from "../context.js";
|
|
2
|
+
import { ContentBlock, StandaloneComponentSchema } from "@alfakit/core";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
//#region src/standalone/alfakit-component.d.ts
|
|
5
|
+
export interface AlfakitComponentProps {
|
|
6
|
+
/** The payload: `ContactForm::make()` passed as an Inertia prop. */
|
|
7
|
+
component: StandaloneComponentSchema;
|
|
8
|
+
/** Renderer overrides for this instance (`{ TextInput: MyInput }`), on top of `configureAlfakit()`. */
|
|
9
|
+
components?: Record<string, AnyComponent>;
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Rendered above the content blocks (after the heading and actions). */
|
|
12
|
+
header?: ReactNode;
|
|
13
|
+
/** Rendered below the content blocks. */
|
|
14
|
+
footer?: ReactNode;
|
|
15
|
+
/** Render each content block yourself (e.g. to lay a form and a table side by side). */
|
|
16
|
+
children?: (blocks: ContentBlock[], render: (block: ContentBlock) => ReactNode) => ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Renders an Alfakit component outside a panel: a form, table, infolist, widgets or any mix
|
|
20
|
+
* (`AlfaSix\Alfakit\Standalone\*`) in any Inertia page of the application. Needs no
|
|
21
|
+
* `createAlfakit()` and no panel layout: it provides its own translator, registry, action
|
|
22
|
+
* runner and modals, and inherits the application's shadcn tokens.
|
|
23
|
+
*
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <AlfakitComponent component={orders} className="max-w-4xl" />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function AlfakitComponent({ component, components, className, header, footer, children }: AlfakitComponentProps): import("react").JSX.Element;
|
|
29
|
+
//#endregion
|
|
30
|
+
//# sourceMappingURL=alfakit-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alfakit-component.d.ts","names":[],"sources":["../../src/standalone/alfakit-component.tsx"],"mappings":";;;;iBAiCiB;;EAEf,WAAW;;EAEX,aAAa,eAAe;EAC5B;;EAEA,SAAS;;EAET,SAAS;;EAET,YAAY,QAAQ,gBAAgB,SAAS,OAAO,iBAAiB,cAAc;;;;;;;;;;;;wBAarE,mBACd,WACA,YACA,WACA,QACA,QACA,YACC,wCAAqB,IAAA"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { AlfakitProvider, StandaloneProvider, useOptionalAlfakit } from "../context.js";
|
|
2
|
+
import { PageActionProvider } from "../components/actions/action-context.js";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
import { TooltipProvider } from "../components/ui/tooltip.js";
|
|
5
|
+
import { ActionList } from "../components/actions/action-list.js";
|
|
6
|
+
import { claimToaster, createStandaloneContext, createStandaloneRegistry, ensureStandaloneRuntime, hasToaster } from "./runtime.js";
|
|
7
|
+
import { ContentBlockRenderer } from "../pages/page.js";
|
|
8
|
+
import { ActionModals } from "../components/actions/action-modals.js";
|
|
9
|
+
import { AlfakitToaster } from "./alfakit-toaster.js";
|
|
10
|
+
import { StandaloneComponentState, findStandalonePropName, registerStandaloneProp, standalonePanelSchema } from "@alfakit/core";
|
|
11
|
+
import { usePage } from "@inertiajs/react";
|
|
12
|
+
import { useEffect, useMemo, useState } from "react";
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { Direction } from "radix-ui";
|
|
15
|
+
//#region src/standalone/alfakit-component.tsx
|
|
16
|
+
/**
|
|
17
|
+
* Renders an Alfakit component outside a panel: a form, table, infolist, widgets or any mix
|
|
18
|
+
* (`AlfaSix\Alfakit\Standalone\*`) in any Inertia page of the application. Needs no
|
|
19
|
+
* `createAlfakit()` and no panel layout: it provides its own translator, registry, action
|
|
20
|
+
* runner and modals, and inherits the application's shadcn tokens.
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <AlfakitComponent component={orders} className="max-w-4xl" />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function AlfakitComponent({ component, components, className, header, footer, children }) {
|
|
27
|
+
const parent = useOptionalAlfakit();
|
|
28
|
+
const props = useOptionalPageProps();
|
|
29
|
+
const [, setVersion] = useState(0);
|
|
30
|
+
const overrideKeys = Object.keys(components ?? {}).join(",");
|
|
31
|
+
const state = useMemo(() => new StandaloneComponentState(component, () => setVersion((value) => value + 1)), []);
|
|
32
|
+
state.setComponent(component);
|
|
33
|
+
const context = useMemo(() => {
|
|
34
|
+
const poll = (target, interval) => state.poll(target, interval);
|
|
35
|
+
if (parent) return {
|
|
36
|
+
...parent,
|
|
37
|
+
registry: createStandaloneRegistry(components, parent.registry),
|
|
38
|
+
poll
|
|
39
|
+
};
|
|
40
|
+
return createStandaloneContext({
|
|
41
|
+
action: component.endpoints.action,
|
|
42
|
+
modal: component.endpoints.modal
|
|
43
|
+
}, components, poll);
|
|
44
|
+
}, [
|
|
45
|
+
parent,
|
|
46
|
+
state,
|
|
47
|
+
overrideKeys
|
|
48
|
+
]);
|
|
49
|
+
context.actions.setEndpoints({
|
|
50
|
+
action: component.endpoints.action,
|
|
51
|
+
modal: component.endpoints.modal
|
|
52
|
+
});
|
|
53
|
+
if (!parent || !props?.alfakit) {
|
|
54
|
+
context.translator.setTranslations(component.translations ?? {});
|
|
55
|
+
context.translator.setLocale(component.localization?.tag ?? "en");
|
|
56
|
+
}
|
|
57
|
+
const panel = useMemo(() => standalonePanelSchema(component), [component]);
|
|
58
|
+
const page = state.page;
|
|
59
|
+
const direction = component.localization?.direction ?? "ltr";
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
ensureStandaloneRuntime();
|
|
62
|
+
}, []);
|
|
63
|
+
const propName = findStandalonePropName(props, component);
|
|
64
|
+
useEffect(() => registerStandaloneProp(propName ?? null), [propName]);
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
state.loadLazy();
|
|
67
|
+
}, [state, component.token]);
|
|
68
|
+
const [ownsToaster, setOwnsToaster] = useState(false);
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (parent) return;
|
|
71
|
+
let release = null;
|
|
72
|
+
let cancelled = false;
|
|
73
|
+
queueMicrotask(() => {
|
|
74
|
+
if (cancelled || hasToaster()) return;
|
|
75
|
+
release = claimToaster();
|
|
76
|
+
setOwnsToaster(true);
|
|
77
|
+
});
|
|
78
|
+
return () => {
|
|
79
|
+
cancelled = true;
|
|
80
|
+
release?.();
|
|
81
|
+
};
|
|
82
|
+
}, [parent]);
|
|
83
|
+
const render = (block) => /* @__PURE__ */ jsx(ContentBlockRenderer, { block }, block.key);
|
|
84
|
+
const actionContext = useMemo(() => ({
|
|
85
|
+
token: component.token,
|
|
86
|
+
component: "page"
|
|
87
|
+
}), [component.token]);
|
|
88
|
+
const body = /* @__PURE__ */ jsxs(PageActionProvider, {
|
|
89
|
+
value: actionContext,
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ jsxs("div", {
|
|
92
|
+
"data-slot": "standalone",
|
|
93
|
+
"data-alfakit-component": component.class,
|
|
94
|
+
dir: direction,
|
|
95
|
+
className: cn("flex flex-col gap-6", className),
|
|
96
|
+
children: [
|
|
97
|
+
(page.heading || page.headerActions?.length) && /* @__PURE__ */ jsxs("header", {
|
|
98
|
+
"data-slot": "page-header",
|
|
99
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
|
|
100
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
101
|
+
className: "min-w-0",
|
|
102
|
+
children: [page.heading && /* @__PURE__ */ jsx("h2", {
|
|
103
|
+
className: "text-xl font-semibold tracking-tight",
|
|
104
|
+
children: page.heading
|
|
105
|
+
}), page.subheading && /* @__PURE__ */ jsx("p", {
|
|
106
|
+
className: "text-muted-foreground mt-1 text-sm",
|
|
107
|
+
children: page.subheading
|
|
108
|
+
})]
|
|
109
|
+
}), page.headerActions && page.headerActions.length > 0 && /* @__PURE__ */ jsx(ActionList, {
|
|
110
|
+
actions: page.headerActions,
|
|
111
|
+
context: actionContext,
|
|
112
|
+
align: "end",
|
|
113
|
+
className: "max-w-full shrink-0"
|
|
114
|
+
})]
|
|
115
|
+
}),
|
|
116
|
+
header,
|
|
117
|
+
children ? children(page.content, render) : page.content.map(render),
|
|
118
|
+
footer
|
|
119
|
+
]
|
|
120
|
+
}),
|
|
121
|
+
/* @__PURE__ */ jsx(ActionModals, {}),
|
|
122
|
+
ownsToaster && /* @__PURE__ */ jsx(AlfakitToaster, { claimed: true })
|
|
123
|
+
]
|
|
124
|
+
});
|
|
125
|
+
return /* @__PURE__ */ jsx(AlfakitProvider, {
|
|
126
|
+
value: context,
|
|
127
|
+
children: /* @__PURE__ */ jsx(StandaloneProvider, {
|
|
128
|
+
value: {
|
|
129
|
+
panel,
|
|
130
|
+
page
|
|
131
|
+
},
|
|
132
|
+
children: parent ? body : /* @__PURE__ */ jsx(Direction.Provider, {
|
|
133
|
+
dir: direction,
|
|
134
|
+
children: /* @__PURE__ */ jsx(TooltipProvider, {
|
|
135
|
+
delayDuration: 0,
|
|
136
|
+
children: body
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The host page's Inertia props, or undefined when rendered outside an Inertia app (a
|
|
144
|
+
* component test, Storybook, a plain server render): partial reloads then reload every prop.
|
|
145
|
+
*/
|
|
146
|
+
function useOptionalPageProps() {
|
|
147
|
+
try {
|
|
148
|
+
return usePage().props;
|
|
149
|
+
} catch {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//#endregion
|
|
154
|
+
export { AlfakitComponent };
|
|
155
|
+
|
|
156
|
+
//# sourceMappingURL=alfakit-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alfakit-component.js","names":[],"sources":["../../src/standalone/alfakit-component.tsx"],"sourcesContent":["import {\n StandaloneComponentState,\n findStandalonePropName,\n registerStandaloneProp,\n standalonePanelSchema,\n type ContentBlock,\n type StandaloneComponentSchema,\n} from '@alfakit/core'\nimport { usePage } from '@inertiajs/react'\nimport { Direction } from 'radix-ui'\nimport { useEffect, useMemo, useState, type ReactNode } from 'react'\nimport { PageActionProvider } from '../components/actions/action-context'\nimport { ActionList } from '../components/actions/action-list'\nimport { ActionModals } from '../components/actions/action-modals'\nimport { TooltipProvider } from '../components/ui/tooltip'\nimport {\n AlfakitProvider,\n StandaloneProvider,\n useOptionalAlfakit,\n type AlfakitContextValue,\n type AnyComponent,\n} from '../context'\nimport { cn } from '../lib/utils'\nimport { ContentBlockRenderer } from '../pages/page'\nimport { AlfakitToaster } from './alfakit-toaster'\nimport {\n claimToaster,\n createStandaloneContext,\n createStandaloneRegistry,\n ensureStandaloneRuntime,\n hasToaster,\n} from './runtime'\n\nexport interface AlfakitComponentProps {\n /** The payload: `ContactForm::make()` passed as an Inertia prop. */\n component: StandaloneComponentSchema\n /** Renderer overrides for this instance (`{ TextInput: MyInput }`), on top of `configureAlfakit()`. */\n components?: Record<string, AnyComponent>\n className?: string\n /** Rendered above the content blocks (after the heading and actions). */\n header?: ReactNode\n /** Rendered below the content blocks. */\n footer?: ReactNode\n /** Render each content block yourself (e.g. to lay a form and a table side by side). */\n children?: (blocks: ContentBlock[], render: (block: ContentBlock) => ReactNode) => ReactNode\n}\n\n/**\n * Renders an Alfakit component outside a panel: a form, table, infolist, widgets or any mix\n * (`AlfaSix\\Alfakit\\Standalone\\*`) in any Inertia page of the application. Needs no\n * `createAlfakit()` and no panel layout: it provides its own translator, registry, action\n * runner and modals, and inherits the application's shadcn tokens.\n *\n * ```tsx\n * <AlfakitComponent component={orders} className=\"max-w-4xl\" />\n * ```\n */\nexport function AlfakitComponent({\n component,\n components,\n className,\n header,\n footer,\n children,\n}: AlfakitComponentProps) {\n const parent = useOptionalAlfakit()\n const props = useOptionalPageProps()\n const [, setVersion] = useState(0)\n // The registry overrides are an object literal in JSX: compare them by their keys.\n const overrideKeys = Object.keys(components ?? {}).join(',')\n\n // Lazy and polled schemas of this component, merged into the page it renders.\n const state = useMemo(\n () => new StandaloneComponentState(component, () => setVersion((value) => value + 1)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n )\n state.setComponent(component)\n\n const context = useMemo<AlfakitContextValue>(() => {\n const poll = (target: string, interval: string | number | null | undefined) =>\n state.poll(target, interval)\n\n if (parent) {\n return { ...parent, registry: createStandaloneRegistry(components, parent.registry), poll }\n }\n\n return createStandaloneContext(\n { action: component.endpoints.action, modal: component.endpoints.modal },\n components,\n poll,\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parent, state, overrideKeys])\n\n // Endpoints follow the latest payload (they change per locale or path).\n context.actions.setEndpoints({\n action: component.endpoints.action,\n modal: component.endpoints.modal,\n })\n\n // Inside `createAlfakit()` the panel feeds the shared translator; on a page without the\n // `alfakit` prop (the rest of the app) the component's own translations apply.\n const ownsTranslator = !parent || !props?.alfakit\n\n if (ownsTranslator) {\n context.translator.setTranslations(component.translations ?? {})\n context.translator.setLocale(component.localization?.tag ?? 'en')\n }\n\n const panel = useMemo(() => standalonePanelSchema(component), [component])\n const page = state.page\n const direction = component.localization?.direction ?? 'ltr'\n\n useEffect(() => {\n ensureStandaloneRuntime()\n }, [])\n\n // Partial reloads (sorting, paging, inline edits) request this component's own prop.\n const propName = findStandalonePropName(props, component)\n\n useEffect(() => registerStandaloneProp(propName ?? null), [propName])\n\n useEffect(() => {\n void state.loadLazy()\n }, [state, component.token])\n\n // Toasts: use the layout's <AlfakitToaster /> when there is one, else the first component\n // on the page renders one (checked after every component's effects ran).\n const [ownsToaster, setOwnsToaster] = useState(false)\n\n useEffect(() => {\n if (parent) return\n\n let release: (() => void) | null = null\n let cancelled = false\n\n queueMicrotask(() => {\n if (cancelled || hasToaster()) return\n\n release = claimToaster()\n setOwnsToaster(true)\n })\n\n return () => {\n cancelled = true\n release?.()\n }\n }, [parent])\n\n const render = (block: ContentBlock) => <ContentBlockRenderer key={block.key} block={block} />\n const actionContext = useMemo(\n () => ({ token: component.token, component: 'page' }),\n [component.token],\n )\n\n const body = (\n <PageActionProvider value={actionContext}>\n <div\n data-slot=\"standalone\"\n data-alfakit-component={component.class}\n dir={direction}\n className={cn('flex flex-col gap-6', className)}\n >\n {(page.heading || page.headerActions?.length) && (\n <header\n data-slot=\"page-header\"\n className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\"\n >\n <div className=\"min-w-0\">\n {page.heading && (\n <h2 className=\"text-xl font-semibold tracking-tight\">{page.heading}</h2>\n )}\n {page.subheading && (\n <p className=\"text-muted-foreground mt-1 text-sm\">{page.subheading}</p>\n )}\n </div>\n {page.headerActions && page.headerActions.length > 0 && (\n <ActionList\n actions={page.headerActions}\n context={actionContext}\n align=\"end\"\n className=\"max-w-full shrink-0\"\n />\n )}\n </header>\n )}\n {header}\n {children ? children(page.content, render) : page.content.map(render)}\n {footer}\n </div>\n <ActionModals />\n {ownsToaster && <AlfakitToaster claimed />}\n </PageActionProvider>\n )\n\n return (\n <AlfakitProvider value={context}>\n <StandaloneProvider value={{ panel, page }}>\n {parent ? (\n body\n ) : (\n <Direction.Provider dir={direction}>\n <TooltipProvider delayDuration={0}>{body}</TooltipProvider>\n </Direction.Provider>\n )}\n </StandaloneProvider>\n </AlfakitProvider>\n )\n}\n\n/**\n * The host page's Inertia props, or undefined when rendered outside an Inertia app (a\n * component test, Storybook, a plain server render): partial reloads then reload every prop.\n */\nfunction useOptionalPageProps(): Record<string, unknown> | undefined {\n try {\n return usePage().props as Record<string, unknown>\n } catch {\n return undefined\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ToastPosition } from "@alfakit/core";
|
|
2
|
+
//#region src/standalone/alfakit-toaster.d.ts
|
|
3
|
+
export interface AlfakitToasterProps {
|
|
4
|
+
/** Where toasts appear; `start`/`end` follow the reading direction. */
|
|
5
|
+
position?: ToastPosition;
|
|
6
|
+
dir?: 'ltr' | 'rtl';
|
|
7
|
+
/**
|
|
8
|
+
* Render sonner's `<Toaster>` too (default). Pass `false` when your layout already mounts
|
|
9
|
+
* one: flashed Alfakit notifications are then shown through it.
|
|
10
|
+
*/
|
|
11
|
+
toaster?: boolean;
|
|
12
|
+
/** @internal Set by `<AlfakitComponent>` when it takes the toaster role. */
|
|
13
|
+
claimed?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Shows notifications flashed by standalone components (`Notification::make()->send()`
|
|
17
|
+
* from `submit()` or an action) as toasts. Place it once in your app layout; a page whose
|
|
18
|
+
* layout has none gets one from its first `<AlfakitComponent>`.
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <AlfakitToaster />
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function AlfakitToaster({ position, dir, toaster, claimed }: AlfakitToasterProps): import("react").JSX.Element | null;
|
|
25
|
+
//#endregion
|
|
26
|
+
//# sourceMappingURL=alfakit-toaster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alfakit-toaster.d.ts","names":[],"sources":["../../src/standalone/alfakit-toaster.tsx"],"mappings":";;iBAMiB;;EAEf,WAAW;EACX;;;;;EAKA;;EAEA;;;;;;;;;;;wBAYc,iBACd,UACA,KACA,SACA,WACC,sCAAmB,IAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useOptionalAlfakit } from "../context.js";
|
|
2
|
+
import { claimToaster, createStandaloneContext, ensureFlashToasts } from "./runtime.js";
|
|
3
|
+
import { Toaster } from "../components/ui/sonner.js";
|
|
4
|
+
import { resolveToastPosition } from "@alfakit/core";
|
|
5
|
+
import { useEffect, useMemo } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
//#region src/standalone/alfakit-toaster.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Shows notifications flashed by standalone components (`Notification::make()->send()`
|
|
10
|
+
* from `submit()` or an action) as toasts. Place it once in your app layout; a page whose
|
|
11
|
+
* layout has none gets one from its first `<AlfakitComponent>`.
|
|
12
|
+
*
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <AlfakitToaster />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
function AlfakitToaster({ position, dir = "ltr", toaster = true, claimed = false }) {
|
|
18
|
+
const parent = useOptionalAlfakit();
|
|
19
|
+
const context = useMemo(() => parent ?? createStandaloneContext({
|
|
20
|
+
action: "",
|
|
21
|
+
modal: ""
|
|
22
|
+
}, void 0, void 0), [parent]);
|
|
23
|
+
useEffect(() => claimed ? void 0 : claimToaster(), [claimed]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
ensureFlashToasts(context.registry);
|
|
26
|
+
}, [context]);
|
|
27
|
+
if (!toaster) return null;
|
|
28
|
+
return /* @__PURE__ */ jsx(Toaster, {
|
|
29
|
+
position: resolveToastPosition(position, dir),
|
|
30
|
+
dir,
|
|
31
|
+
richColors: true,
|
|
32
|
+
closeButton: true
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { AlfakitToaster };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=alfakit-toaster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alfakit-toaster.js","names":[],"sources":["../../src/standalone/alfakit-toaster.tsx"],"sourcesContent":["import { resolveToastPosition, type ToastPosition } from '@alfakit/core'\nimport { useEffect, useMemo } from 'react'\nimport { Toaster } from '../components/ui/sonner'\nimport { useOptionalAlfakit, type AlfakitContextValue } from '../context'\nimport { claimToaster, createStandaloneContext, ensureFlashToasts } from './runtime'\n\nexport interface AlfakitToasterProps {\n /** Where toasts appear; `start`/`end` follow the reading direction. */\n position?: ToastPosition\n dir?: 'ltr' | 'rtl'\n /**\n * Render sonner's `<Toaster>` too (default). Pass `false` when your layout already mounts\n * one: flashed Alfakit notifications are then shown through it.\n */\n toaster?: boolean\n /** @internal Set by `<AlfakitComponent>` when it takes the toaster role. */\n claimed?: boolean\n}\n\n/**\n * Shows notifications flashed by standalone components (`Notification::make()->send()`\n * from `submit()` or an action) as toasts. Place it once in your app layout; a page whose\n * layout has none gets one from its first `<AlfakitComponent>`.\n *\n * ```tsx\n * <AlfakitToaster />\n * ```\n */\nexport function AlfakitToaster({\n position,\n dir = 'ltr',\n toaster = true,\n claimed = false,\n}: AlfakitToasterProps) {\n const parent = useOptionalAlfakit()\n\n // Outside <AlfakitComponent> the flash reader needs a registry for custom toast views.\n const context = useMemo<AlfakitContextValue>(\n () => parent ?? createStandaloneContext({ action: '', modal: '' }, undefined, undefined),\n [parent],\n )\n\n useEffect(() => (claimed ? undefined : claimToaster()), [claimed])\n\n useEffect(() => {\n ensureFlashToasts(context.registry)\n }, [context])\n\n if (!toaster) return null\n\n return <Toaster position={resolveToastPosition(position, dir)} dir={dir} richColors closeButton />\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,SAAgB,eAAe,EAC7B,UACA,MAAM,OACN,UAAU,MACV,UAAU,SACY;CACtB,MAAM,SAAS,mBAAmB;CAGlC,MAAM,UAAU,cACR,UAAU,wBAAwB;EAAE,QAAQ;EAAI,OAAO;CAAG,GAAG,KAAA,GAAW,KAAA,CAAS,GACvF,CAAC,MAAM,CACT;CAEA,gBAAiB,UAAU,KAAA,IAAY,aAAa,GAAI,CAAC,OAAO,CAAC;CAEjE,gBAAgB;EACd,kBAAkB,QAAQ,QAAQ;CACpC,GAAG,CAAC,OAAO,CAAC;CAEZ,IAAI,CAAC,SAAS,OAAO;CAErB,OAAO,oBAAC,SAAD;EAAS,UAAU,qBAAqB,UAAU,GAAG;EAAQ;EAAK,YAAA;EAAW,aAAA;CAAa,CAAA;AACnG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyComponent } from "../context.js";
|
|
2
|
+
import { StandaloneDefaults } from "@alfakit/core";
|
|
3
|
+
//#region src/standalone/configure.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Global defaults for every `<AlfakitComponent>` of the application, for pages outside a
|
|
6
|
+
* panel (no `createAlfakit()`). Call it once in your app entry:
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* configureAlfakit({ components: { TextInput: MyInput, 'map-picker': MapPicker } })
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function configureAlfakit(options: StandaloneDefaults<AnyComponent>): void;
|
|
13
|
+
//#endregion
|
|
14
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","names":[],"sources":["../../src/standalone/configure.ts"],"mappings":";;;;;;;;;;;wBAagB,iBAAiB,SAAS,mBAAmB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/standalone/configure.ts
|
|
2
|
+
let defaults = {};
|
|
3
|
+
/**
|
|
4
|
+
* Global defaults for every `<AlfakitComponent>` of the application, for pages outside a
|
|
5
|
+
* panel (no `createAlfakit()`). Call it once in your app entry:
|
|
6
|
+
*
|
|
7
|
+
* ```tsx
|
|
8
|
+
* configureAlfakit({ components: { TextInput: MyInput, 'map-picker': MapPicker } })
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
function configureAlfakit(options) {
|
|
12
|
+
defaults = {
|
|
13
|
+
...defaults,
|
|
14
|
+
...options,
|
|
15
|
+
components: {
|
|
16
|
+
...defaults.components,
|
|
17
|
+
...options.components
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function getStandaloneDefaults() {
|
|
22
|
+
return defaults;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { configureAlfakit, getStandaloneDefaults };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","names":[],"sources":["../../src/standalone/configure.ts"],"sourcesContent":["import type { StandaloneDefaults } from '@alfakit/core'\nimport type { AnyComponent } from '../context'\n\nlet defaults: StandaloneDefaults<AnyComponent> = {}\n\n/**\n * Global defaults for every `<AlfakitComponent>` of the application, for pages outside a\n * panel (no `createAlfakit()`). Call it once in your app entry:\n *\n * ```tsx\n * configureAlfakit({ components: { TextInput: MyInput, 'map-picker': MapPicker } })\n * ```\n */\nexport function configureAlfakit(options: StandaloneDefaults<AnyComponent>): void {\n defaults = {\n ...defaults,\n ...options,\n components: { ...defaults.components, ...options.components },\n }\n}\n\nexport function getStandaloneDefaults(): StandaloneDefaults<AnyComponent> {\n return defaults\n}\n"],"mappings":";AAGA,IAAI,WAA6C,CAAC;;;;;;;;;AAUlD,SAAgB,iBAAiB,SAAiD;CAChF,WAAW;EACT,GAAG;EACH,GAAG;EACH,YAAY;GAAE,GAAG,SAAS;GAAY,GAAG,QAAQ;EAAW;CAC9D;AACF;AAEA,SAAgB,wBAA0D;CACxE,OAAO;AACT"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AlfakitComponent, AlfakitComponentProps } from "./alfakit-component.js";
|
|
2
|
+
import { AlfakitToaster, AlfakitToasterProps } from "./alfakit-toaster.js";
|
|
3
|
+
import { configureAlfakit } from "./configure.js";
|
|
4
|
+
export { AlfakitComponent, type AlfakitComponentProps, AlfakitToaster, type AlfakitToasterProps, configureAlfakit };
|