@pilotiq/pilotiq 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +154 -0
- package/CLAUDE.md +59 -3
- package/dist/Pilotiq.d.ts +83 -0
- package/dist/Pilotiq.d.ts.map +1 -1
- package/dist/Pilotiq.js +39 -0
- package/dist/Pilotiq.js.map +1 -1
- package/dist/actions/Action.d.ts +27 -99
- package/dist/actions/Action.d.ts.map +1 -1
- package/dist/actions/Action.js +52 -754
- package/dist/actions/Action.js.map +1 -1
- package/dist/actions/bulkFactories.d.ts +46 -0
- package/dist/actions/bulkFactories.d.ts.map +1 -0
- package/dist/actions/bulkFactories.js +144 -0
- package/dist/actions/bulkFactories.js.map +1 -0
- package/dist/actions/crudFactories.d.ts +94 -0
- package/dist/actions/crudFactories.d.ts.map +1 -0
- package/dist/actions/crudFactories.js +209 -0
- package/dist/actions/crudFactories.js.map +1 -0
- package/dist/actions/factoryHelpers.d.ts +108 -0
- package/dist/actions/factoryHelpers.d.ts.map +1 -0
- package/dist/actions/factoryHelpers.js +138 -0
- package/dist/actions/factoryHelpers.js.map +1 -0
- package/dist/actions/m2mFactories.d.ts +47 -0
- package/dist/actions/m2mFactories.d.ts.map +1 -0
- package/dist/actions/m2mFactories.js +173 -0
- package/dist/actions/m2mFactories.js.map +1 -0
- package/dist/actions/relationFactories.d.ts +93 -0
- package/dist/actions/relationFactories.d.ts.map +1 -0
- package/dist/actions/relationFactories.js +321 -0
- package/dist/actions/relationFactories.js.map +1 -0
- package/dist/elements/dispatchForm.js +1 -1
- package/dist/elements/dispatchForm.js.map +1 -1
- package/dist/elements/dispatchTable.js +1 -1
- package/dist/elements/dispatchTable.js.map +1 -1
- package/dist/fields/Field.d.ts +31 -0
- package/dist/fields/Field.d.ts.map +1 -1
- package/dist/fields/Field.js +25 -0
- package/dist/fields/Field.js.map +1 -1
- package/dist/pageData/breadcrumbs.d.ts +42 -0
- package/dist/pageData/breadcrumbs.d.ts.map +1 -0
- package/dist/pageData/breadcrumbs.js +172 -0
- package/dist/pageData/breadcrumbs.js.map +1 -0
- package/dist/pageData/forms.d.ts +137 -0
- package/dist/pageData/forms.d.ts.map +1 -0
- package/dist/pageData/forms.js +427 -0
- package/dist/pageData/forms.js.map +1 -0
- package/dist/pageData/helpers.d.ts +239 -0
- package/dist/pageData/helpers.d.ts.map +1 -0
- package/dist/pageData/helpers.js +703 -0
- package/dist/pageData/helpers.js.map +1 -0
- package/dist/pageData/misc.d.ts +76 -0
- package/dist/pageData/misc.d.ts.map +1 -0
- package/dist/pageData/misc.js +263 -0
- package/dist/pageData/misc.js.map +1 -0
- package/dist/pageData/navigation.d.ts +292 -0
- package/dist/pageData/navigation.d.ts.map +1 -0
- package/dist/pageData/navigation.js +591 -0
- package/dist/pageData/navigation.js.map +1 -0
- package/dist/pageData/relationPages.d.ts +172 -0
- package/dist/pageData/relationPages.d.ts.map +1 -0
- package/dist/pageData/relationPages.js +867 -0
- package/dist/pageData/relationPages.js.map +1 -0
- package/dist/pageData/relationTabs.d.ts +65 -0
- package/dist/pageData/relationTabs.d.ts.map +1 -0
- package/dist/pageData/relationTabs.js +258 -0
- package/dist/pageData/relationTabs.js.map +1 -0
- package/dist/pageData/resourcePages.d.ts +48 -0
- package/dist/pageData/resourcePages.d.ts.map +1 -0
- package/dist/pageData/resourcePages.js +504 -0
- package/dist/pageData/resourcePages.js.map +1 -0
- package/dist/pageData.d.ts +12 -792
- package/dist/pageData.d.ts.map +1 -1
- package/dist/pageData.js +24 -3797
- package/dist/pageData.js.map +1 -1
- package/dist/react/AppShell.d.ts +8 -0
- package/dist/react/AppShell.d.ts.map +1 -1
- package/dist/react/AppShell.js +11 -1
- package/dist/react/AppShell.js.map +1 -1
- package/dist/react/CollabExtensionFactoryRegistry.d.ts +47 -0
- package/dist/react/CollabExtensionFactoryRegistry.d.ts.map +1 -0
- package/dist/react/CollabExtensionFactoryRegistry.js +14 -0
- package/dist/react/CollabExtensionFactoryRegistry.js.map +1 -0
- package/dist/react/CollabRoomContext.d.ts +37 -0
- package/dist/react/CollabRoomContext.d.ts.map +1 -0
- package/dist/react/CollabRoomContext.js +12 -0
- package/dist/react/CollabRoomContext.js.map +1 -0
- package/dist/react/FormCollabBindingRegistry.d.ts +62 -0
- package/dist/react/FormCollabBindingRegistry.d.ts.map +1 -0
- package/dist/react/FormCollabBindingRegistry.js +14 -0
- package/dist/react/FormCollabBindingRegistry.js.map +1 -0
- package/dist/react/RecordWrapperGate.d.ts +25 -0
- package/dist/react/RecordWrapperGate.d.ts.map +1 -0
- package/dist/react/RecordWrapperGate.js +30 -0
- package/dist/react/RecordWrapperGate.js.map +1 -0
- package/dist/react/RecordWrapperRegistry.d.ts +31 -0
- package/dist/react/RecordWrapperRegistry.d.ts.map +1 -0
- package/dist/react/RecordWrapperRegistry.js +15 -0
- package/dist/react/RecordWrapperRegistry.js.map +1 -0
- package/dist/react/SchemaRenderer.d.ts +17 -23
- package/dist/react/SchemaRenderer.d.ts.map +1 -1
- package/dist/react/SchemaRenderer.js +71 -3647
- package/dist/react/SchemaRenderer.js.map +1 -1
- package/dist/react/component-slots.d.ts +103 -0
- package/dist/react/component-slots.d.ts.map +1 -0
- package/dist/react/component-slots.js +18 -0
- package/dist/react/component-slots.js.map +1 -0
- package/dist/react/fields/BuilderInput.d.ts.map +1 -1
- package/dist/react/fields/BuilderInput.js +21 -117
- package/dist/react/fields/BuilderInput.js.map +1 -1
- package/dist/react/fields/MarkdownInput.d.ts.map +1 -1
- package/dist/react/fields/MarkdownInput.js +1 -3
- package/dist/react/fields/MarkdownInput.js.map +1 -1
- package/dist/react/fields/RepeaterInput.d.ts.map +1 -1
- package/dist/react/fields/RepeaterInput.js +22 -127
- package/dist/react/fields/RepeaterInput.js.map +1 -1
- package/dist/react/fields/rowState.d.ts +40 -0
- package/dist/react/fields/rowState.d.ts.map +1 -0
- package/dist/react/fields/rowState.js +60 -0
- package/dist/react/fields/rowState.js.map +1 -0
- package/dist/react/fields/useRowReorderDnd.d.ts +28 -0
- package/dist/react/fields/useRowReorderDnd.d.ts.map +1 -0
- package/dist/react/fields/useRowReorderDnd.js +51 -0
- package/dist/react/fields/useRowReorderDnd.js.map +1 -0
- package/dist/react/index.d.ts +9 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +8 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/layouts/SidebarLayout.d.ts +1 -1
- package/dist/react/layouts/SidebarLayout.d.ts.map +1 -1
- package/dist/react/layouts/SidebarLayout.js +10 -2
- package/dist/react/layouts/SidebarLayout.js.map +1 -1
- package/dist/react/layouts/TopbarLayout.d.ts +1 -1
- package/dist/react/layouts/TopbarLayout.d.ts.map +1 -1
- package/dist/react/layouts/TopbarLayout.js +19 -11
- package/dist/react/layouts/TopbarLayout.js.map +1 -1
- package/dist/react/parseRecordEditUrl.d.ts +29 -0
- package/dist/react/parseRecordEditUrl.d.ts.map +1 -0
- package/dist/react/parseRecordEditUrl.js +25 -0
- package/dist/react/parseRecordEditUrl.js.map +1 -0
- package/dist/react/persistedState.d.ts +19 -0
- package/dist/react/persistedState.d.ts.map +1 -0
- package/dist/react/persistedState.js +51 -0
- package/dist/react/persistedState.js.map +1 -0
- package/dist/react/schemaRenderer/AlertRenderer.d.ts +12 -0
- package/dist/react/schemaRenderer/AlertRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/AlertRenderer.js +61 -0
- package/dist/react/schemaRenderer/AlertRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/EntryRenderer.d.ts +13 -0
- package/dist/react/schemaRenderer/EntryRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/EntryRenderer.js +277 -0
- package/dist/react/schemaRenderer/EntryRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/SectionRenderer.d.ts +16 -0
- package/dist/react/schemaRenderer/SectionRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/SectionRenderer.js +62 -0
- package/dist/react/schemaRenderer/SectionRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/SimpleElements.d.ts +25 -0
- package/dist/react/schemaRenderer/SimpleElements.d.ts.map +1 -0
- package/dist/react/schemaRenderer/SimpleElements.js +147 -0
- package/dist/react/schemaRenderer/SimpleElements.js.map +1 -0
- package/dist/react/schemaRenderer/TabsRenderer.d.ts +17 -0
- package/dist/react/schemaRenderer/TabsRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/TabsRenderer.js +31 -0
- package/dist/react/schemaRenderer/TabsRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/WizardRenderer.d.ts +34 -0
- package/dist/react/schemaRenderer/WizardRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/WizardRenderer.js +208 -0
- package/dist/react/schemaRenderer/WizardRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/action/ActionGroupTrigger.d.ts +21 -0
- package/dist/react/schemaRenderer/action/ActionGroupTrigger.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/ActionGroupTrigger.js +82 -0
- package/dist/react/schemaRenderer/action/ActionGroupTrigger.js.map +1 -0
- package/dist/react/schemaRenderer/action/ActionModalDialog.d.ts +30 -0
- package/dist/react/schemaRenderer/action/ActionModalDialog.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/ActionModalDialog.js +182 -0
- package/dist/react/schemaRenderer/action/ActionModalDialog.js.map +1 -0
- package/dist/react/schemaRenderer/action/ConfirmActionDialog.d.ts +17 -0
- package/dist/react/schemaRenderer/action/ConfirmActionDialog.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/ConfirmActionDialog.js +19 -0
- package/dist/react/schemaRenderer/action/ConfirmActionDialog.js.map +1 -0
- package/dist/react/schemaRenderer/action/HandlerActionButton.d.ts +16 -0
- package/dist/react/schemaRenderer/action/HandlerActionButton.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/HandlerActionButton.js +16 -0
- package/dist/react/schemaRenderer/action/HandlerActionButton.js.map +1 -0
- package/dist/react/schemaRenderer/action/MethodActionButton.d.ts +22 -0
- package/dist/react/schemaRenderer/action/MethodActionButton.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/MethodActionButton.js +26 -0
- package/dist/react/schemaRenderer/action/MethodActionButton.js.map +1 -0
- package/dist/react/schemaRenderer/action/buttons.d.ts +18 -0
- package/dist/react/schemaRenderer/action/buttons.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/buttons.js +74 -0
- package/dist/react/schemaRenderer/action/buttons.js.map +1 -0
- package/dist/react/schemaRenderer/action/helpers.d.ts +26 -0
- package/dist/react/schemaRenderer/action/helpers.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/helpers.js +126 -0
- package/dist/react/schemaRenderer/action/helpers.js.map +1 -0
- package/dist/react/schemaRenderer/action/renderAction.d.ts +21 -0
- package/dist/react/schemaRenderer/action/renderAction.d.ts.map +1 -0
- package/dist/react/schemaRenderer/action/renderAction.js +102 -0
- package/dist/react/schemaRenderer/action/renderAction.js.map +1 -0
- package/dist/react/schemaRenderer/columnFormat.d.ts +10 -0
- package/dist/react/schemaRenderer/columnFormat.d.ts.map +1 -0
- package/dist/react/schemaRenderer/columnFormat.js +76 -0
- package/dist/react/schemaRenderer/columnFormat.js.map +1 -0
- package/dist/react/schemaRenderer/constants.d.ts +8 -0
- package/dist/react/schemaRenderer/constants.d.ts.map +1 -0
- package/dist/react/schemaRenderer/constants.js +45 -0
- package/dist/react/schemaRenderer/constants.js.map +1 -0
- package/dist/react/schemaRenderer/form/FormRenderer.d.ts +29 -0
- package/dist/react/schemaRenderer/form/FormRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/form/FormRenderer.js +152 -0
- package/dist/react/schemaRenderer/form/FormRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/form/renderField.d.ts +6 -0
- package/dist/react/schemaRenderer/form/renderField.d.ts.map +1 -0
- package/dist/react/schemaRenderer/form/renderField.js +239 -0
- package/dist/react/schemaRenderer/form/renderField.js.map +1 -0
- package/dist/react/schemaRenderer/helpers.d.ts +32 -0
- package/dist/react/schemaRenderer/helpers.d.ts.map +1 -0
- package/dist/react/schemaRenderer/helpers.js +52 -0
- package/dist/react/schemaRenderer/helpers.js.map +1 -0
- package/dist/react/schemaRenderer/table/CardsLayoutBody.d.ts +60 -0
- package/dist/react/schemaRenderer/table/CardsLayoutBody.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/CardsLayoutBody.js +189 -0
- package/dist/react/schemaRenderer/table/CardsLayoutBody.js.map +1 -0
- package/dist/react/schemaRenderer/table/TableRenderer.d.ts +29 -0
- package/dist/react/schemaRenderer/table/TableRenderer.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/TableRenderer.js +85 -0
- package/dist/react/schemaRenderer/table/TableRenderer.js.map +1 -0
- package/dist/react/schemaRenderer/table/TableRendererBody.d.ts +18 -0
- package/dist/react/schemaRenderer/table/TableRendererBody.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/TableRendererBody.js +555 -0
- package/dist/react/schemaRenderer/table/TableRendererBody.js.map +1 -0
- package/dist/react/schemaRenderer/table/filters.d.ts +263 -0
- package/dist/react/schemaRenderer/table/filters.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/filters.js +497 -0
- package/dist/react/schemaRenderer/table/filters.js.map +1 -0
- package/dist/react/schemaRenderer/table/formatCell.d.ts +11 -0
- package/dist/react/schemaRenderer/table/formatCell.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/formatCell.js +172 -0
- package/dist/react/schemaRenderer/table/formatCell.js.map +1 -0
- package/dist/react/schemaRenderer/table/links.d.ts +42 -0
- package/dist/react/schemaRenderer/table/links.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/links.js +55 -0
- package/dist/react/schemaRenderer/table/links.js.map +1 -0
- package/dist/react/schemaRenderer/table/renderRowActions.d.ts +13 -0
- package/dist/react/schemaRenderer/table/renderRowActions.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/renderRowActions.js +25 -0
- package/dist/react/schemaRenderer/table/renderRowActions.js.map +1 -0
- package/dist/react/schemaRenderer/table/url.d.ts +41 -0
- package/dist/react/schemaRenderer/table/url.d.ts.map +1 -0
- package/dist/react/schemaRenderer/table/url.js +114 -0
- package/dist/react/schemaRenderer/table/url.js.map +1 -0
- package/dist/routes/globals.d.ts +13 -0
- package/dist/routes/globals.d.ts.map +1 -0
- package/dist/routes/globals.js +131 -0
- package/dist/routes/globals.js.map +1 -0
- package/dist/routes/helpers.d.ts +217 -0
- package/dist/routes/helpers.d.ts.map +1 -0
- package/dist/routes/helpers.js +498 -0
- package/dist/routes/helpers.js.map +1 -0
- package/dist/routes/pages.d.ts +15 -0
- package/dist/routes/pages.d.ts.map +1 -0
- package/dist/routes/pages.js +145 -0
- package/dist/routes/pages.js.map +1 -0
- package/dist/routes/panel.d.ts +19 -0
- package/dist/routes/panel.d.ts.map +1 -0
- package/dist/routes/panel.js +191 -0
- package/dist/routes/panel.js.map +1 -0
- package/dist/routes/relations.d.ts +21 -0
- package/dist/routes/relations.d.ts.map +1 -0
- package/dist/routes/relations.js +1239 -0
- package/dist/routes/relations.js.map +1 -0
- package/dist/routes/resources.d.ts +28 -0
- package/dist/routes/resources.d.ts.map +1 -0
- package/dist/routes/resources.js +741 -0
- package/dist/routes/resources.js.map +1 -0
- package/dist/routes/theme.d.ts +12 -0
- package/dist/routes/theme.d.ts.map +1 -0
- package/dist/routes/theme.js +82 -0
- package/dist/routes/theme.js.map +1 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +64 -3078
- package/dist/routes.js.map +1 -1
- package/dist/vite.d.ts +1 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +31 -10
- package/dist/vite.js.map +1 -1
- package/package.json +2 -1
- package/src/Pilotiq.ts +95 -0
- package/src/actions/Action.ts +79 -723
- package/src/actions/bulkFactories.ts +168 -0
- package/src/actions/crudFactories.ts +220 -0
- package/src/actions/factoryHelpers.ts +177 -0
- package/src/actions/m2mFactories.ts +193 -0
- package/src/actions/relationFactories.ts +372 -0
- package/src/elements/dispatchForm.ts +1 -1
- package/src/elements/dispatchTable.ts +1 -1
- package/src/fields/Field.ts +39 -0
- package/src/pageData/breadcrumbs.ts +288 -0
- package/src/pageData/forms.ts +578 -0
- package/src/pageData/helpers.ts +764 -0
- package/src/pageData/misc.ts +347 -0
- package/src/pageData/navigation.ts +779 -0
- package/src/pageData/relationPages.ts +1246 -0
- package/src/pageData/relationTabs.ts +286 -0
- package/src/pageData/resourcePages.ts +593 -0
- package/src/pageData.ts +122 -4731
- package/src/react/AppShell.tsx +27 -1
- package/src/react/CollabExtensionFactoryRegistry.ts +55 -0
- package/src/react/CollabRoomContext.ts +42 -0
- package/src/react/FormCollabBindingRegistry.ts +72 -0
- package/src/react/RecordWrapperGate.tsx +40 -0
- package/src/react/RecordWrapperRegistry.ts +39 -0
- package/src/react/SchemaRenderer.tsx +230 -6479
- package/src/react/component-slots.test.ts +103 -0
- package/src/react/component-slots.ts +116 -0
- package/src/react/fields/BuilderInput.tsx +29 -117
- package/src/react/fields/MarkdownInput.tsx +0 -1
- package/src/react/fields/RepeaterInput.tsx +29 -130
- package/src/react/fields/rowState.ts +106 -0
- package/src/react/fields/useRowReorderDnd.ts +78 -0
- package/src/react/index.ts +38 -0
- package/src/react/layouts/SidebarLayout.tsx +39 -28
- package/src/react/layouts/TopbarLayout.tsx +70 -57
- package/src/react/parseRecordEditUrl.test.ts +75 -0
- package/src/react/parseRecordEditUrl.ts +55 -0
- package/src/react/persistedState.ts +40 -0
- package/src/react/schemaRenderer/AlertRenderer.tsx +112 -0
- package/src/react/schemaRenderer/EntryRenderer.tsx +501 -0
- package/src/react/schemaRenderer/SectionRenderer.tsx +120 -0
- package/src/react/schemaRenderer/SimpleElements.tsx +306 -0
- package/src/react/schemaRenderer/TabsRenderer.tsx +62 -0
- package/src/react/schemaRenderer/WizardRenderer.tsx +338 -0
- package/src/react/schemaRenderer/action/ActionGroupTrigger.tsx +177 -0
- package/src/react/schemaRenderer/action/ActionModalDialog.tsx +273 -0
- package/src/react/schemaRenderer/action/ConfirmActionDialog.tsx +61 -0
- package/src/react/schemaRenderer/action/HandlerActionButton.tsx +43 -0
- package/src/react/schemaRenderer/action/MethodActionButton.tsx +64 -0
- package/src/react/schemaRenderer/action/buttons.tsx +99 -0
- package/src/react/schemaRenderer/action/helpers.ts +140 -0
- package/src/react/schemaRenderer/action/renderAction.tsx +245 -0
- package/src/react/schemaRenderer/columnFormat.ts +65 -0
- package/src/react/schemaRenderer/constants.ts +50 -0
- package/src/react/schemaRenderer/form/FormRenderer.tsx +233 -0
- package/src/react/schemaRenderer/form/renderField.tsx +511 -0
- package/src/react/schemaRenderer/helpers.tsx +81 -0
- package/src/react/schemaRenderer/table/CardsLayoutBody.tsx +308 -0
- package/src/react/schemaRenderer/table/TableRenderer.tsx +123 -0
- package/src/react/schemaRenderer/table/TableRendererBody.tsx +974 -0
- package/src/react/schemaRenderer/table/filters.tsx +1233 -0
- package/src/react/schemaRenderer/table/formatCell.tsx +264 -0
- package/src/react/schemaRenderer/table/links.tsx +112 -0
- package/src/react/schemaRenderer/table/renderRowActions.tsx +52 -0
- package/src/react/schemaRenderer/table/url.tsx +143 -0
- package/src/routes/globals.ts +154 -0
- package/src/routes/helpers.ts +668 -0
- package/src/routes/pages.ts +173 -0
- package/src/routes/panel.ts +204 -0
- package/src/routes/relations.ts +1219 -0
- package/src/routes/resources.ts +786 -0
- package/src/routes/theme.ts +109 -0
- package/src/routes.test.ts +1 -1
- package/src/routes.ts +64 -3176
- package/src/schema/TableWidget.test.ts +2 -2
- package/src/theme/migrate.test.ts +178 -0
- package/src/vite.test.ts +184 -0
- package/src/vite.ts +31 -9
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import type { Pilotiq, PilotiqConfig } from '../Pilotiq.js';
|
|
2
|
+
import type { Page } from '../Page.js';
|
|
3
|
+
import type { ResourceClass, NavigationBadgeColor } from '../Resource.js';
|
|
4
|
+
import type { GlobalClass } from '../Global.js';
|
|
5
|
+
import type { ElementMeta } from '../schema/Element.js';
|
|
6
|
+
import type { ThemeMeta } from '../theme/types.js';
|
|
7
|
+
import { type SerializedIcon } from '../icons/types.js';
|
|
8
|
+
import type { UserMenuItemMeta } from '../UserMenuItem.js';
|
|
9
|
+
import { type RenderHookMap, type RenderHookName } from '../RenderHook.js';
|
|
10
|
+
import { type PageRole } from '../applyPageHooks.js';
|
|
11
|
+
/**
|
|
12
|
+
* Top-right user dropdown shipped to the renderer in `viewProps.panel`.
|
|
13
|
+
* `null` when no `Pilotiq.user(req => …)` resolver is configured or the
|
|
14
|
+
* resolver returns `null` (no logged-in user) — the renderer suppresses
|
|
15
|
+
* the dropdown entirely in that case.
|
|
16
|
+
*
|
|
17
|
+
* `user.name / user.email / user.avatar` are duck-typed off the
|
|
18
|
+
* resolver's return value; whichever fields are present round-trip into
|
|
19
|
+
* the dropdown trigger (initials fall back to the first two letters of
|
|
20
|
+
* `name` when no avatar URL is set).
|
|
21
|
+
*/
|
|
22
|
+
export interface UserMenuMeta {
|
|
23
|
+
user: {
|
|
24
|
+
name?: string;
|
|
25
|
+
email?: string;
|
|
26
|
+
avatar?: string;
|
|
27
|
+
};
|
|
28
|
+
items: UserMenuItemMeta[];
|
|
29
|
+
signOut?: {
|
|
30
|
+
url: string;
|
|
31
|
+
label: string;
|
|
32
|
+
method: 'POST' | 'GET';
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Bell-icon dropdown configuration shipped under `viewProps.panel`. Sparse —
|
|
37
|
+
* absent when `Pilotiq.databaseNotifications()` wasn't called OR when no
|
|
38
|
+
* user resolves (anonymous request → no inbox to surface). Renderer mounts
|
|
39
|
+
* the bell only when this is set.
|
|
40
|
+
*
|
|
41
|
+
* Routes are absolute URLs (panel `basePath` already applied). Client
|
|
42
|
+
* substitutes `:id` per row when calling read / unread; `_widget`-style
|
|
43
|
+
* params aren't used here because the bell only ever issues these four
|
|
44
|
+
* fetch shapes.
|
|
45
|
+
*
|
|
46
|
+
* `polling` mirrors `DatabaseNotificationsConfig.polling` — `null` ships
|
|
47
|
+
* over the wire to disable client-side polling. The bell still fetches on
|
|
48
|
+
* mount + after every mark-read mutation.
|
|
49
|
+
*/
|
|
50
|
+
export interface DatabaseNotificationsMeta {
|
|
51
|
+
position: 'topbar' | 'sidebar';
|
|
52
|
+
polling: number | null;
|
|
53
|
+
pageSize: number;
|
|
54
|
+
badgeColor: NavigationBadgeColor;
|
|
55
|
+
trigger?: {
|
|
56
|
+
icon?: string;
|
|
57
|
+
label?: string;
|
|
58
|
+
};
|
|
59
|
+
listUrl: string;
|
|
60
|
+
readAllUrl: string;
|
|
61
|
+
/** Template URL with literal `:id` placeholder. Client replaces. */
|
|
62
|
+
readUrl: string;
|
|
63
|
+
/** Template URL with literal `:id` placeholder. Client replaces. */
|
|
64
|
+
unreadUrl: string;
|
|
65
|
+
/**
|
|
66
|
+
* Template URL for the notification-action dispatch endpoint with
|
|
67
|
+
* literal `:id` and `:actionName` placeholders. Bell client builds
|
|
68
|
+
* per-action URLs by substituting both at render time. Used only by
|
|
69
|
+
* `handler`-mode actions; `url` / `post` actions ride their own URL
|
|
70
|
+
* verbatim.
|
|
71
|
+
*/
|
|
72
|
+
actionUrl: string;
|
|
73
|
+
/**
|
|
74
|
+
* Phase 2 — broadcast hint. Sparse — absent when
|
|
75
|
+
* `databaseNotifications({ broadcast: true })` wasn't set OR when no
|
|
76
|
+
* resolved user has an `id` to scope the channel to.
|
|
77
|
+
*
|
|
78
|
+
* Client connects to `wsUrl` via `@rudderjs/broadcast`'s
|
|
79
|
+
* `RudderSocket`, subscribes to the `channel` (already includes the
|
|
80
|
+
* `private-` prefix), and listens for `event` to trigger refetches.
|
|
81
|
+
*/
|
|
82
|
+
broadcast?: {
|
|
83
|
+
wsUrl: string;
|
|
84
|
+
channel: string;
|
|
85
|
+
event: string;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Right-sidebar shipped under `viewProps.panel.rightSidebar`. Sparse —
|
|
90
|
+
* absent from `panelInfo()` when no contributions are registered, every
|
|
91
|
+
* registered contribution failed `canAccess(user)`, or every visible
|
|
92
|
+
* contribution is `hidden: true`. Renderer mounts the chrome only when
|
|
93
|
+
* this is set.
|
|
94
|
+
*
|
|
95
|
+
* The React component reference for each contribution does NOT travel
|
|
96
|
+
* here — only its tab-strip metadata. The actual body component is
|
|
97
|
+
* resolved client-side from the Vite plugin's `_components.ts` manifest
|
|
98
|
+
* keyed by contribution `id`, mirroring the icon-class round-trip.
|
|
99
|
+
*
|
|
100
|
+
* `defaultWidth` rolls up: contribution-level value when one
|
|
101
|
+
* contribution was registered with one, otherwise the panel-level
|
|
102
|
+
* baseline (`RIGHT_PANEL_DEFAULT_WIDTH`). Client also clamps
|
|
103
|
+
* localStorage values to `[minWidth, maxWidth]`.
|
|
104
|
+
*/
|
|
105
|
+
export interface RightPanelMeta {
|
|
106
|
+
id: string;
|
|
107
|
+
label: string;
|
|
108
|
+
icon?: SerializedIcon;
|
|
109
|
+
defaultWidth: number;
|
|
110
|
+
}
|
|
111
|
+
export interface RightSidebarMeta {
|
|
112
|
+
panels: RightPanelMeta[];
|
|
113
|
+
defaultWidth: number;
|
|
114
|
+
minWidth: number;
|
|
115
|
+
maxWidth: number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Single nav-tree entry. `name` is the JS class name (`R.name` /
|
|
119
|
+
* `G.name` / `P.name`) — also the lookup key into the build-time
|
|
120
|
+
* `_components.ts` manifest the Vite plugin emits, so component-typed
|
|
121
|
+
* icons resolve from the same identifier.
|
|
122
|
+
*/
|
|
123
|
+
export interface NavItem {
|
|
124
|
+
name: string;
|
|
125
|
+
label: string;
|
|
126
|
+
url: string;
|
|
127
|
+
icon?: SerializedIcon;
|
|
128
|
+
group?: string;
|
|
129
|
+
sort?: number;
|
|
130
|
+
badge?: string;
|
|
131
|
+
badgeColor?: NavigationBadgeColor;
|
|
132
|
+
children?: NavItem[];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Build the panel header summary + the unified navigation tree.
|
|
136
|
+
*
|
|
137
|
+
* Pipeline:
|
|
138
|
+
* 1. flatten resources + globals + pages into raw NavItem records
|
|
139
|
+
* 2. drop items whose `canAccess(user)` (Plan #10) returns false
|
|
140
|
+
* 3. resolve `navigationParentItem` references → nest under parents
|
|
141
|
+
* (cycles broken with a console warn; dangling parents render at top level)
|
|
142
|
+
* 4. sort within each grouping (top-level *and* every parent's children)
|
|
143
|
+
* by `navigationSort` ascending → registration order
|
|
144
|
+
* 5. resolve every `navigationBadge()` in parallel via `Promise.all`;
|
|
145
|
+
* handler errors are swallowed (badge omitted) so a flaky count
|
|
146
|
+
* never blanks the page
|
|
147
|
+
*
|
|
148
|
+
* `req` is the active request; pilotiq calls `pilotiq.resolveUser(req)`
|
|
149
|
+
* once and threads the user into every Resource/Global/Page `canAccess`
|
|
150
|
+
* check. When `Pilotiq.user(fn)` isn't configured, user is `null` and the
|
|
151
|
+
* default `canAccess` returns true → no items dropped.
|
|
152
|
+
*/
|
|
153
|
+
/**
|
|
154
|
+
* Optional route-context for `panelInfo()`. When set, render-hook
|
|
155
|
+
* `scope: { resource | page | global }` filters fire correctly for the
|
|
156
|
+
* active route. Missing keys mean the slot has no scope-able identifier
|
|
157
|
+
* (chrome-only routes); scope-less hooks still fire either way.
|
|
158
|
+
*
|
|
159
|
+
* `url` defaults to `cfg.path` when unset. `recordId` rides through to
|
|
160
|
+
* `RenderHookContext.recordId` for hooks that need it.
|
|
161
|
+
*/
|
|
162
|
+
export interface PanelInfoRoute {
|
|
163
|
+
resource?: ResourceClass;
|
|
164
|
+
page?: typeof Page;
|
|
165
|
+
global?: GlobalClass;
|
|
166
|
+
recordId?: string;
|
|
167
|
+
url?: string;
|
|
168
|
+
}
|
|
169
|
+
export declare function panelInfo(pilotiq: Pilotiq, req?: unknown, route?: PanelInfoRoute): Promise<{
|
|
170
|
+
aiSuggestionsMode?: "review";
|
|
171
|
+
renderHooks?: Partial<Record<RenderHookName, ElementMeta[]>>;
|
|
172
|
+
rightSidebar?: RightSidebarMeta;
|
|
173
|
+
databaseNotifications?: DatabaseNotificationsMeta;
|
|
174
|
+
userMenu?: UserMenuMeta;
|
|
175
|
+
name: string;
|
|
176
|
+
branding: {
|
|
177
|
+
title?: string;
|
|
178
|
+
logo?: string;
|
|
179
|
+
};
|
|
180
|
+
navigation: NavItem[];
|
|
181
|
+
theme: ThemeMeta | undefined;
|
|
182
|
+
themeEditor: boolean;
|
|
183
|
+
}>;
|
|
184
|
+
/**
|
|
185
|
+
* Build the bell-icon meta. Returns `null` when:
|
|
186
|
+
* - `Pilotiq.databaseNotifications()` was never called, OR
|
|
187
|
+
* - no user resolves (no inbox to surface).
|
|
188
|
+
*
|
|
189
|
+
* Defaults follow Filament: 30s polling, 25 rows per page, primary
|
|
190
|
+
* badge color, topbar position.
|
|
191
|
+
*/
|
|
192
|
+
export declare function buildDatabaseNotificationsMeta(cfg: Readonly<PilotiqConfig>, user: unknown): DatabaseNotificationsMeta | null;
|
|
193
|
+
/**
|
|
194
|
+
* Build the right-sidebar meta from registered contributions. Returns
|
|
195
|
+
* `null` when:
|
|
196
|
+
*
|
|
197
|
+
* - no contributions were registered, OR
|
|
198
|
+
* - every contribution failed `canAccess(user)` (or its predicate
|
|
199
|
+
* threw — fail-closed), OR
|
|
200
|
+
* - every passing contribution is `hidden: true` (no tab-strip
|
|
201
|
+
* surface to mount; programmatic-open consumers should ship at
|
|
202
|
+
* least one visible tab).
|
|
203
|
+
*
|
|
204
|
+
* Visible contributions are sorted by `sort` ascending (default 100),
|
|
205
|
+
* with registration order as a stable tiebreaker. Each entry's icon is
|
|
206
|
+
* serialized through `serializeIcon` keyed on the contribution `id`
|
|
207
|
+
* (Phase B's Vite plugin extends `_components.ts` to round-trip
|
|
208
|
+
* component-typed icons under that key). `defaultWidth` rolls up:
|
|
209
|
+
* panel-level baseline is `RIGHT_PANEL_DEFAULT_WIDTH`; per-contribution
|
|
210
|
+
* overrides ride on `RightPanelMeta.defaultWidth`.
|
|
211
|
+
*
|
|
212
|
+
* Errors thrown by `canAccess` are swallowed (the contribution is
|
|
213
|
+
* dropped + a single console warn is emitted) so a flaky predicate on
|
|
214
|
+
* one pane never blanks the whole sidebar.
|
|
215
|
+
*/
|
|
216
|
+
export declare function buildRightSidebarMeta(cfg: Readonly<PilotiqConfig>, user: unknown): Promise<RightSidebarMeta | null>;
|
|
217
|
+
/**
|
|
218
|
+
* Resolve every chrome render hook (body / topbar / sidebar / user-menu
|
|
219
|
+
* / footer / head). Returns a sparse map — slots with no matching
|
|
220
|
+
* registered entries are omitted so the wire payload stays minimal on
|
|
221
|
+
* panels that don't use render hooks at all.
|
|
222
|
+
*/
|
|
223
|
+
export declare function resolveChromeHooks(pilotiq: Pilotiq, user: unknown, route: PanelInfoRoute): Promise<RenderHookMap>;
|
|
224
|
+
/**
|
|
225
|
+
* Resolve a subset of page-role render hooks (e.g. `panels::page.start`
|
|
226
|
+
* + the list-records / create-record / view-record / edit-record /
|
|
227
|
+
* global-search slot families). Per-page-role data builders call this
|
|
228
|
+
* after schema resolution and stamp the result on `viewProps.renderHooks`.
|
|
229
|
+
*
|
|
230
|
+
* `names` lets each builder declare exactly which slots it serves so a
|
|
231
|
+
* list-page builder doesn't ship slots that only fire on the edit page.
|
|
232
|
+
*/
|
|
233
|
+
/**
|
|
234
|
+
* Per-builder one-shot — resolve the role's slot set + splice the
|
|
235
|
+
* results into the resolved schema. Wraps the two steps a per-builder
|
|
236
|
+
* data fn always does in lockstep:
|
|
237
|
+
*
|
|
238
|
+
* 1. `resolvePageHooks(pilotiq, user, pageHooksFor(role), route)`
|
|
239
|
+
* 2. `applyPageHooks(schemaData, hooks, role)`
|
|
240
|
+
*
|
|
241
|
+
* Returns the wrapped `ElementMeta[]`. No-op when the panel has no
|
|
242
|
+
* registered hooks. Pass through what you'd pass to `panelInfo()`'s
|
|
243
|
+
* route arg — same shape.
|
|
244
|
+
*/
|
|
245
|
+
export declare function applyRoleHooks(pilotiq: Pilotiq, user: unknown, role: PageRole, schemaData: ElementMeta[], route?: PanelInfoRoute): Promise<ElementMeta[]>;
|
|
246
|
+
export declare function resolvePageHooks(pilotiq: Pilotiq, user: unknown, names: readonly RenderHookName[], route: PanelInfoRoute): Promise<RenderHookMap>;
|
|
247
|
+
/**
|
|
248
|
+
* Build the top-right user-menu meta. Returns `null` when:
|
|
249
|
+
* - `Pilotiq.user()` isn't configured, or
|
|
250
|
+
* - the resolver returned `null` (anonymous request), or
|
|
251
|
+
* - the user object has no extractable identity AND the panel
|
|
252
|
+
* configured no items / no sign-out (nothing to render).
|
|
253
|
+
*
|
|
254
|
+
* Items resolve in parallel with their visibility predicates
|
|
255
|
+
* (`UserMenuItem.visible`). Throwing predicates fail closed (item
|
|
256
|
+
* dropped). Sort by `.sort(n)` ascending → registration order.
|
|
257
|
+
*/
|
|
258
|
+
export declare function buildUserMenu(pilotiq: Pilotiq, user: unknown): Promise<UserMenuMeta | null>;
|
|
259
|
+
/** Build the auto-injected profile entry from `cfg.profilePage`. The
|
|
260
|
+
* Page's `static label` / `static icon` win; defaults `'Edit profile'`
|
|
261
|
+
* + `'user-circle'` (registry-resolved). Returns `null` when no
|
|
262
|
+
* profile page is configured or `Page.canAccess(user)` denies. */
|
|
263
|
+
export declare function buildProfileMenuItem(cfg: Readonly<PilotiqConfig>, user: unknown): Promise<UserMenuItemMeta | null>;
|
|
264
|
+
/** Duck-type the user object for display fields. We never throw — a
|
|
265
|
+
* user resolver might return literally anything (a primitive, a class
|
|
266
|
+
* instance with getters, a plain object) and the dropdown should
|
|
267
|
+
* degrade gracefully (initials fallback to '?' when no name found). */
|
|
268
|
+
export declare function extractUserIdentity(user: unknown): {
|
|
269
|
+
name?: string;
|
|
270
|
+
email?: string;
|
|
271
|
+
avatar?: string;
|
|
272
|
+
};
|
|
273
|
+
/** @internal Internal node before nesting; carries the registration index
|
|
274
|
+
* so we can stable-sort by it as the tie-breaker. */
|
|
275
|
+
interface RawNavItem extends NavItem {
|
|
276
|
+
parent?: string;
|
|
277
|
+
/** Registration index across resources → globals → pages (in that order),
|
|
278
|
+
* so resources beat globals on a sort tie within the same group. */
|
|
279
|
+
_idx: number;
|
|
280
|
+
}
|
|
281
|
+
/** Plan #10 — stamp the resolved user onto a SchemaContext so action
|
|
282
|
+
* visibility predicates can see it during `resolveSchema`. The `user`
|
|
283
|
+
* field is opaque (whatever `Pilotiq.user(req => …)` returns); skipped
|
|
284
|
+
* when null/undefined to keep ctx tidy. */
|
|
285
|
+
export declare function buildNavigation(pilotiq: Pilotiq, user: unknown): Promise<NavItem[]>;
|
|
286
|
+
/**
|
|
287
|
+
* Resolve `parent` references → nest, drop cycles, sort within each
|
|
288
|
+
* grouping, then strip internal scaffolding (`parent`, `_idx`).
|
|
289
|
+
*/
|
|
290
|
+
export declare function nestAndSort(raw: RawNavItem[]): NavItem[];
|
|
291
|
+
export {};
|
|
292
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/pageData/navigation.ts"],"names":[],"mappings":"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"}
|