@alfakit/core 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @alfakit/core
2
2
 
3
+ ## 0.1.8
4
+
5
+ ### Patch Changes
6
+
7
+ - The starter kit header components' panel data is cached per language, so after a language switch they show the new language (used by `<AlfakitLanguageSwitcher />`).
8
+
3
9
  ## 0.1.7
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -108,7 +108,7 @@ import { GridBounds, GridCell, PastePlan, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE
108
108
  import { registerStandaloneProp, resolvePartialProps } from "./partial-props.js";
109
109
  import { StandaloneComponentState, StandaloneDefaults, fetchStandaloneComponents, findStandalonePropName, standaloneDirection, standalonePageSchema, standalonePanelSchema } from "./standalone.js";
110
110
  import { STARTER_KIT_TOASTER_ID, StarterKitBreadcrumb, StarterKitNavGroup, StarterKitNavItem, currentStarterKitPanel, currentStarterKitPanelId, installStarterKitRuntime, isStarterKitPanel, preferCurrentStarterKitPanel, starterKitBreadcrumbsFromProps, starterKitNavigation, starterKitNavigations, syncStarterKitPage, toStarterKitBreadcrumbs, toStarterKitNavGroups, usesStarterKitHostLayout } from "./starter-kit.js";
111
- import { STARTER_KIT_COPILOT_SHORTCUT, StarterKitWidgets, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot } from "./starter-kit-widgets.js";
111
+ import { STARTER_KIT_COPILOT_SHORTCUT, StarterKitWidgets, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitLanguages, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitPanelLocale, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot, takeRequestedStarterKitLanguages } from "./starter-kit-widgets.js";
112
112
  import { GroupedTableRow, groupTableRows, initialCollapsedGroups, toggleCollapsedGroup } from "./table-grouping.js";
113
113
  import { ColumnGroupHeaderCell, ColumnManagerPosition, columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnVisibilityClasses, isAppendingPagination, isGroupedColumn, keepMoveButtonFocus, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, moveColumn, moveColumnInManager, moveColumnTo, nextPageQuery, orderColumnsBy, paginationTotal, previousPageQuery, recordActionsAtStart, saveColumnOrder, splitClasses, stackClasses } from "./table-layout.js";
114
114
  import { TriggerButtonDefaults, TriggerButtonView, beginTableLoading, columnDraftChanged, defaultVisibleColumns, endTableLoading, extremePageLinks, isTableLoading, limitedListItems, removeAllFilterIndicators, removeFilterIndicator, skeletonRowCount, stackedImageStyle, tableLoadingStore, toggleVisibleColumn, triggerButtonView, usesDefaultImageStack } from "./table-toolbar.js";
@@ -133,4 +133,4 @@ import { applyMask } from "./utils/mask.js";
133
133
  import { PathSegment, deletePath, getPath, hasPath, joinPath, parentPath, replacePlaceholder, setPath, splitPath, templateForIndex } from "./utils/path.js";
134
134
  import { DEFAULT_VIRTUALIZE_THRESHOLD, VIRTUAL_ESTIMATES, VirtualList, VirtualListOptions, VirtualRange, firstErroredItemIndex, hasNewErrors, virtualizeOptions } from "./virtual.js";
135
135
  import { WIZARD_STEP_QUERY_KEY, completedStepIcon, initialWizardStep, persistWizardStep, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey } from "./wizard.js";
136
- export { ACTION_PATH_SEPARATOR, ACTIVE_TAB_QUERY_KEY, AI_COPILOT_REGISTRY_KEY, AI_STREAM_REGISTRY_KEY, ALL_SELECTED_RECORDS_ARGUMENT, ActionButtonSize, ActionContext, ActionGroupSchema, ActionModalCancelledResponse, ActionModalSchema, ActionResultEditor, ActionResultFlash, ActionRunner, ActionRunnerOptions, ActionRunnerState, ActionSchema, ActionVariant, ActionsComponentSchema, Affixes, AiActionStatus, AiConversationSchema, AiCopilotSchema, AiMessageRole, AiMessageSchema, AiProposedActionSchema, AiSetupNoticeSchema, AiStreamController, AiStreamOptions, AiStreamSchema, AiStreamState, AiStreamStatus, AlfakitFlash, AlfakitOptions, AlfakitPageProps, Alignment, AnalyticsBreakdownRowSchema, AnalyticsBreakdownTabSchema, AnalyticsBreakdownWidgetSchema, AnalyticsTracker, AnalyticsTrackerOptions, AnyActionSchema, AnyPaginationSchema, Appearance, AppendingPaginationSchema, Attributes, BOTTOM_NAVIGATION_SLOTS, BROADCAST_NOTIFICATION, BUILT_IN_COLORS, BUILT_IN_WIDGET_TYPES, BaseColumnSchema, BaseComponent, BaseEntry, BaseField, BaseWidgetSchema, BlockProps, BottomNavigationItems, BreadcrumbSchema, Breakpoint, Breakpoints, BuilderBlockGroup, BuilderBlockSchema, BuilderItemSchema, BuilderItemState, BuilderPickerRect, BuilderSchema, BulkToggleActionSchema, CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESIZE_ACTION, CALENDAR_FETCH_EVENTS_ACTION, CALENDAR_REGISTRY_KEY, CLOSE_NOTIFICATION_EVENT, CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, COMMANDS_COMPONENT, CONFLICT_ERROR_KEY, CONSTRAINT_PICKER_WIDTH_CLASSES, CONTAINER_BREAKPOINTS, CREATE_ANOTHER_ARGUMENT, CalendarChangeResult, CalendarEnvironment, CalendarEventApi, CalendarEventChangeInfo, CalendarEventClickInfo, CalendarEventSchema, CalendarFetchInfo, CalendarSelectInfo, CalendarView, CalendarWidgetSchema, CallPageMethodOptions, CalloutSchema, CellSchema, ChartConfigInput, ChartConfigOutput, ChartEmptyStateSchema, ChartFiltersFormSchema, ChartFormatter, ChartWidgetSchema, CheckboxColumnSchema, CheckboxListSchema, CheckboxSchema, CmsAdminBarSchema, CmsAlternateSchema, CmsAspectRatio, CmsAutosave, CmsAutosaveOptions, CmsAutosaveResult, CmsAutosaveSnapshot, CmsAutosaveStatus, CmsBlockSchema, CmsBreadcrumbSchema, CmsBuiltInBlocks, CmsCallToActionBlockData, CmsColumnsBlockData, CmsEditorStatusSchema, CmsEmbedBlockData, CmsFaqBlockData, CmsFeatureSchema, CmsFeaturesBlockData, CmsFormBlockData, CmsGalleryBlockData, CmsHeadTags, CmsHeroBlockData, CmsImageBlockData, CmsImageSchema, CmsLinkSchema, CmsLinkTag, CmsLivePreviewSchema, CmsMenuItemSchema, CmsMenuSchema, CmsMetaTag, CmsPageProps, CmsPageSchema, CmsPayload, CmsPreviewDevice, CmsRichTextBlockData, CmsSectionBlockData, CmsSeoSchema, CmsSiteSchema, CmsTestimonialSchema, CmsTestimonialsBlockData, CodeEditorSchema, CodeEntrySchema, CodeToken, CodeTokenKind, Color, ColorColumnSchema, ColorEntrySchema, ColorFormat, ColorPickerSchema, ColumnGroupHeaderCell, ColumnGroupSchema, ColumnLayoutColumnRef, ColumnLayoutNode, ColumnLayoutSchema, ColumnManagerPosition, ColumnProps, ColumnSchema, ColumnSpanValue, ColumnSummariesSchema, CommandPaletteLinkSchema, CommandPaletteResponse, CommandPaletteSchema, CommandSchema, ComponentDiscovery, ComponentRegistry, ConflictField, ConflictMonitor, ConflictMonitorOptions, ConflictMonitorState, ConflictsSchema, ConstraintPickerSection, ContainerBreakpoint, ContentBlock, ContentSlotItem, ContentSlotName, ContentSlotSchema, ContentSlots, CopilotController, CopilotControllerOptions, CopilotState, CopilotTotals, CopilotView, CropHandle, CropRect, CursorPaginationSchema, CustomBlockGroup, CustomBlockNodeOptions, CustomBlockPreview, CustomBlockResult, CustomWidgetSchema, DATABASE_NOTIFICATIONS_EVENT, DATABASE_NOTIFICATIONS_SENT, DEFAULT_ACTION_QUERY_KEYS, DEFAULT_LINK_PROTOCOLS, DEFAULT_VIRTUALIZE_THRESHOLD, DISCOVERY_FOLDERS, DashboardCustomizeSchema, DashboardEditor, DashboardEditorOptions, DashboardEditorState, DashboardLayoutEntry, DashboardLibraryWidget, DashboardMove, DashboardSpanOption, DashboardTranslator, DatabaseNotificationsResponse, DatePickerSchema, Debounced, DebugClosure, DebugDeprecation, DebugNode, DebugRecorder, DebugRequest, DebugRequestOutcome, DebugSchema, DebugServerTimings, DebugState, DefaultActionOpener, DefaultActionSchema, DeferredBadgeSchema, DeferredRequestOptions, DeferredTabBadges, DeprecationOptions, DevToolsClass, DevToolsContext, DevToolsSchema, Direction, DiscoveredEntry, DiscoveryFolder, DiscoveryKey, DiscoveryModules, DiscoveryOptions, DropdownPlacement, EchoChannelLike, EchoConnectionOptions, EchoEventChannel, EchoFactory, EchoLike, EchoPresenceChannelLike, EchoWithChannels, EditConflict, EditableColumnSchema, EditorAttachments, EditorSuggestions, EmptyStateComponentSchema, EmptyStateSchema, EntryProps, EntrySchema, ErrorNotificationEntrySchema, ErrorNotificationsSchema, ExecuteOptions, FIELD_ACTION_PREFIX, FIELD_TYPES, FILAMENT_CLOSE_NOTIFICATION_EVENT, FILE_MANAGER_DRAG_TYPE, FILE_MANAGER_PICKER_REGISTRY_KEY, FILE_MANAGER_REGISTRY_KEY, FILTERS_FORM_WIDTH_CLASSES, FILTERS_MODAL_WIDTH_CLASSES, FILTERS_SIDEBAR_WIDTH_CLASSES, FieldActionContextOptions, FieldActionResponse, FieldActions, FieldAriaAttributes, FieldAriaSource, FieldDescriptionIds, FieldProps, FieldSchema, FieldsetSchema, FileManagerActionNames, FileManagerBreadcrumbSchema, FileManagerClick, FileManagerController, FileManagerDataTransfer, FileManagerDetailsSchema, FileManagerDialog, FileManagerEntrySchema, FileManagerEnvironment, FileManagerFolderSchema, FileManagerKeyEvent, FileManagerKeyResult, FileManagerKind, FileManagerLinkSchema, FileManagerListingSchema, FileManagerPermissionsSchema, FileManagerPickedFileSchema, FileManagerPickerSchema, FileManagerPreviewSchema, FileManagerPreviewState, FileManagerResult, FileManagerSchema, FileManagerSort, FileManagerSortField, FileManagerState, FileManagerUpload, FileManagerUploader, FileUploadImageEditorSchema, FileUploadPositions, FileUploadSchema, FilterFormSync, FilterIndicator, FilterSchema, FiltersFormWidth, FiltersPlacement, FlashNotificationTracker, FlatNavigationItem, FlexSchema, FloatingToolbarEditor, FloatingToolbarState, FormBlock, FormPayload, FormState, FormStore, FormStoreOptions, FormattedStateProps, FusedGroupSchema, GLOBAL_SEARCH_DEBOUNCE, GRID_MAX_COLUMNS, GRID_MIN_COLUMNS, GlobalSearchGroupSchema, GlobalSearchResultSchema, GridBounds, GridCell, GridLayoutSchema, GridSchema, GroupSchema, GroupedTableRow, GuardedVisit, HELPDESK_ACTIVITY_EVENT, HELPDESK_SHORTCUTS, HELPDESK_TYPING_MS, HeadingTag, HelpdeskActivity, HelpdeskAttachment, HelpdeskBadge, HelpdeskChatClient, HelpdeskChatConfig, HelpdeskChatConversation, HelpdeskChatMessage, HelpdeskChatOptions, HelpdeskChatResponse, HelpdeskChatState, HelpdeskComposerMode, HelpdeskInboxController, HelpdeskInboxEnvironment, HelpdeskInboxList, HelpdeskInboxSchema, HelpdeskInboxState, HelpdeskMessage, HelpdeskSla, HelpdeskTicket, HelpdeskTicketSummary, HelpdeskView, HiddenSchema, HtmlSchema, HttpError, IMAGE_EDITOR_ZOOM_STEP, ITEM_MOVE_ATTRIBUTE, IconCellItem, IconColumnSchema, IconEntrySchema, IconName, IconPickerOption, IconPickerResponse, IconPickerSchema, IconPickerSearch, IconPickerSearchState, IconPickerSetSchema, IconPickerSource, IconPosition, IconSchema, IconSource, ImageCellSchema, ImageColumnSchema, ImageEditor, ImageEditorData, ImageEditorDragMode, ImageEditorMode, ImageEditorOptions, ImageEditorPoint, ImageEditorState, ImageEntrySchema, ImageGeometry, ImageSchema, ImageStackProps, ImageTransformOptions, ImpersonationSchema, ImplicitSubmitEvent, IndexedState, InfolistBlock, ItemActionFallback, ItemActionName, ItemActionSchema, ItemActionsItemProps, ItemActionsProps, ItemActionsSchema, ItemMoveDirection, ItemMoveTracker, JsonEntry, JsonKind, JsonRequestOptions, JsonSearchResult, KANBAN_NO_LANE, KANBAN_REGISTRY_KEY, KanbanAssigneeSchema, KanbanBadgeSchema, KanbanCardSchema, KanbanColumnSchema, KanbanController, KanbanEnvironment, KanbanFetchResult, KanbanFiltersSchema, KanbanKeyResult, KanbanLaneSchema, KanbanLocation, KanbanMoveResult, KanbanPicked, KanbanPointerOptions, KanbanRefusal, KanbanSchema, KanbanState, KanbanTarget, KanbanWidgetSchema, KeyLike, KeyValueEntrySchema, KeyValueSchema, KeyboardShortcutsSchema, LABEL_SLOTS, LAZY_PROP, LanguageSwitcherPosition, LatestRequest, LayoutSchema, LazyComponentCache, LazyRelationManagerSchema, LazyWidgetSchema, LinksBlock, ListTabSchema, ListTabsProps, Listener, LiveConfig, LivePropsOptions, LiveUpdates, LiveUpdatesOptions, LiveUpdatesSchema, LiveUpdatesState, LoadTableTotalsOptions, LoadedRichEditorExtensions, LocaleFormatter, LocaleSchema, LocalizationSchema, MAX_DEBUG_REQUESTS, MERGE_TAG_TRIGGER, MenuItemSchema, MergedRefresh, ModalTablePaging, ModalTableSelectResponse, ModalTableSelectSchema, MoneyInputSchema, MoneyOptions, NOT_PROSE_CLASS, NavigationBadgeSchema, NavigationGroupSchema, NavigationItemSchema, NavigationStateSchema, NotificationActionSchema, NotificationCenter, NotificationCenterState, NotificationEndpoints, NotificationSchema, NotificationUndoSchema, OPEN_DATABASE_NOTIFICATIONS_EVENT, OneTimeCodeInputSchema, OneTimeCodeSubmitter, OpenModal, Operation, Option, OptionGroup, OptionOrGroup, OptionsGridDirection, PAGE_EXPIRED_STATUS, PALETTE_GROUP_ORDER, PANEL_TOAST_OFFSET, PASSWORD_CONFIRMATION_INPUT, POLL_HEADER, POLL_PROP, PREFETCH_CACHE_FOR, PRESENCE_STATE_WHISPER, PageComponentProps, PageEventsOptions, PageLayout, PageMethodArguments, PageMethodCallOptions, PageMethodError, PageMethodResponse, PageMethodRuntime, PageSchema, PaginationSchema, PaletteGroup, PaletteItem, PaletteItemKind, PaletteLabels, PaletteSources, PanelDesignSchema, PanelEndpoints, PanelLayoutSchema, PanelSchema, PanelThemeSchema, PanelUserSchema, ParsedKeyBinding, PartialFormPayload, PastePlan, PathSegment, PersistStorage, PlaceholderSchema, PollScheduler, PolledComponents, PresenceMember, PresenceRoom, PresenceRoomOptions, PresenceRoomState, PresenceSchema, PresenceState, PwaInstallOutcome, PwaPushOutcome, PwaPushSchema, PwaPushStatus, PwaSchema, PwaState, QueryBuilderConstraintRule, QueryBuilderConstraintSchema, QueryBuilderGroup, QueryBuilderGroupRule, QueryBuilderInput, QueryBuilderOperatorSchema, QueryBuilderRule, QueryBuilderRulesSchema, RECORD_CHANGED_EVENT, RECORD_VERSION_INPUT, RELATION_MANAGERS_CONTENT_TAB, RELATION_QUERY_KEY, REMAINING_TEXT_SIZE_CLASSES, RadioSchema, RealtimeConfig, RealtimeSchema, RealtimeSubscriptionOptions, RecordChange, RecordKey, RecordVersionChangeSchema, RecordVersionSchema, RecordVersionsSchema, RegisteredShortcut, RelationGroupSchema, RelationManagerSchema, RelationManagerTab, RelationManagersBlock, RelationManagersContentTabSchema, RepeatableEntrySchema, RepeaterItemSchema, RepeaterItemState, RepeaterSchema, RichEditorCustomBlockSchema, RichEditorExtensionLoader, RichEditorMentionSchema, RichEditorMergeTagSchema, RichEditorPanel, RichEditorRemote, RichEditorSchema, RichEditorToolSchema, RichEditorToolbarGroupSchema, RulePath, SCHEMA_CONTRACT_VERSION, SELECTED_RECORDS_ARGUMENT, SEMANTIC_COLORS, SHORTCUT_IDS, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE_MESSAGES, STACKED_TABLE_CLASSES, STARTER_KIT_COPILOT_SHORTCUT, STARTER_KIT_TOASTER_ID, SchemaBlock, SchemaComponent, SchemaComponentContext, SchemaComponentContextValue, SchemaComponentProps, SchemaContractCheck, SchemaPatch, SchemaRefreshResponse, SectionSchema, SelectColumnSchema, SelectOptionsResponse, SelectSchema, SelectionLimits, SelectionState, ShortcutDefinition, ShortcutGroup, ShortcutListGroup, ShortcutListItem, ShortcutOptions, ShortcutRegistry, ShortcutRegistryOptions, SimplePaginationSchema, Size, SliderBehavior, SliderNonLinearPoint, SliderPip, SliderPipSchema, SliderSchema, SlotDataValue, SlotItemSchema, SonnerPosition, SplitLayoutSchema, SpreadsheetAnnouncement, SpreadsheetCellKind, SpreadsheetChange, SpreadsheetColumn, SpreadsheetEdit, SpreadsheetGrid, SpreadsheetKey, SpreadsheetKeyResult, SpreadsheetRow, SpreadsheetSaveResult, SpreadsheetState, StackLayoutSchema, StandaloneComponentSchema, StandaloneComponentState, StandaloneDefaults, StarterKitBreadcrumb, StarterKitDashboardWidgetsSchema, StarterKitNavGroup, StarterKitNavItem, StarterKitNavigationSchema, StarterKitWidgets, StarterKitWidgetsSchema, StatSchema, StatsOverviewWidgetSchema, StepSchema, StepValidationHaltedResponse, Store, StreamAnnouncer, StreamEvent, SubNavigationSchema, SuggestionEditor, SuggestionItem, SuggestionMatch, SuggestionState, SummaryValueSchema, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TRANSLATION_MANAGER_REGISTRY_KEY, TREE_REGISTRY_KEY, TabSchema, TableBlock, TableColumnSchema, TableDeferredTotalsSchema, TableEndpoints, TableGroupOptionSchema, TableGroupingSchema, TablePersistedStateKey, TableQuery, TableRecordGroupSchema, TableRecordSchema, TableSchema, TableSelection, TableSortSchema, TableSpreadsheetSchema, TableSummariesSchema, TableSummaryRowSchema, TableTotalsSchema, TableTriggerActionKey, TableTriggerActionSchema, TableTriggerModalSchema, TableViewItemSchema, TableViewOperation, TableViewResponse, TableViewsSchema, TableVisitCallbacks, TableWidgetSchema, TabsSchema, TagsInputSchema, TemporaryUploadOptions, TemporaryUploadResult, TenantSchema, TextAlignment, TextColumnSchema, TextEdit, TextEntrySchema, TextInputColumnSchema, TextInputSchema, TextSchema, TextStyleProps, TextareaSchema, ToastPosition, ToggleButtonsSchema, ToggleColumnSchema, ToggleSchema, ToolCommandContext, ToolbarCommand, ToolbarContext, ToolbarEditor, ToolbarKeyboardOptions, TranslatableLocaleSchema, TranslatableSchema, TranslationCellRef, TranslationCellSchema, TranslationFilter, TranslationHistoryEntry, TranslationHistoryState, TranslationKeyResult, TranslationLocaleSchema, TranslationManagerController, TranslationManagerEnvironment, TranslationManagerSchema, TranslationManagerState, TranslationProgressSchema, TranslationRowSchema, TranslationRowsResult, TranslationSaveResult, TranslationSuggestionSchema, Translator, TreeController, TreeDropPosition, TreeEnvironment, TreeKeyResult, TreeMove, TreeNodeSchema, TreeRow, TreeSaveResult, TreeSchema, TreeState, TreeStructureItem, TreeWidgetSchema, TriggerButtonDefaults, TriggerButtonView, USER_MENU_COMPONENT, UndoShortcuts, UnorderedListSchema, UploadedFile, VIRTUAL_ESTIMATES, VerticalAlignment, ViewColumnSchema, ViewEntrySchema, ViewSchema, VirtualList, VirtualListOptions, VirtualRange, VirtualizeSchema, WIZARD_STEP_QUERY_KEY, WidgetProps, WidgetSchema, WidgetsBlock, Width, WizardProgress, WizardSchema, acquireChannel, actionEndpoint, actionFormComponent, actionFormParams, actionPath, actionsAccessSelectedRecords, actionsAlignmentClass, activeTableView, addActionJustify, addGroup, addRule, allToolbarButtons, analyticsAllowed, analyticsChangeColor, analyticsInitialTab, announceDatabaseNotificationsSent, appendRepeaterItem, applyAppearance, applyBodyAttributes, applyDocumentLocale, applyEditorActionResult, applyFormRefresh, applyMask, applyPanelColors, applyPanelFavicon, applyPanelTheme, applyPwaUpdate, applySchemaPatches, ariaSort, asHelpdeskActivity, attachKanbanPointer, attachToolbarKeyboard, beginTableLoading, bindUndo, bindingFromEvent, bindsKeyBindings, bottomNavigationItems, buildChartConfig, buildQuery, buildTableUrl, builderBlockCounts, builderItemLabel, builderItemSchema, builderItems, builderPickerMove, byteLength, cachedTableTotals, calendarActionContext, calendarIdentity, calendarOptions, calendarWallTime, callCmsAutosave, callPageMethod, canAddBuilderBlock, canEditImage, canEditImageName, canInstallPwa, canNestGroup, canSelectAllRecords, cancelChunkedUpload, chartColorVariable, chartFiltersUrl, checkSchemaContract, clearRichEditorExtensions, clientErrorNotification, cloneIndexedState, cloneRepeaterItem, cloneTreeNodes, closeNotification, cmsAspectClass, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, cmsWidthClass, coerceSpreadsheetValue, collapsesLanguageSwitcher, collectFieldStatePaths, collectFields, colorAlpha, colorToHex, columnDraftChanged, columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnOrderClasses, columnRegistryKey, columnSpanClasses, columnStartClasses, columnVisibilityClasses, commandLabel, commandPaletteItems, commandShortcutId, completedStepIcon, componentHasErrors, concurrencyLimiter, configureCharts, configureRealtime, confirmModalClose, conflictMessage, constraintPickerClasses, constraintPickerSections, containerColumnSpanClasses, containerGridColumnsClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, dashboardMoveForKey, debounce, debugRecorder, defaultActionContext, defaultActionKey, defaultVisibleColumns, deferredComponentReference, deferredHasErrors, deletePath, deprecate, deprecationMessage, derived, detailsNodeConfigs, discoveryKey, distributePageFormErrors, documentNonce, dropTreeNode, editableImageName, effectiveErrorNotifications, endTableLoading, errorNotificationOutcome, extremePageLinks, fetchEditableImage, fetchStandaloneComponents, fieldActionComponent, fieldActionContext, fieldAria, fieldDomId, fieldError, fieldIds, fieldMemory, fileAttachmentError, fileManagerAcceptAttribute, fileManagerAccepts, fileManagerErrorMessage, fileManagerExpiry, fileManagerSize, fileUploadAccept, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, flattenActionGroup, flattenNavigationItems, flattenTreeStructure, flexItemClasses, flexLayoutClasses, floatingToolbarStyle, focusAutofocusField, focusMovedItem, focusTableSearch, focusToolbar, forgetFieldMemory, formActionsVisible, formIdPrefix, formIdentity, formRefreshFor, formatBytes, formatColor, formatKeyBinding, formatPhpDate, formatShortcut, fuzzyScore, getChartFormatters, getChartPlugins, getConflictForm, getEcho, getPageForm, getPath, getScriptData, getStoredAppearance, globalSearchDebounce, globalSearchStatus, globalSearchSuffix, gridColumnsClasses, gridContent, gridNodeConfigs, groupAt, groupBuilderBlocks, groupCustomBlocks, groupMenuItems, groupTableRows, groupTableViews, groupTriggerButton, guardModalUnload, hasActiveNavigationItem, hasCommandPalette, hasContainerBreakpoints, hasDevTools, hasMobilePreset, hasNewErrors, hasPath, hasRelationManagerTabs, hasRichEditorExtension, hasSlots, hasThemeSwitcher, hasTopbar, headingTag, helpdeskChatString, helpdeskFileSize, helpdeskSlaTone, highlightCode, highlightMarkConfig, htmlLabelToText, htmlToMarkdown, iconAlias, iconAliasOverride, iconButtonSize, iconGridMove, iconPickerPreview, iconSource, imageEditorOptionsKey, imageGeometry, indentCode, inertiaPost, inertiaReload, inertiaVisit, initialCollapsedGroups, initialTranslatableLocale, initialWizardStep, initializeAppearance, initials, insertBuilderItem, insertUploadedFile, inspectableProps, installErrorNotifications, installPrefetchInvalidation, installSpaUrlExceptions, installStarterKitRuntime, interpolate, invalidatePrefetchedPages, invalidateTableTotals, isActionGroup, isActionLoading, isActionProcessing, isAlfakitPage, isAllowedLinkUrl, isAppendingPagination, isCustomBlockResult, isCustomColorName, isCustomSvgIcon, isDeferredPlaceholder, isEditableTarget, isField, isFieldActionContext, isGroupedColumn, isHighlightedLanguage, isIconAlias, isImplicitSubmit, isIosSafari, isLazyPlaceholder, isLeavingVisit, isMacLike, isModalHiddenByChild, isModalSubmitVisible, isMutatingRequest, isNavigationItemActive, isOptionGroup, isPageFullySelected, isPartialFormPayload, isRealtimeEnabled, isRightToLeft, isSafeColor, isStandalone, isStandaloneComponent, isStarterKitPanel, isTableLoading, isToolbarGroup, isToolbarShortcut, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, joinPath, jsonEntries, jsonKind, jsonScalar, jsonSize, kanbanActiveFilters, kanbanCardPosition, kanbanCardsIn, kanbanInitials, kanbanMovePayload, kanbanRefusal, kanbanWipState, keepMoveButtonFocus, latestServerTiming, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, lazyComponentCache, lazyComponents, leadExtensionConfig, limitedListItems, linkExtensionOptions, listTabIds, listTabUrl, listenForPageEvents, listenForRecordChanges, loadDeferredBadge, loadDeferredComponent, loadEditorImage, loadRichEditorExtensions, loadScript, loadStarterKitPanel, loadStyle, loadTableTotals, loadedStarterKitPanel, locateKanbanCard, logicalArrowKey, markRecordSubmitted, matchesKeyBinding, matchesShortcutStep, matchesUrlPattern, maxColumns, mentionNodeConfig, mentionText, menuActionContext, mergeAttributes, mergeChartOptions, mergeDeferredComponent, mergePolledComponents, mergeRefreshResponse, mergeStatePatch, mergeTagNodeConfig, mergeTagText, mobileCardLayout, mobileTable, modalFooterAlignment, modalTablePaging, modalTableQuery, modalTableSelected, moveColumn, moveColumnInManager, moveColumnTo, moveIndexedState, moveKanbanCard, moveListItem, moveRepeaterItem, moveTreeNode, navigationItemText, navigationItemUrl, nestedActionContext, newlineWithIndent, nextPageQuery, nextToolbarItem, normalizeRichEditorExtensions, normalizeRuleTree, notificationTintStyles, observeThemeChanges, onCloseNotification, onDatabaseNotificationsSent, onOpenDatabaseNotifications, onPageFormsChanged, onSaveConflict, oneTimeCodeDigits, openDatabaseNotifications, openDefaultAction, openRequestedStarterKitSearch, optimistic, optionText, orderColumnsBy, pageFlash, pageFormName, pageSelectionState, paginationTotal, paletteGroupKey, panelAppearance, panelUploadOptions, parentPath, parseAspectRatio, parseDropdownPlacement, parseEventStream, parseGridColumns, parseInterval, parseKeyBinding, parseServerTiming, parseTsv, performUndo, persistWizardStep, pickerFilterFormOptions, pollComponent, pollPageProps, pollScheduler, postFormWithProgress, preferCurrentStarterKitPanel, prefetchTablePage, presenceInitials, prettyJson, previousPageQuery, primaryColumnName, promptPwaInstall, propsPollScheduler, pwaStore, queryBuilderInputType, queryBuilderOptions, readEventStream, readPersisted, realtimeHeaders, realtimeSettings, recordActionsAtStart, registerChartFormatters, registerChartPlugins, registerConflictForm, registerFormSubmitter, registerKeyBindings, registerPageForm, registerRichEditorExtensions, registerShortcut, registerStandaloneProp, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, registerTablePersistence, relationGroupBadgeTarget, relationManagerBadgeTarget, relationManagerTabs, relationTabFromQuery, relationTabSlug, reloadExpiredPage, reloadOnExpiredPage, reloadPageProps, reloadPolledComponents, remainingTextSizeClass, rememberedCmsPreview, removeAllFilterIndicators, removeFilterIndicator, removeIndexedState, removeRepeaterItem, removeRule, reorderOffset, reorderTable, reorderedItemKeys, reorderingListsAllRecords, replaceComponentByKey, replacePlaceholder, reportRequestError, reportSaveConflict, reportSchemaContractMismatch, reportWizardProgress, reportedDeprecations, requestJson, requestStarterKitCopilot, requestStarterKitSearch, requestTableView, requiresFullPageLoad, reserveCmsPreviewSpace, resetChartRegistrations, resetDeprecations, resetPwa, resetRealtime, resetSchemaContractReports, resetStarterKitPanels, resetTableTotals, resizableImageAttributes, resizableImageOptions, resolveActionSize, resolveAppearance, resolveChartCallbacks, resolveContainerStatePath, resolveCssColor, resolveDeferredBadge, resolveDeferredGroupBadge, resolveEcho, resolveErrorNotification, resolveFirst, resolveFloatingToolbar, resolveItemAction, resolveLazyComponents, resolveNavigation, resolvePanelNavigation, resolvePartialProps, resolveRequestErrorNotification, resolveStatePath, resolveStickyOffset, resolveToastPosition, revealAutofocusField, router, runEditorCommands, runPageMethod, runsItemActionOnServer, saveColumnOrder, saveShortcutOverrides, saveSpreadsheetChanges, scheduleAutofocus, schemaComponentNames, schemaContractMajor, schemaContractMismatchMessage, schemaGapClass, scorePaletteItem, searchJson, searchTableColumnOptions, selectAllState, selectColumnEmptyMessage, selectPlural, selectedRecordsArguments, setAppearance, setCombinator, setIconAliases, setPath, setRecordVersion, setRequestErrorReporter, setTextColor, shortcutOverlayGroups, shortcutSteps, shortcuts, shouldChunkUpload, shouldConfirmModalClose, shouldResyncForm, shownRecordKeys, showsLanguageSwitcher, showsTableToolbar, sidebarDefaultOpen, sidebarWidthStyle, skeletonRowCount, slideOverSide, sliderBehavior, sliderBlocksTap, sliderBounds, sliderDirection, sliderFillSections, sliderFillStyle, sliderFromPrimitive, sliderHasTooltips, sliderNextValues, sliderPercent, sliderPips, sliderPrimitive, sliderShift, sliderShowsTooltip, sliderSnap, sliderState, sliderToPrimitive, sliderValueAt, sliderValues, slotAlignmentClass, slotDataMatches, slotItems, smallMarkConfig, splitClasses, splitPath, spreadsheetAnnouncement, spreadsheetAria, spreadsheetCellClass, spreadsheetCellId, spreadsheetCellKey, spreadsheetCellKind, spreadsheetColumns, spreadsheetRows, spreadsheetSelectionSize, stackClasses, stackedCellClasses, stackedImageStyle, standaloneDirection, standalonePageSchema, standalonePanelSchema, standaloneWidgetCount, startAnalytics, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitNavigation, starterKitNavigations, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, stickyCollisionPadding, stopTableReordering, submitFormById, subscribeToNotifications, subscribeToPush, subscriptMarkConfig, superscriptMarkConfig, switchLocale, syncStarterKitPage, syncToolbarTabStops, t, tabFromQuery, tabKeyTarget, tabQueryValue, tabToReveal, tableColumnAlignmentClass, tableColumnCells, tableLoadingStore, tableQueryKey, tableTotalsFailed, tableTotalsStore, tableViewError, tableViewFollowUp, tableViewUrl, takeRequestedStarterKitCopilot, templateForIndex, tenantNameText, textAlignExtensionConfig, textColorMarkConfig, timeInputStep, toAsciiDigits, toEditorDocument, toStarterKitBreadcrumbs, toStarterKitNavGroups, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, toggleVisibleColumn, toolCommand, toolbarButtonLabel, toolbarCommands, toolbarItems, toolbarPanel, trackAnalyticsEvent, transformImage, translatableLocaleField, translatableLocalesWithErrors, translationCellValue, translator, treeParentKeys, treeSubtreeHeight, triggerButtonView, undoShortcuts, uniqueId, unsubscribeFromPush, updateGroup, updateRule, updateTableCell, uploadPageMethodFiles, uploadTemporaryFile, uploadWithProgress, uploadedFileLinks, urlBase64ToUint8Array, usesDefaultImageStack, usesStarterKitHostLayout, virtualizeOptions, visibleColumns, visiblePresenceMembers, visibleTreeRows, visitTable, visitTableView, wallClockNow, watchPageProps, whenIdle, whenVisible, widgetPollTarget, widgetRegistryKeys, withAlpha, withColorAlpha, withDeferredTabBadges, withEcho, withItemActionState, withTableTotals, withoutDefaultActionQuery, withoutRequired, wizardProgressStore, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey, wizardStepToReveal, writePersisted };
136
+ export { ACTION_PATH_SEPARATOR, ACTIVE_TAB_QUERY_KEY, AI_COPILOT_REGISTRY_KEY, AI_STREAM_REGISTRY_KEY, ALL_SELECTED_RECORDS_ARGUMENT, ActionButtonSize, ActionContext, ActionGroupSchema, ActionModalCancelledResponse, ActionModalSchema, ActionResultEditor, ActionResultFlash, ActionRunner, ActionRunnerOptions, ActionRunnerState, ActionSchema, ActionVariant, ActionsComponentSchema, Affixes, AiActionStatus, AiConversationSchema, AiCopilotSchema, AiMessageRole, AiMessageSchema, AiProposedActionSchema, AiSetupNoticeSchema, AiStreamController, AiStreamOptions, AiStreamSchema, AiStreamState, AiStreamStatus, AlfakitFlash, AlfakitOptions, AlfakitPageProps, Alignment, AnalyticsBreakdownRowSchema, AnalyticsBreakdownTabSchema, AnalyticsBreakdownWidgetSchema, AnalyticsTracker, AnalyticsTrackerOptions, AnyActionSchema, AnyPaginationSchema, Appearance, AppendingPaginationSchema, Attributes, BOTTOM_NAVIGATION_SLOTS, BROADCAST_NOTIFICATION, BUILT_IN_COLORS, BUILT_IN_WIDGET_TYPES, BaseColumnSchema, BaseComponent, BaseEntry, BaseField, BaseWidgetSchema, BlockProps, BottomNavigationItems, BreadcrumbSchema, Breakpoint, Breakpoints, BuilderBlockGroup, BuilderBlockSchema, BuilderItemSchema, BuilderItemState, BuilderPickerRect, BuilderSchema, BulkToggleActionSchema, CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESIZE_ACTION, CALENDAR_FETCH_EVENTS_ACTION, CALENDAR_REGISTRY_KEY, CLOSE_NOTIFICATION_EVENT, CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, COMMANDS_COMPONENT, CONFLICT_ERROR_KEY, CONSTRAINT_PICKER_WIDTH_CLASSES, CONTAINER_BREAKPOINTS, CREATE_ANOTHER_ARGUMENT, CalendarChangeResult, CalendarEnvironment, CalendarEventApi, CalendarEventChangeInfo, CalendarEventClickInfo, CalendarEventSchema, CalendarFetchInfo, CalendarSelectInfo, CalendarView, CalendarWidgetSchema, CallPageMethodOptions, CalloutSchema, CellSchema, ChartConfigInput, ChartConfigOutput, ChartEmptyStateSchema, ChartFiltersFormSchema, ChartFormatter, ChartWidgetSchema, CheckboxColumnSchema, CheckboxListSchema, CheckboxSchema, CmsAdminBarSchema, CmsAlternateSchema, CmsAspectRatio, CmsAutosave, CmsAutosaveOptions, CmsAutosaveResult, CmsAutosaveSnapshot, CmsAutosaveStatus, CmsBlockSchema, CmsBreadcrumbSchema, CmsBuiltInBlocks, CmsCallToActionBlockData, CmsColumnsBlockData, CmsEditorStatusSchema, CmsEmbedBlockData, CmsFaqBlockData, CmsFeatureSchema, CmsFeaturesBlockData, CmsFormBlockData, CmsGalleryBlockData, CmsHeadTags, CmsHeroBlockData, CmsImageBlockData, CmsImageSchema, CmsLinkSchema, CmsLinkTag, CmsLivePreviewSchema, CmsMenuItemSchema, CmsMenuSchema, CmsMetaTag, CmsPageProps, CmsPageSchema, CmsPayload, CmsPreviewDevice, CmsRichTextBlockData, CmsSectionBlockData, CmsSeoSchema, CmsSiteSchema, CmsTestimonialSchema, CmsTestimonialsBlockData, CodeEditorSchema, CodeEntrySchema, CodeToken, CodeTokenKind, Color, ColorColumnSchema, ColorEntrySchema, ColorFormat, ColorPickerSchema, ColumnGroupHeaderCell, ColumnGroupSchema, ColumnLayoutColumnRef, ColumnLayoutNode, ColumnLayoutSchema, ColumnManagerPosition, ColumnProps, ColumnSchema, ColumnSpanValue, ColumnSummariesSchema, CommandPaletteLinkSchema, CommandPaletteResponse, CommandPaletteSchema, CommandSchema, ComponentDiscovery, ComponentRegistry, ConflictField, ConflictMonitor, ConflictMonitorOptions, ConflictMonitorState, ConflictsSchema, ConstraintPickerSection, ContainerBreakpoint, ContentBlock, ContentSlotItem, ContentSlotName, ContentSlotSchema, ContentSlots, CopilotController, CopilotControllerOptions, CopilotState, CopilotTotals, CopilotView, CropHandle, CropRect, CursorPaginationSchema, CustomBlockGroup, CustomBlockNodeOptions, CustomBlockPreview, CustomBlockResult, CustomWidgetSchema, DATABASE_NOTIFICATIONS_EVENT, DATABASE_NOTIFICATIONS_SENT, DEFAULT_ACTION_QUERY_KEYS, DEFAULT_LINK_PROTOCOLS, DEFAULT_VIRTUALIZE_THRESHOLD, DISCOVERY_FOLDERS, DashboardCustomizeSchema, DashboardEditor, DashboardEditorOptions, DashboardEditorState, DashboardLayoutEntry, DashboardLibraryWidget, DashboardMove, DashboardSpanOption, DashboardTranslator, DatabaseNotificationsResponse, DatePickerSchema, Debounced, DebugClosure, DebugDeprecation, DebugNode, DebugRecorder, DebugRequest, DebugRequestOutcome, DebugSchema, DebugServerTimings, DebugState, DefaultActionOpener, DefaultActionSchema, DeferredBadgeSchema, DeferredRequestOptions, DeferredTabBadges, DeprecationOptions, DevToolsClass, DevToolsContext, DevToolsSchema, Direction, DiscoveredEntry, DiscoveryFolder, DiscoveryKey, DiscoveryModules, DiscoveryOptions, DropdownPlacement, EchoChannelLike, EchoConnectionOptions, EchoEventChannel, EchoFactory, EchoLike, EchoPresenceChannelLike, EchoWithChannels, EditConflict, EditableColumnSchema, EditorAttachments, EditorSuggestions, EmptyStateComponentSchema, EmptyStateSchema, EntryProps, EntrySchema, ErrorNotificationEntrySchema, ErrorNotificationsSchema, ExecuteOptions, FIELD_ACTION_PREFIX, FIELD_TYPES, FILAMENT_CLOSE_NOTIFICATION_EVENT, FILE_MANAGER_DRAG_TYPE, FILE_MANAGER_PICKER_REGISTRY_KEY, FILE_MANAGER_REGISTRY_KEY, FILTERS_FORM_WIDTH_CLASSES, FILTERS_MODAL_WIDTH_CLASSES, FILTERS_SIDEBAR_WIDTH_CLASSES, FieldActionContextOptions, FieldActionResponse, FieldActions, FieldAriaAttributes, FieldAriaSource, FieldDescriptionIds, FieldProps, FieldSchema, FieldsetSchema, FileManagerActionNames, FileManagerBreadcrumbSchema, FileManagerClick, FileManagerController, FileManagerDataTransfer, FileManagerDetailsSchema, FileManagerDialog, FileManagerEntrySchema, FileManagerEnvironment, FileManagerFolderSchema, FileManagerKeyEvent, FileManagerKeyResult, FileManagerKind, FileManagerLinkSchema, FileManagerListingSchema, FileManagerPermissionsSchema, FileManagerPickedFileSchema, FileManagerPickerSchema, FileManagerPreviewSchema, FileManagerPreviewState, FileManagerResult, FileManagerSchema, FileManagerSort, FileManagerSortField, FileManagerState, FileManagerUpload, FileManagerUploader, FileUploadImageEditorSchema, FileUploadPositions, FileUploadSchema, FilterFormSync, FilterIndicator, FilterSchema, FiltersFormWidth, FiltersPlacement, FlashNotificationTracker, FlatNavigationItem, FlexSchema, FloatingToolbarEditor, FloatingToolbarState, FormBlock, FormPayload, FormState, FormStore, FormStoreOptions, FormattedStateProps, FusedGroupSchema, GLOBAL_SEARCH_DEBOUNCE, GRID_MAX_COLUMNS, GRID_MIN_COLUMNS, GlobalSearchGroupSchema, GlobalSearchResultSchema, GridBounds, GridCell, GridLayoutSchema, GridSchema, GroupSchema, GroupedTableRow, GuardedVisit, HELPDESK_ACTIVITY_EVENT, HELPDESK_SHORTCUTS, HELPDESK_TYPING_MS, HeadingTag, HelpdeskActivity, HelpdeskAttachment, HelpdeskBadge, HelpdeskChatClient, HelpdeskChatConfig, HelpdeskChatConversation, HelpdeskChatMessage, HelpdeskChatOptions, HelpdeskChatResponse, HelpdeskChatState, HelpdeskComposerMode, HelpdeskInboxController, HelpdeskInboxEnvironment, HelpdeskInboxList, HelpdeskInboxSchema, HelpdeskInboxState, HelpdeskMessage, HelpdeskSla, HelpdeskTicket, HelpdeskTicketSummary, HelpdeskView, HiddenSchema, HtmlSchema, HttpError, IMAGE_EDITOR_ZOOM_STEP, ITEM_MOVE_ATTRIBUTE, IconCellItem, IconColumnSchema, IconEntrySchema, IconName, IconPickerOption, IconPickerResponse, IconPickerSchema, IconPickerSearch, IconPickerSearchState, IconPickerSetSchema, IconPickerSource, IconPosition, IconSchema, IconSource, ImageCellSchema, ImageColumnSchema, ImageEditor, ImageEditorData, ImageEditorDragMode, ImageEditorMode, ImageEditorOptions, ImageEditorPoint, ImageEditorState, ImageEntrySchema, ImageGeometry, ImageSchema, ImageStackProps, ImageTransformOptions, ImpersonationSchema, ImplicitSubmitEvent, IndexedState, InfolistBlock, ItemActionFallback, ItemActionName, ItemActionSchema, ItemActionsItemProps, ItemActionsProps, ItemActionsSchema, ItemMoveDirection, ItemMoveTracker, JsonEntry, JsonKind, JsonRequestOptions, JsonSearchResult, KANBAN_NO_LANE, KANBAN_REGISTRY_KEY, KanbanAssigneeSchema, KanbanBadgeSchema, KanbanCardSchema, KanbanColumnSchema, KanbanController, KanbanEnvironment, KanbanFetchResult, KanbanFiltersSchema, KanbanKeyResult, KanbanLaneSchema, KanbanLocation, KanbanMoveResult, KanbanPicked, KanbanPointerOptions, KanbanRefusal, KanbanSchema, KanbanState, KanbanTarget, KanbanWidgetSchema, KeyLike, KeyValueEntrySchema, KeyValueSchema, KeyboardShortcutsSchema, LABEL_SLOTS, LAZY_PROP, LanguageSwitcherPosition, LatestRequest, LayoutSchema, LazyComponentCache, LazyRelationManagerSchema, LazyWidgetSchema, LinksBlock, ListTabSchema, ListTabsProps, Listener, LiveConfig, LivePropsOptions, LiveUpdates, LiveUpdatesOptions, LiveUpdatesSchema, LiveUpdatesState, LoadTableTotalsOptions, LoadedRichEditorExtensions, LocaleFormatter, LocaleSchema, LocalizationSchema, MAX_DEBUG_REQUESTS, MERGE_TAG_TRIGGER, MenuItemSchema, MergedRefresh, ModalTablePaging, ModalTableSelectResponse, ModalTableSelectSchema, MoneyInputSchema, MoneyOptions, NOT_PROSE_CLASS, NavigationBadgeSchema, NavigationGroupSchema, NavigationItemSchema, NavigationStateSchema, NotificationActionSchema, NotificationCenter, NotificationCenterState, NotificationEndpoints, NotificationSchema, NotificationUndoSchema, OPEN_DATABASE_NOTIFICATIONS_EVENT, OneTimeCodeInputSchema, OneTimeCodeSubmitter, OpenModal, Operation, Option, OptionGroup, OptionOrGroup, OptionsGridDirection, PAGE_EXPIRED_STATUS, PALETTE_GROUP_ORDER, PANEL_TOAST_OFFSET, PASSWORD_CONFIRMATION_INPUT, POLL_HEADER, POLL_PROP, PREFETCH_CACHE_FOR, PRESENCE_STATE_WHISPER, PageComponentProps, PageEventsOptions, PageLayout, PageMethodArguments, PageMethodCallOptions, PageMethodError, PageMethodResponse, PageMethodRuntime, PageSchema, PaginationSchema, PaletteGroup, PaletteItem, PaletteItemKind, PaletteLabels, PaletteSources, PanelDesignSchema, PanelEndpoints, PanelLayoutSchema, PanelSchema, PanelThemeSchema, PanelUserSchema, ParsedKeyBinding, PartialFormPayload, PastePlan, PathSegment, PersistStorage, PlaceholderSchema, PollScheduler, PolledComponents, PresenceMember, PresenceRoom, PresenceRoomOptions, PresenceRoomState, PresenceSchema, PresenceState, PwaInstallOutcome, PwaPushOutcome, PwaPushSchema, PwaPushStatus, PwaSchema, PwaState, QueryBuilderConstraintRule, QueryBuilderConstraintSchema, QueryBuilderGroup, QueryBuilderGroupRule, QueryBuilderInput, QueryBuilderOperatorSchema, QueryBuilderRule, QueryBuilderRulesSchema, RECORD_CHANGED_EVENT, RECORD_VERSION_INPUT, RELATION_MANAGERS_CONTENT_TAB, RELATION_QUERY_KEY, REMAINING_TEXT_SIZE_CLASSES, RadioSchema, RealtimeConfig, RealtimeSchema, RealtimeSubscriptionOptions, RecordChange, RecordKey, RecordVersionChangeSchema, RecordVersionSchema, RecordVersionsSchema, RegisteredShortcut, RelationGroupSchema, RelationManagerSchema, RelationManagerTab, RelationManagersBlock, RelationManagersContentTabSchema, RepeatableEntrySchema, RepeaterItemSchema, RepeaterItemState, RepeaterSchema, RichEditorCustomBlockSchema, RichEditorExtensionLoader, RichEditorMentionSchema, RichEditorMergeTagSchema, RichEditorPanel, RichEditorRemote, RichEditorSchema, RichEditorToolSchema, RichEditorToolbarGroupSchema, RulePath, SCHEMA_CONTRACT_VERSION, SELECTED_RECORDS_ARGUMENT, SEMANTIC_COLORS, SHORTCUT_IDS, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE_MESSAGES, STACKED_TABLE_CLASSES, STARTER_KIT_COPILOT_SHORTCUT, STARTER_KIT_TOASTER_ID, SchemaBlock, SchemaComponent, SchemaComponentContext, SchemaComponentContextValue, SchemaComponentProps, SchemaContractCheck, SchemaPatch, SchemaRefreshResponse, SectionSchema, SelectColumnSchema, SelectOptionsResponse, SelectSchema, SelectionLimits, SelectionState, ShortcutDefinition, ShortcutGroup, ShortcutListGroup, ShortcutListItem, ShortcutOptions, ShortcutRegistry, ShortcutRegistryOptions, SimplePaginationSchema, Size, SliderBehavior, SliderNonLinearPoint, SliderPip, SliderPipSchema, SliderSchema, SlotDataValue, SlotItemSchema, SonnerPosition, SplitLayoutSchema, SpreadsheetAnnouncement, SpreadsheetCellKind, SpreadsheetChange, SpreadsheetColumn, SpreadsheetEdit, SpreadsheetGrid, SpreadsheetKey, SpreadsheetKeyResult, SpreadsheetRow, SpreadsheetSaveResult, SpreadsheetState, StackLayoutSchema, StandaloneComponentSchema, StandaloneComponentState, StandaloneDefaults, StarterKitBreadcrumb, StarterKitDashboardWidgetsSchema, StarterKitNavGroup, StarterKitNavItem, StarterKitNavigationSchema, StarterKitWidgets, StarterKitWidgetsSchema, StatSchema, StatsOverviewWidgetSchema, StepSchema, StepValidationHaltedResponse, Store, StreamAnnouncer, StreamEvent, SubNavigationSchema, SuggestionEditor, SuggestionItem, SuggestionMatch, SuggestionState, SummaryValueSchema, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TRANSLATION_MANAGER_REGISTRY_KEY, TREE_REGISTRY_KEY, TabSchema, TableBlock, TableColumnSchema, TableDeferredTotalsSchema, TableEndpoints, TableGroupOptionSchema, TableGroupingSchema, TablePersistedStateKey, TableQuery, TableRecordGroupSchema, TableRecordSchema, TableSchema, TableSelection, TableSortSchema, TableSpreadsheetSchema, TableSummariesSchema, TableSummaryRowSchema, TableTotalsSchema, TableTriggerActionKey, TableTriggerActionSchema, TableTriggerModalSchema, TableViewItemSchema, TableViewOperation, TableViewResponse, TableViewsSchema, TableVisitCallbacks, TableWidgetSchema, TabsSchema, TagsInputSchema, TemporaryUploadOptions, TemporaryUploadResult, TenantSchema, TextAlignment, TextColumnSchema, TextEdit, TextEntrySchema, TextInputColumnSchema, TextInputSchema, TextSchema, TextStyleProps, TextareaSchema, ToastPosition, ToggleButtonsSchema, ToggleColumnSchema, ToggleSchema, ToolCommandContext, ToolbarCommand, ToolbarContext, ToolbarEditor, ToolbarKeyboardOptions, TranslatableLocaleSchema, TranslatableSchema, TranslationCellRef, TranslationCellSchema, TranslationFilter, TranslationHistoryEntry, TranslationHistoryState, TranslationKeyResult, TranslationLocaleSchema, TranslationManagerController, TranslationManagerEnvironment, TranslationManagerSchema, TranslationManagerState, TranslationProgressSchema, TranslationRowSchema, TranslationRowsResult, TranslationSaveResult, TranslationSuggestionSchema, Translator, TreeController, TreeDropPosition, TreeEnvironment, TreeKeyResult, TreeMove, TreeNodeSchema, TreeRow, TreeSaveResult, TreeSchema, TreeState, TreeStructureItem, TreeWidgetSchema, TriggerButtonDefaults, TriggerButtonView, USER_MENU_COMPONENT, UndoShortcuts, UnorderedListSchema, UploadedFile, VIRTUAL_ESTIMATES, VerticalAlignment, ViewColumnSchema, ViewEntrySchema, ViewSchema, VirtualList, VirtualListOptions, VirtualRange, VirtualizeSchema, WIZARD_STEP_QUERY_KEY, WidgetProps, WidgetSchema, WidgetsBlock, Width, WizardProgress, WizardSchema, acquireChannel, actionEndpoint, actionFormComponent, actionFormParams, actionPath, actionsAccessSelectedRecords, actionsAlignmentClass, activeTableView, addActionJustify, addGroup, addRule, allToolbarButtons, analyticsAllowed, analyticsChangeColor, analyticsInitialTab, announceDatabaseNotificationsSent, appendRepeaterItem, applyAppearance, applyBodyAttributes, applyDocumentLocale, applyEditorActionResult, applyFormRefresh, applyMask, applyPanelColors, applyPanelFavicon, applyPanelTheme, applyPwaUpdate, applySchemaPatches, ariaSort, asHelpdeskActivity, attachKanbanPointer, attachToolbarKeyboard, beginTableLoading, bindUndo, bindingFromEvent, bindsKeyBindings, bottomNavigationItems, buildChartConfig, buildQuery, buildTableUrl, builderBlockCounts, builderItemLabel, builderItemSchema, builderItems, builderPickerMove, byteLength, cachedTableTotals, calendarActionContext, calendarIdentity, calendarOptions, calendarWallTime, callCmsAutosave, callPageMethod, canAddBuilderBlock, canEditImage, canEditImageName, canInstallPwa, canNestGroup, canSelectAllRecords, cancelChunkedUpload, chartColorVariable, chartFiltersUrl, checkSchemaContract, clearRichEditorExtensions, clientErrorNotification, cloneIndexedState, cloneRepeaterItem, cloneTreeNodes, closeNotification, cmsAspectClass, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, cmsWidthClass, coerceSpreadsheetValue, collapsesLanguageSwitcher, collectFieldStatePaths, collectFields, colorAlpha, colorToHex, columnDraftChanged, columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnOrderClasses, columnRegistryKey, columnSpanClasses, columnStartClasses, columnVisibilityClasses, commandLabel, commandPaletteItems, commandShortcutId, completedStepIcon, componentHasErrors, concurrencyLimiter, configureCharts, configureRealtime, confirmModalClose, conflictMessage, constraintPickerClasses, constraintPickerSections, containerColumnSpanClasses, containerGridColumnsClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, dashboardMoveForKey, debounce, debugRecorder, defaultActionContext, defaultActionKey, defaultVisibleColumns, deferredComponentReference, deferredHasErrors, deletePath, deprecate, deprecationMessage, derived, detailsNodeConfigs, discoveryKey, distributePageFormErrors, documentNonce, dropTreeNode, editableImageName, effectiveErrorNotifications, endTableLoading, errorNotificationOutcome, extremePageLinks, fetchEditableImage, fetchStandaloneComponents, fieldActionComponent, fieldActionContext, fieldAria, fieldDomId, fieldError, fieldIds, fieldMemory, fileAttachmentError, fileManagerAcceptAttribute, fileManagerAccepts, fileManagerErrorMessage, fileManagerExpiry, fileManagerSize, fileUploadAccept, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, flattenActionGroup, flattenNavigationItems, flattenTreeStructure, flexItemClasses, flexLayoutClasses, floatingToolbarStyle, focusAutofocusField, focusMovedItem, focusTableSearch, focusToolbar, forgetFieldMemory, formActionsVisible, formIdPrefix, formIdentity, formRefreshFor, formatBytes, formatColor, formatKeyBinding, formatPhpDate, formatShortcut, fuzzyScore, getChartFormatters, getChartPlugins, getConflictForm, getEcho, getPageForm, getPath, getScriptData, getStoredAppearance, globalSearchDebounce, globalSearchStatus, globalSearchSuffix, gridColumnsClasses, gridContent, gridNodeConfigs, groupAt, groupBuilderBlocks, groupCustomBlocks, groupMenuItems, groupTableRows, groupTableViews, groupTriggerButton, guardModalUnload, hasActiveNavigationItem, hasCommandPalette, hasContainerBreakpoints, hasDevTools, hasMobilePreset, hasNewErrors, hasPath, hasRelationManagerTabs, hasRichEditorExtension, hasSlots, hasThemeSwitcher, hasTopbar, headingTag, helpdeskChatString, helpdeskFileSize, helpdeskSlaTone, highlightCode, highlightMarkConfig, htmlLabelToText, htmlToMarkdown, iconAlias, iconAliasOverride, iconButtonSize, iconGridMove, iconPickerPreview, iconSource, imageEditorOptionsKey, imageGeometry, indentCode, inertiaPost, inertiaReload, inertiaVisit, initialCollapsedGroups, initialTranslatableLocale, initialWizardStep, initializeAppearance, initials, insertBuilderItem, insertUploadedFile, inspectableProps, installErrorNotifications, installPrefetchInvalidation, installSpaUrlExceptions, installStarterKitRuntime, interpolate, invalidatePrefetchedPages, invalidateTableTotals, isActionGroup, isActionLoading, isActionProcessing, isAlfakitPage, isAllowedLinkUrl, isAppendingPagination, isCustomBlockResult, isCustomColorName, isCustomSvgIcon, isDeferredPlaceholder, isEditableTarget, isField, isFieldActionContext, isGroupedColumn, isHighlightedLanguage, isIconAlias, isImplicitSubmit, isIosSafari, isLazyPlaceholder, isLeavingVisit, isMacLike, isModalHiddenByChild, isModalSubmitVisible, isMutatingRequest, isNavigationItemActive, isOptionGroup, isPageFullySelected, isPartialFormPayload, isRealtimeEnabled, isRightToLeft, isSafeColor, isStandalone, isStandaloneComponent, isStarterKitPanel, isTableLoading, isToolbarGroup, isToolbarShortcut, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, joinPath, jsonEntries, jsonKind, jsonScalar, jsonSize, kanbanActiveFilters, kanbanCardPosition, kanbanCardsIn, kanbanInitials, kanbanMovePayload, kanbanRefusal, kanbanWipState, keepMoveButtonFocus, latestServerTiming, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, lazyComponentCache, lazyComponents, leadExtensionConfig, limitedListItems, linkExtensionOptions, listTabIds, listTabUrl, listenForPageEvents, listenForRecordChanges, loadDeferredBadge, loadDeferredComponent, loadEditorImage, loadRichEditorExtensions, loadScript, loadStarterKitPanel, loadStyle, loadTableTotals, loadedStarterKitPanel, locateKanbanCard, logicalArrowKey, markRecordSubmitted, matchesKeyBinding, matchesShortcutStep, matchesUrlPattern, maxColumns, mentionNodeConfig, mentionText, menuActionContext, mergeAttributes, mergeChartOptions, mergeDeferredComponent, mergePolledComponents, mergeRefreshResponse, mergeStatePatch, mergeTagNodeConfig, mergeTagText, mobileCardLayout, mobileTable, modalFooterAlignment, modalTablePaging, modalTableQuery, modalTableSelected, moveColumn, moveColumnInManager, moveColumnTo, moveIndexedState, moveKanbanCard, moveListItem, moveRepeaterItem, moveTreeNode, navigationItemText, navigationItemUrl, nestedActionContext, newlineWithIndent, nextPageQuery, nextToolbarItem, normalizeRichEditorExtensions, normalizeRuleTree, notificationTintStyles, observeThemeChanges, onCloseNotification, onDatabaseNotificationsSent, onOpenDatabaseNotifications, onPageFormsChanged, onSaveConflict, oneTimeCodeDigits, openDatabaseNotifications, openDefaultAction, openRequestedStarterKitSearch, optimistic, optionText, orderColumnsBy, pageFlash, pageFormName, pageSelectionState, paginationTotal, paletteGroupKey, panelAppearance, panelUploadOptions, parentPath, parseAspectRatio, parseDropdownPlacement, parseEventStream, parseGridColumns, parseInterval, parseKeyBinding, parseServerTiming, parseTsv, performUndo, persistWizardStep, pickerFilterFormOptions, pollComponent, pollPageProps, pollScheduler, postFormWithProgress, preferCurrentStarterKitPanel, prefetchTablePage, presenceInitials, prettyJson, previousPageQuery, primaryColumnName, promptPwaInstall, propsPollScheduler, pwaStore, queryBuilderInputType, queryBuilderOptions, readEventStream, readPersisted, realtimeHeaders, realtimeSettings, recordActionsAtStart, registerChartFormatters, registerChartPlugins, registerConflictForm, registerFormSubmitter, registerKeyBindings, registerPageForm, registerRichEditorExtensions, registerShortcut, registerStandaloneProp, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, registerTablePersistence, relationGroupBadgeTarget, relationManagerBadgeTarget, relationManagerTabs, relationTabFromQuery, relationTabSlug, reloadExpiredPage, reloadOnExpiredPage, reloadPageProps, reloadPolledComponents, remainingTextSizeClass, rememberedCmsPreview, removeAllFilterIndicators, removeFilterIndicator, removeIndexedState, removeRepeaterItem, removeRule, reorderOffset, reorderTable, reorderedItemKeys, reorderingListsAllRecords, replaceComponentByKey, replacePlaceholder, reportRequestError, reportSaveConflict, reportSchemaContractMismatch, reportWizardProgress, reportedDeprecations, requestJson, requestStarterKitCopilot, requestStarterKitLanguages, requestStarterKitSearch, requestTableView, requiresFullPageLoad, reserveCmsPreviewSpace, resetChartRegistrations, resetDeprecations, resetPwa, resetRealtime, resetSchemaContractReports, resetStarterKitPanels, resetTableTotals, resizableImageAttributes, resizableImageOptions, resolveActionSize, resolveAppearance, resolveChartCallbacks, resolveContainerStatePath, resolveCssColor, resolveDeferredBadge, resolveDeferredGroupBadge, resolveEcho, resolveErrorNotification, resolveFirst, resolveFloatingToolbar, resolveItemAction, resolveLazyComponents, resolveNavigation, resolvePanelNavigation, resolvePartialProps, resolveRequestErrorNotification, resolveStatePath, resolveStickyOffset, resolveToastPosition, revealAutofocusField, router, runEditorCommands, runPageMethod, runsItemActionOnServer, saveColumnOrder, saveShortcutOverrides, saveSpreadsheetChanges, scheduleAutofocus, schemaComponentNames, schemaContractMajor, schemaContractMismatchMessage, schemaGapClass, scorePaletteItem, searchJson, searchTableColumnOptions, selectAllState, selectColumnEmptyMessage, selectPlural, selectedRecordsArguments, setAppearance, setCombinator, setIconAliases, setPath, setRecordVersion, setRequestErrorReporter, setTextColor, shortcutOverlayGroups, shortcutSteps, shortcuts, shouldChunkUpload, shouldConfirmModalClose, shouldResyncForm, shownRecordKeys, showsLanguageSwitcher, showsTableToolbar, sidebarDefaultOpen, sidebarWidthStyle, skeletonRowCount, slideOverSide, sliderBehavior, sliderBlocksTap, sliderBounds, sliderDirection, sliderFillSections, sliderFillStyle, sliderFromPrimitive, sliderHasTooltips, sliderNextValues, sliderPercent, sliderPips, sliderPrimitive, sliderShift, sliderShowsTooltip, sliderSnap, sliderState, sliderToPrimitive, sliderValueAt, sliderValues, slotAlignmentClass, slotDataMatches, slotItems, smallMarkConfig, splitClasses, splitPath, spreadsheetAnnouncement, spreadsheetAria, spreadsheetCellClass, spreadsheetCellId, spreadsheetCellKey, spreadsheetCellKind, spreadsheetColumns, spreadsheetRows, spreadsheetSelectionSize, stackClasses, stackedCellClasses, stackedImageStyle, standaloneDirection, standalonePageSchema, standalonePanelSchema, standaloneWidgetCount, startAnalytics, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitNavigation, starterKitNavigations, starterKitPanelLocale, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, stickyCollisionPadding, stopTableReordering, submitFormById, subscribeToNotifications, subscribeToPush, subscriptMarkConfig, superscriptMarkConfig, switchLocale, syncStarterKitPage, syncToolbarTabStops, t, tabFromQuery, tabKeyTarget, tabQueryValue, tabToReveal, tableColumnAlignmentClass, tableColumnCells, tableLoadingStore, tableQueryKey, tableTotalsFailed, tableTotalsStore, tableViewError, tableViewFollowUp, tableViewUrl, takeRequestedStarterKitCopilot, takeRequestedStarterKitLanguages, templateForIndex, tenantNameText, textAlignExtensionConfig, textColorMarkConfig, timeInputStep, toAsciiDigits, toEditorDocument, toStarterKitBreadcrumbs, toStarterKitNavGroups, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, toggleVisibleColumn, toolCommand, toolbarButtonLabel, toolbarCommands, toolbarItems, toolbarPanel, trackAnalyticsEvent, transformImage, translatableLocaleField, translatableLocalesWithErrors, translationCellValue, translator, treeParentKeys, treeSubtreeHeight, triggerButtonView, undoShortcuts, uniqueId, unsubscribeFromPush, updateGroup, updateRule, updateTableCell, uploadPageMethodFiles, uploadTemporaryFile, uploadWithProgress, uploadedFileLinks, urlBase64ToUint8Array, usesDefaultImageStack, usesStarterKitHostLayout, virtualizeOptions, visibleColumns, visiblePresenceMembers, visibleTreeRows, visitTable, visitTableView, wallClockNow, watchPageProps, whenIdle, whenVisible, widgetPollTarget, widgetRegistryKeys, withAlpha, withColorAlpha, withDeferredTabBadges, withEcho, withItemActionState, withTableTotals, withoutDefaultActionQuery, withoutRequired, wizardProgressStore, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey, wizardStepToReveal, writePersisted };
package/dist/index.js CHANGED
@@ -94,7 +94,7 @@ import { UndoShortcuts, bindUndo, isUndoShortcut, performUndo, startUndoCountdow
94
94
  import { SPREADSHEET_CLASSES, SPREADSHEET_ISSUE_MESSAGES, SpreadsheetGrid, coerceSpreadsheetValue, parseTsv, saveSpreadsheetChanges, spreadsheetAnnouncement, spreadsheetAria, spreadsheetCellClass, spreadsheetCellId, spreadsheetCellKey, spreadsheetCellKind, spreadsheetColumns, spreadsheetRows, spreadsheetSelectionSize, toTsv } from "./spreadsheet.js";
95
95
  import { StandaloneComponentState, fetchStandaloneComponents, findStandalonePropName, standaloneDirection, standalonePageSchema, standalonePanelSchema } from "./standalone.js";
96
96
  import { STARTER_KIT_TOASTER_ID, currentStarterKitPanel, currentStarterKitPanelId, installStarterKitRuntime, isStarterKitPanel, preferCurrentStarterKitPanel, starterKitBreadcrumbsFromProps, starterKitNavigation, starterKitNavigations, syncStarterKitPage, toStarterKitBreadcrumbs, toStarterKitNavGroups, usesStarterKitHostLayout } from "./starter-kit.js";
97
- import { STARTER_KIT_COPILOT_SHORTCUT, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot } from "./starter-kit-widgets.js";
97
+ import { STARTER_KIT_COPILOT_SHORTCUT, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitLanguages, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitPanelLocale, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot, takeRequestedStarterKitLanguages } from "./starter-kit-widgets.js";
98
98
  import { groupTableRows, initialCollapsedGroups, toggleCollapsedGroup } from "./table-grouping.js";
99
99
  import { columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnVisibilityClasses, isAppendingPagination, isGroupedColumn, keepMoveButtonFocus, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, moveColumn, moveColumnInManager, moveColumnTo, nextPageQuery, orderColumnsBy, paginationTotal, previousPageQuery, recordActionsAtStart, saveColumnOrder, splitClasses, stackClasses } from "./table-layout.js";
100
100
  import { activeTableView, groupTableViews, requestTableView, tableViewError, tableViewFollowUp, tableViewUrl, visitTableView } from "./table-views.js";
@@ -111,4 +111,4 @@ import { createLatestRequest } from "./utils/latest.js";
111
111
  import { applyMask } from "./utils/mask.js";
112
112
  import { DEFAULT_VIRTUALIZE_THRESHOLD, VIRTUAL_ESTIMATES, VirtualList, firstErroredItemIndex, hasNewErrors, virtualizeOptions } from "./virtual.js";
113
113
  import { WIZARD_STEP_QUERY_KEY, completedStepIcon, initialWizardStep, persistWizardStep, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey } from "./wizard.js";
114
- export { ACTION_PATH_SEPARATOR, ACTIVE_TAB_QUERY_KEY, AI_COPILOT_REGISTRY_KEY, AI_STREAM_REGISTRY_KEY, ALL_SELECTED_RECORDS_ARGUMENT, ActionRunner, AiStreamController, BOTTOM_NAVIGATION_SLOTS, BROADCAST_NOTIFICATION, BUILT_IN_COLORS, BUILT_IN_WIDGET_TYPES, CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESIZE_ACTION, CALENDAR_FETCH_EVENTS_ACTION, CALENDAR_REGISTRY_KEY, CLOSE_NOTIFICATION_EVENT, CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, COMMANDS_COMPONENT, CONFLICT_ERROR_KEY, CONSTRAINT_PICKER_WIDTH_CLASSES, CONTAINER_BREAKPOINTS, CREATE_ANOTHER_ARGUMENT, CmsAutosave, ComponentDiscovery, ComponentRegistry, ConflictMonitor, CopilotController, DATABASE_NOTIFICATIONS_EVENT, DATABASE_NOTIFICATIONS_SENT, DEFAULT_ACTION_QUERY_KEYS, DEFAULT_LINK_PROTOCOLS, DEFAULT_VIRTUALIZE_THRESHOLD, DISCOVERY_FOLDERS, DashboardEditor, DebugRecorder, EditorAttachments, EditorSuggestions, FIELD_ACTION_PREFIX, FIELD_TYPES, FILAMENT_CLOSE_NOTIFICATION_EVENT, FILE_MANAGER_DRAG_TYPE, FILE_MANAGER_PICKER_REGISTRY_KEY, FILE_MANAGER_REGISTRY_KEY, FILTERS_FORM_WIDTH_CLASSES, FILTERS_MODAL_WIDTH_CLASSES, FILTERS_SIDEBAR_WIDTH_CLASSES, FileManagerController, FilterFormSync, FlashNotificationTracker, FormStore, GLOBAL_SEARCH_DEBOUNCE, GRID_MAX_COLUMNS, GRID_MIN_COLUMNS, HELPDESK_ACTIVITY_EVENT, HELPDESK_SHORTCUTS, HELPDESK_TYPING_MS, HelpdeskChatClient, HelpdeskInboxController, HttpError, IMAGE_EDITOR_ZOOM_STEP, ITEM_MOVE_ATTRIBUTE, IconPickerSearch, ImageEditor, ItemMoveTracker, KANBAN_NO_LANE, KANBAN_REGISTRY_KEY, KanbanController, LABEL_SLOTS, LAZY_PROP, LazyComponentCache, LiveUpdates, LocaleFormatter, MAX_DEBUG_REQUESTS, MERGE_TAG_TRIGGER, NOT_PROSE_CLASS, NotificationCenter, OPEN_DATABASE_NOTIFICATIONS_EVENT, OneTimeCodeSubmitter, PAGE_EXPIRED_STATUS, PALETTE_GROUP_ORDER, PANEL_TOAST_OFFSET, PASSWORD_CONFIRMATION_INPUT, POLL_HEADER, POLL_PROP, PREFETCH_CACHE_FOR, PRESENCE_STATE_WHISPER, PageMethodError, PollScheduler, PresenceRoom, RECORD_CHANGED_EVENT, RECORD_VERSION_INPUT, RELATION_MANAGERS_CONTENT_TAB, RELATION_QUERY_KEY, REMAINING_TEXT_SIZE_CLASSES, RichEditorRemote, SCHEMA_CONTRACT_VERSION, SELECTED_RECORDS_ARGUMENT, SEMANTIC_COLORS, SHORTCUT_IDS, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE_MESSAGES, STACKED_TABLE_CLASSES, STARTER_KIT_COPILOT_SHORTCUT, STARTER_KIT_TOASTER_ID, ShortcutRegistry, SpreadsheetGrid, StandaloneComponentState, StreamAnnouncer, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TRANSLATION_MANAGER_REGISTRY_KEY, TREE_REGISTRY_KEY, TableSelection, TranslationManagerController, Translator, TreeController, USER_MENU_COMPONENT, UndoShortcuts, VIRTUAL_ESTIMATES, VirtualList, WIZARD_STEP_QUERY_KEY, acquireChannel, actionEndpoint, actionFormComponent, actionFormParams, actionPath, actionsAccessSelectedRecords, actionsAlignmentClass, activeTableView, addActionJustify, addGroup, addRule, allToolbarButtons, analyticsAllowed, analyticsChangeColor, analyticsInitialTab, announceDatabaseNotificationsSent, appendRepeaterItem, applyAppearance, applyBodyAttributes, applyDocumentLocale, applyEditorActionResult, applyFormRefresh, applyMask, applyPanelColors, applyPanelFavicon, applyPanelTheme, applyPwaUpdate, applySchemaPatches, ariaSort, asHelpdeskActivity, attachKanbanPointer, attachToolbarKeyboard, beginTableLoading, bindUndo, bindingFromEvent, bindsKeyBindings, bottomNavigationItems, buildChartConfig, buildQuery, buildTableUrl, builderBlockCounts, builderItemLabel, builderItemSchema, builderItems, builderPickerMove, byteLength, cachedTableTotals, calendarActionContext, calendarIdentity, calendarOptions, calendarWallTime, callCmsAutosave, callPageMethod, canAddBuilderBlock, canEditImage, canEditImageName, canInstallPwa, canNestGroup, canSelectAllRecords, cancelChunkedUpload, chartColorVariable, chartFiltersUrl, checkSchemaContract, clearRichEditorExtensions, clientErrorNotification, cloneIndexedState, cloneRepeaterItem, cloneTreeNodes, closeNotification, cmsAspectClass, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, cmsWidthClass, coerceSpreadsheetValue, collapsesLanguageSwitcher, collectFieldStatePaths, collectFields, colorAlpha, colorToHex, columnDraftChanged, columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnOrderClasses, columnRegistryKey, columnSpanClasses, columnStartClasses, columnVisibilityClasses, commandLabel, commandPaletteItems, commandShortcutId, completedStepIcon, componentHasErrors, concurrencyLimiter, configureCharts, configureRealtime, confirmModalClose, conflictMessage, constraintPickerClasses, constraintPickerSections, containerColumnSpanClasses, containerGridColumnsClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, dashboardMoveForKey, debounce, debugRecorder, defaultActionContext, defaultActionKey, defaultVisibleColumns, deferredComponentReference, deferredHasErrors, deletePath, deprecate, deprecationMessage, derived, detailsNodeConfigs, discoveryKey, distributePageFormErrors, documentNonce, dropTreeNode, editableImageName, effectiveErrorNotifications, endTableLoading, errorNotificationOutcome, extremePageLinks, fetchEditableImage, fetchStandaloneComponents, fieldActionComponent, fieldActionContext, fieldAria, fieldDomId, fieldError, fieldIds, fieldMemory, fileAttachmentError, fileManagerAcceptAttribute, fileManagerAccepts, fileManagerErrorMessage, fileManagerExpiry, fileManagerSize, fileUploadAccept, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, flattenActionGroup, flattenNavigationItems, flattenTreeStructure, flexItemClasses, flexLayoutClasses, floatingToolbarStyle, focusAutofocusField, focusMovedItem, focusTableSearch, focusToolbar, forgetFieldMemory, formActionsVisible, formIdPrefix, formIdentity, formRefreshFor, formatBytes, formatColor, formatKeyBinding, formatPhpDate, formatShortcut, fuzzyScore, getChartFormatters, getChartPlugins, getConflictForm, getEcho, getPageForm, getPath, getScriptData, getStoredAppearance, globalSearchDebounce, globalSearchStatus, globalSearchSuffix, gridColumnsClasses, gridContent, gridNodeConfigs, groupAt, groupBuilderBlocks, groupCustomBlocks, groupMenuItems, groupTableRows, groupTableViews, groupTriggerButton, guardModalUnload, hasActiveNavigationItem, hasCommandPalette, hasContainerBreakpoints, hasDevTools, hasMobilePreset, hasNewErrors, hasPath, hasRelationManagerTabs, hasRichEditorExtension, hasSlots, hasThemeSwitcher, hasTopbar, headingTag, helpdeskChatString, helpdeskFileSize, helpdeskSlaTone, highlightCode, highlightMarkConfig, htmlLabelToText, htmlToMarkdown, iconAlias, iconAliasOverride, iconButtonSize, iconGridMove, iconPickerPreview, iconSource, imageEditorOptionsKey, imageGeometry, indentCode, inertiaPost, inertiaReload, inertiaVisit, initialCollapsedGroups, initialTranslatableLocale, initialWizardStep, initializeAppearance, initials, insertBuilderItem, insertUploadedFile, inspectableProps, installErrorNotifications, installPrefetchInvalidation, installSpaUrlExceptions, installStarterKitRuntime, interpolate, invalidatePrefetchedPages, invalidateTableTotals, isActionGroup, isActionLoading, isActionProcessing, isAlfakitPage, isAllowedLinkUrl, isAppendingPagination, isCustomBlockResult, isCustomColorName, isCustomSvgIcon, isDeferredPlaceholder, isEditableTarget, isField, isFieldActionContext, isGroupedColumn, isHighlightedLanguage, isIconAlias, isImplicitSubmit, isIosSafari, isLazyPlaceholder, isLeavingVisit, isMacLike, isModalHiddenByChild, isModalSubmitVisible, isMutatingRequest, isNavigationItemActive, isOptionGroup, isPageFullySelected, isPartialFormPayload, isRealtimeEnabled, isRightToLeft, isSafeColor, isStandalone, isStandaloneComponent, isStarterKitPanel, isTableLoading, isToolbarGroup, isToolbarShortcut, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, joinPath, jsonEntries, jsonKind, jsonScalar, jsonSize, kanbanActiveFilters, kanbanCardPosition, kanbanCardsIn, kanbanInitials, kanbanMovePayload, kanbanRefusal, kanbanWipState, keepMoveButtonFocus, latestServerTiming, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, lazyComponentCache, lazyComponents, leadExtensionConfig, limitedListItems, linkExtensionOptions, listTabIds, listTabUrl, listenForPageEvents, listenForRecordChanges, loadDeferredBadge, loadDeferredComponent, loadEditorImage, loadRichEditorExtensions, loadScript, loadStarterKitPanel, loadStyle, loadTableTotals, loadedStarterKitPanel, locateKanbanCard, logicalArrowKey, markRecordSubmitted, matchesKeyBinding, matchesShortcutStep, matchesUrlPattern, maxColumns, mentionNodeConfig, mentionText, menuActionContext, mergeAttributes, mergeChartOptions, mergeDeferredComponent, mergePolledComponents, mergeRefreshResponse, mergeStatePatch, mergeTagNodeConfig, mergeTagText, mobileCardLayout, mobileTable, modalFooterAlignment, modalTablePaging, modalTableQuery, modalTableSelected, moveColumn, moveColumnInManager, moveColumnTo, moveIndexedState, moveKanbanCard, moveListItem, moveRepeaterItem, moveTreeNode, navigationItemText, navigationItemUrl, nestedActionContext, newlineWithIndent, nextPageQuery, nextToolbarItem, normalizeRichEditorExtensions, normalizeRuleTree, notificationTintStyles, observeThemeChanges, onCloseNotification, onDatabaseNotificationsSent, onOpenDatabaseNotifications, onPageFormsChanged, onSaveConflict, oneTimeCodeDigits, openDatabaseNotifications, openDefaultAction, openRequestedStarterKitSearch, optimistic, optionText, orderColumnsBy, pageFlash, pageFormName, pageSelectionState, paginationTotal, paletteGroupKey, panelAppearance, panelUploadOptions, parentPath, parseAspectRatio, parseDropdownPlacement, parseEventStream, parseGridColumns, parseInterval, parseKeyBinding, parseServerTiming, parseTsv, performUndo, persistWizardStep, pickerFilterFormOptions, pollComponent, pollPageProps, pollScheduler, postFormWithProgress, preferCurrentStarterKitPanel, prefetchTablePage, presenceInitials, prettyJson, previousPageQuery, primaryColumnName, promptPwaInstall, propsPollScheduler, pwaStore, queryBuilderInputType, queryBuilderOptions, readEventStream, readPersisted, realtimeHeaders, realtimeSettings, recordActionsAtStart, registerChartFormatters, registerChartPlugins, registerConflictForm, registerFormSubmitter, registerKeyBindings, registerPageForm, registerRichEditorExtensions, registerShortcut, registerStandaloneProp, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, registerTablePersistence, relationGroupBadgeTarget, relationManagerBadgeTarget, relationManagerTabs, relationTabFromQuery, relationTabSlug, reloadExpiredPage, reloadOnExpiredPage, reloadPageProps, reloadPolledComponents, remainingTextSizeClass, rememberedCmsPreview, removeAllFilterIndicators, removeFilterIndicator, removeIndexedState, removeRepeaterItem, removeRule, reorderOffset, reorderTable, reorderedItemKeys, reorderingListsAllRecords, replaceComponentByKey, replacePlaceholder, reportRequestError, reportSaveConflict, reportSchemaContractMismatch, reportWizardProgress, reportedDeprecations, requestJson, requestStarterKitCopilot, requestStarterKitSearch, requestTableView, requiresFullPageLoad, reserveCmsPreviewSpace, resetChartRegistrations, resetDeprecations, resetPwa, resetRealtime, resetSchemaContractReports, resetStarterKitPanels, resetTableTotals, resizableImageAttributes, resizableImageOptions, resolveActionSize, resolveAppearance, resolveChartCallbacks, resolveContainerStatePath, resolveCssColor, resolveDeferredBadge, resolveDeferredGroupBadge, resolveEcho, resolveErrorNotification, resolveFirst, resolveFloatingToolbar, resolveItemAction, resolveLazyComponents, resolveNavigation, resolvePanelNavigation, resolvePartialProps, resolveRequestErrorNotification, resolveStatePath, resolveStickyOffset, resolveToastPosition, revealAutofocusField, router, runEditorCommands, runPageMethod, runsItemActionOnServer, saveColumnOrder, saveShortcutOverrides, saveSpreadsheetChanges, scheduleAutofocus, schemaComponentNames, schemaContractMajor, schemaContractMismatchMessage, schemaGapClass, scorePaletteItem, searchJson, searchTableColumnOptions, selectAllState, selectColumnEmptyMessage, selectPlural, selectedRecordsArguments, setAppearance, setCombinator, setIconAliases, setPath, setRecordVersion, setRequestErrorReporter, setTextColor, shortcutOverlayGroups, shortcutSteps, shortcuts, shouldChunkUpload, shouldConfirmModalClose, shouldResyncForm, shownRecordKeys, showsLanguageSwitcher, showsTableToolbar, sidebarDefaultOpen, sidebarWidthStyle, skeletonRowCount, slideOverSide, sliderBehavior, sliderBlocksTap, sliderBounds, sliderDirection, sliderFillSections, sliderFillStyle, sliderFromPrimitive, sliderHasTooltips, sliderNextValues, sliderPercent, sliderPips, sliderPrimitive, sliderShift, sliderShowsTooltip, sliderSnap, sliderState, sliderToPrimitive, sliderValueAt, sliderValues, slotAlignmentClass, slotDataMatches, slotItems, smallMarkConfig, splitClasses, splitPath, spreadsheetAnnouncement, spreadsheetAria, spreadsheetCellClass, spreadsheetCellId, spreadsheetCellKey, spreadsheetCellKind, spreadsheetColumns, spreadsheetRows, spreadsheetSelectionSize, stackClasses, stackedCellClasses, stackedImageStyle, standaloneDirection, standalonePageSchema, standalonePanelSchema, standaloneWidgetCount, startAnalytics, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitNavigation, starterKitNavigations, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, stickyCollisionPadding, stopTableReordering, submitFormById, subscribeToNotifications, subscribeToPush, subscriptMarkConfig, superscriptMarkConfig, switchLocale, syncStarterKitPage, syncToolbarTabStops, t, tabFromQuery, tabKeyTarget, tabQueryValue, tabToReveal, tableColumnAlignmentClass, tableColumnCells, tableLoadingStore, tableQueryKey, tableTotalsFailed, tableTotalsStore, tableViewError, tableViewFollowUp, tableViewUrl, takeRequestedStarterKitCopilot, templateForIndex, tenantNameText, textAlignExtensionConfig, textColorMarkConfig, timeInputStep, toAsciiDigits, toEditorDocument, toStarterKitBreadcrumbs, toStarterKitNavGroups, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, toggleVisibleColumn, toolCommand, toolbarButtonLabel, toolbarCommands, toolbarItems, toolbarPanel, trackAnalyticsEvent, transformImage, translatableLocaleField, translatableLocalesWithErrors, translationCellValue, translator, treeParentKeys, treeSubtreeHeight, triggerButtonView, undoShortcuts, uniqueId, unsubscribeFromPush, updateGroup, updateRule, updateTableCell, uploadPageMethodFiles, uploadTemporaryFile, uploadWithProgress, uploadedFileLinks, urlBase64ToUint8Array, usesDefaultImageStack, usesStarterKitHostLayout, virtualizeOptions, visibleColumns, visiblePresenceMembers, visibleTreeRows, visitTable, visitTableView, wallClockNow, watchPageProps, whenIdle, whenVisible, widgetPollTarget, widgetRegistryKeys, withAlpha, withColorAlpha, withDeferredTabBadges, withEcho, withItemActionState, withTableTotals, withoutDefaultActionQuery, withoutRequired, wizardProgressStore, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey, wizardStepToReveal, writePersisted };
114
+ export { ACTION_PATH_SEPARATOR, ACTIVE_TAB_QUERY_KEY, AI_COPILOT_REGISTRY_KEY, AI_STREAM_REGISTRY_KEY, ALL_SELECTED_RECORDS_ARGUMENT, ActionRunner, AiStreamController, BOTTOM_NAVIGATION_SLOTS, BROADCAST_NOTIFICATION, BUILT_IN_COLORS, BUILT_IN_WIDGET_TYPES, CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESIZE_ACTION, CALENDAR_FETCH_EVENTS_ACTION, CALENDAR_REGISTRY_KEY, CLOSE_NOTIFICATION_EVENT, CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, COMMANDS_COMPONENT, CONFLICT_ERROR_KEY, CONSTRAINT_PICKER_WIDTH_CLASSES, CONTAINER_BREAKPOINTS, CREATE_ANOTHER_ARGUMENT, CmsAutosave, ComponentDiscovery, ComponentRegistry, ConflictMonitor, CopilotController, DATABASE_NOTIFICATIONS_EVENT, DATABASE_NOTIFICATIONS_SENT, DEFAULT_ACTION_QUERY_KEYS, DEFAULT_LINK_PROTOCOLS, DEFAULT_VIRTUALIZE_THRESHOLD, DISCOVERY_FOLDERS, DashboardEditor, DebugRecorder, EditorAttachments, EditorSuggestions, FIELD_ACTION_PREFIX, FIELD_TYPES, FILAMENT_CLOSE_NOTIFICATION_EVENT, FILE_MANAGER_DRAG_TYPE, FILE_MANAGER_PICKER_REGISTRY_KEY, FILE_MANAGER_REGISTRY_KEY, FILTERS_FORM_WIDTH_CLASSES, FILTERS_MODAL_WIDTH_CLASSES, FILTERS_SIDEBAR_WIDTH_CLASSES, FileManagerController, FilterFormSync, FlashNotificationTracker, FormStore, GLOBAL_SEARCH_DEBOUNCE, GRID_MAX_COLUMNS, GRID_MIN_COLUMNS, HELPDESK_ACTIVITY_EVENT, HELPDESK_SHORTCUTS, HELPDESK_TYPING_MS, HelpdeskChatClient, HelpdeskInboxController, HttpError, IMAGE_EDITOR_ZOOM_STEP, ITEM_MOVE_ATTRIBUTE, IconPickerSearch, ImageEditor, ItemMoveTracker, KANBAN_NO_LANE, KANBAN_REGISTRY_KEY, KanbanController, LABEL_SLOTS, LAZY_PROP, LazyComponentCache, LiveUpdates, LocaleFormatter, MAX_DEBUG_REQUESTS, MERGE_TAG_TRIGGER, NOT_PROSE_CLASS, NotificationCenter, OPEN_DATABASE_NOTIFICATIONS_EVENT, OneTimeCodeSubmitter, PAGE_EXPIRED_STATUS, PALETTE_GROUP_ORDER, PANEL_TOAST_OFFSET, PASSWORD_CONFIRMATION_INPUT, POLL_HEADER, POLL_PROP, PREFETCH_CACHE_FOR, PRESENCE_STATE_WHISPER, PageMethodError, PollScheduler, PresenceRoom, RECORD_CHANGED_EVENT, RECORD_VERSION_INPUT, RELATION_MANAGERS_CONTENT_TAB, RELATION_QUERY_KEY, REMAINING_TEXT_SIZE_CLASSES, RichEditorRemote, SCHEMA_CONTRACT_VERSION, SELECTED_RECORDS_ARGUMENT, SEMANTIC_COLORS, SHORTCUT_IDS, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE_MESSAGES, STACKED_TABLE_CLASSES, STARTER_KIT_COPILOT_SHORTCUT, STARTER_KIT_TOASTER_ID, ShortcutRegistry, SpreadsheetGrid, StandaloneComponentState, StreamAnnouncer, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TRANSLATION_MANAGER_REGISTRY_KEY, TREE_REGISTRY_KEY, TableSelection, TranslationManagerController, Translator, TreeController, USER_MENU_COMPONENT, UndoShortcuts, VIRTUAL_ESTIMATES, VirtualList, WIZARD_STEP_QUERY_KEY, acquireChannel, actionEndpoint, actionFormComponent, actionFormParams, actionPath, actionsAccessSelectedRecords, actionsAlignmentClass, activeTableView, addActionJustify, addGroup, addRule, allToolbarButtons, analyticsAllowed, analyticsChangeColor, analyticsInitialTab, announceDatabaseNotificationsSent, appendRepeaterItem, applyAppearance, applyBodyAttributes, applyDocumentLocale, applyEditorActionResult, applyFormRefresh, applyMask, applyPanelColors, applyPanelFavicon, applyPanelTheme, applyPwaUpdate, applySchemaPatches, ariaSort, asHelpdeskActivity, attachKanbanPointer, attachToolbarKeyboard, beginTableLoading, bindUndo, bindingFromEvent, bindsKeyBindings, bottomNavigationItems, buildChartConfig, buildQuery, buildTableUrl, builderBlockCounts, builderItemLabel, builderItemSchema, builderItems, builderPickerMove, byteLength, cachedTableTotals, calendarActionContext, calendarIdentity, calendarOptions, calendarWallTime, callCmsAutosave, callPageMethod, canAddBuilderBlock, canEditImage, canEditImageName, canInstallPwa, canNestGroup, canSelectAllRecords, cancelChunkedUpload, chartColorVariable, chartFiltersUrl, checkSchemaContract, clearRichEditorExtensions, clientErrorNotification, cloneIndexedState, cloneRepeaterItem, cloneTreeNodes, closeNotification, cmsAspectClass, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, cmsWidthClass, coerceSpreadsheetValue, collapsesLanguageSwitcher, collectFieldStatePaths, collectFields, colorAlpha, colorToHex, columnDraftChanged, columnGroupHeaderRow, columnManagerPosition, columnOrderChanged, columnOrderClasses, columnRegistryKey, columnSpanClasses, columnStartClasses, columnVisibilityClasses, commandLabel, commandPaletteItems, commandShortcutId, completedStepIcon, componentHasErrors, concurrencyLimiter, configureCharts, configureRealtime, confirmModalClose, conflictMessage, constraintPickerClasses, constraintPickerSections, containerColumnSpanClasses, containerGridColumnsClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, dashboardMoveForKey, debounce, debugRecorder, defaultActionContext, defaultActionKey, defaultVisibleColumns, deferredComponentReference, deferredHasErrors, deletePath, deprecate, deprecationMessage, derived, detailsNodeConfigs, discoveryKey, distributePageFormErrors, documentNonce, dropTreeNode, editableImageName, effectiveErrorNotifications, endTableLoading, errorNotificationOutcome, extremePageLinks, fetchEditableImage, fetchStandaloneComponents, fieldActionComponent, fieldActionContext, fieldAria, fieldDomId, fieldError, fieldIds, fieldMemory, fileAttachmentError, fileManagerAcceptAttribute, fileManagerAccepts, fileManagerErrorMessage, fileManagerExpiry, fileManagerSize, fileUploadAccept, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, flattenActionGroup, flattenNavigationItems, flattenTreeStructure, flexItemClasses, flexLayoutClasses, floatingToolbarStyle, focusAutofocusField, focusMovedItem, focusTableSearch, focusToolbar, forgetFieldMemory, formActionsVisible, formIdPrefix, formIdentity, formRefreshFor, formatBytes, formatColor, formatKeyBinding, formatPhpDate, formatShortcut, fuzzyScore, getChartFormatters, getChartPlugins, getConflictForm, getEcho, getPageForm, getPath, getScriptData, getStoredAppearance, globalSearchDebounce, globalSearchStatus, globalSearchSuffix, gridColumnsClasses, gridContent, gridNodeConfigs, groupAt, groupBuilderBlocks, groupCustomBlocks, groupMenuItems, groupTableRows, groupTableViews, groupTriggerButton, guardModalUnload, hasActiveNavigationItem, hasCommandPalette, hasContainerBreakpoints, hasDevTools, hasMobilePreset, hasNewErrors, hasPath, hasRelationManagerTabs, hasRichEditorExtension, hasSlots, hasThemeSwitcher, hasTopbar, headingTag, helpdeskChatString, helpdeskFileSize, helpdeskSlaTone, highlightCode, highlightMarkConfig, htmlLabelToText, htmlToMarkdown, iconAlias, iconAliasOverride, iconButtonSize, iconGridMove, iconPickerPreview, iconSource, imageEditorOptionsKey, imageGeometry, indentCode, inertiaPost, inertiaReload, inertiaVisit, initialCollapsedGroups, initialTranslatableLocale, initialWizardStep, initializeAppearance, initials, insertBuilderItem, insertUploadedFile, inspectableProps, installErrorNotifications, installPrefetchInvalidation, installSpaUrlExceptions, installStarterKitRuntime, interpolate, invalidatePrefetchedPages, invalidateTableTotals, isActionGroup, isActionLoading, isActionProcessing, isAlfakitPage, isAllowedLinkUrl, isAppendingPagination, isCustomBlockResult, isCustomColorName, isCustomSvgIcon, isDeferredPlaceholder, isEditableTarget, isField, isFieldActionContext, isGroupedColumn, isHighlightedLanguage, isIconAlias, isImplicitSubmit, isIosSafari, isLazyPlaceholder, isLeavingVisit, isMacLike, isModalHiddenByChild, isModalSubmitVisible, isMutatingRequest, isNavigationItemActive, isOptionGroup, isPageFullySelected, isPartialFormPayload, isRealtimeEnabled, isRightToLeft, isSafeColor, isStandalone, isStandaloneComponent, isStarterKitPanel, isTableLoading, isToolbarGroup, isToolbarShortcut, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, joinPath, jsonEntries, jsonKind, jsonScalar, jsonSize, kanbanActiveFilters, kanbanCardPosition, kanbanCardsIn, kanbanInitials, kanbanMovePayload, kanbanRefusal, kanbanWipState, keepMoveButtonFocus, latestServerTiming, layoutColumnNames, layoutNodeGrows, layoutVisibilityClasses, lazyComponentCache, lazyComponents, leadExtensionConfig, limitedListItems, linkExtensionOptions, listTabIds, listTabUrl, listenForPageEvents, listenForRecordChanges, loadDeferredBadge, loadDeferredComponent, loadEditorImage, loadRichEditorExtensions, loadScript, loadStarterKitPanel, loadStyle, loadTableTotals, loadedStarterKitPanel, locateKanbanCard, logicalArrowKey, markRecordSubmitted, matchesKeyBinding, matchesShortcutStep, matchesUrlPattern, maxColumns, mentionNodeConfig, mentionText, menuActionContext, mergeAttributes, mergeChartOptions, mergeDeferredComponent, mergePolledComponents, mergeRefreshResponse, mergeStatePatch, mergeTagNodeConfig, mergeTagText, mobileCardLayout, mobileTable, modalFooterAlignment, modalTablePaging, modalTableQuery, modalTableSelected, moveColumn, moveColumnInManager, moveColumnTo, moveIndexedState, moveKanbanCard, moveListItem, moveRepeaterItem, moveTreeNode, navigationItemText, navigationItemUrl, nestedActionContext, newlineWithIndent, nextPageQuery, nextToolbarItem, normalizeRichEditorExtensions, normalizeRuleTree, notificationTintStyles, observeThemeChanges, onCloseNotification, onDatabaseNotificationsSent, onOpenDatabaseNotifications, onPageFormsChanged, onSaveConflict, oneTimeCodeDigits, openDatabaseNotifications, openDefaultAction, openRequestedStarterKitSearch, optimistic, optionText, orderColumnsBy, pageFlash, pageFormName, pageSelectionState, paginationTotal, paletteGroupKey, panelAppearance, panelUploadOptions, parentPath, parseAspectRatio, parseDropdownPlacement, parseEventStream, parseGridColumns, parseInterval, parseKeyBinding, parseServerTiming, parseTsv, performUndo, persistWizardStep, pickerFilterFormOptions, pollComponent, pollPageProps, pollScheduler, postFormWithProgress, preferCurrentStarterKitPanel, prefetchTablePage, presenceInitials, prettyJson, previousPageQuery, primaryColumnName, promptPwaInstall, propsPollScheduler, pwaStore, queryBuilderInputType, queryBuilderOptions, readEventStream, readPersisted, realtimeHeaders, realtimeSettings, recordActionsAtStart, registerChartFormatters, registerChartPlugins, registerConflictForm, registerFormSubmitter, registerKeyBindings, registerPageForm, registerRichEditorExtensions, registerShortcut, registerStandaloneProp, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, registerTablePersistence, relationGroupBadgeTarget, relationManagerBadgeTarget, relationManagerTabs, relationTabFromQuery, relationTabSlug, reloadExpiredPage, reloadOnExpiredPage, reloadPageProps, reloadPolledComponents, remainingTextSizeClass, rememberedCmsPreview, removeAllFilterIndicators, removeFilterIndicator, removeIndexedState, removeRepeaterItem, removeRule, reorderOffset, reorderTable, reorderedItemKeys, reorderingListsAllRecords, replaceComponentByKey, replacePlaceholder, reportRequestError, reportSaveConflict, reportSchemaContractMismatch, reportWizardProgress, reportedDeprecations, requestJson, requestStarterKitCopilot, requestStarterKitLanguages, requestStarterKitSearch, requestTableView, requiresFullPageLoad, reserveCmsPreviewSpace, resetChartRegistrations, resetDeprecations, resetPwa, resetRealtime, resetSchemaContractReports, resetStarterKitPanels, resetTableTotals, resizableImageAttributes, resizableImageOptions, resolveActionSize, resolveAppearance, resolveChartCallbacks, resolveContainerStatePath, resolveCssColor, resolveDeferredBadge, resolveDeferredGroupBadge, resolveEcho, resolveErrorNotification, resolveFirst, resolveFloatingToolbar, resolveItemAction, resolveLazyComponents, resolveNavigation, resolvePanelNavigation, resolvePartialProps, resolveRequestErrorNotification, resolveStatePath, resolveStickyOffset, resolveToastPosition, revealAutofocusField, router, runEditorCommands, runPageMethod, runsItemActionOnServer, saveColumnOrder, saveShortcutOverrides, saveSpreadsheetChanges, scheduleAutofocus, schemaComponentNames, schemaContractMajor, schemaContractMismatchMessage, schemaGapClass, scorePaletteItem, searchJson, searchTableColumnOptions, selectAllState, selectColumnEmptyMessage, selectPlural, selectedRecordsArguments, setAppearance, setCombinator, setIconAliases, setPath, setRecordVersion, setRequestErrorReporter, setTextColor, shortcutOverlayGroups, shortcutSteps, shortcuts, shouldChunkUpload, shouldConfirmModalClose, shouldResyncForm, shownRecordKeys, showsLanguageSwitcher, showsTableToolbar, sidebarDefaultOpen, sidebarWidthStyle, skeletonRowCount, slideOverSide, sliderBehavior, sliderBlocksTap, sliderBounds, sliderDirection, sliderFillSections, sliderFillStyle, sliderFromPrimitive, sliderHasTooltips, sliderNextValues, sliderPercent, sliderPips, sliderPrimitive, sliderShift, sliderShowsTooltip, sliderSnap, sliderState, sliderToPrimitive, sliderValueAt, sliderValues, slotAlignmentClass, slotDataMatches, slotItems, smallMarkConfig, splitClasses, splitPath, spreadsheetAnnouncement, spreadsheetAria, spreadsheetCellClass, spreadsheetCellId, spreadsheetCellKey, spreadsheetCellKind, spreadsheetColumns, spreadsheetRows, spreadsheetSelectionSize, stackClasses, stackedCellClasses, stackedImageStyle, standaloneDirection, standalonePageSchema, standalonePanelSchema, standaloneWidgetCount, startAnalytics, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitNavigation, starterKitNavigations, starterKitPanelLocale, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, stickyCollisionPadding, stopTableReordering, submitFormById, subscribeToNotifications, subscribeToPush, subscriptMarkConfig, superscriptMarkConfig, switchLocale, syncStarterKitPage, syncToolbarTabStops, t, tabFromQuery, tabKeyTarget, tabQueryValue, tabToReveal, tableColumnAlignmentClass, tableColumnCells, tableLoadingStore, tableQueryKey, tableTotalsFailed, tableTotalsStore, tableViewError, tableViewFollowUp, tableViewUrl, takeRequestedStarterKitCopilot, takeRequestedStarterKitLanguages, templateForIndex, tenantNameText, textAlignExtensionConfig, textColorMarkConfig, timeInputStep, toAsciiDigits, toEditorDocument, toStarterKitBreadcrumbs, toStarterKitNavGroups, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, toggleVisibleColumn, toolCommand, toolbarButtonLabel, toolbarCommands, toolbarItems, toolbarPanel, trackAnalyticsEvent, transformImage, translatableLocaleField, translatableLocalesWithErrors, translationCellValue, translator, treeParentKeys, treeSubtreeHeight, triggerButtonView, undoShortcuts, uniqueId, unsubscribeFromPush, updateGroup, updateRule, updateTableCell, uploadPageMethodFiles, uploadTemporaryFile, uploadWithProgress, uploadedFileLinks, urlBase64ToUint8Array, usesDefaultImageStack, usesStarterKitHostLayout, virtualizeOptions, visibleColumns, visiblePresenceMembers, visibleTreeRows, visitTable, visitTableView, wallClockNow, watchPageProps, whenIdle, whenVisible, widgetPollTarget, widgetRegistryKeys, withAlpha, withColorAlpha, withDeferredTabBadges, withEcho, withItemActionState, withTableTotals, withoutDefaultActionQuery, withoutRequired, wizardProgressStore, wizardRequestedStepIndex, wizardStepFieldPaths, wizardStepQueryKey, wizardStepToReveal, writePersisted };
@@ -86,8 +86,8 @@ export interface StarterKitNavigationSchema {
86
86
  }
87
87
  /**
88
88
  * The `widgets` of a `starterKit()` panel's shared navigation: what `<AlfakitSearch />`,
89
- * `<AlfakitNotifications />` and `<AlfakitTenantSwitcher />` show on any host page before
90
- * their code and the panel data (`endpoint`) have loaded.
89
+ * `<AlfakitNotifications />`, `<AlfakitTenantSwitcher />` and `<AlfakitLanguageSwitcher />`
90
+ * show on any host page before their code and the panel data (`endpoint`) have loaded.
91
91
  */
92
92
  export interface StarterKitWidgetsSchema {
93
93
  /** GET: the panel data the components render with (the `alfakit` prop of the panel's pages). */
@@ -111,6 +111,15 @@ export interface StarterKitWidgetsSchema {
111
111
  registrationLabel?: string;
112
112
  searchable?: true;
113
113
  };
114
+ /**
115
+ * `<AlfakitLanguageSwitcher />`: the button's label ("Change language") and the current
116
+ * language, when the panel has a language switcher with two or more languages
117
+ * (`locales()`). The languages and the locale endpoint come with the panel data.
118
+ */
119
+ language?: {
120
+ label: string;
121
+ current: LocaleSchema;
122
+ };
114
123
  /** While impersonating: the banner the header components show on the host's own pages. */
115
124
  impersonation?: ImpersonationSchema;
116
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","names":[],"sources":["../../src/schema/panel.ts"],"mappings":"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"}
1
+ {"version":3,"file":"panel.d.ts","names":[],"sources":["../../src/schema/panel.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","names":[],"sources":["../../src/schema/panel.ts"],"sourcesContent":["import type { ActionSchema, AnyActionSchema } from './actions'\nimport type { CommandPaletteSchema, KeyboardShortcutsSchema } from './command-palette'\nimport type { Color, IconName, RecordKey, Width } from './common'\nimport type { SchemaComponent } from './components'\nimport type { DebugSchema } from './debug'\nimport type { DevToolsSchema } from './dev-tools'\nimport type { FormBlock, InfolistBlock, LinksBlock, SchemaBlock } from './form'\nimport type { NotificationSchema } from './notifications'\nimport type { PwaSchema } from './pwa'\nimport type { ConflictsSchema, PresenceSchema, RealtimeSchema } from './realtime'\nimport type { DeferredTabBadges } from './resources'\nimport type { StandaloneComponentSchema } from './standalone'\nimport type { RelationManagerSchema, RelationManagersBlock, TableBlock } from './table'\nimport type { WidgetSchema, WidgetsBlock } from './widgets'\n\nexport interface NavigationItemSchema {\n /** Text, or sanitised HTML when `labelHtml` is true (an `Htmlable` label). */\n label: string\n /** `label` is sanitised HTML: render it as markup (use `htmlLabelToText()` for text). */\n labelHtml?: boolean\n icon?: IconName\n /**\n * Split navigation (`alfakit.navigation` is an Inertia once prop): the icon of the item\n * while active, swapped in by `resolvePanelNavigation()`.\n */\n activeIcon?: IconName\n url?: string\n openInNewTab?: boolean\n active?: boolean\n badge?: string | number\n badgeColor?: Color\n badgeTooltip?: string\n /** `Panel::deferNavigationBadges()`: the item has a badge that loads after the page. */\n deferredBadge?: boolean\n /** Set by `resolvePanelNavigation()` while a deferred badge is loading (show a placeholder). */\n badgePending?: boolean\n /** `NavigationItem::extraAttributes()`: HTML attributes for the item's link (`class` merges). */\n extraAttributes?: Record<string, string | number | boolean | null>\n children?: NavigationItemSchema[]\n}\n\nexport interface NavigationGroupSchema {\n label?: string | null\n icon?: IconName\n collapsible: boolean\n collapsed?: boolean\n items: NavigationItemSchema[]\n /** `NavigationGroup::extraSidebarAttributes()`: HTML attributes for the group in the sidebar. */\n extraSidebarAttributes?: Record<string, string | number | boolean | null>\n /** `NavigationGroup::extraTopbarAttributes()`: HTML attributes for the group in the top navigation. */\n extraTopbarAttributes?: Record<string, string | number | boolean | null>\n}\n\n/** A navigation item's badge, from `navigationState` or the deferred `alfakitNavigationBadges` prop. */\nexport interface NavigationBadgeSchema {\n badge: string | number\n badgeColor?: Color\n badgeTooltip?: string\n}\n\n/**\n * The per-request part of the panel navigation, whose structure (`navigation`) is an\n * Inertia once prop. Items are addressed by position: `group.item[.child…]` (`0.2.1`).\n */\nexport interface NavigationStateSchema {\n /** The active items (an active child's ancestors included). */\n active?: string[]\n /** Badges, unless `Panel::deferNavigationBadges()` defers them. */\n badges?: Record<string, NavigationBadgeSchema>\n}\n\n/** One `starterKit()` panel's navigation, as shared with the host application's pages. */\n/** One `starterKit()` panel's dashboard widgets on a host page (`alfakitWidgets` prop). */\nexport interface StarterKitDashboardWidgetsSchema {\n /** The panel id. */\n id: string\n /** A standalone widgets payload bound to the panel (lazy loading and polling included). */\n component: StandaloneComponentSchema\n}\n\nexport interface StarterKitNavigationSchema {\n /** The panel id. */\n id: string\n /** The panel's home URL. */\n url: string\n brandName: string\n /** Empty for tenancy panels outside a tenant (their items link to tenant routes). */\n groups: NavigationGroupSchema[]\n /** What the drop-in header components render before they load. */\n widgets?: StarterKitWidgetsSchema\n}\n\n/**\n * The `widgets` of a `starterKit()` panel's shared navigation: what `<AlfakitSearch />`,\n * `<AlfakitNotifications />` and `<AlfakitTenantSwitcher />` show on any host page before\n * their code and the panel data (`endpoint`) have loaded.\n */\nexport interface StarterKitWidgetsSchema {\n /** GET: the panel data the components render with (the `alfakit` prop of the panel's pages). */\n endpoint: string\n /** Global search or the command palette (tenancy panels: only inside a tenant). */\n search?: { keyBindings: string[]; placeholder: string }\n /** `databaseNotifications()`: the bell's label and the user's unread count. */\n notifications?: { label: string; unreadCount: number }\n /** Tenancy panels: the user's tenants; `current` is null on the host's own pages. */\n tenancy?: {\n current?: TenantSchema | null\n tenants: TenantSchema[]\n registrationUrl?: string\n /** The registration page's own label (`RegisterTenant::getLabel()`). */\n registrationLabel?: string\n searchable?: true\n }\n /** While impersonating: the banner the header components show on the host's own pages. */\n impersonation?: ImpersonationSchema\n /**\n * `AiPlugin::copilot()` (alfasix/alfakit-ai, `$panel->starterKitWidget('copilot')`): the\n * label and shortcuts of `<AlfakitCopilot />` before its code loads. Tenancy panels: only\n * inside a tenant.\n */\n copilot?: { label: string; keyBindings: string[] }\n}\n\n/** A page's secondary navigation: cluster pages or a record's pages. */\nexport interface SubNavigationSchema {\n position: 'start' | 'end' | 'top'\n groups: NavigationGroupSchema[]\n}\n\n/**\n * An entry of the user or tenant menu: a link (`url`, `method: 'post'` for POST links) or\n * an `Action` with server logic or a modal (`action`), run through the action endpoint\n * with the component `userMenu` / `tenantMenu` and the page's token.\n */\nexport interface MenuItemSchema {\n label?: string\n icon?: IconName\n url?: string\n openInNewTab?: boolean\n color?: Color\n method?: 'post'\n action?: ActionSchema\n /** Group index (nested arrays in `userMenuItems()`); a separator divides groups. */\n group?: number\n}\n\n/** Action endpoint components of the menus (`Panel::USER_MENU_COMPONENT`, …). */\nexport const USER_MENU_COMPONENT = 'userMenu'\nexport const TENANT_MENU_COMPONENT = 'tenantMenu'\n\nexport interface PanelUserSchema {\n id: RecordKey\n name: string\n email?: string | null\n avatar?: string | null\n}\n\nexport interface TenantSchema {\n id: RecordKey\n /** Text, or sanitised HTML when `nameHtml` is true (an `Htmlable` `getAlfakitName()`). */\n name: string\n /** `name` is sanitised HTML: render it as markup (use `htmlLabelToText()` for text). */\n nameHtml?: boolean\n avatar?: string | null\n url: string\n /** `HasCurrentTenantLabel`: a caption shown with the current tenant (\"Active team\"). */\n label?: string | null\n}\n\n/** The panel's design, see `Panel::theme()`. */\nexport interface PanelThemeSchema {\n name: string\n /** Value of `data-alfakit-theme`, base theme first: `\"alfakit acme\"`. */\n attribute: string\n sidebar: 'inset' | 'floating' | 'flush'\n density: 'comfortable' | 'compact'\n radius?: string | null\n font?: string | null\n /** CSS value for `--alfakit-font`. */\n fontCss?: string | null\n /** CSS value for `--alfakit-heading-font`. */\n headingFontCss?: string | null\n /** Stylesheet that loads the font, if any. */\n fontUrl?: string | null\n /** Every font stylesheet to load (body and heading fonts). */\n fontUrls?: string[]\n /** Structure and component styles; mirrored as `data-*` attributes on `<html>`. */\n design: PanelDesignSchema\n /**\n * Icon aliases replaced with `Icons::register()` (`alfakit::panels.sidebar.collapse-button`\n * → a Lucide name, image URL or sanitised SVG). The chrome falls back to its own icon.\n */\n icons?: Record<string, string> | null\n}\n\nexport interface PanelDesignSchema {\n layout: 'sidebar' | 'topbar' | 'rail'\n nav: 'soft' | 'pill' | 'bar' | 'underline'\n header: 'plain' | 'banner' | 'band' | 'compact'\n surfaces: 'bordered' | 'elevated' | 'flat' | 'ring'\n inputs: 'outline' | 'filled' | 'underline'\n buttons: 'rounded' | 'pill' | 'square'\n tables: 'lined' | 'striped' | 'minimal'\n /**\n * Below the `md` breakpoint: `drawer` (default) or the `bottom` mobile preset (bottom\n * navigation bar, tables as stacked cards, slide-over modals, 44px touch targets and\n * sticky form actions). See `Panel::mobile()`.\n */\n mobile?: 'drawer' | 'bottom'\n}\n\n/**\n * One piece of slot content: server-rendered HTML or a schema component. `for` lists the\n * components (`relationManager:<class>`, `widget:<id>`) it is scoped to: such items only\n * render in a `<Slot scope=\"…\">` of a matching component. `when` (`Panel::slot(…, when:)`)\n * limits it to renders whose slot data matches: `{ column: 'title' }` only renders in the\n * `table.header-cell` slot of the `title` column; a list value matches any of its entries.\n */\nexport type SlotItemSchema = (\n { type: 'html'; html: string } | { type: 'component'; component: SchemaComponent }\n) & { for?: string[]; when?: Record<string, SlotDataValue | SlotDataValue[]> }\n\n/** A value in a slot's render data (`<Slot data={{ column: 'title' }}>`). */\nexport type SlotDataValue = string | number | boolean | null\n\n/** A language the panel can be displayed in. */\nexport interface LocaleSchema {\n /** Laravel-style code: `en`, `pt_BR`, `zh_Hant`. */\n code: string\n /** BCP 47 tag for `Intl` and the `lang` attribute: `pt-BR`. */\n tag: string\n /** The language's own name: `Deutsch`, `العربية`. */\n label: string\n direction: 'ltr' | 'rtl'\n}\n\n/** The current request's language, formats and the panel's language list. */\nexport interface LocalizationSchema extends LocaleSchema {\n fallbackLocale: string\n /** 0 = Sunday … 6 = Saturday. */\n firstDayOfWeek: number\n /** Default ISO 4217 currency. */\n currency: string\n /** IANA timezone dates are displayed in. */\n timezone: string\n /** Whether to show a language menu. */\n switcher: boolean\n /**\n * Where panel pages offer the menu (`Panel::languageSwitcher()`): the user menu (default\n * when absent), a top bar button, both, or neither. Auth pages keep their switcher.\n */\n switcherPosition?: LanguageSwitcherPosition\n /** Languages to offer in the menu (empty when the switcher is off). */\n locales: LocaleSchema[]\n}\n\nexport type LanguageSwitcherPosition = 'user-menu' | 'topbar' | 'both' | 'hidden'\n\nexport interface PanelEndpoints {\n action: string\n modal: string\n schemaRefresh: string\n schemaOptions: string\n /** Validates one wizard step's fields (`step` = the Step component's key). */\n schemaValidate?: string\n /** Loads `deferLoading()` children and `Tab::deferBadge()` badges (`{schema}::{key}`). */\n schemaDeferred?: string\n tableCell: string\n tableReorder: string\n /** Stores a user's column order (`reorderableColumns()`). */\n tableColumns?: string\n /** `Table::deferTotals()`: the record count and summaries, loaded after the rows. */\n tableTotals?: string\n /** `Table::savedViews()`: save, share, rename, delete and pick a default view. */\n tableViews?: string\n /** `Table::spreadsheet()`: batch save (or validate) grid edits. */\n tableCells?: string\n /** Fresh schemas of lazy and polled components by token (components outside panels). */\n components?: string\n locale: string\n /** Calls `#[Expose]` methods of custom pages (`usePageMethod()`). */\n pageCall?: string\n /** Edit pages: what changed since the form was loaded (`detectConflicts()`). */\n conflicts?: string\n upload: string\n uploadDestroy: string\n /** Starts a resumable chunked upload (`{uploadChunks}/{id}` takes chunks, `/complete` finishes). */\n uploadChunks?: string\n globalSearch: string\n /** Command palette: \"create\" links and recent records (GET). */\n commandPalette?: string\n /** Stores the user's customised keyboard shortcuts (POST `{shortcuts}`). */\n shortcuts?: string\n /** `Action::undoable()`: undoes an action from its toast (POST `{undo}`). */\n undo?: string\n /** `Dashboard::customizable()`: saves or resets the user's layout (POST `{token, layout}`). */\n dashboardLayout?: string\n notifications: string\n notificationsReadAll: string\n notificationsDestroyAll: string\n logout: string\n}\n\n/** Where toasts appear (`Panel::toastPosition()`); `start`/`end` follow the reading direction. */\nexport type ToastPosition =\n 'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end'\n\n/** Shown while impersonating another user (`ImpersonateAction`). */\nexport interface ImpersonationSchema {\n /** \"You are signed in as …\", translated on the server. */\n label: string\n leaveLabel: string\n /** POST here to return to the real user. */\n leaveUrl: string\n}\n\n/** The `alfakit` prop shared with every page of a panel. */\n/**\n * One `errorNotifications` entry: the text to show, or `hidden` (caught, nothing shown,\n * `hiddenErrorNotification()`) or `disabled` (default handling, `disabledErrorNotification()`).\n */\nexport interface ErrorNotificationEntrySchema {\n title?: string\n body?: string | null\n icon?: IconName\n hidden?: boolean\n disabled?: boolean\n}\n\n/** `errorNotifications`, keyed by HTTP status plus `default`. */\nexport type ErrorNotificationsSchema = Record<string, ErrorNotificationEntrySchema>\n\nexport interface PanelSchema {\n id: string\n /**\n * The schema contract version the server serialised (`SchemaContract::VERSION`). Renderers\n * compare its major part with `SCHEMA_CONTRACT_VERSION`; absent on servers before 1.0.\n */\n schemaContract?: string\n path: string\n url?: string\n brandName: string\n brandLogo?: string\n darkModeBrandLogo?: string\n brandLogoHeight?: string\n favicon?: string\n /**\n * Colour custom properties without the `--alfakit-` prefix: `primary`, its readable\n * `primary-foreground` and, for palettes (`Color::Indigo`), `primary-50` … `primary-950`.\n */\n colors?: Record<string, string>\n /**\n * CSS for custom colour names (`colors(['brand' => …])`): `.alfakit-color-{name}` rules\n * that point the generic colour utilities of themes.css at `--alfakit-{name}`.\n */\n colorCss?: string\n darkMode: {\n enabled: boolean\n forced: boolean\n /** `defaultThemeMode()`; absent for `system`. */\n default?: 'light' | 'dark'\n /** `false` when `themeSwitcher(false)`: no switcher, always the default mode. */\n switcher?: false\n }\n /** `false` when `topbar(false)`: sidebar layouts render no top bar (a slim bar on phones). */\n topbar?: false\n sidebarCollapsibleOnDesktop: boolean\n sidebarFullyCollapsibleOnDesktop?: boolean\n topNavigation?: boolean\n maxContentWidth?: Width | string\n breadcrumbs: boolean\n unsavedChangesAlerts?: boolean\n /** `false` when `collapsibleNavigationGroups(false)`: groups never collapse. */\n collapsibleNavigationGroups?: false\n /** CSS lengths for the open and icon-only sidebar (`--sidebar-width`, `--sidebar-width-icon`). */\n sidebarWidth?: string\n collapsedSidebarWidth?: string\n /** Max width of `auth` layout pages (login, registration…). */\n simplePageMaxContentWidth?: Width | string\n /** `false` when `spa(false)`: every link loads a full page. */\n spa?: false\n /** URL patterns (`*` wildcard) that load with a full page request. */\n spaUrlExceptions?: string[]\n /**\n * Notifications shown instead of Inertia's error modal, keyed by HTTP status plus\n * `default`. Absent when disabled or in debug mode. A page's own `errorNotifications`\n * replaces it while that page is open.\n */\n errorNotifications?: ErrorNotificationsSchema\n theme: PanelThemeSchema\n /** Content inserted with `Panel::slot()`, keyed by slot name. */\n slots?: Record<string, SlotItemSchema[]>\n /**\n * Empty for `starterKit()` panels: their navigation is the `alfakitNavigation` page prop,\n * which every page of the host application carries (not only the panel's).\n */\n navigation: NavigationGroupSchema[]\n /**\n * The active items and badges of this request; `navigation` holds only the structure\n * (sent once). Read the navigation through `usePanel()`, which merges the two.\n */\n navigationState?: NavigationStateSchema\n /**\n * `Panel::starterKit()`: the panel runs inside a Laravel starter kit app. Its pages render\n * in the host's own layout (sidebar, header, appearance) and the host's shadcn tokens;\n * the panel's own chrome, theme attributes and colour scheme are not applied.\n */\n starterKit?: true\n user?: PanelUserSchema\n userMenu?: {\n items: MenuItemSchema[]\n profileUrl?: string\n logoutUrl: string\n /** The `profile` entry as customised in `userMenuItems()` (replaces the built-in link). */\n profile?: MenuItemSchema\n /** The customised `logout` entry, or `false` when it is hidden. */\n logout?: MenuItemSchema | false\n /**\n * `topbar` when `userMenu(position: UserMenuPosition::Topbar)`: sidebar layouts show the\n * menu in the top bar instead of the sidebar footer. Omitted for the sidebar.\n */\n position?: 'topbar'\n }\n tenancy?: {\n current?: TenantSchema | null\n tenants: TenantSchema[]\n registrationUrl?: string\n profileUrl?: string\n /** The registration page's own label (`RegisterTenant::getLabel()`); else \"New\". */\n registrationLabel?: string\n /** The profile page's own label (`EditTenantProfile::getLabel()`); else \"Settings\". */\n profileLabel?: string\n /** The customised `register` entry of `tenantMenuItems()`. */\n registration?: MenuItemSchema\n /** The customised `profile` entry of `tenantMenuItems()`. */\n profile?: MenuItemSchema\n menu?: MenuItemSchema[]\n /** `false` when `tenantSwitcher(false)`: `tenants` is empty and the menu lists no others. */\n switcher?: false\n /** `searchableTenantMenu()`, or more than 10 tenants: show a search field in the menu. */\n searchable?: boolean\n }\n databaseNotifications?: {\n pollingInterval?: string\n unreadCount: number\n /**\n * `sidebar` when `databaseNotifications(position: 'sidebar')` or `topbar(false)`: sidebar\n * layouts show the bell in the sidebar instead of the top bar. Omitted for the top bar.\n */\n position?: 'sidebar'\n }\n globalSearch?: {\n keyBindings: string[]\n placeholder: string\n /** `globalSearchDebounce()` in milliseconds; renderers default to 250. */\n debounce?: number\n /** `globalSearchFieldSuffix()`: text shown at the end of the field instead of the key hint. */\n suffix?: string\n /** `false` when `globalSearchFieldKeyBindingSuffix(false)`: no key binding hint. */\n keyBindingSuffix?: false\n /**\n * `sidebar` when `globalSearch(position: GlobalSearchPosition::Sidebar)` or\n * `topbar(false)`: sidebar layouts show the field in the sidebar header. Omitted for the top bar.\n */\n position?: 'sidebar'\n }\n endpoints: Partial<PanelEndpoints> & { logout: string }\n /** `alfakit.uploads.chunk_size` in bytes: larger files are uploaded in chunks. */\n uploadChunkSize?: number\n auth: { login?: string; register?: string; passwordReset?: string }\n flashKey: string\n /** Present while impersonating: render a banner with a way back. */\n impersonation?: ImpersonationSchema\n /**\n * `Panel::realtimeNotifications()`: the private channel to listen on with Laravel Echo;\n * with `Panel::realtime()` also the connection (`live`, `authEndpoint`, `echo`).\n */\n realtime?: RealtimeSchema\n /** Omitted for the default (`top-end`). */\n toastPosition?: ToastPosition\n /** The command palette's extras: page actions, panel commands, navigation, create links, recent records. */\n commandPalette?: CommandPaletteSchema\n /** Keyboard shortcuts (`false` with `keyboardShortcuts(false)`); absent for guests. */\n keyboardShortcuts?: KeyboardShortcutsSchema | false\n /** `Panel::pwa()`: service worker, install prompt and Web Push; absent when off. */\n pwa?: PwaSchema\n localization: LocalizationSchema\n csrf: string\n translations: Record<string, unknown>\n}\n\nexport interface BreadcrumbSchema {\n label: string\n url?: string\n}\n\nexport type ContentBlock =\n | FormBlock\n | InfolistBlock\n | SchemaBlock\n | TableBlock\n | RelationManagersBlock\n | WidgetsBlock\n | LinksBlock\n | { type: string; key: string; [key: string]: unknown }\n\nexport type PageLayout = 'app' | 'auth' | 'blank' | 'fullscreen'\n\n/** The `page` prop rendered by `Alfakit/Page`. */\nexport interface PageSchema {\n class: string\n layout: PageLayout\n title: string\n heading?: string\n subheading?: string\n breadcrumbs?: BreadcrumbSchema[]\n maxContentWidth?: Width | string\n /** `fullscreen` layout: whether to show the slim header, and where its exit link goes. */\n fullscreen?: { header: boolean; exitUrl?: string }\n /** Cluster or record sub-navigation. */\n subNavigation?: SubNavigationSchema\n headerActions?: AnyActionSchema[]\n /** `$headerActionsAlignment`; absent for `end` (the default). */\n headerActionsAlignment?: 'start' | 'center' | 'end' | 'between' | 'justify'\n /** `$extraBodyAttributes` / `getExtraBodyAttributes()`: set on `<body>` while the page is open. */\n extraBodyAttributes?: Record<string, string>\n content: ContentBlock[]\n /** Encrypted context token for internal endpoints. */\n token: string\n record?: RecordKey\n view?: { component: string; props: Record<string, unknown> }\n /**\n * An action whose modal the renderer opens once the page hydrated (`$defaultAction`,\n * `?defaultAction=`, `?tableAction=&tableActionRecord=`).\n */\n defaultAction?: DefaultActionSchema\n /**\n * Page override of the panel's `errorNotifications` (`$hasErrorNotifications`,\n * `setUpErrorNotifications()`): `false` turns them off on this page. Absent when the\n * page follows the panel.\n */\n errorNotifications?: ErrorNotificationsSchema | false\n /** Record pages with `Panel::realtime()`: who else is on the record. */\n presence?: PresenceSchema\n /** Edit pages with `detectConflicts()`: the version the form was loaded from. */\n conflicts?: ConflictsSchema\n}\n\n/** `PageSchema::defaultAction`: what to open and in which context. */\nexport interface DefaultActionSchema {\n action: ActionSchema\n /** Context component: `page`, `table`, `relationManager:…`. */\n component: string\n record?: RecordKey\n arguments?: Record<string, unknown>\n}\n\n/**\n * Fresh schemas returned by a poll, keyed by poll target: `table`, `relationManager:Class`\n * or `widget:<id or class>`.\n */\nexport type PolledComponents = Record<string, ContentBlock | WidgetSchema | RelationManagerSchema>\n\n/** Shape of `usePage().props` on an Alfakit page. */\nexport interface AlfakitPageProps {\n alfakit: PanelSchema\n page?: PageSchema\n /** Components refreshed by a poll (only present after one); merged into `page`. */\n alfakitPoll?: PolledComponents\n /**\n * Lazy widgets and relation managers (`Page::LAZY_PROP`), an Inertia deferred prop that\n * arrives right after the first response; `resolveLazyComponents()` puts them in `page`.\n */\n alfakitLazy?: PolledComponents\n /** Badges of `Tab::deferBadge()` list tabs, a deferred prop loaded after the page. */\n alfakitTabBadges?: DeferredTabBadges\n /**\n * `Panel::deferNavigationBadges()`: the navigation badges keyed by item id\n * (`navigationState`), a deferred prop loaded after the page.\n */\n alfakitNavigationBadges?: Record<string, NavigationBadgeSchema>\n alfakitAppearance?: 'light' | 'dark' | 'system'\n /** The stored sidebar state (`alfakit_sidebar_state` cookie); null when never toggled. */\n alfakitSidebarOpen?: boolean | null\n /**\n * The navigation of the application's `starterKit()` panels, shared with every Inertia\n * page (the host's own pages too) for the host sidebar. Null for guests.\n */\n alfakitNavigation?: StarterKitNavigationSchema[] | null\n /**\n * `starterKit()` panels: their dashboard widgets on the host's dashboard\n * (`starterKitDashboard()`), for `<AlfakitWidgets />`. Null on other pages, for guests\n * and users who may not open the panel.\n */\n alfakitWidgets?: StarterKitDashboardWidgetsSchema[] | null\n /**\n * The developer debug panel's data (`Page::DEBUG_PROP`): schema tree with visibility and\n * authorisation, evaluated closures and server timings. Only present while the panel's\n * debug panel is active; never in production.\n */\n alfakitDebug?: DebugSchema\n /**\n * The schema inspector's data (context identity, class links). Only present while the\n * panel's dev tools are on (`Panel::devTools()` with `app.debug`); never in production.\n */\n alfakitDevTools?: DevToolsSchema\n flash?: {\n alfakitNotifications?: NotificationSchema[]\n alfakitAction?: {\n name: string\n status: 'success' | 'halted' | 'cancelled'\n closeModal?: boolean\n deselectRecords?: boolean | null\n }\n [key: string]: unknown\n }\n errors?: Record<string, string>\n [key: string]: unknown\n}\n\nexport type { ActionSchema }\n"],"mappings":";;AAmJA,MAAa,sBAAsB;AACnC,MAAa,wBAAwB"}
1
+ {"version":3,"file":"panel.js","names":[],"sources":["../../src/schema/panel.ts"],"sourcesContent":["import type { ActionSchema, AnyActionSchema } from './actions'\nimport type { CommandPaletteSchema, KeyboardShortcutsSchema } from './command-palette'\nimport type { Color, IconName, RecordKey, Width } from './common'\nimport type { SchemaComponent } from './components'\nimport type { DebugSchema } from './debug'\nimport type { DevToolsSchema } from './dev-tools'\nimport type { FormBlock, InfolistBlock, LinksBlock, SchemaBlock } from './form'\nimport type { NotificationSchema } from './notifications'\nimport type { PwaSchema } from './pwa'\nimport type { ConflictsSchema, PresenceSchema, RealtimeSchema } from './realtime'\nimport type { DeferredTabBadges } from './resources'\nimport type { StandaloneComponentSchema } from './standalone'\nimport type { RelationManagerSchema, RelationManagersBlock, TableBlock } from './table'\nimport type { WidgetSchema, WidgetsBlock } from './widgets'\n\nexport interface NavigationItemSchema {\n /** Text, or sanitised HTML when `labelHtml` is true (an `Htmlable` label). */\n label: string\n /** `label` is sanitised HTML: render it as markup (use `htmlLabelToText()` for text). */\n labelHtml?: boolean\n icon?: IconName\n /**\n * Split navigation (`alfakit.navigation` is an Inertia once prop): the icon of the item\n * while active, swapped in by `resolvePanelNavigation()`.\n */\n activeIcon?: IconName\n url?: string\n openInNewTab?: boolean\n active?: boolean\n badge?: string | number\n badgeColor?: Color\n badgeTooltip?: string\n /** `Panel::deferNavigationBadges()`: the item has a badge that loads after the page. */\n deferredBadge?: boolean\n /** Set by `resolvePanelNavigation()` while a deferred badge is loading (show a placeholder). */\n badgePending?: boolean\n /** `NavigationItem::extraAttributes()`: HTML attributes for the item's link (`class` merges). */\n extraAttributes?: Record<string, string | number | boolean | null>\n children?: NavigationItemSchema[]\n}\n\nexport interface NavigationGroupSchema {\n label?: string | null\n icon?: IconName\n collapsible: boolean\n collapsed?: boolean\n items: NavigationItemSchema[]\n /** `NavigationGroup::extraSidebarAttributes()`: HTML attributes for the group in the sidebar. */\n extraSidebarAttributes?: Record<string, string | number | boolean | null>\n /** `NavigationGroup::extraTopbarAttributes()`: HTML attributes for the group in the top navigation. */\n extraTopbarAttributes?: Record<string, string | number | boolean | null>\n}\n\n/** A navigation item's badge, from `navigationState` or the deferred `alfakitNavigationBadges` prop. */\nexport interface NavigationBadgeSchema {\n badge: string | number\n badgeColor?: Color\n badgeTooltip?: string\n}\n\n/**\n * The per-request part of the panel navigation, whose structure (`navigation`) is an\n * Inertia once prop. Items are addressed by position: `group.item[.child…]` (`0.2.1`).\n */\nexport interface NavigationStateSchema {\n /** The active items (an active child's ancestors included). */\n active?: string[]\n /** Badges, unless `Panel::deferNavigationBadges()` defers them. */\n badges?: Record<string, NavigationBadgeSchema>\n}\n\n/** One `starterKit()` panel's navigation, as shared with the host application's pages. */\n/** One `starterKit()` panel's dashboard widgets on a host page (`alfakitWidgets` prop). */\nexport interface StarterKitDashboardWidgetsSchema {\n /** The panel id. */\n id: string\n /** A standalone widgets payload bound to the panel (lazy loading and polling included). */\n component: StandaloneComponentSchema\n}\n\nexport interface StarterKitNavigationSchema {\n /** The panel id. */\n id: string\n /** The panel's home URL. */\n url: string\n brandName: string\n /** Empty for tenancy panels outside a tenant (their items link to tenant routes). */\n groups: NavigationGroupSchema[]\n /** What the drop-in header components render before they load. */\n widgets?: StarterKitWidgetsSchema\n}\n\n/**\n * The `widgets` of a `starterKit()` panel's shared navigation: what `<AlfakitSearch />`,\n * `<AlfakitNotifications />`, `<AlfakitTenantSwitcher />` and `<AlfakitLanguageSwitcher />`\n * show on any host page before their code and the panel data (`endpoint`) have loaded.\n */\nexport interface StarterKitWidgetsSchema {\n /** GET: the panel data the components render with (the `alfakit` prop of the panel's pages). */\n endpoint: string\n /** Global search or the command palette (tenancy panels: only inside a tenant). */\n search?: { keyBindings: string[]; placeholder: string }\n /** `databaseNotifications()`: the bell's label and the user's unread count. */\n notifications?: { label: string; unreadCount: number }\n /** Tenancy panels: the user's tenants; `current` is null on the host's own pages. */\n tenancy?: {\n current?: TenantSchema | null\n tenants: TenantSchema[]\n registrationUrl?: string\n /** The registration page's own label (`RegisterTenant::getLabel()`). */\n registrationLabel?: string\n searchable?: true\n }\n /**\n * `<AlfakitLanguageSwitcher />`: the button's label (\"Change language\") and the current\n * language, when the panel has a language switcher with two or more languages\n * (`locales()`). The languages and the locale endpoint come with the panel data.\n */\n language?: { label: string; current: LocaleSchema }\n /** While impersonating: the banner the header components show on the host's own pages. */\n impersonation?: ImpersonationSchema\n /**\n * `AiPlugin::copilot()` (alfasix/alfakit-ai, `$panel->starterKitWidget('copilot')`): the\n * label and shortcuts of `<AlfakitCopilot />` before its code loads. Tenancy panels: only\n * inside a tenant.\n */\n copilot?: { label: string; keyBindings: string[] }\n}\n\n/** A page's secondary navigation: cluster pages or a record's pages. */\nexport interface SubNavigationSchema {\n position: 'start' | 'end' | 'top'\n groups: NavigationGroupSchema[]\n}\n\n/**\n * An entry of the user or tenant menu: a link (`url`, `method: 'post'` for POST links) or\n * an `Action` with server logic or a modal (`action`), run through the action endpoint\n * with the component `userMenu` / `tenantMenu` and the page's token.\n */\nexport interface MenuItemSchema {\n label?: string\n icon?: IconName\n url?: string\n openInNewTab?: boolean\n color?: Color\n method?: 'post'\n action?: ActionSchema\n /** Group index (nested arrays in `userMenuItems()`); a separator divides groups. */\n group?: number\n}\n\n/** Action endpoint components of the menus (`Panel::USER_MENU_COMPONENT`, …). */\nexport const USER_MENU_COMPONENT = 'userMenu'\nexport const TENANT_MENU_COMPONENT = 'tenantMenu'\n\nexport interface PanelUserSchema {\n id: RecordKey\n name: string\n email?: string | null\n avatar?: string | null\n}\n\nexport interface TenantSchema {\n id: RecordKey\n /** Text, or sanitised HTML when `nameHtml` is true (an `Htmlable` `getAlfakitName()`). */\n name: string\n /** `name` is sanitised HTML: render it as markup (use `htmlLabelToText()` for text). */\n nameHtml?: boolean\n avatar?: string | null\n url: string\n /** `HasCurrentTenantLabel`: a caption shown with the current tenant (\"Active team\"). */\n label?: string | null\n}\n\n/** The panel's design, see `Panel::theme()`. */\nexport interface PanelThemeSchema {\n name: string\n /** Value of `data-alfakit-theme`, base theme first: `\"alfakit acme\"`. */\n attribute: string\n sidebar: 'inset' | 'floating' | 'flush'\n density: 'comfortable' | 'compact'\n radius?: string | null\n font?: string | null\n /** CSS value for `--alfakit-font`. */\n fontCss?: string | null\n /** CSS value for `--alfakit-heading-font`. */\n headingFontCss?: string | null\n /** Stylesheet that loads the font, if any. */\n fontUrl?: string | null\n /** Every font stylesheet to load (body and heading fonts). */\n fontUrls?: string[]\n /** Structure and component styles; mirrored as `data-*` attributes on `<html>`. */\n design: PanelDesignSchema\n /**\n * Icon aliases replaced with `Icons::register()` (`alfakit::panels.sidebar.collapse-button`\n * → a Lucide name, image URL or sanitised SVG). The chrome falls back to its own icon.\n */\n icons?: Record<string, string> | null\n}\n\nexport interface PanelDesignSchema {\n layout: 'sidebar' | 'topbar' | 'rail'\n nav: 'soft' | 'pill' | 'bar' | 'underline'\n header: 'plain' | 'banner' | 'band' | 'compact'\n surfaces: 'bordered' | 'elevated' | 'flat' | 'ring'\n inputs: 'outline' | 'filled' | 'underline'\n buttons: 'rounded' | 'pill' | 'square'\n tables: 'lined' | 'striped' | 'minimal'\n /**\n * Below the `md` breakpoint: `drawer` (default) or the `bottom` mobile preset (bottom\n * navigation bar, tables as stacked cards, slide-over modals, 44px touch targets and\n * sticky form actions). See `Panel::mobile()`.\n */\n mobile?: 'drawer' | 'bottom'\n}\n\n/**\n * One piece of slot content: server-rendered HTML or a schema component. `for` lists the\n * components (`relationManager:<class>`, `widget:<id>`) it is scoped to: such items only\n * render in a `<Slot scope=\"…\">` of a matching component. `when` (`Panel::slot(…, when:)`)\n * limits it to renders whose slot data matches: `{ column: 'title' }` only renders in the\n * `table.header-cell` slot of the `title` column; a list value matches any of its entries.\n */\nexport type SlotItemSchema = (\n { type: 'html'; html: string } | { type: 'component'; component: SchemaComponent }\n) & { for?: string[]; when?: Record<string, SlotDataValue | SlotDataValue[]> }\n\n/** A value in a slot's render data (`<Slot data={{ column: 'title' }}>`). */\nexport type SlotDataValue = string | number | boolean | null\n\n/** A language the panel can be displayed in. */\nexport interface LocaleSchema {\n /** Laravel-style code: `en`, `pt_BR`, `zh_Hant`. */\n code: string\n /** BCP 47 tag for `Intl` and the `lang` attribute: `pt-BR`. */\n tag: string\n /** The language's own name: `Deutsch`, `العربية`. */\n label: string\n direction: 'ltr' | 'rtl'\n}\n\n/** The current request's language, formats and the panel's language list. */\nexport interface LocalizationSchema extends LocaleSchema {\n fallbackLocale: string\n /** 0 = Sunday … 6 = Saturday. */\n firstDayOfWeek: number\n /** Default ISO 4217 currency. */\n currency: string\n /** IANA timezone dates are displayed in. */\n timezone: string\n /** Whether to show a language menu. */\n switcher: boolean\n /**\n * Where panel pages offer the menu (`Panel::languageSwitcher()`): the user menu (default\n * when absent), a top bar button, both, or neither. Auth pages keep their switcher.\n */\n switcherPosition?: LanguageSwitcherPosition\n /** Languages to offer in the menu (empty when the switcher is off). */\n locales: LocaleSchema[]\n}\n\nexport type LanguageSwitcherPosition = 'user-menu' | 'topbar' | 'both' | 'hidden'\n\nexport interface PanelEndpoints {\n action: string\n modal: string\n schemaRefresh: string\n schemaOptions: string\n /** Validates one wizard step's fields (`step` = the Step component's key). */\n schemaValidate?: string\n /** Loads `deferLoading()` children and `Tab::deferBadge()` badges (`{schema}::{key}`). */\n schemaDeferred?: string\n tableCell: string\n tableReorder: string\n /** Stores a user's column order (`reorderableColumns()`). */\n tableColumns?: string\n /** `Table::deferTotals()`: the record count and summaries, loaded after the rows. */\n tableTotals?: string\n /** `Table::savedViews()`: save, share, rename, delete and pick a default view. */\n tableViews?: string\n /** `Table::spreadsheet()`: batch save (or validate) grid edits. */\n tableCells?: string\n /** Fresh schemas of lazy and polled components by token (components outside panels). */\n components?: string\n locale: string\n /** Calls `#[Expose]` methods of custom pages (`usePageMethod()`). */\n pageCall?: string\n /** Edit pages: what changed since the form was loaded (`detectConflicts()`). */\n conflicts?: string\n upload: string\n uploadDestroy: string\n /** Starts a resumable chunked upload (`{uploadChunks}/{id}` takes chunks, `/complete` finishes). */\n uploadChunks?: string\n globalSearch: string\n /** Command palette: \"create\" links and recent records (GET). */\n commandPalette?: string\n /** Stores the user's customised keyboard shortcuts (POST `{shortcuts}`). */\n shortcuts?: string\n /** `Action::undoable()`: undoes an action from its toast (POST `{undo}`). */\n undo?: string\n /** `Dashboard::customizable()`: saves or resets the user's layout (POST `{token, layout}`). */\n dashboardLayout?: string\n notifications: string\n notificationsReadAll: string\n notificationsDestroyAll: string\n logout: string\n}\n\n/** Where toasts appear (`Panel::toastPosition()`); `start`/`end` follow the reading direction. */\nexport type ToastPosition =\n 'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end'\n\n/** Shown while impersonating another user (`ImpersonateAction`). */\nexport interface ImpersonationSchema {\n /** \"You are signed in as …\", translated on the server. */\n label: string\n leaveLabel: string\n /** POST here to return to the real user. */\n leaveUrl: string\n}\n\n/** The `alfakit` prop shared with every page of a panel. */\n/**\n * One `errorNotifications` entry: the text to show, or `hidden` (caught, nothing shown,\n * `hiddenErrorNotification()`) or `disabled` (default handling, `disabledErrorNotification()`).\n */\nexport interface ErrorNotificationEntrySchema {\n title?: string\n body?: string | null\n icon?: IconName\n hidden?: boolean\n disabled?: boolean\n}\n\n/** `errorNotifications`, keyed by HTTP status plus `default`. */\nexport type ErrorNotificationsSchema = Record<string, ErrorNotificationEntrySchema>\n\nexport interface PanelSchema {\n id: string\n /**\n * The schema contract version the server serialised (`SchemaContract::VERSION`). Renderers\n * compare its major part with `SCHEMA_CONTRACT_VERSION`; absent on servers before 1.0.\n */\n schemaContract?: string\n path: string\n url?: string\n brandName: string\n brandLogo?: string\n darkModeBrandLogo?: string\n brandLogoHeight?: string\n favicon?: string\n /**\n * Colour custom properties without the `--alfakit-` prefix: `primary`, its readable\n * `primary-foreground` and, for palettes (`Color::Indigo`), `primary-50` … `primary-950`.\n */\n colors?: Record<string, string>\n /**\n * CSS for custom colour names (`colors(['brand' => …])`): `.alfakit-color-{name}` rules\n * that point the generic colour utilities of themes.css at `--alfakit-{name}`.\n */\n colorCss?: string\n darkMode: {\n enabled: boolean\n forced: boolean\n /** `defaultThemeMode()`; absent for `system`. */\n default?: 'light' | 'dark'\n /** `false` when `themeSwitcher(false)`: no switcher, always the default mode. */\n switcher?: false\n }\n /** `false` when `topbar(false)`: sidebar layouts render no top bar (a slim bar on phones). */\n topbar?: false\n sidebarCollapsibleOnDesktop: boolean\n sidebarFullyCollapsibleOnDesktop?: boolean\n topNavigation?: boolean\n maxContentWidth?: Width | string\n breadcrumbs: boolean\n unsavedChangesAlerts?: boolean\n /** `false` when `collapsibleNavigationGroups(false)`: groups never collapse. */\n collapsibleNavigationGroups?: false\n /** CSS lengths for the open and icon-only sidebar (`--sidebar-width`, `--sidebar-width-icon`). */\n sidebarWidth?: string\n collapsedSidebarWidth?: string\n /** Max width of `auth` layout pages (login, registration…). */\n simplePageMaxContentWidth?: Width | string\n /** `false` when `spa(false)`: every link loads a full page. */\n spa?: false\n /** URL patterns (`*` wildcard) that load with a full page request. */\n spaUrlExceptions?: string[]\n /**\n * Notifications shown instead of Inertia's error modal, keyed by HTTP status plus\n * `default`. Absent when disabled or in debug mode. A page's own `errorNotifications`\n * replaces it while that page is open.\n */\n errorNotifications?: ErrorNotificationsSchema\n theme: PanelThemeSchema\n /** Content inserted with `Panel::slot()`, keyed by slot name. */\n slots?: Record<string, SlotItemSchema[]>\n /**\n * Empty for `starterKit()` panels: their navigation is the `alfakitNavigation` page prop,\n * which every page of the host application carries (not only the panel's).\n */\n navigation: NavigationGroupSchema[]\n /**\n * The active items and badges of this request; `navigation` holds only the structure\n * (sent once). Read the navigation through `usePanel()`, which merges the two.\n */\n navigationState?: NavigationStateSchema\n /**\n * `Panel::starterKit()`: the panel runs inside a Laravel starter kit app. Its pages render\n * in the host's own layout (sidebar, header, appearance) and the host's shadcn tokens;\n * the panel's own chrome, theme attributes and colour scheme are not applied.\n */\n starterKit?: true\n user?: PanelUserSchema\n userMenu?: {\n items: MenuItemSchema[]\n profileUrl?: string\n logoutUrl: string\n /** The `profile` entry as customised in `userMenuItems()` (replaces the built-in link). */\n profile?: MenuItemSchema\n /** The customised `logout` entry, or `false` when it is hidden. */\n logout?: MenuItemSchema | false\n /**\n * `topbar` when `userMenu(position: UserMenuPosition::Topbar)`: sidebar layouts show the\n * menu in the top bar instead of the sidebar footer. Omitted for the sidebar.\n */\n position?: 'topbar'\n }\n tenancy?: {\n current?: TenantSchema | null\n tenants: TenantSchema[]\n registrationUrl?: string\n profileUrl?: string\n /** The registration page's own label (`RegisterTenant::getLabel()`); else \"New\". */\n registrationLabel?: string\n /** The profile page's own label (`EditTenantProfile::getLabel()`); else \"Settings\". */\n profileLabel?: string\n /** The customised `register` entry of `tenantMenuItems()`. */\n registration?: MenuItemSchema\n /** The customised `profile` entry of `tenantMenuItems()`. */\n profile?: MenuItemSchema\n menu?: MenuItemSchema[]\n /** `false` when `tenantSwitcher(false)`: `tenants` is empty and the menu lists no others. */\n switcher?: false\n /** `searchableTenantMenu()`, or more than 10 tenants: show a search field in the menu. */\n searchable?: boolean\n }\n databaseNotifications?: {\n pollingInterval?: string\n unreadCount: number\n /**\n * `sidebar` when `databaseNotifications(position: 'sidebar')` or `topbar(false)`: sidebar\n * layouts show the bell in the sidebar instead of the top bar. Omitted for the top bar.\n */\n position?: 'sidebar'\n }\n globalSearch?: {\n keyBindings: string[]\n placeholder: string\n /** `globalSearchDebounce()` in milliseconds; renderers default to 250. */\n debounce?: number\n /** `globalSearchFieldSuffix()`: text shown at the end of the field instead of the key hint. */\n suffix?: string\n /** `false` when `globalSearchFieldKeyBindingSuffix(false)`: no key binding hint. */\n keyBindingSuffix?: false\n /**\n * `sidebar` when `globalSearch(position: GlobalSearchPosition::Sidebar)` or\n * `topbar(false)`: sidebar layouts show the field in the sidebar header. Omitted for the top bar.\n */\n position?: 'sidebar'\n }\n endpoints: Partial<PanelEndpoints> & { logout: string }\n /** `alfakit.uploads.chunk_size` in bytes: larger files are uploaded in chunks. */\n uploadChunkSize?: number\n auth: { login?: string; register?: string; passwordReset?: string }\n flashKey: string\n /** Present while impersonating: render a banner with a way back. */\n impersonation?: ImpersonationSchema\n /**\n * `Panel::realtimeNotifications()`: the private channel to listen on with Laravel Echo;\n * with `Panel::realtime()` also the connection (`live`, `authEndpoint`, `echo`).\n */\n realtime?: RealtimeSchema\n /** Omitted for the default (`top-end`). */\n toastPosition?: ToastPosition\n /** The command palette's extras: page actions, panel commands, navigation, create links, recent records. */\n commandPalette?: CommandPaletteSchema\n /** Keyboard shortcuts (`false` with `keyboardShortcuts(false)`); absent for guests. */\n keyboardShortcuts?: KeyboardShortcutsSchema | false\n /** `Panel::pwa()`: service worker, install prompt and Web Push; absent when off. */\n pwa?: PwaSchema\n localization: LocalizationSchema\n csrf: string\n translations: Record<string, unknown>\n}\n\nexport interface BreadcrumbSchema {\n label: string\n url?: string\n}\n\nexport type ContentBlock =\n | FormBlock\n | InfolistBlock\n | SchemaBlock\n | TableBlock\n | RelationManagersBlock\n | WidgetsBlock\n | LinksBlock\n | { type: string; key: string; [key: string]: unknown }\n\nexport type PageLayout = 'app' | 'auth' | 'blank' | 'fullscreen'\n\n/** The `page` prop rendered by `Alfakit/Page`. */\nexport interface PageSchema {\n class: string\n layout: PageLayout\n title: string\n heading?: string\n subheading?: string\n breadcrumbs?: BreadcrumbSchema[]\n maxContentWidth?: Width | string\n /** `fullscreen` layout: whether to show the slim header, and where its exit link goes. */\n fullscreen?: { header: boolean; exitUrl?: string }\n /** Cluster or record sub-navigation. */\n subNavigation?: SubNavigationSchema\n headerActions?: AnyActionSchema[]\n /** `$headerActionsAlignment`; absent for `end` (the default). */\n headerActionsAlignment?: 'start' | 'center' | 'end' | 'between' | 'justify'\n /** `$extraBodyAttributes` / `getExtraBodyAttributes()`: set on `<body>` while the page is open. */\n extraBodyAttributes?: Record<string, string>\n content: ContentBlock[]\n /** Encrypted context token for internal endpoints. */\n token: string\n record?: RecordKey\n view?: { component: string; props: Record<string, unknown> }\n /**\n * An action whose modal the renderer opens once the page hydrated (`$defaultAction`,\n * `?defaultAction=`, `?tableAction=&tableActionRecord=`).\n */\n defaultAction?: DefaultActionSchema\n /**\n * Page override of the panel's `errorNotifications` (`$hasErrorNotifications`,\n * `setUpErrorNotifications()`): `false` turns them off on this page. Absent when the\n * page follows the panel.\n */\n errorNotifications?: ErrorNotificationsSchema | false\n /** Record pages with `Panel::realtime()`: who else is on the record. */\n presence?: PresenceSchema\n /** Edit pages with `detectConflicts()`: the version the form was loaded from. */\n conflicts?: ConflictsSchema\n}\n\n/** `PageSchema::defaultAction`: what to open and in which context. */\nexport interface DefaultActionSchema {\n action: ActionSchema\n /** Context component: `page`, `table`, `relationManager:…`. */\n component: string\n record?: RecordKey\n arguments?: Record<string, unknown>\n}\n\n/**\n * Fresh schemas returned by a poll, keyed by poll target: `table`, `relationManager:Class`\n * or `widget:<id or class>`.\n */\nexport type PolledComponents = Record<string, ContentBlock | WidgetSchema | RelationManagerSchema>\n\n/** Shape of `usePage().props` on an Alfakit page. */\nexport interface AlfakitPageProps {\n alfakit: PanelSchema\n page?: PageSchema\n /** Components refreshed by a poll (only present after one); merged into `page`. */\n alfakitPoll?: PolledComponents\n /**\n * Lazy widgets and relation managers (`Page::LAZY_PROP`), an Inertia deferred prop that\n * arrives right after the first response; `resolveLazyComponents()` puts them in `page`.\n */\n alfakitLazy?: PolledComponents\n /** Badges of `Tab::deferBadge()` list tabs, a deferred prop loaded after the page. */\n alfakitTabBadges?: DeferredTabBadges\n /**\n * `Panel::deferNavigationBadges()`: the navigation badges keyed by item id\n * (`navigationState`), a deferred prop loaded after the page.\n */\n alfakitNavigationBadges?: Record<string, NavigationBadgeSchema>\n alfakitAppearance?: 'light' | 'dark' | 'system'\n /** The stored sidebar state (`alfakit_sidebar_state` cookie); null when never toggled. */\n alfakitSidebarOpen?: boolean | null\n /**\n * The navigation of the application's `starterKit()` panels, shared with every Inertia\n * page (the host's own pages too) for the host sidebar. Null for guests.\n */\n alfakitNavigation?: StarterKitNavigationSchema[] | null\n /**\n * `starterKit()` panels: their dashboard widgets on the host's dashboard\n * (`starterKitDashboard()`), for `<AlfakitWidgets />`. Null on other pages, for guests\n * and users who may not open the panel.\n */\n alfakitWidgets?: StarterKitDashboardWidgetsSchema[] | null\n /**\n * The developer debug panel's data (`Page::DEBUG_PROP`): schema tree with visibility and\n * authorisation, evaluated closures and server timings. Only present while the panel's\n * debug panel is active; never in production.\n */\n alfakitDebug?: DebugSchema\n /**\n * The schema inspector's data (context identity, class links). Only present while the\n * panel's dev tools are on (`Panel::devTools()` with `app.debug`); never in production.\n */\n alfakitDevTools?: DevToolsSchema\n flash?: {\n alfakitNotifications?: NotificationSchema[]\n alfakitAction?: {\n name: string\n status: 'success' | 'halted' | 'cancelled'\n closeModal?: boolean\n deselectRecords?: boolean | null\n }\n [key: string]: unknown\n }\n errors?: Record<string, string>\n [key: string]: unknown\n}\n\nexport type { ActionSchema }\n"],"mappings":";;AAyJA,MAAa,sBAAsB;AACnC,MAAa,wBAAwB"}
@@ -5,7 +5,8 @@ import { PageSchema, PanelSchema, StarterKitNavigationSchema, StarterKitWidgetsS
5
5
  /**
6
6
  * The drop-in header components of starter kit mode: `<AlfakitSearch />` (the command
7
7
  * palette and global search), `<AlfakitNotifications />` (the database notifications bell),
8
- * `<AlfakitTenantSwitcher />` and `<AlfakitCopilot />` (the AI plugin's copilot). They render
8
+ * `<AlfakitTenantSwitcher />`, `<AlfakitLanguageSwitcher />` and `<AlfakitCopilot />` (the AI
9
+ * plugin's copilot). They render
9
10
  * on every page of the host application, from the `widgets` of the shared
10
11
  * `alfakitNavigation` prop; their code and the panel data (translations, endpoints, the
11
12
  * palette, realtime) load the first time one of them renders.
@@ -26,10 +27,17 @@ export interface StarterKitWidgets {
26
27
  export declare function starterKitWidgets(props: unknown, panelId?: string, part?: keyof StarterKitWidgetsSchema): StarterKitWidgets | null;
27
28
  /** Whether the open page is one of the panel's own (it carries the `alfakit` prop). */
28
29
  export declare function isAlfakitPage(props: unknown): boolean;
29
- /** Load (once) the panel data the header components render with. */
30
- export declare function loadStarterKitPanel(endpoint: string): Promise<PanelSchema>;
31
- /** The panel data once loaded, or null (so remounts render straight away). */
32
- export declare function loadedStarterKitPanel(endpoint: string): PanelSchema | null;
30
+ /**
31
+ * The language the panel data is loaded in: the current language of the shared prop
32
+ * (`widgets.language`, panels with a language switcher). After a language switch the prop
33
+ * names the new one, so the header components load the panel data (translations, the
34
+ * reading direction) again instead of keeping the old language's.
35
+ */
36
+ export declare function starterKitPanelLocale(source: StarterKitWidgets): string | undefined;
37
+ /** Load (once per language) the panel data the header components render with. */
38
+ export declare function loadStarterKitPanel(endpoint: string, locale?: string): Promise<PanelSchema>;
39
+ /** The panel data once loaded (in `locale`, when given), or null (so remounts render straight away). */
40
+ export declare function loadedStarterKitPanel(endpoint: string, locale?: string): PanelSchema | null;
33
41
  /** @internal Forget the loaded panel data (tests). */
34
42
  export declare function resetStarterKitPanels(): void;
35
43
  /**
@@ -74,6 +82,10 @@ export declare function takeRequestedStarterKitCopilot(): boolean;
74
82
  * copilot (or when the user may not use it).
75
83
  */
76
84
  export declare function starterKitCopilot(panel: PanelSchema): AiCopilotSchema | null;
85
+ /** Ask for the language menu to open as soon as it has loaded (a click on its trigger). */
86
+ export declare function requestStarterKitLanguages(): void;
87
+ /** Whether the language menu was asked for before it loaded (and forget the request). */
88
+ export declare function takeRequestedStarterKitLanguages(): boolean;
77
89
  /**
78
90
  * The dashboard widgets of a `starterKit()` panel on the host's dashboard
79
91
  * (`<AlfakitWidgets />`, the `alfakitWidgets` prop): a standalone widgets payload bound to
@@ -1 +1 @@
1
- {"version":3,"file":"starter-kit-widgets.d.ts","names":[],"sources":["../src/starter-kit-widgets.ts"],"mappings":";;;;;;;;;;;;;;iBAyBiB;EACf,YAAY;EACZ,SAAS;;;;;;;;;wBAUK,kBACd,gBACA,kBACA,aAAa,0BACZ;;wBAaa,cAAc;;wBAYd,oBAAoB,mBAAmB,QAAQ;;wBAqC/C,sBAAsB,mBAAmB;;wBAKzC;;;;;;;;wBAYA,uBAAuB,MAAM,aAAa,QAAQ,oBAAoB;;wBAyBtE,yBAAyB;;;;;;;wBAczB,iCACd,gBACA,eACA;;wBAgBc;;;;;wBAQA;;qBAWH;;;;;;wBASG,kCACd,gBACA,eACA;;wBAkBc;;wBAKA;;;;;;wBAaA,kBAAkB,OAAO,cAAc;;;;;;;wBAkBvC,2BACd,gBACA,mBACC;;wBAaa,sBAAsB,WAAW"}
1
+ {"version":3,"file":"starter-kit-widgets.d.ts","names":[],"sources":["../src/starter-kit-widgets.ts"],"mappings":";;;;;;;;;;;;;;;iBA0BiB;EACf,YAAY;EACZ,SAAS;;;;;;;;;wBAUK,kBACd,gBACA,kBACA,aAAa,0BACZ;;wBAaa,cAAc;;;;;;;wBAiBd,sBAAsB,QAAQ;;wBAS9B,oBAAoB,kBAAkB,kBAAkB,QAAQ;;wBAsChE,sBAAsB,kBAAkB,kBAAkB;;wBAK1D;;;;;;;;wBAYA,uBAAuB,MAAM,aAAa,QAAQ,oBAAoB;;wBAyBtE,yBAAyB;;;;;;;wBAczB,iCACd,gBACA,eACA;;wBAgBc;;;;;wBAQA;;qBAWH;;;;;;wBASG,kCACd,gBACA,eACA;;wBAkBc;;wBAKA;;;;;;wBAaA,kBAAkB,OAAO,cAAc;;wBAevC;;wBAKA;;;;;;;wBAgBA,2BACd,gBACA,mBACC;;wBAaa,sBAAsB,WAAW"}
@@ -23,28 +23,41 @@ function isAlfakitPage(props) {
23
23
  }
24
24
  const requests = /* @__PURE__ */ new Map();
25
25
  const panels = /* @__PURE__ */ new Map();
26
- /** Load (once) the panel data the header components render with. */
27
- function loadStarterKitPanel(endpoint) {
28
- let request = requests.get(endpoint);
26
+ /**
27
+ * The language the panel data is loaded in: the current language of the shared prop
28
+ * (`widgets.language`, panels with a language switcher). After a language switch the prop
29
+ * names the new one, so the header components load the panel data (translations, the
30
+ * reading direction) again instead of keeping the old language's.
31
+ */
32
+ function starterKitPanelLocale(source) {
33
+ return source.widgets.language?.current.code;
34
+ }
35
+ function panelKey(endpoint, locale) {
36
+ return locale === void 0 ? endpoint : `${endpoint}#${locale}`;
37
+ }
38
+ /** Load (once per language) the panel data the header components render with. */
39
+ function loadStarterKitPanel(endpoint, locale) {
40
+ const key = panelKey(endpoint, locale);
41
+ let request = requests.get(key);
29
42
  if (!request) {
30
43
  request = requestJson(endpoint).then((panel) => {
31
44
  if (!isPanelData(panel)) throw new Error(`The starter kit endpoint ${endpoint} did not answer the panel data.`);
32
- panels.set(endpoint, panel);
45
+ panels.set(key, panel);
33
46
  return panel;
34
47
  }).catch((error) => {
35
- requests.delete(endpoint);
48
+ requests.delete(key);
36
49
  throw error;
37
50
  });
38
- requests.set(endpoint, request);
51
+ requests.set(key, request);
39
52
  }
40
53
  return request;
41
54
  }
42
55
  function isPanelData(value) {
43
56
  return typeof value === "object" && value !== null && typeof value.endpoints === "object" && value.endpoints !== null;
44
57
  }
45
- /** The panel data once loaded, or null (so remounts render straight away). */
46
- function loadedStarterKitPanel(endpoint) {
47
- return panels.get(endpoint) ?? null;
58
+ /** The panel data once loaded (in `locale`, when given), or null (so remounts render straight away). */
59
+ function loadedStarterKitPanel(endpoint, locale) {
60
+ return panels.get(panelKey(endpoint, locale)) ?? null;
48
61
  }
49
62
  /** @internal Forget the loaded panel data (tests). */
50
63
  function resetStarterKitPanels() {
@@ -174,6 +187,17 @@ function starterKitCopilot(panel) {
174
187
  for (const item of panel.slots?.["topbar.end"] ?? []) if (item.type === "component" && item.component.type === "ai:copilot") return item.component;
175
188
  return null;
176
189
  }
190
+ let languagesRequested = false;
191
+ /** Ask for the language menu to open as soon as it has loaded (a click on its trigger). */
192
+ function requestStarterKitLanguages() {
193
+ languagesRequested = true;
194
+ }
195
+ /** Whether the language menu was asked for before it loaded (and forget the request). */
196
+ function takeRequestedStarterKitLanguages() {
197
+ const requested = languagesRequested;
198
+ languagesRequested = false;
199
+ return requested;
200
+ }
177
201
  /**
178
202
  * The dashboard widgets of a `starterKit()` panel on the host's dashboard
179
203
  * (`<AlfakitWidgets />`, the `alfakitWidgets` prop): a standalone widgets payload bound to
@@ -190,6 +214,6 @@ function standaloneWidgetCount(component) {
190
214
  return component.content.reduce((total, block) => total + (block.type === "Widgets" ? block.widgets.length : 0), 0);
191
215
  }
192
216
  //#endregion
193
- export { STARTER_KIT_COPILOT_SHORTCUT, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot };
217
+ export { STARTER_KIT_COPILOT_SHORTCUT, isAlfakitPage, loadStarterKitPanel, loadedStarterKitPanel, openRequestedStarterKitSearch, registerStarterKitCopilotShortcut, registerStarterKitSearchShortcut, requestStarterKitCopilot, requestStarterKitLanguages, requestStarterKitSearch, resetStarterKitPanels, standaloneWidgetCount, starterKitCopilot, starterKitDashboardWidgets, starterKitPanelLocale, starterKitWidgets, starterKitWidgetsPage, starterKitWidgetsPanel, takeRequestedStarterKitCopilot, takeRequestedStarterKitLanguages };
194
218
 
195
219
  //# sourceMappingURL=starter-kit-widgets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"starter-kit-widgets.js","names":[],"sources":["../src/starter-kit-widgets.ts"],"sourcesContent":["import { requestJson } from './http'\nimport type { AiCopilotSchema } from './schema/ai'\nimport type {\n PageSchema,\n PanelSchema,\n StarterKitDashboardWidgetsSchema,\n StarterKitNavigationSchema,\n StarterKitWidgetsSchema,\n} from './schema/panel'\nimport type { StandaloneComponentSchema } from './schema/standalone'\nimport type { WidgetsBlock } from './schema/widgets'\nimport { SHORTCUT_IDS, shortcuts } from './shortcuts'\nimport { preferCurrentStarterKitPanel, starterKitNavigations } from './starter-kit'\n\n/**\n * The drop-in header components of starter kit mode: `<AlfakitSearch />` (the command\n * palette and global search), `<AlfakitNotifications />` (the database notifications bell),\n * `<AlfakitTenantSwitcher />` and `<AlfakitCopilot />` (the AI plugin's copilot). They render\n * on every page of the host application, from the `widgets` of the shared\n * `alfakitNavigation` prop; their code and the panel data (translations, endpoints, the\n * palette, realtime) load the first time one of them renders.\n * Shared by the three renderers.\n */\n\n/** One starter kit panel's navigation with its header components' data. */\nexport interface StarterKitWidgets {\n navigation: StarterKitNavigationSchema\n widgets: StarterKitWidgetsSchema\n}\n\n/**\n * The header components' data of a `starterKit()` panel, or null for guests and pages of\n * other panels. Without `panelId`: the open AlfaKit page's panel, else the first one with\n * any; with `part` (`'tenancy'` for the tenant switcher), the first panel that has that\n * part when the preferred one hasn't, so a team workspace on a second panel still gets its\n * switcher on the host's own pages.\n */\nexport function starterKitWidgets(\n props: unknown,\n panelId?: string,\n part?: keyof StarterKitWidgetsSchema,\n): StarterKitWidgets | null {\n const entries = preferCurrentStarterKitPanel(starterKitNavigations(props), props).filter(\n (entry) => entry.widgets !== undefined && (panelId === undefined || entry.id === panelId),\n )\n const navigation =\n (part !== undefined && panelId === undefined\n ? entries.find((entry) => entry.widgets?.[part] !== undefined)\n : undefined) ?? entries[0]\n\n return navigation?.widgets ? { navigation, widgets: navigation.widgets } : null\n}\n\n/** Whether the open page is one of the panel's own (it carries the `alfakit` prop). */\nexport function isAlfakitPage(props: unknown): boolean {\n return (props as { alfakit?: unknown } | null | undefined)?.alfakit !== undefined\n}\n\n// ---------------------------------------------------------------- Panel data\n\n// Loaded once per endpoint (the tenant-scoped one inside a tenant) for the browser session;\n// Inertia visits keep it, a full page load starts over.\nconst requests = new Map<string, Promise<PanelSchema>>()\nconst panels = new Map<string, PanelSchema>()\n\n/** Load (once) the panel data the header components render with. */\nexport function loadStarterKitPanel(endpoint: string): Promise<PanelSchema> {\n let request = requests.get(endpoint)\n\n if (!request) {\n request = requestJson<unknown>(endpoint)\n .then((panel) => {\n // A redirect to the sign-in page (expired or ended session) answers HTML, not the\n // panel: refuse it, so the components keep their trigger instead of crashing.\n if (!isPanelData(panel)) {\n throw new Error(`The starter kit endpoint ${endpoint} did not answer the panel data.`)\n }\n\n panels.set(endpoint, panel)\n\n return panel\n })\n .catch((error: unknown) => {\n // A failed request (offline, expired session) is retried by the next render.\n requests.delete(endpoint)\n throw error\n })\n requests.set(endpoint, request)\n }\n\n return request\n}\n\nfunction isPanelData(value: unknown): value is PanelSchema {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as { endpoints?: unknown }).endpoints === 'object' &&\n (value as { endpoints?: unknown }).endpoints !== null\n )\n}\n\n/** The panel data once loaded, or null (so remounts render straight away). */\nexport function loadedStarterKitPanel(endpoint: string): PanelSchema | null {\n return panels.get(endpoint) ?? null\n}\n\n/** @internal Forget the loaded panel data (tests). */\nexport function resetStarterKitPanels(): void {\n requests.clear()\n panels.clear()\n}\n\n/**\n * The panel the header components render with: the loaded panel data with the fresh\n * shared prop (navigation, unread count, tenants). Outside Alfakit's own chrome the host\n * owns the colour scheme and there is no shortcuts overlay, and panel commands and page\n * actions need an Alfakit page (its token and modals), so the palette lists search\n * results, navigation, \"create\" links and recent records.\n */\nexport function starterKitWidgetsPanel(base: PanelSchema, source: StarterKitWidgets): PanelSchema {\n const { navigation, widgets } = source\n const { databaseNotifications, tenancy, globalSearch, commandPalette } = base\n\n return {\n ...base,\n navigation: navigation.groups,\n darkMode: { enabled: false, forced: false, switcher: false },\n keyboardShortcuts: false,\n globalSearch: globalSearch && { ...globalSearch, position: undefined },\n commandPalette: commandPalette && { ...commandPalette, commands: [] },\n databaseNotifications: databaseNotifications && {\n ...databaseNotifications,\n unreadCount: widgets.notifications?.unreadCount ?? databaseNotifications.unreadCount,\n position: undefined,\n },\n tenancy: tenancy && {\n ...tenancy,\n current: widgets.tenancy ? (widgets.tenancy.current ?? null) : tenancy.current,\n tenants: widgets.tenancy?.tenants ?? tenancy.tenants,\n },\n }\n}\n\n/** The `page` the header components render with: none of the panel's (`usePageSchema()`). */\nexport function starterKitWidgetsPage(): PageSchema {\n return { class: '', layout: 'app', title: '', content: [], token: '' }\n}\n\n// ---------------------------------------------------------------- Search shortcut\n\nlet searchRequested = false\n\n/**\n * Register the palette's key bindings before its code has loaded: pressing them (or\n * clicking the field) records the request, and the palette opens once it has loaded. It\n * uses the palette's shortcut id, so the loaded palette replaces this registration and\n * the keys are bound once, however many search components the page renders.\n */\nexport function registerStarterKitSearchShortcut(\n keys: string[],\n label: string,\n onRequest: () => void,\n): () => void {\n return shortcuts.register({\n id: SHORTCUT_IDS.palette,\n keys,\n label,\n group: 'general',\n essential: true,\n handler: () => {\n requestStarterKitSearch()\n onRequest()\n },\n })\n}\n\n/** Ask for the palette to open as soon as it has loaded. */\nexport function requestStarterKitSearch(): void {\n searchRequested = true\n}\n\n/**\n * Open the loaded palette when it was asked for before it loaded (call once it mounted):\n * true when it did.\n */\nexport function openRequestedStarterKitSearch(): boolean {\n if (!searchRequested) return false\n\n searchRequested = false\n\n return shortcuts.trigger(SHORTCUT_IDS.palette)\n}\n\n// ---------------------------------------------------------------- Copilot\n\n/** The copilot's shortcut id (the loaded `ai:copilot` component registers the same one). */\nexport const STARTER_KIT_COPILOT_SHORTCUT = 'ai.copilot'\n\nlet copilotRequested = false\n\n/**\n * Register the copilot's key bindings (`mod+j`) before its code has loaded: pressing them\n * (or clicking the button) records the request, and the copilot opens once it has loaded.\n * The loaded copilot registers the same id, so it replaces this registration.\n */\nexport function registerStarterKitCopilotShortcut(\n keys: string[],\n label: string,\n onRequest?: () => void,\n): () => void {\n if (keys.length === 0) return () => {}\n\n return shortcuts.register({\n id: STARTER_KIT_COPILOT_SHORTCUT,\n keys,\n label,\n group: 'general',\n allowInInputs: true,\n handler: () => {\n requestStarterKitCopilot()\n onRequest?.()\n },\n })\n}\n\n/** Ask for the copilot to open as soon as it has loaded. */\nexport function requestStarterKitCopilot(): void {\n copilotRequested = true\n}\n\n/** Whether the copilot was asked for before it loaded (and forget the request). */\nexport function takeRequestedStarterKitCopilot(): boolean {\n const requested = copilotRequested\n\n copilotRequested = false\n\n return requested\n}\n\n/**\n * The copilot component in the loaded panel data: the panel's own pages show it in the\n * `topbar.end` slot, which starter kit hosts don't render. Null without the AI plugin's\n * copilot (or when the user may not use it).\n */\nexport function starterKitCopilot(panel: PanelSchema): AiCopilotSchema | null {\n for (const item of panel.slots?.['topbar.end'] ?? []) {\n if (item.type === 'component' && item.component.type === 'ai:copilot') {\n return item.component as unknown as AiCopilotSchema\n }\n }\n\n return null\n}\n\n// ---------------------------------------------------------------- Dashboard widgets\n\n/**\n * The dashboard widgets of a `starterKit()` panel on the host's dashboard\n * (`<AlfakitWidgets />`, the `alfakitWidgets` prop): a standalone widgets payload bound to\n * the panel, the first panel's unless `panelId` is given. Null on other pages, for guests,\n * users who may not open the panel and panels without widgets.\n */\nexport function starterKitDashboardWidgets(\n props: unknown,\n panelId?: string,\n): StandaloneComponentSchema | null {\n const value = (props as { alfakitWidgets?: unknown } | null | undefined)?.alfakitWidgets\n\n if (!Array.isArray(value)) return null\n\n const entry = (value as StarterKitDashboardWidgetsSchema[]).find(\n (item) => panelId === undefined || item.id === panelId,\n )\n\n return entry?.component ?? null\n}\n\n/** How many widgets a dashboard widgets payload has (placeholders before its code loads). */\nexport function standaloneWidgetCount(component: StandaloneComponentSchema): number {\n return component.content.reduce(\n (total, block) =>\n total + (block.type === 'Widgets' ? (block as WidgetsBlock).widgets.length : 0),\n 0,\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"starter-kit-widgets.js","names":[],"sources":["../src/starter-kit-widgets.ts"],"sourcesContent":["import { requestJson } from './http'\nimport type { AiCopilotSchema } from './schema/ai'\nimport type {\n PageSchema,\n PanelSchema,\n StarterKitDashboardWidgetsSchema,\n StarterKitNavigationSchema,\n StarterKitWidgetsSchema,\n} from './schema/panel'\nimport type { StandaloneComponentSchema } from './schema/standalone'\nimport type { WidgetsBlock } from './schema/widgets'\nimport { SHORTCUT_IDS, shortcuts } from './shortcuts'\nimport { preferCurrentStarterKitPanel, starterKitNavigations } from './starter-kit'\n\n/**\n * The drop-in header components of starter kit mode: `<AlfakitSearch />` (the command\n * palette and global search), `<AlfakitNotifications />` (the database notifications bell),\n * `<AlfakitTenantSwitcher />`, `<AlfakitLanguageSwitcher />` and `<AlfakitCopilot />` (the AI\n * plugin's copilot). They render\n * on every page of the host application, from the `widgets` of the shared\n * `alfakitNavigation` prop; their code and the panel data (translations, endpoints, the\n * palette, realtime) load the first time one of them renders.\n * Shared by the three renderers.\n */\n\n/** One starter kit panel's navigation with its header components' data. */\nexport interface StarterKitWidgets {\n navigation: StarterKitNavigationSchema\n widgets: StarterKitWidgetsSchema\n}\n\n/**\n * The header components' data of a `starterKit()` panel, or null for guests and pages of\n * other panels. Without `panelId`: the open AlfaKit page's panel, else the first one with\n * any; with `part` (`'tenancy'` for the tenant switcher), the first panel that has that\n * part when the preferred one hasn't, so a team workspace on a second panel still gets its\n * switcher on the host's own pages.\n */\nexport function starterKitWidgets(\n props: unknown,\n panelId?: string,\n part?: keyof StarterKitWidgetsSchema,\n): StarterKitWidgets | null {\n const entries = preferCurrentStarterKitPanel(starterKitNavigations(props), props).filter(\n (entry) => entry.widgets !== undefined && (panelId === undefined || entry.id === panelId),\n )\n const navigation =\n (part !== undefined && panelId === undefined\n ? entries.find((entry) => entry.widgets?.[part] !== undefined)\n : undefined) ?? entries[0]\n\n return navigation?.widgets ? { navigation, widgets: navigation.widgets } : null\n}\n\n/** Whether the open page is one of the panel's own (it carries the `alfakit` prop). */\nexport function isAlfakitPage(props: unknown): boolean {\n return (props as { alfakit?: unknown } | null | undefined)?.alfakit !== undefined\n}\n\n// ---------------------------------------------------------------- Panel data\n\n// Loaded once per endpoint and language (the tenant-scoped endpoint inside a tenant) for the\n// browser session; Inertia visits keep it, a full page load starts over.\nconst requests = new Map<string, Promise<PanelSchema>>()\nconst panels = new Map<string, PanelSchema>()\n\n/**\n * The language the panel data is loaded in: the current language of the shared prop\n * (`widgets.language`, panels with a language switcher). After a language switch the prop\n * names the new one, so the header components load the panel data (translations, the\n * reading direction) again instead of keeping the old language's.\n */\nexport function starterKitPanelLocale(source: StarterKitWidgets): string | undefined {\n return source.widgets.language?.current.code\n}\n\nfunction panelKey(endpoint: string, locale: string | undefined): string {\n return locale === undefined ? endpoint : `${endpoint}#${locale}`\n}\n\n/** Load (once per language) the panel data the header components render with. */\nexport function loadStarterKitPanel(endpoint: string, locale?: string): Promise<PanelSchema> {\n const key = panelKey(endpoint, locale)\n let request = requests.get(key)\n\n if (!request) {\n request = requestJson<unknown>(endpoint)\n .then((panel) => {\n // A redirect to the sign-in page (expired or ended session) answers HTML, not the\n // panel: refuse it, so the components keep their trigger instead of crashing.\n if (!isPanelData(panel)) {\n throw new Error(`The starter kit endpoint ${endpoint} did not answer the panel data.`)\n }\n\n panels.set(key, panel)\n\n return panel\n })\n .catch((error: unknown) => {\n // A failed request (offline, expired session) is retried by the next render.\n requests.delete(key)\n throw error\n })\n requests.set(key, request)\n }\n\n return request\n}\n\nfunction isPanelData(value: unknown): value is PanelSchema {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as { endpoints?: unknown }).endpoints === 'object' &&\n (value as { endpoints?: unknown }).endpoints !== null\n )\n}\n\n/** The panel data once loaded (in `locale`, when given), or null (so remounts render straight away). */\nexport function loadedStarterKitPanel(endpoint: string, locale?: string): PanelSchema | null {\n return panels.get(panelKey(endpoint, locale)) ?? null\n}\n\n/** @internal Forget the loaded panel data (tests). */\nexport function resetStarterKitPanels(): void {\n requests.clear()\n panels.clear()\n}\n\n/**\n * The panel the header components render with: the loaded panel data with the fresh\n * shared prop (navigation, unread count, tenants). Outside Alfakit's own chrome the host\n * owns the colour scheme and there is no shortcuts overlay, and panel commands and page\n * actions need an Alfakit page (its token and modals), so the palette lists search\n * results, navigation, \"create\" links and recent records.\n */\nexport function starterKitWidgetsPanel(base: PanelSchema, source: StarterKitWidgets): PanelSchema {\n const { navigation, widgets } = source\n const { databaseNotifications, tenancy, globalSearch, commandPalette } = base\n\n return {\n ...base,\n navigation: navigation.groups,\n darkMode: { enabled: false, forced: false, switcher: false },\n keyboardShortcuts: false,\n globalSearch: globalSearch && { ...globalSearch, position: undefined },\n commandPalette: commandPalette && { ...commandPalette, commands: [] },\n databaseNotifications: databaseNotifications && {\n ...databaseNotifications,\n unreadCount: widgets.notifications?.unreadCount ?? databaseNotifications.unreadCount,\n position: undefined,\n },\n tenancy: tenancy && {\n ...tenancy,\n current: widgets.tenancy ? (widgets.tenancy.current ?? null) : tenancy.current,\n tenants: widgets.tenancy?.tenants ?? tenancy.tenants,\n },\n }\n}\n\n/** The `page` the header components render with: none of the panel's (`usePageSchema()`). */\nexport function starterKitWidgetsPage(): PageSchema {\n return { class: '', layout: 'app', title: '', content: [], token: '' }\n}\n\n// ---------------------------------------------------------------- Search shortcut\n\nlet searchRequested = false\n\n/**\n * Register the palette's key bindings before its code has loaded: pressing them (or\n * clicking the field) records the request, and the palette opens once it has loaded. It\n * uses the palette's shortcut id, so the loaded palette replaces this registration and\n * the keys are bound once, however many search components the page renders.\n */\nexport function registerStarterKitSearchShortcut(\n keys: string[],\n label: string,\n onRequest: () => void,\n): () => void {\n return shortcuts.register({\n id: SHORTCUT_IDS.palette,\n keys,\n label,\n group: 'general',\n essential: true,\n handler: () => {\n requestStarterKitSearch()\n onRequest()\n },\n })\n}\n\n/** Ask for the palette to open as soon as it has loaded. */\nexport function requestStarterKitSearch(): void {\n searchRequested = true\n}\n\n/**\n * Open the loaded palette when it was asked for before it loaded (call once it mounted):\n * true when it did.\n */\nexport function openRequestedStarterKitSearch(): boolean {\n if (!searchRequested) return false\n\n searchRequested = false\n\n return shortcuts.trigger(SHORTCUT_IDS.palette)\n}\n\n// ---------------------------------------------------------------- Copilot\n\n/** The copilot's shortcut id (the loaded `ai:copilot` component registers the same one). */\nexport const STARTER_KIT_COPILOT_SHORTCUT = 'ai.copilot'\n\nlet copilotRequested = false\n\n/**\n * Register the copilot's key bindings (`mod+j`) before its code has loaded: pressing them\n * (or clicking the button) records the request, and the copilot opens once it has loaded.\n * The loaded copilot registers the same id, so it replaces this registration.\n */\nexport function registerStarterKitCopilotShortcut(\n keys: string[],\n label: string,\n onRequest?: () => void,\n): () => void {\n if (keys.length === 0) return () => {}\n\n return shortcuts.register({\n id: STARTER_KIT_COPILOT_SHORTCUT,\n keys,\n label,\n group: 'general',\n allowInInputs: true,\n handler: () => {\n requestStarterKitCopilot()\n onRequest?.()\n },\n })\n}\n\n/** Ask for the copilot to open as soon as it has loaded. */\nexport function requestStarterKitCopilot(): void {\n copilotRequested = true\n}\n\n/** Whether the copilot was asked for before it loaded (and forget the request). */\nexport function takeRequestedStarterKitCopilot(): boolean {\n const requested = copilotRequested\n\n copilotRequested = false\n\n return requested\n}\n\n/**\n * The copilot component in the loaded panel data: the panel's own pages show it in the\n * `topbar.end` slot, which starter kit hosts don't render. Null without the AI plugin's\n * copilot (or when the user may not use it).\n */\nexport function starterKitCopilot(panel: PanelSchema): AiCopilotSchema | null {\n for (const item of panel.slots?.['topbar.end'] ?? []) {\n if (item.type === 'component' && item.component.type === 'ai:copilot') {\n return item.component as unknown as AiCopilotSchema\n }\n }\n\n return null\n}\n\n// ---------------------------------------------------------------- Language switcher\n\nlet languagesRequested = false\n\n/** Ask for the language menu to open as soon as it has loaded (a click on its trigger). */\nexport function requestStarterKitLanguages(): void {\n languagesRequested = true\n}\n\n/** Whether the language menu was asked for before it loaded (and forget the request). */\nexport function takeRequestedStarterKitLanguages(): boolean {\n const requested = languagesRequested\n\n languagesRequested = false\n\n return requested\n}\n\n// ---------------------------------------------------------------- Dashboard widgets\n\n/**\n * The dashboard widgets of a `starterKit()` panel on the host's dashboard\n * (`<AlfakitWidgets />`, the `alfakitWidgets` prop): a standalone widgets payload bound to\n * the panel, the first panel's unless `panelId` is given. Null on other pages, for guests,\n * users who may not open the panel and panels without widgets.\n */\nexport function starterKitDashboardWidgets(\n props: unknown,\n panelId?: string,\n): StandaloneComponentSchema | null {\n const value = (props as { alfakitWidgets?: unknown } | null | undefined)?.alfakitWidgets\n\n if (!Array.isArray(value)) return null\n\n const entry = (value as StarterKitDashboardWidgetsSchema[]).find(\n (item) => panelId === undefined || item.id === panelId,\n )\n\n return entry?.component ?? null\n}\n\n/** How many widgets a dashboard widgets payload has (placeholders before its code loads). */\nexport function standaloneWidgetCount(component: StandaloneComponentSchema): number {\n return component.content.reduce(\n (total, block) =>\n total + (block.type === 'Widgets' ? (block as WidgetsBlock).widgets.length : 0),\n 0,\n )\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfakit/core",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Framework-agnostic schema types and state management for Alfakit, the Laravel admin panel builder by Alfa Six.",
5
5
  "license": "MIT",
6
6
  "author": "Alfa Six (https://alfasixbh.com)",