@pilotiq/pilotiq 0.1.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 +4 -0
- package/CHANGELOG.md +11 -0
- package/CLAUDE.md +207 -0
- package/LICENSE +21 -0
- package/dist/Cluster.d.ts +56 -0
- package/dist/Cluster.d.ts.map +1 -0
- package/dist/Cluster.js +62 -0
- package/dist/Cluster.js.map +1 -0
- package/dist/Column.d.ts +378 -0
- package/dist/Column.d.ts.map +1 -0
- package/dist/Column.js +434 -0
- package/dist/Column.js.map +1 -0
- package/dist/Global.d.ts +123 -0
- package/dist/Global.d.ts.map +1 -0
- package/dist/Global.js +124 -0
- package/dist/Global.js.map +1 -0
- package/dist/Page.d.ts +90 -0
- package/dist/Page.d.ts.map +1 -0
- package/dist/Page.js +107 -0
- package/dist/Page.js.map +1 -0
- package/dist/Pilotiq.d.ts +505 -0
- package/dist/Pilotiq.d.ts.map +1 -0
- package/dist/Pilotiq.js +463 -0
- package/dist/Pilotiq.js.map +1 -0
- package/dist/PilotiqRegistry.d.ts +10 -0
- package/dist/PilotiqRegistry.d.ts.map +1 -0
- package/dist/PilotiqRegistry.js +32 -0
- package/dist/PilotiqRegistry.js.map +1 -0
- package/dist/PilotiqServiceProvider.d.ts +16 -0
- package/dist/PilotiqServiceProvider.d.ts.map +1 -0
- package/dist/PilotiqServiceProvider.js +57 -0
- package/dist/PilotiqServiceProvider.js.map +1 -0
- package/dist/RelationManager.d.ts +372 -0
- package/dist/RelationManager.d.ts.map +1 -0
- package/dist/RelationManager.js +342 -0
- package/dist/RelationManager.js.map +1 -0
- package/dist/RenderHook.d.ts +86 -0
- package/dist/RenderHook.d.ts.map +1 -0
- package/dist/RenderHook.js +116 -0
- package/dist/RenderHook.js.map +1 -0
- package/dist/Resource.d.ts +290 -0
- package/dist/Resource.d.ts.map +1 -0
- package/dist/Resource.js +362 -0
- package/dist/Resource.js.map +1 -0
- package/dist/RightPanel.d.ts +92 -0
- package/dist/RightPanel.d.ts.map +1 -0
- package/dist/RightPanel.js +61 -0
- package/dist/RightPanel.js.map +1 -0
- package/dist/Tab.d.ts +92 -0
- package/dist/Tab.d.ts.map +1 -0
- package/dist/Tab.js +93 -0
- package/dist/Tab.js.map +1 -0
- package/dist/UserMenuItem.d.ts +76 -0
- package/dist/UserMenuItem.d.ts.map +1 -0
- package/dist/UserMenuItem.js +87 -0
- package/dist/UserMenuItem.js.map +1 -0
- package/dist/actions/Action.d.ts +888 -0
- package/dist/actions/Action.d.ts.map +1 -0
- package/dist/actions/Action.js +1652 -0
- package/dist/actions/Action.js.map +1 -0
- package/dist/actions/ActionGroup.d.ts +85 -0
- package/dist/actions/ActionGroup.d.ts.map +1 -0
- package/dist/actions/ActionGroup.js +132 -0
- package/dist/actions/ActionGroup.js.map +1 -0
- package/dist/actions/attachFactory.d.ts +67 -0
- package/dist/actions/attachFactory.d.ts.map +1 -0
- package/dist/actions/attachFactory.js +115 -0
- package/dist/actions/attachFactory.js.map +1 -0
- package/dist/actions/exportFactory.d.ts +88 -0
- package/dist/actions/exportFactory.d.ts.map +1 -0
- package/dist/actions/exportFactory.js +144 -0
- package/dist/actions/exportFactory.js.map +1 -0
- package/dist/actions/importFactory.d.ts +97 -0
- package/dist/actions/importFactory.d.ts.map +1 -0
- package/dist/actions/importFactory.js +143 -0
- package/dist/actions/importFactory.js.map +1 -0
- package/dist/actions/index.d.ts +3 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +3 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/applyPageHooks.d.ts +54 -0
- package/dist/applyPageHooks.d.ts.map +1 -0
- package/dist/applyPageHooks.js +149 -0
- package/dist/applyPageHooks.js.map +1 -0
- package/dist/cells/coerce.d.ts +25 -0
- package/dist/cells/coerce.d.ts.map +1 -0
- package/dist/cells/coerce.js +87 -0
- package/dist/cells/coerce.js.map +1 -0
- package/dist/clusterPaths.d.ts +9 -0
- package/dist/clusterPaths.d.ts.map +1 -0
- package/dist/clusterPaths.js +19 -0
- package/dist/clusterPaths.js.map +1 -0
- package/dist/columns/BadgeColumn.d.ts +16 -0
- package/dist/columns/BadgeColumn.d.ts.map +1 -0
- package/dist/columns/BadgeColumn.js +25 -0
- package/dist/columns/BadgeColumn.js.map +1 -0
- package/dist/columns/BooleanColumn.d.ts +10 -0
- package/dist/columns/BooleanColumn.d.ts.map +1 -0
- package/dist/columns/BooleanColumn.js +18 -0
- package/dist/columns/BooleanColumn.js.map +1 -0
- package/dist/columns/ColorColumn.d.ts +27 -0
- package/dist/columns/ColorColumn.d.ts.map +1 -0
- package/dist/columns/ColorColumn.js +35 -0
- package/dist/columns/ColorColumn.js.map +1 -0
- package/dist/columns/IconColumn.d.ts +22 -0
- package/dist/columns/IconColumn.d.ts.map +1 -0
- package/dist/columns/IconColumn.js +28 -0
- package/dist/columns/IconColumn.js.map +1 -0
- package/dist/columns/ImageColumn.d.ts +17 -0
- package/dist/columns/ImageColumn.d.ts.map +1 -0
- package/dist/columns/ImageColumn.js +24 -0
- package/dist/columns/ImageColumn.js.map +1 -0
- package/dist/columns/SelectColumn.d.ts +36 -0
- package/dist/columns/SelectColumn.d.ts.map +1 -0
- package/dist/columns/SelectColumn.js +52 -0
- package/dist/columns/SelectColumn.js.map +1 -0
- package/dist/columns/TextColumn.d.ts +18 -0
- package/dist/columns/TextColumn.d.ts.map +1 -0
- package/dist/columns/TextColumn.js +20 -0
- package/dist/columns/TextColumn.js.map +1 -0
- package/dist/columns/TextInputColumn.d.ts +47 -0
- package/dist/columns/TextInputColumn.d.ts.map +1 -0
- package/dist/columns/TextInputColumn.js +60 -0
- package/dist/columns/TextInputColumn.js.map +1 -0
- package/dist/columns/ToggleColumn.d.ts +32 -0
- package/dist/columns/ToggleColumn.d.ts.map +1 -0
- package/dist/columns/ToggleColumn.js +45 -0
- package/dist/columns/ToggleColumn.js.map +1 -0
- package/dist/columns/index.d.ts +10 -0
- package/dist/columns/index.d.ts.map +1 -0
- package/dist/columns/index.js +10 -0
- package/dist/columns/index.js.map +1 -0
- package/dist/defaultGlobalPages.d.ts +11 -0
- package/dist/defaultGlobalPages.d.ts.map +1 -0
- package/dist/defaultGlobalPages.js +87 -0
- package/dist/defaultGlobalPages.js.map +1 -0
- package/dist/defaultPages.d.ts +247 -0
- package/dist/defaultPages.d.ts.map +1 -0
- package/dist/defaultPages.js +558 -0
- package/dist/defaultPages.js.map +1 -0
- package/dist/elements/Form.d.ts +219 -0
- package/dist/elements/Form.d.ts.map +1 -0
- package/dist/elements/Form.js +259 -0
- package/dist/elements/Form.js.map +1 -0
- package/dist/elements/ListTabs.d.ts +17 -0
- package/dist/elements/ListTabs.d.ts.map +1 -0
- package/dist/elements/ListTabs.js +23 -0
- package/dist/elements/ListTabs.js.map +1 -0
- package/dist/elements/Table.d.ts +535 -0
- package/dist/elements/Table.d.ts.map +1 -0
- package/dist/elements/Table.js +481 -0
- package/dist/elements/Table.js.map +1 -0
- package/dist/elements/TableGroup.d.ts +121 -0
- package/dist/elements/TableGroup.d.ts.map +1 -0
- package/dist/elements/TableGroup.js +162 -0
- package/dist/elements/TableGroup.js.map +1 -0
- package/dist/elements/dispatchAction.d.ts +127 -0
- package/dist/elements/dispatchAction.d.ts.map +1 -0
- package/dist/elements/dispatchAction.js +254 -0
- package/dist/elements/dispatchAction.js.map +1 -0
- package/dist/elements/dispatchForm.d.ts +220 -0
- package/dist/elements/dispatchForm.d.ts.map +1 -0
- package/dist/elements/dispatchForm.js +1645 -0
- package/dist/elements/dispatchForm.js.map +1 -0
- package/dist/elements/dispatchTable.d.ts +69 -0
- package/dist/elements/dispatchTable.d.ts.map +1 -0
- package/dist/elements/dispatchTable.js +606 -0
- package/dist/elements/dispatchTable.js.map +1 -0
- package/dist/elements/index.d.ts +3 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +3 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/entries/BadgeEntry.d.ts +21 -0
- package/dist/entries/BadgeEntry.d.ts.map +1 -0
- package/dist/entries/BadgeEntry.js +32 -0
- package/dist/entries/BadgeEntry.js.map +1 -0
- package/dist/entries/CodeEntry.d.ts +38 -0
- package/dist/entries/CodeEntry.d.ts.map +1 -0
- package/dist/entries/CodeEntry.js +44 -0
- package/dist/entries/CodeEntry.js.map +1 -0
- package/dist/entries/ColorEntry.d.ts +32 -0
- package/dist/entries/ColorEntry.d.ts.map +1 -0
- package/dist/entries/ColorEntry.js +48 -0
- package/dist/entries/ColorEntry.js.map +1 -0
- package/dist/entries/ComponentEntry.d.ts +66 -0
- package/dist/entries/ComponentEntry.d.ts.map +1 -0
- package/dist/entries/ComponentEntry.js +86 -0
- package/dist/entries/ComponentEntry.js.map +1 -0
- package/dist/entries/Entry.d.ts +175 -0
- package/dist/entries/Entry.d.ts.map +1 -0
- package/dist/entries/Entry.js +233 -0
- package/dist/entries/Entry.js.map +1 -0
- package/dist/entries/IconEntry.d.ts +30 -0
- package/dist/entries/IconEntry.d.ts.map +1 -0
- package/dist/entries/IconEntry.js +34 -0
- package/dist/entries/IconEntry.js.map +1 -0
- package/dist/entries/ImageEntry.d.ts +33 -0
- package/dist/entries/ImageEntry.d.ts.map +1 -0
- package/dist/entries/ImageEntry.js +47 -0
- package/dist/entries/ImageEntry.js.map +1 -0
- package/dist/entries/KeyValueEntry.d.ts +30 -0
- package/dist/entries/KeyValueEntry.d.ts.map +1 -0
- package/dist/entries/KeyValueEntry.js +38 -0
- package/dist/entries/KeyValueEntry.js.map +1 -0
- package/dist/entries/RepeatableEntry.d.ts +122 -0
- package/dist/entries/RepeatableEntry.d.ts.map +1 -0
- package/dist/entries/RepeatableEntry.js +121 -0
- package/dist/entries/RepeatableEntry.js.map +1 -0
- package/dist/entries/TextEntry.d.ts +38 -0
- package/dist/entries/TextEntry.d.ts.map +1 -0
- package/dist/entries/TextEntry.js +49 -0
- package/dist/entries/TextEntry.js.map +1 -0
- package/dist/entries/index.d.ts +2 -0
- package/dist/entries/index.d.ts.map +1 -0
- package/dist/entries/index.js +8 -0
- package/dist/entries/index.js.map +1 -0
- package/dist/entries/registry.d.ts +41 -0
- package/dist/entries/registry.d.ts.map +1 -0
- package/dist/entries/registry.js +17 -0
- package/dist/entries/registry.js.map +1 -0
- package/dist/fields/BuilderField.d.ts +420 -0
- package/dist/fields/BuilderField.d.ts.map +1 -0
- package/dist/fields/BuilderField.js +359 -0
- package/dist/fields/BuilderField.js.map +1 -0
- package/dist/fields/CheckboxField.d.ts +18 -0
- package/dist/fields/CheckboxField.d.ts.map +1 -0
- package/dist/fields/CheckboxField.js +23 -0
- package/dist/fields/CheckboxField.js.map +1 -0
- package/dist/fields/CheckboxListField.d.ts +25 -0
- package/dist/fields/CheckboxListField.d.ts.map +1 -0
- package/dist/fields/CheckboxListField.js +46 -0
- package/dist/fields/CheckboxListField.js.map +1 -0
- package/dist/fields/ColorPickerField.d.ts +16 -0
- package/dist/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/fields/ColorPickerField.js +21 -0
- package/dist/fields/ColorPickerField.js.map +1 -0
- package/dist/fields/DateField.d.ts +29 -0
- package/dist/fields/DateField.d.ts.map +1 -0
- package/dist/fields/DateField.js +45 -0
- package/dist/fields/DateField.js.map +1 -0
- package/dist/fields/EmailField.d.ts +8 -0
- package/dist/fields/EmailField.d.ts.map +1 -0
- package/dist/fields/EmailField.js +13 -0
- package/dist/fields/EmailField.js.map +1 -0
- package/dist/fields/Field.d.ts +485 -0
- package/dist/fields/Field.d.ts.map +1 -0
- package/dist/fields/Field.js +539 -0
- package/dist/fields/Field.js.map +1 -0
- package/dist/fields/FileUploadField.d.ts +43 -0
- package/dist/fields/FileUploadField.d.ts.map +1 -0
- package/dist/fields/FileUploadField.js +60 -0
- package/dist/fields/FileUploadField.js.map +1 -0
- package/dist/fields/HiddenField.d.ts +19 -0
- package/dist/fields/HiddenField.d.ts.map +1 -0
- package/dist/fields/HiddenField.js +24 -0
- package/dist/fields/HiddenField.js.map +1 -0
- package/dist/fields/KeyValueField.d.ts +36 -0
- package/dist/fields/KeyValueField.d.ts.map +1 -0
- package/dist/fields/KeyValueField.js +47 -0
- package/dist/fields/KeyValueField.js.map +1 -0
- package/dist/fields/MarkdownField.d.ts +79 -0
- package/dist/fields/MarkdownField.d.ts.map +1 -0
- package/dist/fields/MarkdownField.js +117 -0
- package/dist/fields/MarkdownField.js.map +1 -0
- package/dist/fields/NumberField.d.ts +17 -0
- package/dist/fields/NumberField.d.ts.map +1 -0
- package/dist/fields/NumberField.js +27 -0
- package/dist/fields/NumberField.js.map +1 -0
- package/dist/fields/RadioField.d.ts +26 -0
- package/dist/fields/RadioField.d.ts.map +1 -0
- package/dist/fields/RadioField.js +47 -0
- package/dist/fields/RadioField.js.map +1 -0
- package/dist/fields/RepeaterField.d.ts +594 -0
- package/dist/fields/RepeaterField.d.ts.map +1 -0
- package/dist/fields/RepeaterField.js +504 -0
- package/dist/fields/RepeaterField.js.map +1 -0
- package/dist/fields/RowButton.d.ts +86 -0
- package/dist/fields/RowButton.d.ts.map +1 -0
- package/dist/fields/RowButton.js +85 -0
- package/dist/fields/RowButton.js.map +1 -0
- package/dist/fields/SelectField.d.ts +127 -0
- package/dist/fields/SelectField.d.ts.map +1 -0
- package/dist/fields/SelectField.js +160 -0
- package/dist/fields/SelectField.js.map +1 -0
- package/dist/fields/SliderField.d.ts +31 -0
- package/dist/fields/SliderField.d.ts.map +1 -0
- package/dist/fields/SliderField.js +45 -0
- package/dist/fields/SliderField.js.map +1 -0
- package/dist/fields/SlugField.d.ts +11 -0
- package/dist/fields/SlugField.d.ts.map +1 -0
- package/dist/fields/SlugField.js +19 -0
- package/dist/fields/SlugField.js.map +1 -0
- package/dist/fields/TagsInputField.d.ts +65 -0
- package/dist/fields/TagsInputField.d.ts.map +1 -0
- package/dist/fields/TagsInputField.js +104 -0
- package/dist/fields/TagsInputField.js.map +1 -0
- package/dist/fields/TextField.d.ts +11 -0
- package/dist/fields/TextField.d.ts.map +1 -0
- package/dist/fields/TextField.js +19 -0
- package/dist/fields/TextField.js.map +1 -0
- package/dist/fields/TextareaField.d.ts +40 -0
- package/dist/fields/TextareaField.d.ts.map +1 -0
- package/dist/fields/TextareaField.js +51 -0
- package/dist/fields/TextareaField.js.map +1 -0
- package/dist/fields/ToggleButtonsField.d.ts +24 -0
- package/dist/fields/ToggleButtonsField.d.ts.map +1 -0
- package/dist/fields/ToggleButtonsField.js +41 -0
- package/dist/fields/ToggleButtonsField.js.map +1 -0
- package/dist/fields/ToggleField.d.ts +8 -0
- package/dist/fields/ToggleField.d.ts.map +1 -0
- package/dist/fields/ToggleField.js +13 -0
- package/dist/fields/ToggleField.js.map +1 -0
- package/dist/fields/optionsResolver.d.ts +54 -0
- package/dist/fields/optionsResolver.d.ts.map +1 -0
- package/dist/fields/optionsResolver.js +62 -0
- package/dist/fields/optionsResolver.js.map +1 -0
- package/dist/fields/resolveField.d.ts +21 -0
- package/dist/fields/resolveField.d.ts.map +1 -0
- package/dist/fields/resolveField.js +26 -0
- package/dist/fields/resolveField.js.map +1 -0
- package/dist/filters/BooleanFilter.d.ts +20 -0
- package/dist/filters/BooleanFilter.d.ts.map +1 -0
- package/dist/filters/BooleanFilter.js +31 -0
- package/dist/filters/BooleanFilter.js.map +1 -0
- package/dist/filters/DateRangeFilter.d.ts +68 -0
- package/dist/filters/DateRangeFilter.d.ts.map +1 -0
- package/dist/filters/DateRangeFilter.js +137 -0
- package/dist/filters/DateRangeFilter.js.map +1 -0
- package/dist/filters/Filter.d.ts +140 -0
- package/dist/filters/Filter.d.ts.map +1 -0
- package/dist/filters/Filter.js +99 -0
- package/dist/filters/Filter.js.map +1 -0
- package/dist/filters/FormFilter.d.ts +103 -0
- package/dist/filters/FormFilter.d.ts.map +1 -0
- package/dist/filters/FormFilter.js +180 -0
- package/dist/filters/FormFilter.js.map +1 -0
- package/dist/filters/MultiSelectFilter.d.ts +41 -0
- package/dist/filters/MultiSelectFilter.d.ts.map +1 -0
- package/dist/filters/MultiSelectFilter.js +67 -0
- package/dist/filters/MultiSelectFilter.js.map +1 -0
- package/dist/filters/QueryBuilderFilter.d.ts +145 -0
- package/dist/filters/QueryBuilderFilter.d.ts.map +1 -0
- package/dist/filters/QueryBuilderFilter.js +323 -0
- package/dist/filters/QueryBuilderFilter.js.map +1 -0
- package/dist/filters/SelectFilter.d.ts +26 -0
- package/dist/filters/SelectFilter.d.ts.map +1 -0
- package/dist/filters/SelectFilter.js +35 -0
- package/dist/filters/SelectFilter.js.map +1 -0
- package/dist/filters/TernaryFilter.d.ts +35 -0
- package/dist/filters/TernaryFilter.d.ts.map +1 -0
- package/dist/filters/TernaryFilter.js +71 -0
- package/dist/filters/TernaryFilter.js.map +1 -0
- package/dist/filters/TrashedFilter.d.ts +28 -0
- package/dist/filters/TrashedFilter.d.ts.map +1 -0
- package/dist/filters/TrashedFilter.js +52 -0
- package/dist/filters/TrashedFilter.js.map +1 -0
- package/dist/filters/queryBuilder/BooleanConstraint.d.ts +13 -0
- package/dist/filters/queryBuilder/BooleanConstraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/BooleanConstraint.js +27 -0
- package/dist/filters/queryBuilder/BooleanConstraint.js.map +1 -0
- package/dist/filters/queryBuilder/Constraint.d.ts +74 -0
- package/dist/filters/queryBuilder/Constraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/Constraint.js +45 -0
- package/dist/filters/queryBuilder/Constraint.js.map +1 -0
- package/dist/filters/queryBuilder/DateConstraint.d.ts +18 -0
- package/dist/filters/queryBuilder/DateConstraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/DateConstraint.js +63 -0
- package/dist/filters/queryBuilder/DateConstraint.js.map +1 -0
- package/dist/filters/queryBuilder/NumberConstraint.d.ts +12 -0
- package/dist/filters/queryBuilder/NumberConstraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/NumberConstraint.js +61 -0
- package/dist/filters/queryBuilder/NumberConstraint.js.map +1 -0
- package/dist/filters/queryBuilder/SelectConstraint.d.ts +22 -0
- package/dist/filters/queryBuilder/SelectConstraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/SelectConstraint.js +66 -0
- package/dist/filters/queryBuilder/SelectConstraint.js.map +1 -0
- package/dist/filters/queryBuilder/TextConstraint.d.ts +18 -0
- package/dist/filters/queryBuilder/TextConstraint.d.ts.map +1 -0
- package/dist/filters/queryBuilder/TextConstraint.js +58 -0
- package/dist/filters/queryBuilder/TextConstraint.js.map +1 -0
- package/dist/filters/queryBuilder/index.d.ts +7 -0
- package/dist/filters/queryBuilder/index.d.ts.map +1 -0
- package/dist/filters/queryBuilder/index.js +7 -0
- package/dist/filters/queryBuilder/index.js.map +1 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +3 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/lucide.d.ts +16 -0
- package/dist/icons/lucide.d.ts.map +1 -0
- package/dist/icons/lucide.js +173 -0
- package/dist/icons/lucide.js.map +1 -0
- package/dist/icons/registry.d.ts +27 -0
- package/dist/icons/registry.d.ts.map +1 -0
- package/dist/icons/registry.js +35 -0
- package/dist/icons/registry.js.map +1 -0
- package/dist/icons/types.d.ts +38 -0
- package/dist/icons/types.d.ts.map +1 -0
- package/dist/icons/types.js +23 -0
- package/dist/icons/types.js.map +1 -0
- package/dist/index.d.ts +118 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/dist/index.js.map +1 -0
- package/dist/io/csv.d.ts +51 -0
- package/dist/io/csv.d.ts.map +1 -0
- package/dist/io/csv.js +168 -0
- package/dist/io/csv.js.map +1 -0
- package/dist/notifications/Notification.d.ts +181 -0
- package/dist/notifications/Notification.d.ts.map +1 -0
- package/dist/notifications/Notification.js +290 -0
- package/dist/notifications/Notification.js.map +1 -0
- package/dist/notifications/broadcast.d.ts +58 -0
- package/dist/notifications/broadcast.d.ts.map +1 -0
- package/dist/notifications/broadcast.js +72 -0
- package/dist/notifications/broadcast.js.map +1 -0
- package/dist/notifications/database.d.ts +164 -0
- package/dist/notifications/database.d.ts.map +1 -0
- package/dist/notifications/database.js +321 -0
- package/dist/notifications/database.js.map +1 -0
- package/dist/notifications/dispatchNotificationAction.d.ts +48 -0
- package/dist/notifications/dispatchNotificationAction.d.ts.map +1 -0
- package/dist/notifications/dispatchNotificationAction.js +100 -0
- package/dist/notifications/dispatchNotificationAction.js.map +1 -0
- package/dist/notifications/flash.d.ts +34 -0
- package/dist/notifications/flash.d.ts.map +1 -0
- package/dist/notifications/flash.js +51 -0
- package/dist/notifications/flash.js.map +1 -0
- package/dist/notifications/index.d.ts +8 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +6 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/registerBroadcastAuth.d.ts +45 -0
- package/dist/notifications/registerBroadcastAuth.d.ts.map +1 -0
- package/dist/notifications/registerBroadcastAuth.js +86 -0
- package/dist/notifications/registerBroadcastAuth.js.map +1 -0
- package/dist/notifications/resolveSavedNotification.d.ts +21 -0
- package/dist/notifications/resolveSavedNotification.d.ts.map +1 -0
- package/dist/notifications/resolveSavedNotification.js +43 -0
- package/dist/notifications/resolveSavedNotification.js.map +1 -0
- package/dist/notifications/types.d.ts +87 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/notifications/types.js +2 -0
- package/dist/notifications/types.js.map +1 -0
- package/dist/orm/m2mAccessor.d.ts +49 -0
- package/dist/orm/m2mAccessor.d.ts.map +1 -0
- package/dist/orm/m2mAccessor.js +45 -0
- package/dist/orm/m2mAccessor.js.map +1 -0
- package/dist/orm/modelDefaults.d.ts +347 -0
- package/dist/orm/modelDefaults.d.ts.map +1 -0
- package/dist/orm/modelDefaults.js +375 -0
- package/dist/orm/modelDefaults.js.map +1 -0
- package/dist/pageData.d.ts +778 -0
- package/dist/pageData.d.ts.map +1 -0
- package/dist/pageData.js +3725 -0
- package/dist/pageData.js.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/themeEditor.d.ts +17 -0
- package/dist/plugins/themeEditor.d.ts.map +1 -0
- package/dist/plugins/themeEditor.js +23 -0
- package/dist/plugins/themeEditor.js.map +1 -0
- package/dist/react/AppShell.d.ts +58 -0
- package/dist/react/AppShell.d.ts.map +1 -0
- package/dist/react/AppShell.js +58 -0
- package/dist/react/AppShell.js.map +1 -0
- package/dist/react/CommandPalette.d.ts +21 -0
- package/dist/react/CommandPalette.d.ts.map +1 -0
- package/dist/react/CommandPalette.js +236 -0
- package/dist/react/CommandPalette.js.map +1 -0
- package/dist/react/FormStateContext.d.ts +83 -0
- package/dist/react/FormStateContext.d.ts.map +1 -0
- package/dist/react/FormStateContext.js +284 -0
- package/dist/react/FormStateContext.js.map +1 -0
- package/dist/react/HeadHooks.d.ts +26 -0
- package/dist/react/HeadHooks.d.ts.map +1 -0
- package/dist/react/HeadHooks.js +141 -0
- package/dist/react/HeadHooks.js.map +1 -0
- package/dist/react/NotificationActionStrip.d.ts +39 -0
- package/dist/react/NotificationActionStrip.d.ts.map +1 -0
- package/dist/react/NotificationActionStrip.js +129 -0
- package/dist/react/NotificationActionStrip.js.map +1 -0
- package/dist/react/NotificationBell.d.ts +20 -0
- package/dist/react/NotificationBell.d.ts.map +1 -0
- package/dist/react/NotificationBell.js +273 -0
- package/dist/react/NotificationBell.js.map +1 -0
- package/dist/react/RenderHookSlot.d.ts +20 -0
- package/dist/react/RenderHookSlot.d.ts.map +1 -0
- package/dist/react/RenderHookSlot.js +24 -0
- package/dist/react/RenderHookSlot.js.map +1 -0
- package/dist/react/RightSidebar.d.ts +33 -0
- package/dist/react/RightSidebar.d.ts.map +1 -0
- package/dist/react/RightSidebar.js +82 -0
- package/dist/react/RightSidebar.js.map +1 -0
- package/dist/react/RightSidebarContext.d.ts +62 -0
- package/dist/react/RightSidebarContext.d.ts.map +1 -0
- package/dist/react/RightSidebarContext.js +178 -0
- package/dist/react/RightSidebarContext.js.map +1 -0
- package/dist/react/RightSidebarTrigger.d.ts +16 -0
- package/dist/react/RightSidebarTrigger.d.ts.map +1 -0
- package/dist/react/RightSidebarTrigger.js +24 -0
- package/dist/react/RightSidebarTrigger.js.map +1 -0
- package/dist/react/SchemaRenderer.d.ts +63 -0
- package/dist/react/SchemaRenderer.d.ts.map +1 -0
- package/dist/react/SchemaRenderer.js +3458 -0
- package/dist/react/SchemaRenderer.js.map +1 -0
- package/dist/react/SearchTrigger.d.ts +13 -0
- package/dist/react/SearchTrigger.d.ts.map +1 -0
- package/dist/react/SearchTrigger.js +30 -0
- package/dist/react/SearchTrigger.js.map +1 -0
- package/dist/react/ThemeProvider.d.ts +18 -0
- package/dist/react/ThemeProvider.d.ts.map +1 -0
- package/dist/react/ThemeProvider.js +66 -0
- package/dist/react/ThemeProvider.js.map +1 -0
- package/dist/react/ThemeSettingsPage.d.ts +10 -0
- package/dist/react/ThemeSettingsPage.d.ts.map +1 -0
- package/dist/react/ThemeSettingsPage.js +293 -0
- package/dist/react/ThemeSettingsPage.js.map +1 -0
- package/dist/react/ThemeToggle.d.ts +2 -0
- package/dist/react/ThemeToggle.d.ts.map +1 -0
- package/dist/react/ThemeToggle.js +8 -0
- package/dist/react/ThemeToggle.js.map +1 -0
- package/dist/react/Toaster.d.ts +25 -0
- package/dist/react/Toaster.d.ts.map +1 -0
- package/dist/react/Toaster.js +89 -0
- package/dist/react/Toaster.js.map +1 -0
- package/dist/react/UserMenu.d.ts +23 -0
- package/dist/react/UserMenu.d.ts.map +1 -0
- package/dist/react/UserMenu.js +78 -0
- package/dist/react/UserMenu.js.map +1 -0
- package/dist/react/WidgetDataContext.d.ts +64 -0
- package/dist/react/WidgetDataContext.d.ts.map +1 -0
- package/dist/react/WidgetDataContext.js +89 -0
- package/dist/react/WidgetDataContext.js.map +1 -0
- package/dist/react/cells/EditableCell.d.ts +20 -0
- package/dist/react/cells/EditableCell.d.ts.map +1 -0
- package/dist/react/cells/EditableCell.js +251 -0
- package/dist/react/cells/EditableCell.js.map +1 -0
- package/dist/react/fieldJsHandler.d.ts +33 -0
- package/dist/react/fieldJsHandler.d.ts.map +1 -0
- package/dist/react/fieldJsHandler.js +61 -0
- package/dist/react/fieldJsHandler.js.map +1 -0
- package/dist/react/fields/BuilderInput.d.ts +21 -0
- package/dist/react/fields/BuilderInput.d.ts.map +1 -0
- package/dist/react/fields/BuilderInput.js +553 -0
- package/dist/react/fields/BuilderInput.js.map +1 -0
- package/dist/react/fields/CheckboxInput.d.ts +9 -0
- package/dist/react/fields/CheckboxInput.d.ts.map +1 -0
- package/dist/react/fields/CheckboxInput.js +23 -0
- package/dist/react/fields/CheckboxInput.js.map +1 -0
- package/dist/react/fields/CheckboxListInput.d.ts +19 -0
- package/dist/react/fields/CheckboxListInput.d.ts.map +1 -0
- package/dist/react/fields/CheckboxListInput.js +53 -0
- package/dist/react/fields/CheckboxListInput.js.map +1 -0
- package/dist/react/fields/ColorInput.d.ts +12 -0
- package/dist/react/fields/ColorInput.d.ts.map +1 -0
- package/dist/react/fields/ColorInput.js +29 -0
- package/dist/react/fields/ColorInput.js.map +1 -0
- package/dist/react/fields/DateFieldInput.d.ts +8 -0
- package/dist/react/fields/DateFieldInput.d.ts.map +1 -0
- package/dist/react/fields/DateFieldInput.js +39 -0
- package/dist/react/fields/DateFieldInput.js.map +1 -0
- package/dist/react/fields/DateTimeInput.d.ts +13 -0
- package/dist/react/fields/DateTimeInput.d.ts.map +1 -0
- package/dist/react/fields/DateTimeInput.js +29 -0
- package/dist/react/fields/DateTimeInput.js.map +1 -0
- package/dist/react/fields/FieldShell.d.ts +23 -0
- package/dist/react/fields/FieldShell.d.ts.map +1 -0
- package/dist/react/fields/FieldShell.js +46 -0
- package/dist/react/fields/FieldShell.js.map +1 -0
- package/dist/react/fields/FileUploadInput.d.ts +21 -0
- package/dist/react/fields/FileUploadInput.d.ts.map +1 -0
- package/dist/react/fields/FileUploadInput.js +120 -0
- package/dist/react/fields/FileUploadInput.js.map +1 -0
- package/dist/react/fields/HiddenInput.d.ts +11 -0
- package/dist/react/fields/HiddenInput.d.ts.map +1 -0
- package/dist/react/fields/HiddenInput.js +14 -0
- package/dist/react/fields/HiddenInput.js.map +1 -0
- package/dist/react/fields/KeyValueInput.d.ts +18 -0
- package/dist/react/fields/KeyValueInput.d.ts.map +1 -0
- package/dist/react/fields/KeyValueInput.js +122 -0
- package/dist/react/fields/KeyValueInput.js.map +1 -0
- package/dist/react/fields/MarkdownInput.d.ts +29 -0
- package/dist/react/fields/MarkdownInput.d.ts.map +1 -0
- package/dist/react/fields/MarkdownInput.js +250 -0
- package/dist/react/fields/MarkdownInput.js.map +1 -0
- package/dist/react/fields/RadioInput.d.ts +18 -0
- package/dist/react/fields/RadioInput.d.ts.map +1 -0
- package/dist/react/fields/RadioInput.js +34 -0
- package/dist/react/fields/RadioInput.js.map +1 -0
- package/dist/react/fields/RepeaterInput.d.ts +92 -0
- package/dist/react/fields/RepeaterInput.d.ts.map +1 -0
- package/dist/react/fields/RepeaterInput.js +705 -0
- package/dist/react/fields/RepeaterInput.js.map +1 -0
- package/dist/react/fields/SelectFieldInput.d.ts +23 -0
- package/dist/react/fields/SelectFieldInput.d.ts.map +1 -0
- package/dist/react/fields/SelectFieldInput.js +146 -0
- package/dist/react/fields/SelectFieldInput.js.map +1 -0
- package/dist/react/fields/SliderInput.d.ts +16 -0
- package/dist/react/fields/SliderInput.d.ts.map +1 -0
- package/dist/react/fields/SliderInput.js +37 -0
- package/dist/react/fields/SliderInput.js.map +1 -0
- package/dist/react/fields/TagsInput.d.ts +27 -0
- package/dist/react/fields/TagsInput.d.ts.map +1 -0
- package/dist/react/fields/TagsInput.js +189 -0
- package/dist/react/fields/TagsInput.js.map +1 -0
- package/dist/react/fields/TextLikeInput.d.ts +18 -0
- package/dist/react/fields/TextLikeInput.d.ts.map +1 -0
- package/dist/react/fields/TextLikeInput.js +46 -0
- package/dist/react/fields/TextLikeInput.js.map +1 -0
- package/dist/react/fields/ToggleButtonsInput.d.ts +20 -0
- package/dist/react/fields/ToggleButtonsInput.d.ts.map +1 -0
- package/dist/react/fields/ToggleButtonsInput.js +42 -0
- package/dist/react/fields/ToggleButtonsInput.js.map +1 -0
- package/dist/react/fields/ToggleFieldInput.d.ts +7 -0
- package/dist/react/fields/ToggleFieldInput.d.ts.map +1 -0
- package/dist/react/fields/ToggleFieldInput.js +30 -0
- package/dist/react/fields/ToggleFieldInput.js.map +1 -0
- package/dist/react/fields/rowChromeButton.d.ts +84 -0
- package/dist/react/fields/rowChromeButton.d.ts.map +1 -0
- package/dist/react/fields/rowChromeButton.js +111 -0
- package/dist/react/fields/rowChromeButton.js.map +1 -0
- package/dist/react/fields/syncRowGates.d.ts +11 -0
- package/dist/react/fields/syncRowGates.d.ts.map +1 -0
- package/dist/react/fields/syncRowGates.js +55 -0
- package/dist/react/fields/syncRowGates.js.map +1 -0
- package/dist/react/formStateHelpers.d.ts +44 -0
- package/dist/react/formStateHelpers.d.ts.map +1 -0
- package/dist/react/formStateHelpers.js +230 -0
- package/dist/react/formStateHelpers.js.map +1 -0
- package/dist/react/hooks/use-mobile.d.ts +2 -0
- package/dist/react/hooks/use-mobile.d.ts.map +1 -0
- package/dist/react/hooks/use-mobile.js +16 -0
- package/dist/react/hooks/use-mobile.js.map +1 -0
- package/dist/react/icon-context.d.ts +35 -0
- package/dist/react/icon-context.d.ts.map +1 -0
- package/dist/react/icon-context.js +45 -0
- package/dist/react/icon-context.js.map +1 -0
- package/dist/react/index.d.ts +26 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +28 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/layouts/SidebarLayout.d.ts +3 -0
- package/dist/react/layouts/SidebarLayout.d.ts.map +1 -0
- package/dist/react/layouts/SidebarLayout.js +85 -0
- package/dist/react/layouts/SidebarLayout.js.map +1 -0
- package/dist/react/layouts/TopbarLayout.d.ts +3 -0
- package/dist/react/layouts/TopbarLayout.d.ts.map +1 -0
- package/dist/react/layouts/TopbarLayout.js +103 -0
- package/dist/react/layouts/TopbarLayout.js.map +1 -0
- package/dist/react/navigate.d.ts +22 -0
- package/dist/react/navigate.d.ts.map +1 -0
- package/dist/react/navigate.js +30 -0
- package/dist/react/navigate.js.map +1 -0
- package/dist/react/registry.d.ts +35 -0
- package/dist/react/registry.d.ts.map +1 -0
- package/dist/react/registry.js +22 -0
- package/dist/react/registry.js.map +1 -0
- package/dist/react/right-panel-registry.d.ts +32 -0
- package/dist/react/right-panel-registry.d.ts.map +1 -0
- package/dist/react/right-panel-registry.js +20 -0
- package/dist/react/right-panel-registry.js.map +1 -0
- package/dist/react/theme-preview/apply.d.ts +11 -0
- package/dist/react/theme-preview/apply.d.ts.map +1 -0
- package/dist/react/theme-preview/apply.js +93 -0
- package/dist/react/theme-preview/apply.js.map +1 -0
- package/dist/react/theme-preview/build-html.d.ts +3 -0
- package/dist/react/theme-preview/build-html.d.ts.map +1 -0
- package/dist/react/theme-preview/build-html.js +437 -0
- package/dist/react/theme-preview/build-html.js.map +1 -0
- package/dist/react/ui/button.d.ts +9 -0
- package/dist/react/ui/button.d.ts.map +1 -0
- package/dist/react/ui/button.js +35 -0
- package/dist/react/ui/button.js.map +1 -0
- package/dist/react/ui/calendar.d.ts +5 -0
- package/dist/react/ui/calendar.d.ts.map +1 -0
- package/dist/react/ui/calendar.js +34 -0
- package/dist/react/ui/calendar.js.map +1 -0
- package/dist/react/ui/checkbox.d.ts +4 -0
- package/dist/react/ui/checkbox.d.ts.map +1 -0
- package/dist/react/ui/checkbox.js +9 -0
- package/dist/react/ui/checkbox.js.map +1 -0
- package/dist/react/ui/dialog.d.ts +12 -0
- package/dist/react/ui/dialog.d.ts.map +1 -0
- package/dist/react/ui/dialog.js +34 -0
- package/dist/react/ui/dialog.js.map +1 -0
- package/dist/react/ui/dropdown-menu.d.ts +12 -0
- package/dist/react/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/react/ui/dropdown-menu.js +23 -0
- package/dist/react/ui/dropdown-menu.js.map +1 -0
- package/dist/react/ui/input.d.ts +4 -0
- package/dist/react/ui/input.d.ts.map +1 -0
- package/dist/react/ui/input.js +8 -0
- package/dist/react/ui/input.js.map +1 -0
- package/dist/react/ui/label.d.ts +4 -0
- package/dist/react/ui/label.d.ts.map +1 -0
- package/dist/react/ui/label.js +7 -0
- package/dist/react/ui/label.js.map +1 -0
- package/dist/react/ui/popover.d.ts +6 -0
- package/dist/react/ui/popover.d.ts.map +1 -0
- package/dist/react/ui/popover.js +14 -0
- package/dist/react/ui/popover.js.map +1 -0
- package/dist/react/ui/select.d.ts +17 -0
- package/dist/react/ui/select.d.ts.map +1 -0
- package/dist/react/ui/select.js +39 -0
- package/dist/react/ui/select.js.map +1 -0
- package/dist/react/ui/separator.d.ts +4 -0
- package/dist/react/ui/separator.d.ts.map +1 -0
- package/dist/react/ui/separator.js +9 -0
- package/dist/react/ui/separator.js.map +1 -0
- package/dist/react/ui/sheet.d.ts +15 -0
- package/dist/react/ui/sheet.d.ts.map +1 -0
- package/dist/react/ui/sheet.js +37 -0
- package/dist/react/ui/sheet.js.map +1 -0
- package/dist/react/ui/sidebar.d.ts +64 -0
- package/dist/react/ui/sidebar.d.ts.map +1 -0
- package/dist/react/ui/sidebar.js +257 -0
- package/dist/react/ui/sidebar.js.map +1 -0
- package/dist/react/ui/skeleton.d.ts +3 -0
- package/dist/react/ui/skeleton.d.ts.map +1 -0
- package/dist/react/ui/skeleton.js +7 -0
- package/dist/react/ui/skeleton.js.map +1 -0
- package/dist/react/ui/slider.d.ts +4 -0
- package/dist/react/ui/slider.d.ts.map +1 -0
- package/dist/react/ui/slider.js +8 -0
- package/dist/react/ui/slider.js.map +1 -0
- package/dist/react/ui/switch.d.ts +4 -0
- package/dist/react/ui/switch.d.ts.map +1 -0
- package/dist/react/ui/switch.js +8 -0
- package/dist/react/ui/switch.js.map +1 -0
- package/dist/react/ui/table.d.ts +11 -0
- package/dist/react/ui/table.d.ts.map +1 -0
- package/dist/react/ui/table.js +28 -0
- package/dist/react/ui/table.js.map +1 -0
- package/dist/react/ui/tabs.d.ts +7 -0
- package/dist/react/ui/tabs.d.ts.map +1 -0
- package/dist/react/ui/tabs.js +17 -0
- package/dist/react/ui/tabs.js.map +1 -0
- package/dist/react/ui/textarea.d.ts +4 -0
- package/dist/react/ui/textarea.d.ts.map +1 -0
- package/dist/react/ui/textarea.js +7 -0
- package/dist/react/ui/textarea.js.map +1 -0
- package/dist/react/ui/tooltip.d.ts +7 -0
- package/dist/react/ui/tooltip.d.ts.map +1 -0
- package/dist/react/ui/tooltip.js +17 -0
- package/dist/react/ui/tooltip.js.map +1 -0
- package/dist/react/useResizableWidth.d.ts +47 -0
- package/dist/react/useResizableWidth.d.ts.map +1 -0
- package/dist/react/useResizableWidth.js +99 -0
- package/dist/react/useResizableWidth.js.map +1 -0
- package/dist/react/utils.d.ts +3 -0
- package/dist/react/utils.d.ts.map +1 -0
- package/dist/react/utils.js +6 -0
- package/dist/react/utils.js.map +1 -0
- package/dist/react/widgetRegistry.d.ts +33 -0
- package/dist/react/widgetRegistry.d.ts.map +1 -0
- package/dist/react/widgetRegistry.js +15 -0
- package/dist/react/widgetRegistry.js.map +1 -0
- package/dist/react/widgets/StatsOverviewRenderer.d.ts +6 -0
- package/dist/react/widgets/StatsOverviewRenderer.d.ts.map +1 -0
- package/dist/react/widgets/StatsOverviewRenderer.js +124 -0
- package/dist/react/widgets/StatsOverviewRenderer.js.map +1 -0
- package/dist/react/widgets/TableWidgetRenderer.d.ts +6 -0
- package/dist/react/widgets/TableWidgetRenderer.d.ts.map +1 -0
- package/dist/react/widgets/TableWidgetRenderer.js +123 -0
- package/dist/react/widgets/TableWidgetRenderer.js.map +1 -0
- package/dist/react/widgets/ViewRenderer.d.ts +16 -0
- package/dist/react/widgets/ViewRenderer.d.ts.map +1 -0
- package/dist/react/widgets/ViewRenderer.js +26 -0
- package/dist/react/widgets/ViewRenderer.js.map +1 -0
- package/dist/richtext/index.d.ts +2 -0
- package/dist/richtext/index.d.ts.map +1 -0
- package/dist/richtext/index.js +2 -0
- package/dist/richtext/index.js.map +1 -0
- package/dist/richtext/registry.d.ts +55 -0
- package/dist/richtext/registry.d.ts.map +1 -0
- package/dist/richtext/registry.js +66 -0
- package/dist/richtext/registry.js.map +1 -0
- package/dist/routes.d.ts +9 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +3116 -0
- package/dist/routes.js.map +1 -0
- package/dist/schema/Alert.d.ts +33 -0
- package/dist/schema/Alert.d.ts.map +1 -0
- package/dist/schema/Alert.js +41 -0
- package/dist/schema/Alert.js.map +1 -0
- package/dist/schema/Block.d.ts +112 -0
- package/dist/schema/Block.d.ts.map +1 -0
- package/dist/schema/Block.js +136 -0
- package/dist/schema/Block.js.map +1 -0
- package/dist/schema/Breadcrumbs.d.ts +31 -0
- package/dist/schema/Breadcrumbs.d.ts.map +1 -0
- package/dist/schema/Breadcrumbs.js +30 -0
- package/dist/schema/Breadcrumbs.js.map +1 -0
- package/dist/schema/Card.d.ts +17 -0
- package/dist/schema/Card.d.ts.map +1 -0
- package/dist/schema/Card.js +31 -0
- package/dist/schema/Card.js.map +1 -0
- package/dist/schema/Divider.d.ts +12 -0
- package/dist/schema/Divider.d.ts.map +1 -0
- package/dist/schema/Divider.js +19 -0
- package/dist/schema/Divider.js.map +1 -0
- package/dist/schema/Element.d.ts +150 -0
- package/dist/schema/Element.d.ts.map +1 -0
- package/dist/schema/Element.js +124 -0
- package/dist/schema/Element.js.map +1 -0
- package/dist/schema/EmptyState.d.ts +48 -0
- package/dist/schema/EmptyState.d.ts.map +1 -0
- package/dist/schema/EmptyState.js +57 -0
- package/dist/schema/EmptyState.js.map +1 -0
- package/dist/schema/Fieldset.d.ts +25 -0
- package/dist/schema/Fieldset.d.ts.map +1 -0
- package/dist/schema/Fieldset.js +39 -0
- package/dist/schema/Fieldset.js.map +1 -0
- package/dist/schema/Grid.d.ts +23 -0
- package/dist/schema/Grid.d.ts.map +1 -0
- package/dist/schema/Grid.js +36 -0
- package/dist/schema/Grid.js.map +1 -0
- package/dist/schema/Group.d.ts +19 -0
- package/dist/schema/Group.d.ts.map +1 -0
- package/dist/schema/Group.js +26 -0
- package/dist/schema/Group.js.map +1 -0
- package/dist/schema/Heading.d.ts +25 -0
- package/dist/schema/Heading.d.ts.map +1 -0
- package/dist/schema/Heading.js +34 -0
- package/dist/schema/Heading.js.map +1 -0
- package/dist/schema/Html.d.ts +48 -0
- package/dist/schema/Html.d.ts.map +1 -0
- package/dist/schema/Html.js +60 -0
- package/dist/schema/Html.js.map +1 -0
- package/dist/schema/Icon.d.ts +34 -0
- package/dist/schema/Icon.d.ts.map +1 -0
- package/dist/schema/Icon.js +40 -0
- package/dist/schema/Icon.js.map +1 -0
- package/dist/schema/Image.d.ts +38 -0
- package/dist/schema/Image.d.ts.map +1 -0
- package/dist/schema/Image.js +48 -0
- package/dist/schema/Image.js.map +1 -0
- package/dist/schema/LinkTag.d.ts +48 -0
- package/dist/schema/LinkTag.d.ts.map +1 -0
- package/dist/schema/LinkTag.js +16 -0
- package/dist/schema/LinkTag.js.map +1 -0
- package/dist/schema/Markdown.d.ts +57 -0
- package/dist/schema/Markdown.d.ts.map +1 -0
- package/dist/schema/Markdown.js +75 -0
- package/dist/schema/Markdown.js.map +1 -0
- package/dist/schema/MetaTag.d.ts +41 -0
- package/dist/schema/MetaTag.d.ts.map +1 -0
- package/dist/schema/MetaTag.js +16 -0
- package/dist/schema/MetaTag.js.map +1 -0
- package/dist/schema/RelationTabs.d.ts +50 -0
- package/dist/schema/RelationTabs.d.ts.map +1 -0
- package/dist/schema/RelationTabs.js +48 -0
- package/dist/schema/RelationTabs.js.map +1 -0
- package/dist/schema/ScriptTag.d.ts +63 -0
- package/dist/schema/ScriptTag.d.ts.map +1 -0
- package/dist/schema/ScriptTag.js +16 -0
- package/dist/schema/ScriptTag.js.map +1 -0
- package/dist/schema/Section.d.ts +93 -0
- package/dist/schema/Section.d.ts.map +1 -0
- package/dist/schema/Section.js +127 -0
- package/dist/schema/Section.js.map +1 -0
- package/dist/schema/ServerDataElement.d.ts +101 -0
- package/dist/schema/ServerDataElement.d.ts.map +1 -0
- package/dist/schema/ServerDataElement.js +135 -0
- package/dist/schema/ServerDataElement.js.map +1 -0
- package/dist/schema/Split.d.ts +31 -0
- package/dist/schema/Split.d.ts.map +1 -0
- package/dist/schema/Split.js +41 -0
- package/dist/schema/Split.js.map +1 -0
- package/dist/schema/Stat.d.ts +92 -0
- package/dist/schema/Stat.d.ts.map +1 -0
- package/dist/schema/Stat.js +116 -0
- package/dist/schema/Stat.js.map +1 -0
- package/dist/schema/StatsOverview.d.ts +76 -0
- package/dist/schema/StatsOverview.d.ts.map +1 -0
- package/dist/schema/StatsOverview.js +71 -0
- package/dist/schema/StatsOverview.js.map +1 -0
- package/dist/schema/StyleTag.d.ts +32 -0
- package/dist/schema/StyleTag.d.ts.map +1 -0
- package/dist/schema/StyleTag.js +38 -0
- package/dist/schema/StyleTag.js.map +1 -0
- package/dist/schema/TableWidget.d.ts +148 -0
- package/dist/schema/TableWidget.d.ts.map +1 -0
- package/dist/schema/TableWidget.js +190 -0
- package/dist/schema/TableWidget.js.map +1 -0
- package/dist/schema/Tabs.d.ts +40 -0
- package/dist/schema/Tabs.d.ts.map +1 -0
- package/dist/schema/Tabs.js +66 -0
- package/dist/schema/Tabs.js.map +1 -0
- package/dist/schema/Text.d.ts +33 -0
- package/dist/schema/Text.d.ts.map +1 -0
- package/dist/schema/Text.js +40 -0
- package/dist/schema/Text.js.map +1 -0
- package/dist/schema/UnorderedList.d.ts +36 -0
- package/dist/schema/UnorderedList.d.ts.map +1 -0
- package/dist/schema/UnorderedList.js +42 -0
- package/dist/schema/UnorderedList.js.map +1 -0
- package/dist/schema/View.d.ts +81 -0
- package/dist/schema/View.d.ts.map +1 -0
- package/dist/schema/View.js +81 -0
- package/dist/schema/View.js.map +1 -0
- package/dist/schema/Wizard.d.ts +67 -0
- package/dist/schema/Wizard.d.ts.map +1 -0
- package/dist/schema/Wizard.js +94 -0
- package/dist/schema/Wizard.js.map +1 -0
- package/dist/schema/index.d.ts +26 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +26 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/resolveSchema.d.ts +122 -0
- package/dist/schema/resolveSchema.d.ts.map +1 -0
- package/dist/schema/resolveSchema.js +648 -0
- package/dist/schema/resolveSchema.js.map +1 -0
- package/dist/schema/sanitize.d.ts +21 -0
- package/dist/schema/sanitize.d.ts.map +1 -0
- package/dist/schema/sanitize.js +46 -0
- package/dist/schema/sanitize.js.map +1 -0
- package/dist/search.d.ts +53 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +114 -0
- package/dist/search.js.map +1 -0
- package/dist/sessionFilters.d.ts +8 -0
- package/dist/sessionFilters.d.ts.map +1 -0
- package/dist/sessionFilters.js +115 -0
- package/dist/sessionFilters.js.map +1 -0
- package/dist/summarizers/Summarizer.d.ts +65 -0
- package/dist/summarizers/Summarizer.d.ts.map +1 -0
- package/dist/summarizers/Summarizer.js +98 -0
- package/dist/summarizers/Summarizer.js.map +1 -0
- package/dist/summarizers/index.d.ts +2 -0
- package/dist/summarizers/index.d.ts.map +1 -0
- package/dist/summarizers/index.js +2 -0
- package/dist/summarizers/index.js.map +1 -0
- package/dist/theme/base-colors.d.ts +3 -0
- package/dist/theme/base-colors.d.ts.map +1 -0
- package/dist/theme/base-colors.js +64 -0
- package/dist/theme/base-colors.js.map +1 -0
- package/dist/theme/chart-colors.d.ts +3 -0
- package/dist/theme/chart-colors.d.ts.map +1 -0
- package/dist/theme/chart-colors.js +46 -0
- package/dist/theme/chart-colors.js.map +1 -0
- package/dist/theme/colors.d.ts +56 -0
- package/dist/theme/colors.d.ts.map +1 -0
- package/dist/theme/colors.js +410 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/generate-css.d.ts +9 -0
- package/dist/theme/generate-css.d.ts.map +1 -0
- package/dist/theme/generate-css.js +36 -0
- package/dist/theme/generate-css.js.map +1 -0
- package/dist/theme/generate-scale.d.ts +3 -0
- package/dist/theme/generate-scale.d.ts.map +1 -0
- package/dist/theme/generate-scale.js +89 -0
- package/dist/theme/generate-scale.js.map +1 -0
- package/dist/theme/icon-map.d.ts +9 -0
- package/dist/theme/icon-map.d.ts.map +1 -0
- package/dist/theme/icon-map.js +40 -0
- package/dist/theme/icon-map.js.map +1 -0
- package/dist/theme/index.d.ts +15 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +13 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/migrate.d.ts +14 -0
- package/dist/theme/migrate.d.ts.map +1 -0
- package/dist/theme/migrate.js +79 -0
- package/dist/theme/migrate.js.map +1 -0
- package/dist/theme/presets.d.ts +30 -0
- package/dist/theme/presets.d.ts.map +1 -0
- package/dist/theme/presets.js +128 -0
- package/dist/theme/presets.js.map +1 -0
- package/dist/theme/radius.d.ts +11 -0
- package/dist/theme/radius.d.ts.map +1 -0
- package/dist/theme/radius.js +17 -0
- package/dist/theme/radius.js.map +1 -0
- package/dist/theme/resolve.d.ts +13 -0
- package/dist/theme/resolve.d.ts.map +1 -0
- package/dist/theme/resolve.js +91 -0
- package/dist/theme/resolve.js.map +1 -0
- package/dist/theme/spacing.d.ts +14 -0
- package/dist/theme/spacing.d.ts.map +1 -0
- package/dist/theme/spacing.js +17 -0
- package/dist/theme/spacing.js.map +1 -0
- package/dist/theme/theme-colors.d.ts +9 -0
- package/dist/theme/theme-colors.d.ts.map +1 -0
- package/dist/theme/theme-colors.js +84 -0
- package/dist/theme/theme-colors.js.map +1 -0
- package/dist/theme/types.d.ts +94 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +2 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/uploads/UploadAdapter.d.ts +34 -0
- package/dist/uploads/UploadAdapter.d.ts.map +1 -0
- package/dist/uploads/UploadAdapter.js +2 -0
- package/dist/uploads/UploadAdapter.js.map +1 -0
- package/dist/uploads/index.d.ts +3 -0
- package/dist/uploads/index.d.ts.map +1 -0
- package/dist/uploads/index.js +2 -0
- package/dist/uploads/index.js.map +1 -0
- package/dist/uploads/localUpload.d.ts +25 -0
- package/dist/uploads/localUpload.d.ts.map +1 -0
- package/dist/uploads/localUpload.js +65 -0
- package/dist/uploads/localUpload.js.map +1 -0
- package/dist/validation/Validator.d.ts +40 -0
- package/dist/validation/Validator.d.ts.map +1 -0
- package/dist/validation/Validator.js +25 -0
- package/dist/validation/Validator.js.map +1 -0
- package/dist/validation/index.d.ts +5 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +5 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/rules.d.ts +9 -0
- package/dist/validation/rules.d.ts.map +1 -0
- package/dist/validation/rules.js +61 -0
- package/dist/validation/rules.js.map +1 -0
- package/dist/validation/runValidators.d.ts +30 -0
- package/dist/validation/runValidators.d.ts.map +1 -0
- package/dist/validation/runValidators.js +438 -0
- package/dist/validation/runValidators.js.map +1 -0
- package/dist/validation/uniqueValidator.d.ts +61 -0
- package/dist/validation/uniqueValidator.d.ts.map +1 -0
- package/dist/validation/uniqueValidator.js +80 -0
- package/dist/validation/uniqueValidator.js.map +1 -0
- package/dist/vite.d.ts +19 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +696 -0
- package/dist/vite.js.map +1 -0
- package/dist/widgets/index.d.ts +2 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/index.js +7 -0
- package/dist/widgets/index.js.map +1 -0
- package/dist/widgets/registry.d.ts +32 -0
- package/dist/widgets/registry.d.ts.map +1 -0
- package/dist/widgets/registry.js +17 -0
- package/dist/widgets/registry.js.map +1 -0
- package/package.json +101 -0
- package/src/Cluster.test.ts +283 -0
- package/src/Cluster.ts +83 -0
- package/src/Column.test.ts +140 -0
- package/src/Column.ts +612 -0
- package/src/Global.test.ts +367 -0
- package/src/Global.ts +169 -0
- package/src/Page.test.ts +50 -0
- package/src/Page.ts +139 -0
- package/src/Pilotiq.test.ts +47 -0
- package/src/Pilotiq.ts +705 -0
- package/src/PilotiqRegistry.ts +36 -0
- package/src/PilotiqServiceProvider.ts +69 -0
- package/src/RelationManager.test.ts +400 -0
- package/src/RelationManager.ts +527 -0
- package/src/RenderHook.test.ts +252 -0
- package/src/RenderHook.ts +226 -0
- package/src/Resource.test.ts +240 -0
- package/src/Resource.ts +439 -0
- package/src/RightPanel.test.ts +202 -0
- package/src/RightPanel.ts +132 -0
- package/src/Tab.test.ts +91 -0
- package/src/Tab.ts +156 -0
- package/src/UserMenuItem.ts +145 -0
- package/src/actions/Action.test.ts +2479 -0
- package/src/actions/Action.ts +2124 -0
- package/src/actions/ActionGroup.test.ts +112 -0
- package/src/actions/ActionGroup.ts +173 -0
- package/src/actions/attachFactory.ts +172 -0
- package/src/actions/exportFactory.ts +215 -0
- package/src/actions/importFactory.ts +222 -0
- package/src/actions/index.ts +17 -0
- package/src/applyPageHooks.test.ts +298 -0
- package/src/applyPageHooks.ts +242 -0
- package/src/authorization.test.ts +483 -0
- package/src/breadcrumbs.test.ts +238 -0
- package/src/cells/coerce.test.ts +85 -0
- package/src/cells/coerce.ts +84 -0
- package/src/clusterPaths.ts +35 -0
- package/src/columns/BadgeColumn.test.ts +54 -0
- package/src/columns/BadgeColumn.ts +32 -0
- package/src/columns/BooleanColumn.test.ts +41 -0
- package/src/columns/BooleanColumn.ts +18 -0
- package/src/columns/ColorColumn.test.ts +37 -0
- package/src/columns/ColorColumn.ts +38 -0
- package/src/columns/IconColumn.test.ts +54 -0
- package/src/columns/IconColumn.ts +37 -0
- package/src/columns/ImageColumn.test.ts +41 -0
- package/src/columns/ImageColumn.ts +28 -0
- package/src/columns/SelectColumn.ts +60 -0
- package/src/columns/TextColumn.test.ts +190 -0
- package/src/columns/TextColumn.ts +20 -0
- package/src/columns/TextInputColumn.ts +68 -0
- package/src/columns/ToggleColumn.ts +46 -0
- package/src/columns/editableColumns.test.ts +193 -0
- package/src/columns/index.ts +9 -0
- package/src/defaultGlobalPages.ts +95 -0
- package/src/defaultPages.test.ts +634 -0
- package/src/defaultPages.ts +614 -0
- package/src/defaultViewPage.test.ts +147 -0
- package/src/elements/Form.test.ts +223 -0
- package/src/elements/Form.ts +397 -0
- package/src/elements/ListTabs.ts +28 -0
- package/src/elements/Table.test.ts +422 -0
- package/src/elements/Table.ts +816 -0
- package/src/elements/TableGroup.test.ts +149 -0
- package/src/elements/TableGroup.ts +199 -0
- package/src/elements/dispatchAction.test.ts +463 -0
- package/src/elements/dispatchAction.ts +355 -0
- package/src/elements/dispatchForm.test.ts +455 -0
- package/src/elements/dispatchForm.ts +1855 -0
- package/src/elements/dispatchTable.test.ts +1247 -0
- package/src/elements/dispatchTable.ts +666 -0
- package/src/elements/index.ts +21 -0
- package/src/entries/BadgeEntry.ts +39 -0
- package/src/entries/CodeEntry.test.ts +40 -0
- package/src/entries/CodeEntry.ts +52 -0
- package/src/entries/ColorEntry.ts +63 -0
- package/src/entries/ComponentEntry.test.ts +173 -0
- package/src/entries/ComponentEntry.ts +95 -0
- package/src/entries/Entry.ts +304 -0
- package/src/entries/IconEntry.ts +49 -0
- package/src/entries/ImageEntry.ts +61 -0
- package/src/entries/KeyValueEntry.ts +47 -0
- package/src/entries/RepeatableEntry.test.ts +239 -0
- package/src/entries/RepeatableEntry.ts +173 -0
- package/src/entries/TextEntry.test.ts +394 -0
- package/src/entries/TextEntry.ts +60 -0
- package/src/entries/index.ts +12 -0
- package/src/entries/leaves.test.ts +306 -0
- package/src/entries/registry.ts +54 -0
- package/src/fields/BuilderField.test.ts +1188 -0
- package/src/fields/BuilderField.ts +568 -0
- package/src/fields/BuilderRelationship.test.ts +811 -0
- package/src/fields/CheckboxField.test.ts +44 -0
- package/src/fields/CheckboxField.ts +27 -0
- package/src/fields/CheckboxListField.test.ts +99 -0
- package/src/fields/CheckboxListField.ts +66 -0
- package/src/fields/ColorPickerField.test.ts +33 -0
- package/src/fields/ColorPickerField.ts +25 -0
- package/src/fields/DateField.ts +54 -0
- package/src/fields/DateTimeField.test.ts +55 -0
- package/src/fields/EmailField.ts +16 -0
- package/src/fields/Field.test.ts +639 -0
- package/src/fields/Field.ts +773 -0
- package/src/fields/FileUploadField.test.ts +97 -0
- package/src/fields/FileUploadField.ts +71 -0
- package/src/fields/HiddenField.test.ts +27 -0
- package/src/fields/HiddenField.ts +28 -0
- package/src/fields/KeyValueField.test.ts +105 -0
- package/src/fields/KeyValueField.ts +55 -0
- package/src/fields/MarkdownField.test.ts +167 -0
- package/src/fields/MarkdownField.ts +151 -0
- package/src/fields/NumberField.ts +33 -0
- package/src/fields/RadioField.test.ts +94 -0
- package/src/fields/RadioField.ts +67 -0
- package/src/fields/RepeaterField.test.ts +1806 -0
- package/src/fields/RepeaterField.ts +791 -0
- package/src/fields/RepeaterRelationship.test.ts +1630 -0
- package/src/fields/RepeaterSimple.test.ts +248 -0
- package/src/fields/RowButton.test.ts +149 -0
- package/src/fields/RowButton.ts +125 -0
- package/src/fields/SelectField.test.ts +192 -0
- package/src/fields/SelectField.ts +235 -0
- package/src/fields/SliderField.test.ts +50 -0
- package/src/fields/SliderField.ts +53 -0
- package/src/fields/SlugField.ts +24 -0
- package/src/fields/TagsInputField.test.ts +154 -0
- package/src/fields/TagsInputField.ts +133 -0
- package/src/fields/TextField.ts +24 -0
- package/src/fields/TextareaField.test.ts +58 -0
- package/src/fields/TextareaField.ts +59 -0
- package/src/fields/ToggleButtonsField.test.ts +106 -0
- package/src/fields/ToggleButtonsField.ts +59 -0
- package/src/fields/ToggleField.ts +16 -0
- package/src/fields/disableOptionsWhenSelectedInSiblingRepeaterItems.test.ts +319 -0
- package/src/fields/optionsResolver.ts +95 -0
- package/src/fields/resolveField.ts +28 -0
- package/src/filters/BooleanFilter.ts +35 -0
- package/src/filters/DateRangeFilter.test.ts +194 -0
- package/src/filters/DateRangeFilter.ts +148 -0
- package/src/filters/Filter.test.ts +268 -0
- package/src/filters/Filter.ts +184 -0
- package/src/filters/FormFilter.test.ts +238 -0
- package/src/filters/FormFilter.ts +215 -0
- package/src/filters/MultiSelectFilter.test.ts +119 -0
- package/src/filters/MultiSelectFilter.ts +78 -0
- package/src/filters/QueryBuilderFilter.test.ts +644 -0
- package/src/filters/QueryBuilderFilter.ts +398 -0
- package/src/filters/SelectFilter.ts +46 -0
- package/src/filters/TernaryFilter.test.ts +160 -0
- package/src/filters/TernaryFilter.ts +72 -0
- package/src/filters/TrashedFilter.test.ts +149 -0
- package/src/filters/TrashedFilter.ts +55 -0
- package/src/filters/queryBuilder/BooleanConstraint.ts +31 -0
- package/src/filters/queryBuilder/Constraint.ts +115 -0
- package/src/filters/queryBuilder/DateConstraint.ts +69 -0
- package/src/filters/queryBuilder/NumberConstraint.ts +66 -0
- package/src/filters/queryBuilder/SelectConstraint.ts +72 -0
- package/src/filters/queryBuilder/TextConstraint.ts +65 -0
- package/src/filters/queryBuilder/index.ts +12 -0
- package/src/icons/index.ts +2 -0
- package/src/icons/lucide.ts +204 -0
- package/src/icons/registry.test.ts +56 -0
- package/src/icons/registry.ts +41 -0
- package/src/icons/types.ts +47 -0
- package/src/index.ts +521 -0
- package/src/io/csv.test.ts +142 -0
- package/src/io/csv.ts +170 -0
- package/src/nestedRelationManagerData.test.ts +526 -0
- package/src/notifications/Notification.test.ts +210 -0
- package/src/notifications/Notification.ts +354 -0
- package/src/notifications/broadcast.test.ts +110 -0
- package/src/notifications/broadcast.ts +95 -0
- package/src/notifications/database.test.ts +383 -0
- package/src/notifications/database.ts +398 -0
- package/src/notifications/databaseNotifications.test.ts +187 -0
- package/src/notifications/dispatchNotificationAction.test.ts +341 -0
- package/src/notifications/dispatchNotificationAction.ts +142 -0
- package/src/notifications/flash.test.ts +89 -0
- package/src/notifications/flash.ts +71 -0
- package/src/notifications/index.ts +45 -0
- package/src/notifications/registerBroadcastAuth.test.ts +134 -0
- package/src/notifications/registerBroadcastAuth.ts +100 -0
- package/src/notifications/resolveSavedNotification.test.ts +82 -0
- package/src/notifications/resolveSavedNotification.ts +59 -0
- package/src/notifications/types.ts +93 -0
- package/src/orm/m2mAccessor.ts +66 -0
- package/src/orm/modelDefaults.test.ts +633 -0
- package/src/orm/modelDefaults.ts +632 -0
- package/src/pageData.test.ts +1121 -0
- package/src/pageData.ts +4662 -0
- package/src/plugins/index.ts +1 -0
- package/src/plugins/themeEditor.ts +24 -0
- package/src/react/AppShell.tsx +148 -0
- package/src/react/CommandPalette.tsx +375 -0
- package/src/react/FormStateContext.tsx +398 -0
- package/src/react/HeadHooks.tsx +126 -0
- package/src/react/NotificationActionStrip.tsx +263 -0
- package/src/react/NotificationBell.tsx +426 -0
- package/src/react/RenderHookSlot.tsx +32 -0
- package/src/react/RightSidebar.tsx +257 -0
- package/src/react/RightSidebarContext.tsx +211 -0
- package/src/react/RightSidebarTrigger.tsx +53 -0
- package/src/react/SchemaRenderer.tsx +6128 -0
- package/src/react/SearchTrigger.tsx +46 -0
- package/src/react/ThemeProvider.tsx +93 -0
- package/src/react/ThemeSettingsPage.tsx +579 -0
- package/src/react/ThemeToggle.tsx +20 -0
- package/src/react/Toaster.tsx +158 -0
- package/src/react/UserMenu.tsx +196 -0
- package/src/react/WidgetDataContext.tsx +157 -0
- package/src/react/cells/EditableCell.tsx +376 -0
- package/src/react/fieldJsHandler.test.ts +166 -0
- package/src/react/fieldJsHandler.ts +79 -0
- package/src/react/fields/BuilderInput.tsx +995 -0
- package/src/react/fields/CheckboxInput.tsx +39 -0
- package/src/react/fields/CheckboxListInput.tsx +81 -0
- package/src/react/fields/ColorInput.tsx +51 -0
- package/src/react/fields/DateFieldInput.tsx +70 -0
- package/src/react/fields/DateTimeInput.tsx +42 -0
- package/src/react/fields/FieldShell.tsx +107 -0
- package/src/react/fields/FileUploadInput.tsx +189 -0
- package/src/react/fields/HiddenInput.tsx +17 -0
- package/src/react/fields/KeyValueInput.tsx +200 -0
- package/src/react/fields/MarkdownInput.tsx +333 -0
- package/src/react/fields/RadioInput.tsx +60 -0
- package/src/react/fields/RepeaterInput.test.ts +116 -0
- package/src/react/fields/RepeaterInput.tsx +1313 -0
- package/src/react/fields/SelectFieldInput.tsx +257 -0
- package/src/react/fields/SliderInput.tsx +63 -0
- package/src/react/fields/TagsInput.tsx +265 -0
- package/src/react/fields/TextLikeInput.tsx +54 -0
- package/src/react/fields/ToggleButtonsInput.tsx +60 -0
- package/src/react/fields/ToggleFieldInput.tsx +35 -0
- package/src/react/fields/rowChromeButton.tsx +225 -0
- package/src/react/fields/syncRowGates.test.ts +202 -0
- package/src/react/fields/syncRowGates.ts +66 -0
- package/src/react/formStateHelpers.test.ts +295 -0
- package/src/react/formStateHelpers.ts +218 -0
- package/src/react/hooks/use-mobile.ts +19 -0
- package/src/react/icon-context.tsx +60 -0
- package/src/react/index.ts +85 -0
- package/src/react/layouts/SidebarLayout.tsx +239 -0
- package/src/react/layouts/TopbarLayout.tsx +245 -0
- package/src/react/navigate.tsx +37 -0
- package/src/react/registry.ts +48 -0
- package/src/react/right-panel-registry.tsx +47 -0
- package/src/react/theme-preview/apply.ts +99 -0
- package/src/react/theme-preview/build-html.ts +436 -0
- package/src/react/ui/button.tsx +51 -0
- package/src/react/ui/calendar.tsx +67 -0
- package/src/react/ui/checkbox.tsx +29 -0
- package/src/react/ui/dialog.tsx +108 -0
- package/src/react/ui/dropdown-menu.tsx +97 -0
- package/src/react/ui/input.tsx +20 -0
- package/src/react/ui/label.tsx +21 -0
- package/src/react/ui/popover.tsx +50 -0
- package/src/react/ui/select.tsx +169 -0
- package/src/react/ui/separator.tsx +25 -0
- package/src/react/ui/sheet.tsx +136 -0
- package/src/react/ui/sidebar.tsx +723 -0
- package/src/react/ui/skeleton.tsx +13 -0
- package/src/react/ui/slider.tsx +34 -0
- package/src/react/ui/switch.tsx +28 -0
- package/src/react/ui/table.tsx +105 -0
- package/src/react/ui/tabs.tsx +63 -0
- package/src/react/ui/textarea.tsx +18 -0
- package/src/react/ui/tooltip.tsx +64 -0
- package/src/react/useResizableWidth.ts +139 -0
- package/src/react/utils.ts +6 -0
- package/src/react/widgetRegistry.test.ts +43 -0
- package/src/react/widgetRegistry.ts +50 -0
- package/src/react/widgets/StatsOverviewRenderer.tsx +232 -0
- package/src/react/widgets/TableWidgetRenderer.tsx +231 -0
- package/src/react/widgets/ViewRenderer.tsx +71 -0
- package/src/relationManagerData.test.ts +1146 -0
- package/src/richtext/index.ts +8 -0
- package/src/richtext/registry.ts +89 -0
- package/src/routes-nested-relations.test.ts +676 -0
- package/src/routes-relations.test.ts +972 -0
- package/src/routes.test.ts +1886 -0
- package/src/routes.ts +3262 -0
- package/src/schema/Alert.test.ts +63 -0
- package/src/schema/Alert.ts +49 -0
- package/src/schema/Block.ts +169 -0
- package/src/schema/Breadcrumbs.ts +40 -0
- package/src/schema/Card.ts +35 -0
- package/src/schema/Divider.ts +20 -0
- package/src/schema/Element.ts +219 -0
- package/src/schema/EmptyState.test.ts +37 -0
- package/src/schema/EmptyState.ts +63 -0
- package/src/schema/Fieldset.ts +43 -0
- package/src/schema/Grid.ts +43 -0
- package/src/schema/Group.ts +30 -0
- package/src/schema/Heading.ts +39 -0
- package/src/schema/Html.ts +67 -0
- package/src/schema/Icon.ts +54 -0
- package/src/schema/Image.ts +57 -0
- package/src/schema/LinkTag.ts +41 -0
- package/src/schema/Markdown.ts +85 -0
- package/src/schema/MetaTag.ts +41 -0
- package/src/schema/RelationTabs.ts +71 -0
- package/src/schema/ScriptTag.ts +55 -0
- package/src/schema/Section.ts +143 -0
- package/src/schema/ServerDataElement.test.ts +140 -0
- package/src/schema/ServerDataElement.ts +156 -0
- package/src/schema/Split.ts +50 -0
- package/src/schema/Stat.test.ts +118 -0
- package/src/schema/Stat.ts +154 -0
- package/src/schema/StatsOverview.test.ts +141 -0
- package/src/schema/StatsOverview.ts +119 -0
- package/src/schema/StyleTag.ts +35 -0
- package/src/schema/TableWidget.test.ts +297 -0
- package/src/schema/TableWidget.ts +289 -0
- package/src/schema/Tabs.ts +79 -0
- package/src/schema/Text.ts +58 -0
- package/src/schema/UnorderedList.ts +49 -0
- package/src/schema/View.test.ts +111 -0
- package/src/schema/View.ts +127 -0
- package/src/schema/Wizard.ts +108 -0
- package/src/schema/containers.test.ts +446 -0
- package/src/schema/headTags.test.ts +134 -0
- package/src/schema/index.ts +39 -0
- package/src/schema/primes.test.ts +269 -0
- package/src/schema/resolveSchema.test.ts +329 -0
- package/src/schema/resolveSchema.ts +807 -0
- package/src/schema/sanitize.ts +49 -0
- package/src/search.test.ts +446 -0
- package/src/search.ts +178 -0
- package/src/sessionFilters.test.ts +352 -0
- package/src/sessionFilters.ts +133 -0
- package/src/summarizers/Summarizer.test.ts +84 -0
- package/src/summarizers/Summarizer.ts +123 -0
- package/src/summarizers/index.ts +11 -0
- package/src/theme/base-colors.ts +68 -0
- package/src/theme/chart-colors.ts +50 -0
- package/src/theme/colors.ts +447 -0
- package/src/theme/generate-css.test.ts +139 -0
- package/src/theme/generate-css.ts +44 -0
- package/src/theme/generate-scale.test.ts +106 -0
- package/src/theme/generate-scale.ts +97 -0
- package/src/theme/icon-map.ts +42 -0
- package/src/theme/index.ts +28 -0
- package/src/theme/migrate.ts +81 -0
- package/src/theme/presets.ts +135 -0
- package/src/theme/radius.ts +18 -0
- package/src/theme/resolve.test.ts +238 -0
- package/src/theme/resolve.ts +96 -0
- package/src/theme/spacing.ts +18 -0
- package/src/theme/theme-colors.ts +88 -0
- package/src/theme/types.ts +125 -0
- package/src/uploads/UploadAdapter.ts +35 -0
- package/src/uploads/index.ts +2 -0
- package/src/uploads/localUpload.test.ts +70 -0
- package/src/uploads/localUpload.ts +84 -0
- package/src/validation/Validator.ts +49 -0
- package/src/validation/index.ts +28 -0
- package/src/validation/rules.ts +78 -0
- package/src/validation/runValidators.ts +435 -0
- package/src/validation/uniqueValidator.test.ts +196 -0
- package/src/validation/uniqueValidator.ts +133 -0
- package/src/validation/validators.test.ts +268 -0
- package/src/vite.ts +758 -0
- package/src/widgets/index.ts +10 -0
- package/src/widgets/registry.ts +45 -0
- package/src/widgets.test.ts +592 -0
- package/tsconfig.build.json +11 -0
- package/tsconfig.json +4 -0
- package/tsconfig.test.json +10 -0
- package/views/react/Dashboard.tsx +27 -0
- package/views/react/Resources/Form.tsx +102 -0
- package/views/react/Resources/Index.tsx +49 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Element } from './Element.js';
|
|
2
|
+
/**
|
|
3
|
+
* Container that groups related Elements (typically Fields) under a heading
|
|
4
|
+
* with optional description. Supports multi-column layouts and a collapsible
|
|
5
|
+
* disclosure pattern. Mirrors panels' `Section` element.
|
|
6
|
+
*
|
|
7
|
+
* Used inside Forms to group related inputs, but composes anywhere a
|
|
8
|
+
* container Element fits (e.g. inside a Card or another Section).
|
|
9
|
+
*
|
|
10
|
+
* Plan #8 polish: `icon / badge / aside / compact / persistCollapsed`.
|
|
11
|
+
*/
|
|
12
|
+
export class Section extends Element {
|
|
13
|
+
_title;
|
|
14
|
+
_description;
|
|
15
|
+
_icon;
|
|
16
|
+
_badge;
|
|
17
|
+
_columns = 1;
|
|
18
|
+
_collapsible = false;
|
|
19
|
+
_defaultCollapsed = false;
|
|
20
|
+
_aside = false;
|
|
21
|
+
_compact = false;
|
|
22
|
+
_dense = false;
|
|
23
|
+
_secondary = false;
|
|
24
|
+
_persistCollapsed = false;
|
|
25
|
+
_persistKey;
|
|
26
|
+
_afterHeader;
|
|
27
|
+
constructor(_title) {
|
|
28
|
+
super();
|
|
29
|
+
this._title = _title;
|
|
30
|
+
}
|
|
31
|
+
static make(title) {
|
|
32
|
+
return new Section(title);
|
|
33
|
+
}
|
|
34
|
+
description(d) { this._description = d; return this; }
|
|
35
|
+
/**
|
|
36
|
+
* Icon shown next to the section title. Resolved through the icon
|
|
37
|
+
* registry (`registerIcons({ name: Component })`) at render. Schema-time
|
|
38
|
+
* icons are string-only — component-typed icons are reserved for
|
|
39
|
+
* Resource/Global/Page where the Vite plugin can mint a manifest key.
|
|
40
|
+
*/
|
|
41
|
+
icon(name) { this._icon = name; return this; }
|
|
42
|
+
/** Right-aligned pill in the section header. Pure cosmetic. */
|
|
43
|
+
badge(text) { this._badge = text; return this; }
|
|
44
|
+
/** Number of columns the section's children are laid out in. Defaults to 1. */
|
|
45
|
+
columns(n) { this._columns = n; return this; }
|
|
46
|
+
/** Allow the user to collapse this section. Off by default. */
|
|
47
|
+
collapsible(v = true) { this._collapsible = v; return this; }
|
|
48
|
+
/** Start collapsed (only meaningful when `collapsible` is true). */
|
|
49
|
+
defaultCollapsed(v = true) { this._defaultCollapsed = v; return this; }
|
|
50
|
+
/**
|
|
51
|
+
* Render this section as the right-rail aside when nested inside a
|
|
52
|
+
* `Split` parent. No-op outside a `Split`.
|
|
53
|
+
*/
|
|
54
|
+
aside(v = true) { this._aside = v; return this; }
|
|
55
|
+
/** Tighter padding + smaller heading. Useful in dense settings pages. */
|
|
56
|
+
compact(v = true) { this._compact = v; return this; }
|
|
57
|
+
/**
|
|
58
|
+
* Tighter spacing between the section's children. Orthogonal to
|
|
59
|
+
* `compact()` (which trims the section's outer padding/heading):
|
|
60
|
+
* `dense()` shrinks the inner grid `gap` so a long form fits more
|
|
61
|
+
* fields per scroll. Compose both for a settings-page look.
|
|
62
|
+
*/
|
|
63
|
+
dense(v = true) { this._dense = v; return this; }
|
|
64
|
+
/**
|
|
65
|
+
* Muted background variant — uses the `bg-muted/40` token instead of
|
|
66
|
+
* `bg-card`. Pairs well with sections that wrap secondary or auxiliary
|
|
67
|
+
* controls (e.g. an "Advanced settings" group inside a primary card).
|
|
68
|
+
*/
|
|
69
|
+
secondary(v = true) { this._secondary = v; return this; }
|
|
70
|
+
/**
|
|
71
|
+
* Persist the open/closed state to localStorage so user choices survive
|
|
72
|
+
* navigation. Only meaningful when `collapsible` is true. The optional
|
|
73
|
+
* `key` overrides the auto-key (which is built from the page slug +
|
|
74
|
+
* section title at render time).
|
|
75
|
+
*/
|
|
76
|
+
persistCollapsed(key) {
|
|
77
|
+
this._persistCollapsed = true;
|
|
78
|
+
if (key !== undefined)
|
|
79
|
+
this._persistKey = key;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Action buttons rendered to the right of the section header. v1
|
|
84
|
+
* accepts `Action[]` only — Element-typed children would require a
|
|
85
|
+
* second resolver pass; keeping the slot Action-only dodges the
|
|
86
|
+
* resolution question (Actions serialize via `toMeta()` and their
|
|
87
|
+
* visibility evaluates inside the standard resolver walk that
|
|
88
|
+
* `resolveSchema` runs against `getAfterHeader()`).
|
|
89
|
+
*
|
|
90
|
+
* Actions placed here keep their full chrome surface — `.color() /
|
|
91
|
+
* .icon() / .iconButton() / .visible() / .disabled()` all work the
|
|
92
|
+
* same as anywhere else.
|
|
93
|
+
*/
|
|
94
|
+
afterHeader(actions) {
|
|
95
|
+
this._afterHeader = actions;
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
/** Read-only access for the resolver. */
|
|
99
|
+
getAfterHeader() { return this._afterHeader; }
|
|
100
|
+
/** Set the section's children. Any Element type is accepted. */
|
|
101
|
+
schema(elements) {
|
|
102
|
+
this._children = elements;
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
getType() { return 'section'; }
|
|
106
|
+
toMeta() {
|
|
107
|
+
return {
|
|
108
|
+
type: 'section',
|
|
109
|
+
...(this._title ? { title: this._title } : {}),
|
|
110
|
+
...(this._description ? { description: this._description } : {}),
|
|
111
|
+
...(this._icon ? { icon: this._icon } : {}),
|
|
112
|
+
...(this._badge ? { badge: this._badge } : {}),
|
|
113
|
+
columns: this._columns,
|
|
114
|
+
collapsible: this._collapsible,
|
|
115
|
+
...(this._collapsible && this._defaultCollapsed ? { defaultCollapsed: true } : {}),
|
|
116
|
+
...(this._collapsible && this._persistCollapsed ? {
|
|
117
|
+
persistCollapsed: true,
|
|
118
|
+
...(this._persistKey ? { persistKey: this._persistKey } : {}),
|
|
119
|
+
} : {}),
|
|
120
|
+
...(this._aside ? { aside: true } : {}),
|
|
121
|
+
...(this._compact ? { compact: true } : {}),
|
|
122
|
+
...(this._dense ? { dense: true } : {}),
|
|
123
|
+
...(this._secondary ? { secondary: true } : {}),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=Section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/schema/Section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC;;;;;;;;;GASG;AACH,MAAM,OAAO,OAAQ,SAAQ,OAAO;IAeN;IAdpB,YAAY,CAAS;IACrB,KAAK,CAAS;IACd,MAAM,CAAS;IACf,QAAQ,GAAc,CAAC,CAAA;IACvB,YAAY,GAAG,KAAK,CAAA;IACpB,iBAAiB,GAAG,KAAK,CAAA;IACzB,MAAM,GAAG,KAAK,CAAA;IACd,QAAQ,GAAG,KAAK,CAAA;IAChB,MAAM,GAAG,KAAK,CAAA;IACd,UAAU,GAAG,KAAK,CAAA;IAClB,iBAAiB,GAAG,KAAK,CAAA;IACzB,WAAW,CAAS;IACpB,YAAY,CAAW;IAE/B,YAA4B,MAAe;QACzC,KAAK,EAAE,CAAA;QADmB,WAAM,GAAN,MAAM,CAAS;IAE3C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAc;QACxB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,WAAW,CAAC,CAAS,IAAU,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,IAAI,CAAC,IAAY,IAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE3D,+DAA+D;IAC/D,KAAK,CAAC,IAAY,IAAU,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE7D,+EAA+E;IAC/E,OAAO,CAAC,CAAY,IAAU,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE9D,+DAA+D;IAC/D,WAAW,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAElE,oEAAoE;IACpE,gBAAgB,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE5E;;;OAGG;IACH,KAAK,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAEtD,yEAAyE;IACzE,OAAO,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE1D;;;;;OAKG;IACH,KAAK,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAEtD;;;;OAIG;IACH,SAAS,CAAC,CAAC,GAAG,IAAI,IAAU,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,gBAAgB,CAAC,GAAY;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,OAAiB;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,yCAAyC;IACzC,cAAc,KAA2B,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAEnE,gEAAgE;IAChE,MAAM,CAAC,QAAmB;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAa,OAAO,SAAS,CAAA,CAAC,CAAC;IAEtC,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,SAAkB;YACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAO,CAAC,CAAC,EAAE,KAAK,EAAQ,IAAI,CAAC,MAAM,EAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC,CAAC,EAAE,IAAI,EAAS,IAAI,CAAC,KAAK,EAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAO,CAAC,CAAC,EAAE,KAAK,EAAQ,IAAI,CAAC,MAAM,EAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,EAAK,IAAI,CAAC,QAAQ;YACzB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAChD,gBAAgB,EAAE,IAAI;gBACtB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAK,CAAC,CAAC,EAAE,KAAK,EAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAG,CAAC,CAAC,EAAE,OAAO,EAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAK,CAAC,CAAC,EAAE,KAAK,EAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Element, type ElementMeta } from './Element.js';
|
|
2
|
+
import type { RenderContext } from './resolveSchema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Element subclasses that compute their render-time payload from the
|
|
5
|
+
* server. Plan #15 widgets — `Stat / StatsOverview / Chart / Table /
|
|
6
|
+
* View` extend this. The contract is intentionally tiny:
|
|
7
|
+
*
|
|
8
|
+
* - identity: every element carries an id (`Stat.make(id)` / inferred
|
|
9
|
+
* class name fallback) so the polling endpoint can find it,
|
|
10
|
+
* - hook: `resolveServerData(ctx)` returns whatever JSON-clean
|
|
11
|
+
* payload the renderer should consume,
|
|
12
|
+
* - flags: `poll(seconds)`, `lazy(bool=true)` shape the wire.
|
|
13
|
+
*
|
|
14
|
+
* `pageData.resolveServerDataElements` walks every page-data builder's
|
|
15
|
+
* tree, collects elements where `isServerDataElement()` is true, and
|
|
16
|
+
* runs `resolveServerData(ctx)` in parallel — except for lazy ones,
|
|
17
|
+
* which paint a skeleton client-side and fetch via the polling endpoint
|
|
18
|
+
* on mount. Results land on a single `_widgetData[id]` map alongside
|
|
19
|
+
* `schemaData` so the renderer can look up its payload by id.
|
|
20
|
+
*
|
|
21
|
+
* Subclasses don't need to call `super.toMeta()` — the resolver stamps
|
|
22
|
+
* `serverData / poll / lazy / id` onto the meta after the subclass's own
|
|
23
|
+
* `toMeta()` runs. This keeps subclass meta authoring focused on the
|
|
24
|
+
* widget's own surface (label, type, columns, …).
|
|
25
|
+
*/
|
|
26
|
+
export declare abstract class ServerDataElement extends Element {
|
|
27
|
+
protected _id?: string;
|
|
28
|
+
protected _poll?: number;
|
|
29
|
+
protected _lazy?: boolean;
|
|
30
|
+
protected _widgetUrl?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Stable identifier. Required so the polling endpoint can find this
|
|
33
|
+
* element after re-walking the schema. Subclasses that use a fluent
|
|
34
|
+
* factory (`Chart.make('posts-chart')`) pass an explicit id; subclasses
|
|
35
|
+
* that don't (e.g. `View`, where the user extends with `class
|
|
36
|
+
* ContributionMap extends View {}`) fall back to the constructor's
|
|
37
|
+
* class name via `getId()`.
|
|
38
|
+
*/
|
|
39
|
+
getId(): string;
|
|
40
|
+
/** Set an explicit id. Useful when two instances of the same subclass
|
|
41
|
+
* appear on the same page (e.g. two `View.component(X)` widgets). */
|
|
42
|
+
id(value: string): this;
|
|
43
|
+
/** Polling interval in seconds. Number-only by design (cleaner than
|
|
44
|
+
* Filament's '30s' string). Zero / negative / non-finite values are
|
|
45
|
+
* ignored. */
|
|
46
|
+
poll(seconds: number): this;
|
|
47
|
+
getPoll(): number | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Opt out of (or back into) lazy loading. Default is lazy: the server
|
|
50
|
+
* paints a skeleton on first render and the client fetches the
|
|
51
|
+
* payload via the polling endpoint on mount. `lazy(false)` makes the
|
|
52
|
+
* server resolve `getServerData(ctx)` synchronously and ship the
|
|
53
|
+
* payload with the page.
|
|
54
|
+
*/
|
|
55
|
+
lazy(value?: boolean): this;
|
|
56
|
+
/** True when this element should ship lazy (skeleton + first-paint
|
|
57
|
+
* fetch). Default is true; unset === true. */
|
|
58
|
+
isLazy(): boolean;
|
|
59
|
+
/** Stamp the polling-endpoint URL. Called by `pageData.tagWidgetUrls`
|
|
60
|
+
* during page-data builds — `${base}/_widget/:id` for panel-scope
|
|
61
|
+
* dashboards and `${base}/${pageSlug}/_widget/:id` for custom-page
|
|
62
|
+
* scope. The renderer reads `meta.widgetUrl` to fetch. */
|
|
63
|
+
withWidgetUrl(url: string): this;
|
|
64
|
+
getWidgetUrl(): string | undefined;
|
|
65
|
+
/** Discriminator that pageData / routes use to find server-data
|
|
66
|
+
* elements without `instanceof` (Vite SSR module-cache duplication
|
|
67
|
+
* trap — same posture as `findForms`). */
|
|
68
|
+
isServerDataElement(): true;
|
|
69
|
+
/**
|
|
70
|
+
* Compute this element's render-time payload. Receives the same
|
|
71
|
+
* `RenderContext` the resolver builds (record/user/values/$get/...).
|
|
72
|
+
* Implementations should return a JSON-clean value — the resolver
|
|
73
|
+
* stamps it under `_widgetData[id]` for the renderer to consume.
|
|
74
|
+
*
|
|
75
|
+
* May throw — `resolveServerDataElements` swallows the throw and
|
|
76
|
+
* stamps `_widgetData[id] = { error: '...' }` so a single failing
|
|
77
|
+
* widget doesn't blank the whole dashboard. The polling-endpoint
|
|
78
|
+
* path handles errors symmetrically.
|
|
79
|
+
*/
|
|
80
|
+
abstract resolveServerData(ctx: RenderContext): Promise<unknown>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Structural type guard — Vite SSR module-cache duplication breaks
|
|
84
|
+
* `instanceof` across module-graph entries (see
|
|
85
|
+
* `feedback_vite_ssr_module_dup_instanceof.md`). Matches the
|
|
86
|
+
* `findForms / findActions / isRepeaterField / isBuilderField` pattern.
|
|
87
|
+
*/
|
|
88
|
+
export declare function isServerDataElement(el: Element): el is ServerDataElement;
|
|
89
|
+
/**
|
|
90
|
+
* Stamp `serverData / id / poll / lazy` onto an element's meta after
|
|
91
|
+
* subclass `toMeta()` runs. Called by `resolveSchema` for every
|
|
92
|
+
* `ServerDataElement`. Subclasses keep their `toMeta()` clean — they
|
|
93
|
+
* only emit their own surface (label, kind, columns, …).
|
|
94
|
+
*
|
|
95
|
+
* Only stamps `lazy: true` when explicit; undefined-default ships as
|
|
96
|
+
* `lazy: true` since the renderer treats absent as true. Keeps the wire
|
|
97
|
+
* compact for the synchronous case (`lazy(false)` → no key emitted, but
|
|
98
|
+
* `_widgetData[id]` already carries the payload).
|
|
99
|
+
*/
|
|
100
|
+
export declare function stampServerDataMeta(el: ServerDataElement, meta: ElementMeta): void;
|
|
101
|
+
//# sourceMappingURL=ServerDataElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerDataElement.d.ts","sourceRoot":"","sources":["../../src/schema/ServerDataElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8BAAsB,iBAAkB,SAAQ,OAAO;IACrD,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IAIxB,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IAKzB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;OAOG;IACH,KAAK,IAAI,MAAM;IAMf;0EACsE;IACtE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB;;mBAEe;IACf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IAKjC;mDAC+C;IAC/C,MAAM,IAAI,OAAO;IAIjB;;;+DAG2D;IAC3D,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;+CAE2C;IAE3C,mBAAmB,IAAI,IAAI;IAE3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,iBAAiB,CAGxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAUlF"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Element } from './Element.js';
|
|
2
|
+
/**
|
|
3
|
+
* Element subclasses that compute their render-time payload from the
|
|
4
|
+
* server. Plan #15 widgets — `Stat / StatsOverview / Chart / Table /
|
|
5
|
+
* View` extend this. The contract is intentionally tiny:
|
|
6
|
+
*
|
|
7
|
+
* - identity: every element carries an id (`Stat.make(id)` / inferred
|
|
8
|
+
* class name fallback) so the polling endpoint can find it,
|
|
9
|
+
* - hook: `resolveServerData(ctx)` returns whatever JSON-clean
|
|
10
|
+
* payload the renderer should consume,
|
|
11
|
+
* - flags: `poll(seconds)`, `lazy(bool=true)` shape the wire.
|
|
12
|
+
*
|
|
13
|
+
* `pageData.resolveServerDataElements` walks every page-data builder's
|
|
14
|
+
* tree, collects elements where `isServerDataElement()` is true, and
|
|
15
|
+
* runs `resolveServerData(ctx)` in parallel — except for lazy ones,
|
|
16
|
+
* which paint a skeleton client-side and fetch via the polling endpoint
|
|
17
|
+
* on mount. Results land on a single `_widgetData[id]` map alongside
|
|
18
|
+
* `schemaData` so the renderer can look up its payload by id.
|
|
19
|
+
*
|
|
20
|
+
* Subclasses don't need to call `super.toMeta()` — the resolver stamps
|
|
21
|
+
* `serverData / poll / lazy / id` onto the meta after the subclass's own
|
|
22
|
+
* `toMeta()` runs. This keeps subclass meta authoring focused on the
|
|
23
|
+
* widget's own surface (label, type, columns, …).
|
|
24
|
+
*/
|
|
25
|
+
export class ServerDataElement extends Element {
|
|
26
|
+
_id;
|
|
27
|
+
_poll;
|
|
28
|
+
// Default lazy=true (matches Filament v5's `$isLazy = true` default).
|
|
29
|
+
// `undefined` is treated as `true` everywhere; explicit `false` opts
|
|
30
|
+
// out (synchronous server-side resolve, ships data on first paint).
|
|
31
|
+
_lazy;
|
|
32
|
+
// Polling-endpoint URL stamped by `pageData.tagWidgetUrls`. The
|
|
33
|
+
// renderer reads `meta.widgetUrl` to fetch lazy data on mount and to
|
|
34
|
+
// re-fetch on `poll(seconds)` ticks. Set server-side per page-data
|
|
35
|
+
// pass — the field never round-trips back from the client.
|
|
36
|
+
_widgetUrl;
|
|
37
|
+
/**
|
|
38
|
+
* Stable identifier. Required so the polling endpoint can find this
|
|
39
|
+
* element after re-walking the schema. Subclasses that use a fluent
|
|
40
|
+
* factory (`Chart.make('posts-chart')`) pass an explicit id; subclasses
|
|
41
|
+
* that don't (e.g. `View`, where the user extends with `class
|
|
42
|
+
* ContributionMap extends View {}`) fall back to the constructor's
|
|
43
|
+
* class name via `getId()`.
|
|
44
|
+
*/
|
|
45
|
+
getId() {
|
|
46
|
+
if (this._id)
|
|
47
|
+
return this._id;
|
|
48
|
+
const ctor = this.constructor;
|
|
49
|
+
return ctor.name ?? 'widget';
|
|
50
|
+
}
|
|
51
|
+
/** Set an explicit id. Useful when two instances of the same subclass
|
|
52
|
+
* appear on the same page (e.g. two `View.component(X)` widgets). */
|
|
53
|
+
id(value) {
|
|
54
|
+
this._id = value;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/** Polling interval in seconds. Number-only by design (cleaner than
|
|
58
|
+
* Filament's '30s' string). Zero / negative / non-finite values are
|
|
59
|
+
* ignored. */
|
|
60
|
+
poll(seconds) {
|
|
61
|
+
if (Number.isFinite(seconds) && seconds > 0)
|
|
62
|
+
this._poll = seconds;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
getPoll() {
|
|
66
|
+
return this._poll;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Opt out of (or back into) lazy loading. Default is lazy: the server
|
|
70
|
+
* paints a skeleton on first render and the client fetches the
|
|
71
|
+
* payload via the polling endpoint on mount. `lazy(false)` makes the
|
|
72
|
+
* server resolve `getServerData(ctx)` synchronously and ship the
|
|
73
|
+
* payload with the page.
|
|
74
|
+
*/
|
|
75
|
+
lazy(value = true) {
|
|
76
|
+
this._lazy = value;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
/** True when this element should ship lazy (skeleton + first-paint
|
|
80
|
+
* fetch). Default is true; unset === true. */
|
|
81
|
+
isLazy() {
|
|
82
|
+
return this._lazy !== false;
|
|
83
|
+
}
|
|
84
|
+
/** Stamp the polling-endpoint URL. Called by `pageData.tagWidgetUrls`
|
|
85
|
+
* during page-data builds — `${base}/_widget/:id` for panel-scope
|
|
86
|
+
* dashboards and `${base}/${pageSlug}/_widget/:id` for custom-page
|
|
87
|
+
* scope. The renderer reads `meta.widgetUrl` to fetch. */
|
|
88
|
+
withWidgetUrl(url) {
|
|
89
|
+
this._widgetUrl = url;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
getWidgetUrl() {
|
|
93
|
+
return this._widgetUrl;
|
|
94
|
+
}
|
|
95
|
+
/** Discriminator that pageData / routes use to find server-data
|
|
96
|
+
* elements without `instanceof` (Vite SSR module-cache duplication
|
|
97
|
+
* trap — same posture as `findForms`). */
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- structural marker
|
|
99
|
+
isServerDataElement() { return true; }
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Structural type guard — Vite SSR module-cache duplication breaks
|
|
103
|
+
* `instanceof` across module-graph entries (see
|
|
104
|
+
* `feedback_vite_ssr_module_dup_instanceof.md`). Matches the
|
|
105
|
+
* `findForms / findActions / isRepeaterField / isBuilderField` pattern.
|
|
106
|
+
*/
|
|
107
|
+
export function isServerDataElement(el) {
|
|
108
|
+
const probe = el;
|
|
109
|
+
return typeof probe.isServerDataElement === 'function' && probe.isServerDataElement() === true;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Stamp `serverData / id / poll / lazy` onto an element's meta after
|
|
113
|
+
* subclass `toMeta()` runs. Called by `resolveSchema` for every
|
|
114
|
+
* `ServerDataElement`. Subclasses keep their `toMeta()` clean — they
|
|
115
|
+
* only emit their own surface (label, kind, columns, …).
|
|
116
|
+
*
|
|
117
|
+
* Only stamps `lazy: true` when explicit; undefined-default ships as
|
|
118
|
+
* `lazy: true` since the renderer treats absent as true. Keeps the wire
|
|
119
|
+
* compact for the synchronous case (`lazy(false)` → no key emitted, but
|
|
120
|
+
* `_widgetData[id]` already carries the payload).
|
|
121
|
+
*/
|
|
122
|
+
export function stampServerDataMeta(el, meta) {
|
|
123
|
+
meta['serverData'] = true;
|
|
124
|
+
meta['id'] = el.getId();
|
|
125
|
+
const poll = el.getPoll();
|
|
126
|
+
if (poll !== undefined)
|
|
127
|
+
meta['poll'] = poll;
|
|
128
|
+
// Always emit `lazy` so the renderer doesn't have to fall back through
|
|
129
|
+
// a default — explicit > implicit on the wire.
|
|
130
|
+
meta['lazy'] = el.isLazy();
|
|
131
|
+
const widgetUrl = el.getWidgetUrl();
|
|
132
|
+
if (widgetUrl !== undefined)
|
|
133
|
+
meta['widgetUrl'] = widgetUrl;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=ServerDataElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerDataElement.js","sourceRoot":"","sources":["../../src/schema/ServerDataElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAgB,iBAAkB,SAAQ,OAAO;IAC3C,GAAG,CAAS;IACZ,KAAK,CAAS;IACxB,sEAAsE;IACtE,qEAAqE;IACrE,oEAAoE;IAC1D,KAAK,CAAU;IACzB,gEAAgE;IAChE,qEAAqE;IACrE,mEAAmE;IACnE,2DAA2D;IACjD,UAAU,CAAS;IAE7B;;;;;;;OAOG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAgC,CAAA;QAClD,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAA;IAC9B,CAAC;IAED;0EACsE;IACtE,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;mBAEe;IACf,IAAI,CAAC,OAAe;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;QACjE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAiB,IAAI;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;mDAC+C;IAC/C,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAA;IAC7B,CAAC;IAED;;;+DAG2D;IAC3D,aAAa,CAAC,GAAW;QACvB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED;;+CAE2C;IAC3C,kFAAkF;IAClF,mBAAmB,KAAW,OAAO,IAAI,CAAA,CAAC,CAAC;CAc5C;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAW;IAC7C,MAAM,KAAK,GAAG,EAAwD,CAAA;IACtE,OAAO,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU,IAAI,KAAK,CAAC,mBAAmB,EAAE,KAAK,IAAI,CAAA;AAChG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAqB,EAAE,IAAiB;IAC1E,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACzB,IAAI,CAAC,IAAI,CAAC,GAAW,EAAE,CAAC,KAAK,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC3C,uEAAuE;IACvE,+CAA+C;IAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;IACnC,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;AAC5D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Element } from './Element.js';
|
|
2
|
+
export type SplitFrom = 'left' | 'right';
|
|
3
|
+
/**
|
|
4
|
+
* Two-column layout — main + aside. Renders as a stacked flex on small
|
|
5
|
+
* viewports and a horizontal flex on `@md` (container query). Children
|
|
6
|
+
* tagged with `.aside()` (e.g. `Section.aside()`) become the right-rail
|
|
7
|
+
* (or left, when `from('left')`); without explicit markers, the second
|
|
8
|
+
* child is treated as the aside.
|
|
9
|
+
*
|
|
10
|
+
* The renderer picks the aside-styled width from a small palette of
|
|
11
|
+
* shadcn-flavoured sidebar widths (~20rem). The main child grows to
|
|
12
|
+
* fill the remaining space.
|
|
13
|
+
*
|
|
14
|
+
* Useful for settings pages with a navigation card on the side, or for
|
|
15
|
+
* resource forms where the primary content is a long article body and
|
|
16
|
+
* the aside holds publish controls.
|
|
17
|
+
*/
|
|
18
|
+
export declare class Split extends Element {
|
|
19
|
+
private _from;
|
|
20
|
+
private _gap;
|
|
21
|
+
private constructor();
|
|
22
|
+
static make(): Split;
|
|
23
|
+
/** Which side the aside child sits on. Defaults to `'right'`. */
|
|
24
|
+
from(side: SplitFrom): this;
|
|
25
|
+
/** Gap between main and aside (Tailwind spacing scale). Default 6 (24px). */
|
|
26
|
+
gap(n: number): this;
|
|
27
|
+
schema(elements: Element[]): this;
|
|
28
|
+
getType(): string;
|
|
29
|
+
toMeta(): Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Split.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Split.d.ts","sourceRoot":"","sources":["../../src/schema/Split.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAExC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,IAAI,CAAI;IAEhB,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,KAAK;IAIpB,iEAAiE;IACjE,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAE3B,6EAA6E;IAC7E,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAEpB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAKjC,OAAO,IAAI,MAAM;IAEjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOlC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Element } from './Element.js';
|
|
2
|
+
/**
|
|
3
|
+
* Two-column layout — main + aside. Renders as a stacked flex on small
|
|
4
|
+
* viewports and a horizontal flex on `@md` (container query). Children
|
|
5
|
+
* tagged with `.aside()` (e.g. `Section.aside()`) become the right-rail
|
|
6
|
+
* (or left, when `from('left')`); without explicit markers, the second
|
|
7
|
+
* child is treated as the aside.
|
|
8
|
+
*
|
|
9
|
+
* The renderer picks the aside-styled width from a small palette of
|
|
10
|
+
* shadcn-flavoured sidebar widths (~20rem). The main child grows to
|
|
11
|
+
* fill the remaining space.
|
|
12
|
+
*
|
|
13
|
+
* Useful for settings pages with a navigation card on the side, or for
|
|
14
|
+
* resource forms where the primary content is a long article body and
|
|
15
|
+
* the aside holds publish controls.
|
|
16
|
+
*/
|
|
17
|
+
export class Split extends Element {
|
|
18
|
+
_from = 'right';
|
|
19
|
+
_gap = 6;
|
|
20
|
+
constructor() { super(); }
|
|
21
|
+
static make() {
|
|
22
|
+
return new Split();
|
|
23
|
+
}
|
|
24
|
+
/** Which side the aside child sits on. Defaults to `'right'`. */
|
|
25
|
+
from(side) { this._from = side; return this; }
|
|
26
|
+
/** Gap between main and aside (Tailwind spacing scale). Default 6 (24px). */
|
|
27
|
+
gap(n) { this._gap = n; return this; }
|
|
28
|
+
schema(elements) {
|
|
29
|
+
this._children = elements;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
getType() { return 'split'; }
|
|
33
|
+
toMeta() {
|
|
34
|
+
return {
|
|
35
|
+
type: 'split',
|
|
36
|
+
from: this._from,
|
|
37
|
+
gap: this._gap,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=Split.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Split.js","sourceRoot":"","sources":["../../src/schema/Split.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IACxB,KAAK,GAAc,OAAO,CAAA;IAC1B,IAAI,GAAG,CAAC,CAAA;IAEhB,gBAAwB,KAAK,EAAE,CAAA,CAAC,CAAC;IAEjC,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC,IAAe,IAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE9D,6EAA6E;IAC7E,GAAG,CAAC,CAAS,IAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAEnD,MAAM,CAAC,QAAmB;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAa,OAAO,OAAO,CAAA,CAAC,CAAC;IAEpC,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,OAAgB;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,GAAG,EAAG,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan #15 Phase B — `Stat` is the fluent value object emitted by
|
|
3
|
+
* `StatsOverview.getStats(ctx)`. It does NOT extend Element — it has no
|
|
4
|
+
* place in the schema tree on its own. `StatsOverview.resolveServerData`
|
|
5
|
+
* collects the array of Stats and ships them as JSON-clean
|
|
6
|
+
* `StatMeta[]` payloads under `_widgetData[id]`.
|
|
7
|
+
*
|
|
8
|
+
* Stat.make('Users')
|
|
9
|
+
* .value(await User.query().count())
|
|
10
|
+
* .description('+12% this month')
|
|
11
|
+
* .descriptionIcon('trending-up', 'before')
|
|
12
|
+
* .icon('users')
|
|
13
|
+
* .color('success')
|
|
14
|
+
* .chart([12, 4, 8, 15, 22, 18, 30]) // sparkline
|
|
15
|
+
* .url('/admin/users').openUrlInNewTab()
|
|
16
|
+
*
|
|
17
|
+
* Surface mirrors Filament v5's `Stat` 1:1, modulo TS naming
|
|
18
|
+
* (`openUrlInNewTab(true)` not `->openUrlInNewTab()`).
|
|
19
|
+
*/
|
|
20
|
+
/** Color preset. Mirrors `TabBadgeColor` so a "Users · 5,234" stat can
|
|
21
|
+
* be tinted with the same palette as the rest of the panel chrome. */
|
|
22
|
+
export type StatColor = 'default' | 'primary' | 'success' | 'warning' | 'destructive' | 'info';
|
|
23
|
+
/** Position for the optional `descriptionIcon`. Matches Filament's
|
|
24
|
+
* `IconPosition::Before / After` enum values. */
|
|
25
|
+
export type StatDescriptionIconPosition = 'before' | 'after';
|
|
26
|
+
export interface StatDescriptionIcon {
|
|
27
|
+
name: string;
|
|
28
|
+
position: StatDescriptionIconPosition;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* JSON-clean payload shape — what `StatsOverview.resolveServerData`
|
|
32
|
+
* emits and the renderer consumes. Optional keys are omitted when the
|
|
33
|
+
* fluent setter wasn't called (smaller wire, simpler renderer
|
|
34
|
+
* branching).
|
|
35
|
+
*/
|
|
36
|
+
export interface StatMeta {
|
|
37
|
+
label: string;
|
|
38
|
+
value?: string | number | null;
|
|
39
|
+
description?: string;
|
|
40
|
+
descriptionIcon?: StatDescriptionIcon;
|
|
41
|
+
icon?: string;
|
|
42
|
+
color?: StatColor;
|
|
43
|
+
chart?: number[];
|
|
44
|
+
url?: string;
|
|
45
|
+
openInNewTab?: boolean;
|
|
46
|
+
extraAttributes?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
export declare class Stat {
|
|
49
|
+
protected _label: string;
|
|
50
|
+
protected _value?: string | number | null;
|
|
51
|
+
protected _description?: string;
|
|
52
|
+
protected _descriptionIcon?: StatDescriptionIcon;
|
|
53
|
+
protected _icon?: string;
|
|
54
|
+
protected _color?: StatColor;
|
|
55
|
+
protected _chart?: number[];
|
|
56
|
+
protected _url?: string;
|
|
57
|
+
protected _openInNewTab?: boolean;
|
|
58
|
+
protected _extraAttributes?: Record<string, unknown>;
|
|
59
|
+
protected constructor(_label: string);
|
|
60
|
+
/** Factory. The single positional arg is the stat's *label*
|
|
61
|
+
* (e.g. 'Users') — the value is set fluently via `.value(...)`. */
|
|
62
|
+
static make(label: string): Stat;
|
|
63
|
+
/** Main number / string. `null` and `undefined` round-trip as `null`
|
|
64
|
+
* so the renderer can show a placeholder ("—") for "not yet
|
|
65
|
+
* computed" / "not applicable" without an extra sentinel. */
|
|
66
|
+
value(v: string | number | null | undefined): this;
|
|
67
|
+
/** Supplementary line below the value (e.g. '+12% this month'). */
|
|
68
|
+
description(t: string): this;
|
|
69
|
+
/** Tiny icon glued to the description. Position defaults to `'after'`
|
|
70
|
+
* (matches Filament v5's `IconPosition::After`). */
|
|
71
|
+
descriptionIcon(name: string, position?: StatDescriptionIconPosition): this;
|
|
72
|
+
/** Main icon shown in the card chrome. String key into the panel's
|
|
73
|
+
* icon registry — same lookup as `Resource.icon`. */
|
|
74
|
+
icon(name: string): this;
|
|
75
|
+
/** Color tint for the value + icon. */
|
|
76
|
+
color(c: StatColor): this;
|
|
77
|
+
/** Inline-SVG sparkline data. Array of raw numbers — the renderer
|
|
78
|
+
* draws a path scaled to the card. No chart-lib dep. */
|
|
79
|
+
chart(values: number[]): this;
|
|
80
|
+
/** Wrap the card in an `<a href>`. */
|
|
81
|
+
url(href: string): this;
|
|
82
|
+
/** When `.url()` is set, open it in a new tab. */
|
|
83
|
+
openUrlInNewTab(value?: boolean): this;
|
|
84
|
+
/** Extra HTML attributes spread onto the card root. JSON-clean only —
|
|
85
|
+
* values must serialize. */
|
|
86
|
+
extraAttributes(attrs: Record<string, unknown>): this;
|
|
87
|
+
/** Serialize to the wire shape. Stats are ferried through
|
|
88
|
+
* `_widgetData` so this is a plain JSON object — no children, no
|
|
89
|
+
* `type` discriminator (the parent `StatsOverview` carries that). */
|
|
90
|
+
toMeta(): StatMeta;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=Stat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stat.d.ts","sourceRoot":"","sources":["../../src/schema/Stat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;uEACuE;AACvE,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,aAAa,GACb,MAAM,CAAA;AAEV;kDACkD;AAClD,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAM,MAAM,CAAA;IAChB,QAAQ,EAAE,2BAA2B,CAAA;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,mBAAmB,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,qBAAa,IAAI;IAWO,SAAS,CAAC,MAAM,EAAE,MAAM;IAV9C,SAAS,CAAC,MAAM,CAAC,EAAY,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnD,SAAS,CAAC,YAAY,CAAC,EAAM,MAAM,CAAA;IACnC,SAAS,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IAChD,SAAS,CAAC,KAAK,CAAC,EAAa,MAAM,CAAA;IACnC,SAAS,CAAC,MAAM,CAAC,EAAY,SAAS,CAAA;IACtC,SAAS,CAAC,MAAM,CAAC,EAAY,MAAM,EAAE,CAAA;IACrC,SAAS,CAAC,IAAI,CAAC,EAAc,MAAM,CAAA;IACnC,SAAS,CAAC,aAAa,CAAC,EAAK,OAAO,CAAA;IACpC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpD,SAAS,aAAuB,MAAM,EAAE,MAAM;IAE9C;wEACoE;IACpE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;kEAE8D;IAC9D,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAKlD,mEAAmE;IACnE,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5B;yDACqD;IACrD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,2BAAqC,GAAG,IAAI;IAKpF;0DACsD;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,uCAAuC;IACvC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAKzB;6DACyD;IACzD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK7B,sCAAsC;IACtC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKvB,kDAAkD;IAClD,eAAe,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IAK5C;iCAC6B;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKrD;;0EAEsE;IACtE,MAAM,IAAI,QAAQ;CAanB"}
|