@alfakit/core 0.2.0 → 0.2.3

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,17 @@
1
1
  # @alfakit/core
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Container-based layouts for table records (`recordGridColumnsClasses`, `recordColumnSpanClasses`, Split from the record width), `TOPBAR_END_SLOT_CLASS`, `CmsPageApiResponse`, starter-kit direction applied only from the server prop.
8
+
9
+ ## 0.2.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Starter-kit document direction (`alfakitDocument`, starter-kit-document helpers), `isolationDirection()` for numbers and money in RTL, container-based `contentGridClasses()`, and the reload of a page restored by Back is cancelled on the next Back or Forward.
14
+
3
15
  ## 0.2.0
4
16
 
5
17
  ### Minor Changes
package/dist/i18n.d.ts CHANGED
@@ -97,5 +97,14 @@ export declare function showsLanguageSwitcher(localization: Pick<LocalizationSch
97
97
  export declare function collapsesLanguageSwitcher(localization: Pick<LocalizationSchema, 'switcher' | 'switcherPosition' | 'locales'> | null | undefined, hasUserMenu: boolean): boolean;
98
98
  /** Switch the panel language and reload the current page in it. */
99
99
  export declare function switchLocale(endpoint: string, locale: string): void;
100
+ /**
101
+ * The `dir` for a `<bdi>` around a display value: `auto` (the value's first strong letter
102
+ * decides) when it has right-to-left letters, else `ltr`. Numbers and money formatted for a
103
+ * right-to-left locale start with an invisible right-to-left mark (`‏0.00 US$` in Arabic),
104
+ * which `auto` reads as right to left and reorders into `$US 0.00`; without right-to-left
105
+ * letters the value is laid out as written. Values with them (`٠٫٠٠٠ د.ب.‏`, Arabic
106
+ * text) keep their own direction.
107
+ */
108
+ export declare function isolationDirection(value: unknown): 'ltr' | 'auto';
100
109
  //#endregion
101
110
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","names":[],"sources":["../src/i18n.ts"],"mappings":";;KASK,eAAe;;;;;qBAMP;UAID;UACA;UAJF;EAGE,YAAA,eAAc,yBACd;EAGV,gBAAgB,cAAc;;EAK9B,UAAU;EAOV;EAIA,IAAI;;EAKJ,EAAE,aAAa,eAAc,cAAmB;;;;;;;EAahD,OAAO,aAAa,eAAe,eAAc,cAAmB;UAO5D;;;wBAQM,aAAa,cAAc,eAAe,OAAO,KAAK;qBAkDzD,YAAU;qBAEV,IAAC,aAhFC,eAAgB,cAAY;iBAoF1B,qBAAqB,KAAK;;EAEzC;;;;;;qBAOW;WAEA;WACA;WACA;EAFA,YAAA,iBACA,uBACA;SAGJ,WAAW,cAAc,iCAAiC;EAQjE,OAAO,eAAe,UAAS,KAAK;EAIpC,QAAQ,eAAe;EAIvB,MAAM,gBAAgB,mBAA8B,UAAS;;EAU7D,KACE,OAAO,wBACP,UAAS,KAAK;EAWhB,SAAS,OAAO;;EAKhB,SAAS,OAAO,wBAAwB,MAAK;EAyB7C,KAAK,iBAAiB,OAAM,KAAK;;EAKjC,gBAAgB;IACd;IACA;IACA;;;EAeF;IAAgB;IAAiB;;;;;;;;EAejC,YAAY;;;wBAuCE,iBAAiB;;wBAmBjB,cAAc;;;;;wBAiBd,cAAc,MAAM,MAAM,gBAAgB;;wBA0D1C,oBACd,cAAc,KAAK;;;;;wBAgBL,sBACd,cACE,KAAK,qFACP;;;;;;;wBAqBc,0BACd,cACE,KAAK,qFACP;;wBAMc,aAAa,kBAAkB"}
1
+ {"version":3,"file":"i18n.d.ts","names":[],"sources":["../src/i18n.ts"],"mappings":";;KASK,eAAe;;;;;qBAMP;UAID;UACA;UAJF;EAGE,YAAA,eAAc,yBACd;EAGV,gBAAgB,cAAc;;EAK9B,UAAU;EAOV;EAIA,IAAI;;EAKJ,EAAE,aAAa,eAAc,cAAmB;;;;;;;EAahD,OAAO,aAAa,eAAe,eAAc,cAAmB;UAO5D;;;wBAQM,aAAa,cAAc,eAAe,OAAO,KAAK;qBAkDzD,YAAU;qBAEV,IAAC,aAhFC,eAAgB,cAAY;iBAoF1B,qBAAqB,KAAK;;EAEzC;;;;;;qBAOW;WAEA;WACA;WACA;EAFA,YAAA,iBACA,uBACA;SAGJ,WAAW,cAAc,iCAAiC;EAQjE,OAAO,eAAe,UAAS,KAAK;EAIpC,QAAQ,eAAe;EAIvB,MAAM,gBAAgB,mBAA8B,UAAS;;EAU7D,KACE,OAAO,wBACP,UAAS,KAAK;EAWhB,SAAS,OAAO;;EAKhB,SAAS,OAAO,wBAAwB,MAAK;EAyB7C,KAAK,iBAAiB,OAAM,KAAK;;EAKjC,gBAAgB;IACd;IACA;IACA;;;EAeF;IAAgB;IAAiB;;;;;;;;EAejC,YAAY;;;wBAuCE,iBAAiB;;wBAmBjB,cAAc;;;;;wBAiBd,cAAc,MAAM,MAAM,gBAAgB;;wBA0D1C,oBACd,cAAc,KAAK;;;;;wBAgBL,sBACd,cACE,KAAK,qFACP;;;;;;;wBAqBc,0BACd,cACE,KAAK,qFACP;;wBAMc,aAAa,kBAAkB;;;;;;;;;wBAqB/B,mBAAmB"}
package/dist/i18n.js CHANGED
@@ -351,7 +351,20 @@ function switchLocale(endpoint, locale) {
351
351
  preserveState: false
352
352
  });
353
353
  }
354
+ /** A letter of a script written right to left (not its digits or separators). */
355
+ const RTL_LETTER = /(?=\p{L})(?:\p{Script=Arabic}|\p{Script=Hebrew}|\p{Script=Syriac}|\p{Script=Thaana}|\p{Script=Nko}|\p{Script=Adlam}|\p{Script=Samaritan}|\p{Script=Mandaic}|\p{Script=Hanifi_Rohingya}|\p{Script=Yezidi}|\p{Script=Mende_Kikakui})/u;
356
+ /**
357
+ * The `dir` for a `<bdi>` around a display value: `auto` (the value's first strong letter
358
+ * decides) when it has right-to-left letters, else `ltr`. Numbers and money formatted for a
359
+ * right-to-left locale start with an invisible right-to-left mark (`‏0.00 US$` in Arabic),
360
+ * which `auto` reads as right to left and reorders into `$US 0.00`; without right-to-left
361
+ * letters the value is laid out as written. Values with them (`٠٫٠٠٠ د.ب.‏`, Arabic
362
+ * text) keep their own direction.
363
+ */
364
+ function isolationDirection(value) {
365
+ return typeof value === "string" && RTL_LETTER.test(value) ? "auto" : "ltr";
366
+ }
354
367
  //#endregion
355
- export { LocaleFormatter, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator };
368
+ export { LocaleFormatter, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, isolationDirection, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator };
356
369
 
357
370
  //# sourceMappingURL=i18n.js.map
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":[],"sources":["../src/i18n.ts"],"sourcesContent":["import { router } from '@inertiajs/core'\nimport { lazyComponentCache } from './lazy'\nimport type { LocalizationSchema } from './schema/panel'\nimport { interpolate } from './utils/format'\nimport { getPath } from './utils/path'\n\n/** CLDR plural categories in the order Laravel language files list their forms. */\nconst PLURAL_ORDER: Intl.LDMLPluralRule[] = ['zero', 'one', 'two', 'few', 'many', 'other']\n\ntype Replacements = Record<string, string | number>\n\n/**\n * Translator over the `translations` prop (Laravel's `alfakit::ui` group plus any groups\n * the panel adds with `frontendTranslations()`).\n */\nexport class Translator {\n private pluralRules: Intl.PluralRules | null = null\n\n constructor(\n private translations: Record<string, unknown> = {},\n private locale = 'en',\n ) {}\n\n setTranslations(translations: Record<string, unknown>): void {\n this.translations = translations\n }\n\n /** BCP 47 tag used for plural rules. */\n setLocale(locale: string): void {\n if (locale !== this.locale) {\n this.locale = locale\n this.pluralRules = null\n }\n }\n\n getLocale(): string {\n return this.locale\n }\n\n has(key: string): boolean {\n return typeof getPath<unknown>(this.translations, key) === 'string'\n }\n\n /** `t('table.showing', { first: 1, last: 10, total: 42 })` */\n t(key: string, replacements: Replacements = {}, fallback?: string): string {\n const value = getPath<unknown>(this.translations, key)\n const template = typeof value === 'string' ? value : (fallback ?? key)\n\n return interpolate(template, replacements)\n }\n\n /**\n * Pluralised line, compatible with Laravel's `trans_choice()` syntax:\n * `'{0} No items|{1} One item|[2,*] :count items'` or `'one item|:count items'`.\n * Forms without explicit ranges follow CLDR plural rules for the current locale, in the\n * order zero, one, two, few, many, other (as Laravel language files list them).\n */\n choice(key: string, count: number, replacements: Replacements = {}, fallback?: string): string {\n const value = getPath<unknown>(this.translations, key)\n const line = typeof value === 'string' ? value : (fallback ?? key)\n\n return interpolate(selectPlural(line, count, this.rules()), { count, ...replacements })\n }\n\n private rules(): Intl.PluralRules {\n this.pluralRules ??= new Intl.PluralRules(this.locale)\n\n return this.pluralRules\n }\n}\n\n/** Pick the plural form of a Laravel `trans_choice` line for `count`. */\nexport function selectPlural(line: string, count: number, rules: Intl.PluralRules): string {\n const segments = line.split('|')\n\n for (const segment of segments) {\n const explicit = matchExplicit(segment, count)\n\n if (explicit !== null) {\n return explicit\n }\n }\n\n const forms = segments.map((segment) => segment.replace(/^\\s*[{[][^\\]}]*[}\\]]\\s*/, ''))\n\n if (forms.length === 1) {\n return forms[0] ?? ''\n }\n\n const categories = PLURAL_ORDER.filter((category) =>\n rules.resolvedOptions().pluralCategories.includes(category),\n )\n const index = Math.max(0, categories.indexOf(rules.select(count)))\n\n return forms[Math.min(index, forms.length - 1)] ?? ''\n}\n\nfunction matchExplicit(segment: string, count: number): string | null {\n const match = /^\\s*([{[])([^\\]}]*)([}\\]])\\s*([\\s\\S]*)$/.exec(segment)\n\n if (!match) {\n return null\n }\n\n const [, open, condition = '', , text = ''] = match\n\n if (open === '{') {\n return condition\n .split(',')\n .map((part) => Number(part.trim()))\n .includes(count)\n ? text\n : null\n }\n\n const [from = '*', to = '*'] = condition.split(',').map((part) => part.trim())\n const above = from === '*' || count >= Number(from)\n const below = to === '*' || count <= Number(to)\n\n return above && below ? text : null\n}\n\nexport const translator = new Translator()\n\nexport const t = translator.t.bind(translator)\n\n// ---------------------------------------------------------------------------- Formatting\n\nexport interface MoneyOptions extends Intl.NumberFormatOptions {\n /** The amount is an integer of the smallest unit (cents, fils, yen). */\n minorUnits?: boolean\n}\n\n/**\n * Locale-aware formatting for values rendered in the browser (custom components,\n * charts, inputs). Server-rendered columns and entries are already formatted in PHP.\n */\nexport class LocaleFormatter {\n constructor(\n readonly locale = 'en',\n readonly currencyCode = 'USD',\n readonly timeZone?: string,\n ) {}\n\n static fromSchema(localization: LocalizationSchema | undefined): LocaleFormatter {\n return new LocaleFormatter(\n localization?.tag ?? 'en',\n localization?.currency ?? 'USD',\n localization?.timezone,\n )\n }\n\n number(value: number, options: Intl.NumberFormatOptions = {}): string {\n return new Intl.NumberFormat(this.locale, options).format(value)\n }\n\n percent(value: number, maximumFractionDigits = 0): string {\n return this.number(value, { style: 'percent', maximumFractionDigits })\n }\n\n money(amount: number, currency = this.currencyCode, options: MoneyOptions = {}): string {\n const { minorUnits, ...format } = options\n const value = minorUnits ? amount / 10 ** currencyDecimals(currency) : amount\n\n return new Intl.NumberFormat(this.locale, { style: 'currency', currency, ...format }).format(\n value,\n )\n }\n\n /** Unparseable input is returned unchanged. */\n date(\n value: Date | string | number,\n options: Intl.DateTimeFormatOptions = { dateStyle: 'medium' },\n ): string {\n const date = toDate(value)\n\n if (Number.isNaN(date.getTime())) return String(value)\n\n return new Intl.DateTimeFormat(this.locale, { timeZone: this.timeZone, ...options }).format(\n date,\n )\n }\n\n dateTime(value: Date | string | number): string {\n return this.date(value, { dateStyle: 'medium', timeStyle: 'short' })\n }\n\n /** \"3 days ago\", \"in 2 hours\", in the user's language. */\n relative(value: Date | string | number, now: Date = new Date()): string {\n const time = toDate(value).getTime()\n\n if (Number.isNaN(time)) return String(value)\n\n const seconds = Math.round((time - now.getTime()) / 1000)\n const units: Array<[Intl.RelativeTimeFormatUnit, number]> = [\n ['year', 31_536_000],\n ['month', 2_592_000],\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n ]\n const formatter = new Intl.RelativeTimeFormat(this.locale, { numeric: 'auto' })\n\n for (const [unit, size] of units) {\n if (Math.abs(seconds) >= size) {\n return formatter.format(Math.round(seconds / size), unit)\n }\n }\n\n return formatter.format(seconds, 'second')\n }\n\n list(items: string[], type: Intl.ListFormatType = 'conjunction'): string {\n return new Intl.ListFormat(this.locale, { type }).format(items)\n }\n\n /** Where the locale writes the currency symbol for `currency`. */\n currencyAffixes(currency = this.currencyCode): {\n prefix: string\n suffix: string\n symbol: string\n } {\n const parts = new Intl.NumberFormat(this.locale, { style: 'currency', currency }).formatToParts(\n 1,\n )\n const symbolIndex = parts.findIndex((part) => part.type === 'currency')\n const numberIndex = parts.findIndex((part) => part.type === 'integer')\n const symbol = parts[symbolIndex]?.value ?? currency\n\n return symbolIndex < numberIndex\n ? { prefix: symbol, suffix: '', symbol }\n : { prefix: '', suffix: symbol, symbol }\n }\n\n /** The locale's decimal and grouping separators. */\n separators(): { decimal: string; group: string } {\n const parts = new Intl.NumberFormat(this.locale).formatToParts(12345.6)\n\n return {\n decimal: parts.find((part) => part.type === 'decimal')?.value ?? '.',\n group: parts.find((part) => part.type === 'group')?.value ?? ',',\n }\n }\n\n /**\n * Parse what a user typed in their locale (\"1.234,5\" in German, \"١٬٢٣٤٫٥\" in Arabic,\n * \"1 234,5\" in French) into a number. A lone dot followed by other than three digits is\n * read as a decimal point even where the locale uses a comma, since that is what people\n * mean when they type \"12.5\". Returns null for empty or invalid input.\n */\n parseNumber(input: string): number | null {\n const { decimal } = this.separators()\n let value = toAsciiDigits(input)\n .replace(/[\\s\\u00a0\\u202f'’]/g, '')\n .replace(/٫/g, decimal)\n .replace(/[٬،]/g, decimal === ',' ? '.' : ',')\n\n // Locales with their own separator (Arabic \"٫\"): ASCII \".\" is the decimal point.\n if (decimal !== '.' && decimal !== ',') {\n value = value.replace(/,/g, '').replace('.', decimal)\n }\n\n if (decimal === ',' && !value.includes(decimal) && /^-?\\d*\\.\\d*$/.test(value)) {\n const fraction = value.split('.')[1] ?? ''\n\n if (fraction.length !== 3) {\n value = value.replace('.', decimal)\n }\n }\n\n const [integer = '', fraction, ...rest] = value.split(decimal)\n\n if (rest.length > 0) {\n return null\n }\n\n const normalised = integer.replace(/[.,]/g, '') + (fraction === undefined ? '' : `.${fraction}`)\n\n if (!/^-?(\\d+\\.?\\d*|\\.\\d+)$/.test(normalised)) {\n return null\n }\n\n const number = Number(normalised)\n\n return Number.isFinite(number) ? number : null\n }\n}\n\n/** Minor-unit digits of an ISO 4217 currency (USD 2, BHD 3, JPY 0). */\nexport function currencyDecimals(currency: string): number {\n try {\n return (\n new Intl.NumberFormat('en', { style: 'currency', currency }).resolvedOptions()\n .maximumFractionDigits ?? 2\n )\n } catch {\n return 2\n }\n}\n\n/** Code points of \"0\" in Unicode decimal digit blocks (Arabic-Indic, Persian, Devanagari, …). */\nconst DIGIT_ZEROS = [\n 0x660, 0x6f0, 0x7c0, 0x966, 0x9e6, 0xa66, 0xae6, 0xb66, 0xbe6, 0xc66, 0xce6, 0xd66, 0xde6, 0xe50,\n 0xed0, 0xf20, 0x1040, 0x1090, 0x17e0, 0x1810, 0x1946, 0x19d0, 0x1a80, 0x1a90, 0x1b50, 0x1bb0,\n 0x1c40, 0x1c50, 0xa620, 0xa8d0, 0xa900, 0xa9d0, 0xa9f0, 0xaa50, 0xabf0, 0xff10,\n]\n\n/** Convert Arabic-Indic, Persian and other Unicode decimal digits to 0-9. */\nexport function toAsciiDigits(input: string): string {\n return input.replace(/\\P{ASCII}/gu, (character) => {\n const code = character.codePointAt(0) ?? 0\n const zero = DIGIT_ZEROS.find((start) => code >= start && code <= start + 9)\n\n return zero === undefined ? character : String(code - zero)\n })\n}\n\nfunction toDate(value: Date | string | number): Date {\n return value instanceof Date ? value : new Date(value)\n}\n\n/**\n * Render a date with a PHP `date()` format string, using the locale's month and weekday\n * names. Numeric tokens keep ASCII digits, like Carbon's `translatedFormat()`.\n */\nexport function formatPhpDate(date: Date, format: string, locale = 'en'): string {\n const name = (options: Intl.DateTimeFormatOptions) =>\n new Intl.DateTimeFormat(locale, options).format(date)\n const pad = (value: number) => String(value).padStart(2, '0')\n const hours = date.getHours()\n const dayPeriod = () =>\n new Intl.DateTimeFormat(locale, { hour: 'numeric', hour12: true })\n .formatToParts(date)\n .find((part) => part.type === 'dayPeriod')?.value ?? (hours < 12 ? 'AM' : 'PM')\n\n const tokens: Record<string, () => string> = {\n d: () => pad(date.getDate()),\n j: () => String(date.getDate()),\n D: () => name({ weekday: 'short' }),\n l: () => name({ weekday: 'long' }),\n N: () => String(date.getDay() === 0 ? 7 : date.getDay()),\n w: () => String(date.getDay()),\n S: () => (locale.startsWith('en') ? ordinalSuffix(date.getDate()) : ''),\n F: () => name({ month: 'long' }),\n M: () => name({ month: 'short' }),\n m: () => pad(date.getMonth() + 1),\n n: () => String(date.getMonth() + 1),\n Y: () => String(date.getFullYear()),\n y: () => String(date.getFullYear()).slice(-2),\n a: () => dayPeriod().toLowerCase(),\n A: () => dayPeriod(),\n g: () => String(hours % 12 || 12),\n G: () => String(hours),\n h: () => pad(hours % 12 || 12),\n H: () => pad(hours),\n i: () => pad(date.getMinutes()),\n s: () => pad(date.getSeconds()),\n }\n\n let output = ''\n\n for (let index = 0; index < format.length; index++) {\n const character = format[index] ?? ''\n\n if (character === '\\\\') {\n output += format[++index] ?? ''\n } else {\n output += tokens[character]?.() ?? character\n }\n }\n\n return output\n}\n\nfunction ordinalSuffix(day: number): string {\n if (day % 100 >= 11 && day % 100 <= 13) return 'th'\n\n return ({ 1: 'st', 2: 'nd', 3: 'rd' } as Record<number, string>)[day % 10] ?? 'th'\n}\n\n// ---------------------------------------------------------------------------- Document\n\n/** Keep `<html lang dir>` in sync after Inertia navigations (e.g. a language switch). */\nexport function applyDocumentLocale(\n localization: Pick<LocalizationSchema, 'tag' | 'direction'> | undefined,\n): void {\n if (typeof document === 'undefined' || !localization) {\n return\n }\n\n const root = document.documentElement\n\n if (root.lang !== localization.tag) root.lang = localization.tag\n if (root.dir !== localization.direction) root.dir = localization.direction\n}\n\n/**\n * Whether a language menu belongs in `place`: the panel has a switcher with two or more\n * languages and `languageSwitcher()` puts it there. Auth pages always show it.\n */\nexport function showsLanguageSwitcher(\n localization:\n Pick<LocalizationSchema, 'switcher' | 'switcherPosition' | 'locales'> | null | undefined,\n place: 'topbar' | 'user-menu' | 'auth',\n): boolean {\n if (!localization?.switcher || (localization.locales?.length ?? 0) < 2) {\n return false\n }\n\n if (place === 'auth') {\n return true\n }\n\n const position = localization.switcherPosition ?? 'user-menu'\n\n return position === 'both' || position === place\n}\n\n/**\n * Whether the top bar's language button collapses into the user menu on phones (below\n * `sm`): with `languageSwitcher('topbar' | 'both')` and a user menu to hold it. The top bar\n * then hides its button below `sm`, and the user menu shows its \"Language\" entry there\n * (always, for `'both'`). Without a user menu (guests, `userMenu(false)`) it stays put.\n */\nexport function collapsesLanguageSwitcher(\n localization:\n Pick<LocalizationSchema, 'switcher' | 'switcherPosition' | 'locales'> | null | undefined,\n hasUserMenu: boolean,\n): boolean {\n return hasUserMenu && showsLanguageSwitcher(localization, 'topbar')\n}\n\n/** Switch the panel language and reload the current page in it. */\nexport function switchLocale(endpoint: string, locale: string): void {\n // Lazy widgets cached in the old language would otherwise show until their deferred\n // schemas arrive in the new one.\n lazyComponentCache.clear()\n router.post(endpoint, { locale }, { preserveScroll: true, preserveState: false })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../src/i18n.ts"],"sourcesContent":["import { router } from '@inertiajs/core'\nimport { lazyComponentCache } from './lazy'\nimport type { LocalizationSchema } from './schema/panel'\nimport { interpolate } from './utils/format'\nimport { getPath } from './utils/path'\n\n/** CLDR plural categories in the order Laravel language files list their forms. */\nconst PLURAL_ORDER: Intl.LDMLPluralRule[] = ['zero', 'one', 'two', 'few', 'many', 'other']\n\ntype Replacements = Record<string, string | number>\n\n/**\n * Translator over the `translations` prop (Laravel's `alfakit::ui` group plus any groups\n * the panel adds with `frontendTranslations()`).\n */\nexport class Translator {\n private pluralRules: Intl.PluralRules | null = null\n\n constructor(\n private translations: Record<string, unknown> = {},\n private locale = 'en',\n ) {}\n\n setTranslations(translations: Record<string, unknown>): void {\n this.translations = translations\n }\n\n /** BCP 47 tag used for plural rules. */\n setLocale(locale: string): void {\n if (locale !== this.locale) {\n this.locale = locale\n this.pluralRules = null\n }\n }\n\n getLocale(): string {\n return this.locale\n }\n\n has(key: string): boolean {\n return typeof getPath<unknown>(this.translations, key) === 'string'\n }\n\n /** `t('table.showing', { first: 1, last: 10, total: 42 })` */\n t(key: string, replacements: Replacements = {}, fallback?: string): string {\n const value = getPath<unknown>(this.translations, key)\n const template = typeof value === 'string' ? value : (fallback ?? key)\n\n return interpolate(template, replacements)\n }\n\n /**\n * Pluralised line, compatible with Laravel's `trans_choice()` syntax:\n * `'{0} No items|{1} One item|[2,*] :count items'` or `'one item|:count items'`.\n * Forms without explicit ranges follow CLDR plural rules for the current locale, in the\n * order zero, one, two, few, many, other (as Laravel language files list them).\n */\n choice(key: string, count: number, replacements: Replacements = {}, fallback?: string): string {\n const value = getPath<unknown>(this.translations, key)\n const line = typeof value === 'string' ? value : (fallback ?? key)\n\n return interpolate(selectPlural(line, count, this.rules()), { count, ...replacements })\n }\n\n private rules(): Intl.PluralRules {\n this.pluralRules ??= new Intl.PluralRules(this.locale)\n\n return this.pluralRules\n }\n}\n\n/** Pick the plural form of a Laravel `trans_choice` line for `count`. */\nexport function selectPlural(line: string, count: number, rules: Intl.PluralRules): string {\n const segments = line.split('|')\n\n for (const segment of segments) {\n const explicit = matchExplicit(segment, count)\n\n if (explicit !== null) {\n return explicit\n }\n }\n\n const forms = segments.map((segment) => segment.replace(/^\\s*[{[][^\\]}]*[}\\]]\\s*/, ''))\n\n if (forms.length === 1) {\n return forms[0] ?? ''\n }\n\n const categories = PLURAL_ORDER.filter((category) =>\n rules.resolvedOptions().pluralCategories.includes(category),\n )\n const index = Math.max(0, categories.indexOf(rules.select(count)))\n\n return forms[Math.min(index, forms.length - 1)] ?? ''\n}\n\nfunction matchExplicit(segment: string, count: number): string | null {\n const match = /^\\s*([{[])([^\\]}]*)([}\\]])\\s*([\\s\\S]*)$/.exec(segment)\n\n if (!match) {\n return null\n }\n\n const [, open, condition = '', , text = ''] = match\n\n if (open === '{') {\n return condition\n .split(',')\n .map((part) => Number(part.trim()))\n .includes(count)\n ? text\n : null\n }\n\n const [from = '*', to = '*'] = condition.split(',').map((part) => part.trim())\n const above = from === '*' || count >= Number(from)\n const below = to === '*' || count <= Number(to)\n\n return above && below ? text : null\n}\n\nexport const translator = new Translator()\n\nexport const t = translator.t.bind(translator)\n\n// ---------------------------------------------------------------------------- Formatting\n\nexport interface MoneyOptions extends Intl.NumberFormatOptions {\n /** The amount is an integer of the smallest unit (cents, fils, yen). */\n minorUnits?: boolean\n}\n\n/**\n * Locale-aware formatting for values rendered in the browser (custom components,\n * charts, inputs). Server-rendered columns and entries are already formatted in PHP.\n */\nexport class LocaleFormatter {\n constructor(\n readonly locale = 'en',\n readonly currencyCode = 'USD',\n readonly timeZone?: string,\n ) {}\n\n static fromSchema(localization: LocalizationSchema | undefined): LocaleFormatter {\n return new LocaleFormatter(\n localization?.tag ?? 'en',\n localization?.currency ?? 'USD',\n localization?.timezone,\n )\n }\n\n number(value: number, options: Intl.NumberFormatOptions = {}): string {\n return new Intl.NumberFormat(this.locale, options).format(value)\n }\n\n percent(value: number, maximumFractionDigits = 0): string {\n return this.number(value, { style: 'percent', maximumFractionDigits })\n }\n\n money(amount: number, currency = this.currencyCode, options: MoneyOptions = {}): string {\n const { minorUnits, ...format } = options\n const value = minorUnits ? amount / 10 ** currencyDecimals(currency) : amount\n\n return new Intl.NumberFormat(this.locale, { style: 'currency', currency, ...format }).format(\n value,\n )\n }\n\n /** Unparseable input is returned unchanged. */\n date(\n value: Date | string | number,\n options: Intl.DateTimeFormatOptions = { dateStyle: 'medium' },\n ): string {\n const date = toDate(value)\n\n if (Number.isNaN(date.getTime())) return String(value)\n\n return new Intl.DateTimeFormat(this.locale, { timeZone: this.timeZone, ...options }).format(\n date,\n )\n }\n\n dateTime(value: Date | string | number): string {\n return this.date(value, { dateStyle: 'medium', timeStyle: 'short' })\n }\n\n /** \"3 days ago\", \"in 2 hours\", in the user's language. */\n relative(value: Date | string | number, now: Date = new Date()): string {\n const time = toDate(value).getTime()\n\n if (Number.isNaN(time)) return String(value)\n\n const seconds = Math.round((time - now.getTime()) / 1000)\n const units: Array<[Intl.RelativeTimeFormatUnit, number]> = [\n ['year', 31_536_000],\n ['month', 2_592_000],\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n ]\n const formatter = new Intl.RelativeTimeFormat(this.locale, { numeric: 'auto' })\n\n for (const [unit, size] of units) {\n if (Math.abs(seconds) >= size) {\n return formatter.format(Math.round(seconds / size), unit)\n }\n }\n\n return formatter.format(seconds, 'second')\n }\n\n list(items: string[], type: Intl.ListFormatType = 'conjunction'): string {\n return new Intl.ListFormat(this.locale, { type }).format(items)\n }\n\n /** Where the locale writes the currency symbol for `currency`. */\n currencyAffixes(currency = this.currencyCode): {\n prefix: string\n suffix: string\n symbol: string\n } {\n const parts = new Intl.NumberFormat(this.locale, { style: 'currency', currency }).formatToParts(\n 1,\n )\n const symbolIndex = parts.findIndex((part) => part.type === 'currency')\n const numberIndex = parts.findIndex((part) => part.type === 'integer')\n const symbol = parts[symbolIndex]?.value ?? currency\n\n return symbolIndex < numberIndex\n ? { prefix: symbol, suffix: '', symbol }\n : { prefix: '', suffix: symbol, symbol }\n }\n\n /** The locale's decimal and grouping separators. */\n separators(): { decimal: string; group: string } {\n const parts = new Intl.NumberFormat(this.locale).formatToParts(12345.6)\n\n return {\n decimal: parts.find((part) => part.type === 'decimal')?.value ?? '.',\n group: parts.find((part) => part.type === 'group')?.value ?? ',',\n }\n }\n\n /**\n * Parse what a user typed in their locale (\"1.234,5\" in German, \"١٬٢٣٤٫٥\" in Arabic,\n * \"1 234,5\" in French) into a number. A lone dot followed by other than three digits is\n * read as a decimal point even where the locale uses a comma, since that is what people\n * mean when they type \"12.5\". Returns null for empty or invalid input.\n */\n parseNumber(input: string): number | null {\n const { decimal } = this.separators()\n let value = toAsciiDigits(input)\n .replace(/[\\s\\u00a0\\u202f'’]/g, '')\n .replace(/٫/g, decimal)\n .replace(/[٬،]/g, decimal === ',' ? '.' : ',')\n\n // Locales with their own separator (Arabic \"٫\"): ASCII \".\" is the decimal point.\n if (decimal !== '.' && decimal !== ',') {\n value = value.replace(/,/g, '').replace('.', decimal)\n }\n\n if (decimal === ',' && !value.includes(decimal) && /^-?\\d*\\.\\d*$/.test(value)) {\n const fraction = value.split('.')[1] ?? ''\n\n if (fraction.length !== 3) {\n value = value.replace('.', decimal)\n }\n }\n\n const [integer = '', fraction, ...rest] = value.split(decimal)\n\n if (rest.length > 0) {\n return null\n }\n\n const normalised = integer.replace(/[.,]/g, '') + (fraction === undefined ? '' : `.${fraction}`)\n\n if (!/^-?(\\d+\\.?\\d*|\\.\\d+)$/.test(normalised)) {\n return null\n }\n\n const number = Number(normalised)\n\n return Number.isFinite(number) ? number : null\n }\n}\n\n/** Minor-unit digits of an ISO 4217 currency (USD 2, BHD 3, JPY 0). */\nexport function currencyDecimals(currency: string): number {\n try {\n return (\n new Intl.NumberFormat('en', { style: 'currency', currency }).resolvedOptions()\n .maximumFractionDigits ?? 2\n )\n } catch {\n return 2\n }\n}\n\n/** Code points of \"0\" in Unicode decimal digit blocks (Arabic-Indic, Persian, Devanagari, …). */\nconst DIGIT_ZEROS = [\n 0x660, 0x6f0, 0x7c0, 0x966, 0x9e6, 0xa66, 0xae6, 0xb66, 0xbe6, 0xc66, 0xce6, 0xd66, 0xde6, 0xe50,\n 0xed0, 0xf20, 0x1040, 0x1090, 0x17e0, 0x1810, 0x1946, 0x19d0, 0x1a80, 0x1a90, 0x1b50, 0x1bb0,\n 0x1c40, 0x1c50, 0xa620, 0xa8d0, 0xa900, 0xa9d0, 0xa9f0, 0xaa50, 0xabf0, 0xff10,\n]\n\n/** Convert Arabic-Indic, Persian and other Unicode decimal digits to 0-9. */\nexport function toAsciiDigits(input: string): string {\n return input.replace(/\\P{ASCII}/gu, (character) => {\n const code = character.codePointAt(0) ?? 0\n const zero = DIGIT_ZEROS.find((start) => code >= start && code <= start + 9)\n\n return zero === undefined ? character : String(code - zero)\n })\n}\n\nfunction toDate(value: Date | string | number): Date {\n return value instanceof Date ? value : new Date(value)\n}\n\n/**\n * Render a date with a PHP `date()` format string, using the locale's month and weekday\n * names. Numeric tokens keep ASCII digits, like Carbon's `translatedFormat()`.\n */\nexport function formatPhpDate(date: Date, format: string, locale = 'en'): string {\n const name = (options: Intl.DateTimeFormatOptions) =>\n new Intl.DateTimeFormat(locale, options).format(date)\n const pad = (value: number) => String(value).padStart(2, '0')\n const hours = date.getHours()\n const dayPeriod = () =>\n new Intl.DateTimeFormat(locale, { hour: 'numeric', hour12: true })\n .formatToParts(date)\n .find((part) => part.type === 'dayPeriod')?.value ?? (hours < 12 ? 'AM' : 'PM')\n\n const tokens: Record<string, () => string> = {\n d: () => pad(date.getDate()),\n j: () => String(date.getDate()),\n D: () => name({ weekday: 'short' }),\n l: () => name({ weekday: 'long' }),\n N: () => String(date.getDay() === 0 ? 7 : date.getDay()),\n w: () => String(date.getDay()),\n S: () => (locale.startsWith('en') ? ordinalSuffix(date.getDate()) : ''),\n F: () => name({ month: 'long' }),\n M: () => name({ month: 'short' }),\n m: () => pad(date.getMonth() + 1),\n n: () => String(date.getMonth() + 1),\n Y: () => String(date.getFullYear()),\n y: () => String(date.getFullYear()).slice(-2),\n a: () => dayPeriod().toLowerCase(),\n A: () => dayPeriod(),\n g: () => String(hours % 12 || 12),\n G: () => String(hours),\n h: () => pad(hours % 12 || 12),\n H: () => pad(hours),\n i: () => pad(date.getMinutes()),\n s: () => pad(date.getSeconds()),\n }\n\n let output = ''\n\n for (let index = 0; index < format.length; index++) {\n const character = format[index] ?? ''\n\n if (character === '\\\\') {\n output += format[++index] ?? ''\n } else {\n output += tokens[character]?.() ?? character\n }\n }\n\n return output\n}\n\nfunction ordinalSuffix(day: number): string {\n if (day % 100 >= 11 && day % 100 <= 13) return 'th'\n\n return ({ 1: 'st', 2: 'nd', 3: 'rd' } as Record<number, string>)[day % 10] ?? 'th'\n}\n\n// ---------------------------------------------------------------------------- Document\n\n/** Keep `<html lang dir>` in sync after Inertia navigations (e.g. a language switch). */\nexport function applyDocumentLocale(\n localization: Pick<LocalizationSchema, 'tag' | 'direction'> | undefined,\n): void {\n if (typeof document === 'undefined' || !localization) {\n return\n }\n\n const root = document.documentElement\n\n if (root.lang !== localization.tag) root.lang = localization.tag\n if (root.dir !== localization.direction) root.dir = localization.direction\n}\n\n/**\n * Whether a language menu belongs in `place`: the panel has a switcher with two or more\n * languages and `languageSwitcher()` puts it there. Auth pages always show it.\n */\nexport function showsLanguageSwitcher(\n localization:\n Pick<LocalizationSchema, 'switcher' | 'switcherPosition' | 'locales'> | null | undefined,\n place: 'topbar' | 'user-menu' | 'auth',\n): boolean {\n if (!localization?.switcher || (localization.locales?.length ?? 0) < 2) {\n return false\n }\n\n if (place === 'auth') {\n return true\n }\n\n const position = localization.switcherPosition ?? 'user-menu'\n\n return position === 'both' || position === place\n}\n\n/**\n * Whether the top bar's language button collapses into the user menu on phones (below\n * `sm`): with `languageSwitcher('topbar' | 'both')` and a user menu to hold it. The top bar\n * then hides its button below `sm`, and the user menu shows its \"Language\" entry there\n * (always, for `'both'`). Without a user menu (guests, `userMenu(false)`) it stays put.\n */\nexport function collapsesLanguageSwitcher(\n localization:\n Pick<LocalizationSchema, 'switcher' | 'switcherPosition' | 'locales'> | null | undefined,\n hasUserMenu: boolean,\n): boolean {\n return hasUserMenu && showsLanguageSwitcher(localization, 'topbar')\n}\n\n/** Switch the panel language and reload the current page in it. */\nexport function switchLocale(endpoint: string, locale: string): void {\n // Lazy widgets cached in the old language would otherwise show until their deferred\n // schemas arrive in the new one.\n lazyComponentCache.clear()\n router.post(endpoint, { locale }, { preserveScroll: true, preserveState: false })\n}\n\n// ---------------------------------------------------------------------------- Bidi\n\n/** A letter of a script written right to left (not its digits or separators). */\nconst RTL_LETTER =\n /(?=\\p{L})(?:\\p{Script=Arabic}|\\p{Script=Hebrew}|\\p{Script=Syriac}|\\p{Script=Thaana}|\\p{Script=Nko}|\\p{Script=Adlam}|\\p{Script=Samaritan}|\\p{Script=Mandaic}|\\p{Script=Hanifi_Rohingya}|\\p{Script=Yezidi}|\\p{Script=Mende_Kikakui})/u\n\n/**\n * The `dir` for a `<bdi>` around a display value: `auto` (the value's first strong letter\n * decides) when it has right-to-left letters, else `ltr`. Numbers and money formatted for a\n * right-to-left locale start with an invisible right-to-left mark (`‏0.00 US$` in Arabic),\n * which `auto` reads as right to left and reorders into `$US 0.00`; without right-to-left\n * letters the value is laid out as written. Values with them (`٠٫٠٠٠ د.ب.‏`, Arabic\n * text) keep their own direction.\n */\nexport function isolationDirection(value: unknown): 'ltr' | 'auto' {\n return typeof value === 'string' && RTL_LETTER.test(value) ? 'auto' : 'ltr'\n}\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -32,11 +32,11 @@ import { DebugClosure, DebugDeprecation, DebugNode, DebugSchema, DebugServerTimi
32
32
  import { DevToolsClass, DevToolsContext, DevToolsSchema } from "./schema/dev-tools.js";
33
33
  import { PwaPushSchema, PwaSchema } from "./schema/pwa.js";
34
34
  import { StandaloneComponentSchema, isStandaloneComponent } from "./schema/standalone.js";
35
- import { AlfakitPageProps, BreadcrumbSchema, ContentBlock, DefaultActionSchema, ErrorNotificationEntrySchema, ErrorNotificationsSchema, ImpersonationSchema, LanguageSwitcherPosition, LocaleSchema, LocalizationSchema, MenuItemSchema, NavigationBadgeSchema, NavigationGroupSchema, NavigationItemSchema, NavigationStateSchema, PageLayout, PageSchema, PanelDesignSchema, PanelEndpoints, PanelSchema, PanelThemeSchema, PanelUserSchema, PolledComponents, SlotDataValue, SlotItemSchema, StarterKitDashboardWidgetsSchema, StarterKitNavigationSchema, StarterKitWidgetsSchema, SubNavigationSchema, TENANT_MENU_COMPONENT, TenantSchema, ToastPosition, USER_MENU_COMPONENT } from "./schema/panel.js";
36
- import { LocaleFormatter, MoneyOptions, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator } from "./i18n.js";
35
+ import { AlfakitPageProps, BreadcrumbSchema, ContentBlock, DefaultActionSchema, ErrorNotificationEntrySchema, ErrorNotificationsSchema, ImpersonationSchema, LanguageSwitcherPosition, LocaleSchema, LocalizationSchema, MenuItemSchema, NavigationBadgeSchema, NavigationGroupSchema, NavigationItemSchema, NavigationStateSchema, PageLayout, PageSchema, PanelDesignSchema, PanelEndpoints, PanelSchema, PanelThemeSchema, PanelUserSchema, PolledComponents, SlotDataValue, SlotItemSchema, StarterKitDashboardWidgetsSchema, StarterKitDocumentSchema, StarterKitNavigationSchema, StarterKitWidgetsSchema, SubNavigationSchema, TENANT_MENU_COMPONENT, TenantSchema, ToastPosition, USER_MENU_COMPONENT } from "./schema/panel.js";
36
+ import { LocaleFormatter, MoneyOptions, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, isolationDirection, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator } from "./i18n.js";
37
37
  import { CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESIZE_ACTION, CALENDAR_FETCH_EVENTS_ACTION, CALENDAR_REGISTRY_KEY, CalendarEnvironment, CalendarEventApi, CalendarEventChangeInfo, CalendarEventClickInfo, CalendarFetchInfo, CalendarSelectInfo, calendarActionContext, calendarIdentity, calendarOptions, calendarWallTime, clientErrorNotification } from "./calendar.js";
38
38
  import { ChartConfigInput, ChartConfigOutput, ChartFormatter, buildChartConfig, chartColorVariable, configureCharts, getChartFormatters, getChartPlugins, mergeChartOptions, observeThemeChanges, registerChartFormatters, registerChartPlugins, resetChartRegistrations, resolveChartCallbacks, resolveCssColor, withAlpha } from "./chart.js";
39
- import { CmsAdminBarSchema, CmsAlternateSchema, CmsAspectRatio, CmsAutosaveResult, CmsBlockSchema, CmsBlockStyle, CmsBreadcrumbSchema, CmsBuiltInBlocks, CmsCallToActionBlockData, CmsColumnsBlockData, CmsEditorStatusSchema, CmsEmbedBlockData, CmsFaqBlockData, CmsFeatureSchema, CmsFeaturesBlockData, CmsFormBlockData, CmsGalleryBlockData, CmsHeroBlockData, CmsImageBlockData, CmsImageSchema, CmsLinkSchema, CmsLivePreviewSchema, CmsMenuItemSchema, CmsMenuSchema, CmsPageProps, CmsPageSchema, CmsPayload, CmsRichTextBlockData, CmsSectionBlockData, CmsSeoSchema, CmsSiteDesign, CmsSiteSchema, CmsTestimonialSchema, CmsTestimonialsBlockData } from "./schema/cms.js";
39
+ import { CmsAdminBarSchema, CmsAlternateSchema, CmsAspectRatio, CmsAutosaveResult, CmsBlockSchema, CmsBlockStyle, CmsBreadcrumbSchema, CmsBuiltInBlocks, CmsCallToActionBlockData, CmsColumnsBlockData, CmsEditorStatusSchema, CmsEmbedBlockData, CmsFaqBlockData, CmsFeatureSchema, CmsFeaturesBlockData, CmsFormBlockData, CmsGalleryBlockData, CmsHeroBlockData, CmsImageBlockData, CmsImageSchema, CmsLinkSchema, CmsLivePreviewSchema, CmsMenuItemSchema, CmsMenuSchema, CmsPageApiResponse, CmsPageProps, CmsPageSchema, CmsPayload, CmsRichTextBlockData, CmsSectionBlockData, CmsSeoSchema, CmsSiteDesign, CmsSiteSchema, CmsTestimonialSchema, CmsTestimonialsBlockData } from "./schema/cms.js";
40
40
  import { CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, CmsHeadTags, CmsLinkTag, CmsMetaTag, cmsAspectClass, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsWidthClass, createCmsTranslator } from "./cms.js";
41
41
  import { CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, CmsAutosave, CmsAutosaveOptions, CmsAutosaveSnapshot, CmsAutosaveStatus, CmsPreviewDevice, callCmsAutosave, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, rememberedCmsPreview, reserveCmsPreviewSpace } from "./cms-live-preview.js";
42
42
  import { CodeToken, CodeTokenKind, countCodeLines, highlightCode, isHighlightedLanguage } from "./code-highlight.js";
@@ -108,12 +108,14 @@ import { GridBounds, GridCell, PastePlan, SPREADSHEET_CLASSES, SPREADSHEET_ISSUE
108
108
  import { registerStandaloneProp, resolvePartialProps } from "./partial-props.js";
109
109
  import { StandaloneComponentState, StandaloneDefaults, fetchStandaloneComponents, findStandalonePropName, markFailedLazyWidgets, standaloneDirection, standalonePageSchema, standalonePanelSchema } from "./standalone.js";
110
110
  import { STARTER_KIT_TOASTER_ID, StarterKitBreadcrumb, StarterKitNavGroup, StarterKitNavItem, StarterKitUserMenuItem, currentStarterKitPanel, currentStarterKitPanelId, customPageProps, installStarterKitRuntime, isStarterKitPanel, preferCurrentStarterKitPanel, starterKitBreadcrumbsFromProps, starterKitNavigation, starterKitNavigations, syncStarterKitPage, toStarterKitBreadcrumbs, toStarterKitNavGroups, toStarterKitUserMenuItems, usesStarterKitHostLayout } from "./starter-kit.js";
111
+ import { applyStarterKitDocument, installStarterKitDocument, starterKitDirection, starterKitDocument, starterKitSidebarSide } from "./starter-kit-document.js";
111
112
  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
113
  import { GroupedTableRow, groupTableRows, initialCollapsedGroups, toggleCollapsedGroup } from "./table-grouping.js";
113
114
  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
115
  import { TriggerButtonDefaults, TriggerButtonView, beginTableLoading, columnDraftChanged, defaultVisibleColumns, endTableLoading, extremePageLinks, isTableLoading, limitedListItems, removeAllFilterIndicators, removeFilterIndicator, skeletonRowCount, stackedImageStyle, tableLoadingStore, toggleVisibleColumn, triggerButtonView, usesDefaultImageStack } from "./table-toolbar.js";
115
116
  import { LoadTableTotalsOptions, cachedTableTotals, invalidateTableTotals, loadTableTotals, resetTableTotals, tableTotalsFailed, tableTotalsStore, withTableTotals } from "./table-totals.js";
116
117
  import { TableViewOperation, TableViewResponse, activeTableView, groupTableViews, requestTableView, tableViewError, tableViewFollowUp, tableViewUrl, visitTableView } from "./table-views.js";
118
+ import { TOPBAR_END_SLOT_CLASS } from "./topbar.js";
117
119
  import { initialTranslatableLocale, translatableLocaleField, translatableLocalesWithErrors } from "./translatable.js";
118
120
  import { TRANSLATION_MANAGER_REGISTRY_KEY, TranslationCellRef, TranslationHistoryState, TranslationKeyResult, TranslationManagerController, TranslationManagerEnvironment, TranslationManagerState, translationCellValue } from "./translation-manager.js";
119
121
  import { TREE_REGISTRY_KEY, TreeController, TreeDropPosition, TreeEnvironment, TreeKeyResult, TreeMove, TreeRow, TreeSaveResult, TreeState, cloneTreeNodes, dropTreeNode, flattenTreeStructure, moveTreeNode, treeParentKeys, treeSubtreeHeight, visibleTreeRows } from "./tree.js";
@@ -123,7 +125,7 @@ import { Direction, FieldAriaAttributes, FieldAriaSource, FieldDescriptionIds, K
123
125
  import { EditorAttachments } from "./utils/attachments.js";
124
126
  import { columnSpanClasses, columnStartClasses, gridColumnsClasses, maxColumns } from "./utils/breakpoints.js";
125
127
  import { ColorFormat, colorAlpha, colorToHex, formatColor, withColorAlpha } from "./utils/color.js";
126
- import { CONTAINER_BREAKPOINTS, containerColumnSpanClasses, containerGridColumnsClasses, flexItemClasses, flexLayoutClasses, hasContainerBreakpoints } from "./utils/container-breakpoints.js";
128
+ import { CONTAINER_BREAKPOINTS, RECORD_CONTAINER_FROM, containerColumnSpanClasses, containerGridColumnsClasses, contentGridClasses, flexItemClasses, flexLayoutClasses, hasContainerBreakpoints, recordColumnSpanClasses, recordGridColumnsClasses } from "./utils/container-breakpoints.js";
127
129
  import { wallClockNow } from "./utils/datetime.js";
128
130
  import { Debounced, debounce } from "./utils/debounce.js";
129
131
  import { formatBytes, initials, interpolate, parseInterval, uniqueId } from "./utils/format.js";
@@ -133,4 +135,4 @@ import { applyMask } from "./utils/mask.js";
133
135
  import { PathSegment, deletePath, getPath, hasPath, joinPath, parentPath, replacePlaceholder, setPath, splitPath, templateForIndex } from "./utils/path.js";
134
136
  import { DEFAULT_VIRTUALIZE_THRESHOLD, VIRTUAL_ESTIMATES, VirtualList, VirtualListOptions, VirtualRange, firstErroredItemIndex, hasNewErrors, virtualizeOptions } from "./virtual.js";
135
137
  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, CmsBlockStyle, 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, CmsSiteDesign, 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, ShortcutRecorder, 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, StarterKitUserMenuItem, 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, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, 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, customPageProps, 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, fileUploadEntries, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, fixedContainingBlockOffset, 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, isUndoFinished, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, itemExtraActions, 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, markFailedLazyWidgets, 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, overlayPlacementDirection, 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, shortcutsClash, 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, startDownload, 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, toStarterKitUserMenuItems, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, togglePushNotifications, 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 };
138
+ 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, CmsBlockStyle, CmsBreadcrumbSchema, CmsBuiltInBlocks, CmsCallToActionBlockData, CmsColumnsBlockData, CmsEditorStatusSchema, CmsEmbedBlockData, CmsFaqBlockData, CmsFeatureSchema, CmsFeaturesBlockData, CmsFormBlockData, CmsGalleryBlockData, CmsHeadTags, CmsHeroBlockData, CmsImageBlockData, CmsImageSchema, CmsLinkSchema, CmsLinkTag, CmsLivePreviewSchema, CmsMenuItemSchema, CmsMenuSchema, CmsMetaTag, CmsPageApiResponse, CmsPageProps, CmsPageSchema, CmsPayload, CmsPreviewDevice, CmsRichTextBlockData, CmsSectionBlockData, CmsSeoSchema, CmsSiteDesign, 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_CONTAINER_FROM, 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, ShortcutRecorder, 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, StarterKitDocumentSchema, StarterKitNavGroup, StarterKitNavItem, StarterKitNavigationSchema, StarterKitUserMenuItem, StarterKitWidgets, StarterKitWidgetsSchema, StatSchema, StatsOverviewWidgetSchema, StepSchema, StepValidationHaltedResponse, Store, StreamAnnouncer, StreamEvent, SubNavigationSchema, SuggestionEditor, SuggestionItem, SuggestionMatch, SuggestionState, SummaryValueSchema, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TOPBAR_END_SLOT_CLASS, 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, applyStarterKitDocument, 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, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, 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, contentGridClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, customPageProps, 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, fileUploadEntries, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, fixedContainingBlockOffset, 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, installStarterKitDocument, 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, isUndoFinished, isUndoShortcut, isValidShortcut, isolationDirection, itemActionContext, itemActionIcon, itemExtraActions, 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, markFailedLazyWidgets, 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, overlayPlacementDirection, 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, recordColumnSpanClasses, recordGridColumnsClasses, 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, shortcutsClash, 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, startDownload, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitDirection, starterKitDocument, starterKitNavigation, starterKitNavigations, starterKitPanelLocale, starterKitSidebarSide, 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, toStarterKitUserMenuItems, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, togglePushNotifications, 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
@@ -35,7 +35,7 @@ import { CALENDAR_ARGUMENTS_KEY, CALENDAR_EVENT_DROP_ACTION, CALENDAR_EVENT_RESI
35
35
  import { buildChartConfig, chartColorVariable, configureCharts, getChartFormatters, getChartPlugins, mergeChartOptions, observeThemeChanges, registerChartFormatters, registerChartPlugins, resetChartRegistrations, resolveChartCallbacks, resolveCssColor, withAlpha } from "./chart.js";
36
36
  import { POLL_HEADER, POLL_PROP, PollScheduler, mergePolledComponents, pollComponent, pollScheduler, reloadPolledComponents, widgetPollTarget } from "./poll.js";
37
37
  import { LAZY_PROP, LazyComponentCache, isLazyPlaceholder, lazyComponentCache, relationGroupBadgeTarget, relationManagerBadgeTarget, resolveDeferredBadge, resolveDeferredGroupBadge, resolveLazyComponents } from "./lazy.js";
38
- import { LocaleFormatter, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator } from "./i18n.js";
38
+ import { LocaleFormatter, Translator, applyDocumentLocale, collapsesLanguageSwitcher, currencyDecimals, formatPhpDate, isolationDirection, selectPlural, showsLanguageSwitcher, switchLocale, t, toAsciiDigits, translator } from "./i18n.js";
39
39
  import { CMS_BLOCK_PREFIX, CMS_BUILT_IN_BLOCKS, CMS_FOOTER_KEY, CMS_FORM_KEY, CMS_HEADER_KEY, CMS_PAGE_COMPONENT, cmsAspectClass, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, cmsGridClass, cmsHeadTags, cmsLinkRel, cmsPayload, cmsWidthClass, createCmsTranslator } from "./cms.js";
40
40
  import { PageMethodError, callPageMethod, distributePageFormErrors, firstErrors, getPageForm, onPageFormsChanged, optimistic, pageFormName, registerPageForm, uploadPageMethodFiles } from "./page-methods.js";
41
41
  import { CMS_PREVIEW_DEVICES, CMS_PREVIEW_STORAGE_KEY, CmsAutosave, callCmsAutosave, cmsPreviewFitsBeside, cmsPreviewOpensByDefault, cmsPreviewOpensOnLoad, cmsPreviewPaneWidth, rememberedCmsPreview, reserveCmsPreviewSpace } from "./cms-live-preview.js";
@@ -94,21 +94,23 @@ import { UndoShortcuts, bindUndo, isUndoFinished, isUndoShortcut, performUndo, s
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, markFailedLazyWidgets, standaloneDirection, standalonePageSchema, standalonePanelSchema } from "./standalone.js";
96
96
  import { STARTER_KIT_TOASTER_ID, currentStarterKitPanel, currentStarterKitPanelId, customPageProps, installStarterKitRuntime, isStarterKitPanel, preferCurrentStarterKitPanel, starterKitBreadcrumbsFromProps, starterKitNavigation, starterKitNavigations, syncStarterKitPage, toStarterKitBreadcrumbs, toStarterKitNavGroups, toStarterKitUserMenuItems, usesStarterKitHostLayout } from "./starter-kit.js";
97
+ import { applyStarterKitDocument, installStarterKitDocument, starterKitDirection, starterKitDocument, starterKitSidebarSide } from "./starter-kit-document.js";
97
98
  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
99
  import { groupTableRows, initialCollapsedGroups, toggleCollapsedGroup } from "./table-grouping.js";
99
100
  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
101
  import { activeTableView, groupTableViews, requestTableView, tableViewError, tableViewFollowUp, tableViewUrl, visitTableView } from "./table-views.js";
101
102
  import { BUILT_IN_COLORS, SEMANTIC_COLORS, applyAppearance, applyPanelColors, applyPanelFavicon, applyPanelTheme, customColorClasses, getStoredAppearance, initializeAppearance, isCustomColorName, panelAppearance, resolveAppearance, setAppearance, sidebarDefaultOpen } from "./theme.js";
103
+ import { TOPBAR_END_SLOT_CLASS } from "./topbar.js";
102
104
  import { initialTranslatableLocale, translatableLocaleField, translatableLocalesWithErrors } from "./translatable.js";
103
105
  import { TRANSLATION_MANAGER_REGISTRY_KEY, TranslationManagerController, translationCellValue } from "./translation-manager.js";
104
106
  import { TREE_REGISTRY_KEY, TreeController, cloneTreeNodes, dropTreeNode, flattenTreeStructure, moveTreeNode, treeParentKeys, treeSubtreeHeight, visibleTreeRows } from "./tree.js";
105
107
  import { ariaSort, fieldAria, fieldIds, logicalArrowKey, moveListItem, pageSelectionState, primaryColumnName, reorderOffset, selectAllState, withoutRequired } from "./utils/a11y.js";
106
108
  import { EditorAttachments } from "./utils/attachments.js";
107
109
  import { colorAlpha, colorToHex, formatColor, withColorAlpha } from "./utils/color.js";
108
- import { CONTAINER_BREAKPOINTS, containerColumnSpanClasses, containerGridColumnsClasses, flexItemClasses, flexLayoutClasses, hasContainerBreakpoints } from "./utils/container-breakpoints.js";
110
+ import { CONTAINER_BREAKPOINTS, RECORD_CONTAINER_FROM, containerColumnSpanClasses, containerGridColumnsClasses, contentGridClasses, flexItemClasses, flexLayoutClasses, hasContainerBreakpoints, recordColumnSpanClasses, recordGridColumnsClasses } from "./utils/container-breakpoints.js";
109
111
  import { wallClockNow } from "./utils/datetime.js";
110
112
  import { createLatestRequest } from "./utils/latest.js";
111
113
  import { applyMask } from "./utils/mask.js";
112
114
  import { DEFAULT_VIRTUALIZE_THRESHOLD, VIRTUAL_ESTIMATES, VirtualList, firstErroredItemIndex, hasNewErrors, virtualizeOptions } from "./virtual.js";
113
115
  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, ShortcutRecorder, 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, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, 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, customPageProps, 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, fileUploadEntries, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, fixedContainingBlockOffset, 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, isUndoFinished, isUndoShortcut, isValidShortcut, itemActionContext, itemActionIcon, itemExtraActions, 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, markFailedLazyWidgets, 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, overlayPlacementDirection, 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, shortcutsClash, 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, startDownload, 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, toStarterKitUserMenuItems, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, togglePushNotifications, 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 };
116
+ 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_CONTAINER_FROM, 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, ShortcutRecorder, ShortcutRegistry, SpreadsheetGrid, StandaloneComponentState, StreamAnnouncer, TABLE_TOOLBAR_BUTTONS, TENANT_MENU_COMPONENT, TOOLBAR_COMMANDS, TOPBAR_END_SLOT_CLASS, 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, applyStarterKitDocument, 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, cmsBlockAttributes, cmsBlockKey, cmsBlocks, cmsColumnsClass, cmsDesignCss, cmsDesignLinks, 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, contentGridClasses, copilotBlocks, countCodeLines, createAnalyticsTracker, createAnotherState, createCmsTranslator, createKanbanFiltersStore, createLatestRequest, createRule, createSchemaComponentContext, createStore, csrfHeader, cssAspectRatio, currencyDecimals, currentPageQuery, currentRecordVersion, currentSocketId, currentStarterKitPanel, currentStarterKitPanelId, customBlockNodeConfig, customColorClasses, customPageProps, 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, fileUploadEntries, fileUploadPaths, filesFromClipboard, filterBuilderBlocks, filterCommandPalette, filterFormComponents, filterQueryBuilderOptions, filterSelectColumnOptions, filterSuggestionItems, filterTenants, filtersAreDeferred, filtersCollapsible, filtersFormWidthClass, filtersPlacement, findAutofocusField, findConstraint, findFieldByPath, findGridContext, findOperator, findPageFormBlock, findStandalonePropName, findSuggestionMatch, firstErroredItemIndex, firstErrors, fixedContainingBlockOffset, 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, installStarterKitDocument, 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, isUndoFinished, isUndoShortcut, isValidShortcut, isolationDirection, itemActionContext, itemActionIcon, itemExtraActions, 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, markFailedLazyWidgets, 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, overlayPlacementDirection, 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, recordColumnSpanClasses, recordGridColumnsClasses, 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, shortcutsClash, 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, startDownload, startPwa, startSliderRangeDrag, startTableReordering, startUndoCountdown, starterKitBreadcrumbsFromProps, starterKitCopilot, starterKitDashboardWidgets, starterKitDirection, starterKitDocument, starterKitNavigation, starterKitNavigations, starterKitPanelLocale, starterKitSidebarSide, 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, toStarterKitUserMenuItems, toTsv, toggleButtonsNext, toggleButtonsSelected, toggleCollapsedGroup, toggleModalTableKey, togglePushNotifications, 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/prefetch.js CHANGED
@@ -60,11 +60,16 @@ function installPrefetchInvalidation() {
60
60
  if (typeof window === "undefined" || installed) return () => {};
61
61
  installed = true;
62
62
  let restoring = false;
63
+ let pendingReload = null;
63
64
  const onPopstate = () => {
64
65
  restoring = true;
66
+ pendingReload?.cancel();
67
+ pendingReload = null;
65
68
  };
66
69
  window.addEventListener("popstate", onPopstate);
67
- const removeStart = router.on("start", () => {
70
+ const removeStart = router.on("start", (event) => {
71
+ const visit = event.detail?.visit;
72
+ if ((visit?.only?.length ?? 0) > 0 || visit?.prefetch === true) return;
68
73
  restoring = false;
69
74
  });
70
75
  const removeFinish = router.on("finish", (event) => {
@@ -80,7 +85,13 @@ function installPrefetchInvalidation() {
80
85
  preserveState: false,
81
86
  replace: true,
82
87
  async: true,
83
- headers: { "Cache-Control": "no-cache" }
88
+ headers: { "Cache-Control": "no-cache" },
89
+ onCancelToken: (token) => {
90
+ pendingReload = token;
91
+ },
92
+ onFinish: () => {
93
+ pendingReload = null;
94
+ }
84
95
  });
85
96
  return;
86
97
  }
@@ -88,6 +99,8 @@ function installPrefetchInvalidation() {
88
99
  });
89
100
  return () => {
90
101
  installed = false;
102
+ pendingReload?.cancel();
103
+ pendingReload = null;
91
104
  window.removeEventListener("popstate", onPopstate);
92
105
  removeStart();
93
106
  removeFinish();
@@ -1 +1 @@
1
- {"version":3,"file":"prefetch.js","names":[],"sources":["../src/prefetch.ts"],"sourcesContent":["import { router } from '@inertiajs/core'\nimport { resolvePartialProps } from './partial-props'\nimport { buildTableUrl, type TableQuery } from './table'\nimport { invalidateTableTotals } from './table-totals'\n\n/**\n * How long a prefetched page is reused: navigation links (Inertia `<Link prefetch>`) and\n * a table's next page. Short, and dropped after every mutation.\n */\nexport const PREFETCH_CACHE_FOR = '10s'\n\n/**\n * Prefetch a table page (hovering or focusing \"next\") with the same visit `visitTable()`\n * makes, so the click is answered from the cache. Browser only.\n */\nexport function prefetchTablePage(\n identifier: string | undefined,\n changes: TableQuery,\n only: string[] = ['page'],\n): void {\n if (typeof window === 'undefined') return\n\n const resolved = resolvePartialProps(only)\n\n router.prefetch(\n buildTableUrl(window.location.href, identifier, changes),\n {\n preserveState: true,\n preserveScroll: true,\n replace: true,\n ...(resolved === undefined ? {} : { only: resolved }),\n },\n { cacheFor: PREFETCH_CACHE_FOR },\n )\n}\n\n/** Mutations so far; a page last shown before the latest one has stale props. */\nlet mutationCount = 0\n\n/** The mutation count when each URL was last shown. */\nconst shownAt = new Map<string, number>()\n\n/**\n * Drop prefetched pages and mark deferred table totals stale: records may have changed.\n */\nexport function invalidatePrefetchedPages(): void {\n if (typeof window === 'undefined') return\n\n mutationCount++\n router.flushAll()\n invalidateTableTotals()\n}\n\n/**\n * Internal endpoints that change records or what a page shows (actions, inline edits,\n * reordering, undo, page methods, saved views and column order: W-S2-14).\n */\nconst MUTATING_ENDPOINT =\n /\\/(?:actions(?:\\/undo)?|table\\/(?:cell|cells|reorder|views|columns)|pages\\/call)\\/?$/\n\n/** Whether a successful request to `url` with `method` may have changed records. */\nexport function isMutatingRequest(url: string, method: string): boolean {\n if (method.toUpperCase() === 'GET') return false\n\n try {\n return MUTATING_ENDPOINT.test(new URL(url, 'http://localhost').pathname)\n } catch {\n return false\n }\n}\n\nlet installed = false\n\n/**\n * Invalidate prefetched pages and table totals after every Inertia visit that is not a\n * GET (actions, form saves), and reload a page the browser's Back or Forward button\n * restores from history when records changed since it was shown: Inertia restores the\n * saved props without asking the server. Returns a function that removes the listeners.\n */\nexport function installPrefetchInvalidation(): () => void {\n // Panels and standalone components on one page share the listeners.\n if (typeof window === 'undefined' || installed) return () => {}\n\n installed = true\n let restoring = false\n const onPopstate = (): void => {\n restoring = true\n }\n window.addEventListener('popstate', onPopstate)\n\n // A visit started after the popstate (a hash-only change fires no navigate) is not a restore.\n const removeStart = router.on('start', () => {\n restoring = false\n })\n const removeFinish = router.on('finish', (event) => {\n if (event.detail.visit.method !== 'get') invalidatePrefetchedPages()\n })\n const removeNavigate = router.on('navigate', (event) => {\n const url = event.detail.page.url\n const restored = restoring\n restoring = false\n\n // A URL never shown in this page load may come from before it: reload it too.\n if (restored && (shownAt.get(url) ?? -1) < mutationCount) {\n // Without the restored state: forms fill their inputs when they mount, so a reload that\n // kept it showed the saved page's old values (a restored page has no unsaved input).\n // `router.reload()` always keeps the state, hence the visit.\n router.visit(window.location.href, {\n preserveScroll: true,\n preserveState: false,\n replace: true,\n async: true,\n headers: { 'Cache-Control': 'no-cache' },\n })\n return\n }\n\n shownAt.set(url, mutationCount)\n })\n\n return () => {\n installed = false\n window.removeEventListener('popstate', onPopstate)\n removeStart()\n removeFinish()\n removeNavigate()\n }\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,qBAAqB;;;;;AAMlC,SAAgB,kBACd,YACA,SACA,OAAiB,CAAC,MAAM,GAClB;CACN,IAAI,OAAO,WAAW,aAAa;CAEnC,MAAM,WAAW,oBAAoB,IAAI;CAEzC,OAAO,SACL,cAAc,OAAO,SAAS,MAAM,YAAY,OAAO,GACvD;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,GAAI,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,MAAM,SAAS;CACrD,GACA,EAAE,UAAA,MAA6B,CACjC;AACF;;AAGA,IAAI,gBAAgB;;AAGpB,MAAM,0BAAU,IAAI,IAAoB;;;;AAKxC,SAAgB,4BAAkC;CAChD,IAAI,OAAO,WAAW,aAAa;CAEnC;CACA,OAAO,SAAS;CAChB,sBAAsB;AACxB;;;;;AAMA,MAAM,oBACJ;;AAGF,SAAgB,kBAAkB,KAAa,QAAyB;CACtE,IAAI,OAAO,YAAY,MAAM,OAAO,OAAO;CAE3C,IAAI;EACF,OAAO,kBAAkB,KAAK,IAAI,IAAI,KAAK,kBAAkB,CAAC,CAAC,QAAQ;CACzE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,IAAI,YAAY;;;;;;;AAQhB,SAAgB,8BAA0C;CAExD,IAAI,OAAO,WAAW,eAAe,WAAW,aAAa,CAAC;CAE9D,YAAY;CACZ,IAAI,YAAY;CAChB,MAAM,mBAAyB;EAC7B,YAAY;CACd;CACA,OAAO,iBAAiB,YAAY,UAAU;CAG9C,MAAM,cAAc,OAAO,GAAG,eAAe;EAC3C,YAAY;CACd,CAAC;CACD,MAAM,eAAe,OAAO,GAAG,WAAW,UAAU;EAClD,IAAI,MAAM,OAAO,MAAM,WAAW,OAAO,0BAA0B;CACrE,CAAC;CACD,MAAM,iBAAiB,OAAO,GAAG,aAAa,UAAU;EACtD,MAAM,MAAM,MAAM,OAAO,KAAK;EAC9B,MAAM,WAAW;EACjB,YAAY;EAGZ,IAAI,aAAa,QAAQ,IAAI,GAAG,KAAK,MAAM,eAAe;GAIxD,OAAO,MAAM,OAAO,SAAS,MAAM;IACjC,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,OAAO;IACP,SAAS,EAAE,iBAAiB,WAAW;GACzC,CAAC;GACD;EACF;EAEA,QAAQ,IAAI,KAAK,aAAa;CAChC,CAAC;CAED,aAAa;EACX,YAAY;EACZ,OAAO,oBAAoB,YAAY,UAAU;EACjD,YAAY;EACZ,aAAa;EACb,eAAe;CACjB;AACF"}
1
+ {"version":3,"file":"prefetch.js","names":[],"sources":["../src/prefetch.ts"],"sourcesContent":["import { router } from '@inertiajs/core'\nimport { resolvePartialProps } from './partial-props'\nimport { buildTableUrl, type TableQuery } from './table'\nimport { invalidateTableTotals } from './table-totals'\n\n/**\n * How long a prefetched page is reused: navigation links (Inertia `<Link prefetch>`) and\n * a table's next page. Short, and dropped after every mutation.\n */\nexport const PREFETCH_CACHE_FOR = '10s'\n\n/**\n * Prefetch a table page (hovering or focusing \"next\") with the same visit `visitTable()`\n * makes, so the click is answered from the cache. Browser only.\n */\nexport function prefetchTablePage(\n identifier: string | undefined,\n changes: TableQuery,\n only: string[] = ['page'],\n): void {\n if (typeof window === 'undefined') return\n\n const resolved = resolvePartialProps(only)\n\n router.prefetch(\n buildTableUrl(window.location.href, identifier, changes),\n {\n preserveState: true,\n preserveScroll: true,\n replace: true,\n ...(resolved === undefined ? {} : { only: resolved }),\n },\n { cacheFor: PREFETCH_CACHE_FOR },\n )\n}\n\n/** Mutations so far; a page last shown before the latest one has stale props. */\nlet mutationCount = 0\n\n/** The mutation count when each URL was last shown. */\nconst shownAt = new Map<string, number>()\n\n/**\n * Drop prefetched pages and mark deferred table totals stale: records may have changed.\n */\nexport function invalidatePrefetchedPages(): void {\n if (typeof window === 'undefined') return\n\n mutationCount++\n router.flushAll()\n invalidateTableTotals()\n}\n\n/**\n * Internal endpoints that change records or what a page shows (actions, inline edits,\n * reordering, undo, page methods, saved views and column order: W-S2-14).\n */\nconst MUTATING_ENDPOINT =\n /\\/(?:actions(?:\\/undo)?|table\\/(?:cell|cells|reorder|views|columns)|pages\\/call)\\/?$/\n\n/** Whether a successful request to `url` with `method` may have changed records. */\nexport function isMutatingRequest(url: string, method: string): boolean {\n if (method.toUpperCase() === 'GET') return false\n\n try {\n return MUTATING_ENDPOINT.test(new URL(url, 'http://localhost').pathname)\n } catch {\n return false\n }\n}\n\nlet installed = false\n\n/**\n * Invalidate prefetched pages and table totals after every Inertia visit that is not a\n * GET (actions, form saves), and reload a page the browser's Back or Forward button\n * restores from history when records changed since it was shown: Inertia restores the\n * saved props without asking the server. Returns a function that removes the listeners.\n */\nexport function installPrefetchInvalidation(): () => void {\n // Panels and standalone components on one page share the listeners.\n if (typeof window === 'undefined' || installed) return () => {}\n\n installed = true\n let restoring = false\n // The reload of a restored page still in flight. Another Back or Forward cancels it: its\n // response would replace the history entry the browser has moved on to.\n let pendingReload: { cancel(): void } | null = null\n const onPopstate = (): void => {\n restoring = true\n pendingReload?.cancel()\n pendingReload = null\n }\n window.addEventListener('popstate', onPopstate)\n\n // A visit started after the popstate (a hash-only change fires no navigate) is not a restore.\n // Partial reloads (deferred props, navigation badges) and prefetches the restored page starts\n // itself are not new visits: they leave the restore pending.\n const removeStart = router.on('start', (event) => {\n const visit = (event as { detail?: { visit?: { only?: unknown[]; prefetch?: boolean } } })\n .detail?.visit\n\n if ((visit?.only?.length ?? 0) > 0 || visit?.prefetch === true) return\n\n restoring = false\n })\n const removeFinish = router.on('finish', (event) => {\n if (event.detail.visit.method !== 'get') invalidatePrefetchedPages()\n })\n const removeNavigate = router.on('navigate', (event) => {\n const url = event.detail.page.url\n const restored = restoring\n restoring = false\n\n // A URL never shown in this page load may come from before it: reload it too.\n if (restored && (shownAt.get(url) ?? -1) < mutationCount) {\n // Without the restored state: forms fill their inputs when they mount, so a reload that\n // kept it showed the saved page's old values (a restored page has no unsaved input).\n // `router.reload()` always keeps the state, hence the visit.\n router.visit(window.location.href, {\n preserveScroll: true,\n preserveState: false,\n replace: true,\n async: true,\n headers: { 'Cache-Control': 'no-cache' },\n onCancelToken: (token) => {\n pendingReload = token\n },\n onFinish: () => {\n pendingReload = null\n },\n })\n return\n }\n\n shownAt.set(url, mutationCount)\n })\n\n return () => {\n installed = false\n pendingReload?.cancel()\n pendingReload = null\n window.removeEventListener('popstate', onPopstate)\n removeStart()\n removeFinish()\n removeNavigate()\n }\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,qBAAqB;;;;;AAMlC,SAAgB,kBACd,YACA,SACA,OAAiB,CAAC,MAAM,GAClB;CACN,IAAI,OAAO,WAAW,aAAa;CAEnC,MAAM,WAAW,oBAAoB,IAAI;CAEzC,OAAO,SACL,cAAc,OAAO,SAAS,MAAM,YAAY,OAAO,GACvD;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,GAAI,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,MAAM,SAAS;CACrD,GACA,EAAE,UAAA,MAA6B,CACjC;AACF;;AAGA,IAAI,gBAAgB;;AAGpB,MAAM,0BAAU,IAAI,IAAoB;;;;AAKxC,SAAgB,4BAAkC;CAChD,IAAI,OAAO,WAAW,aAAa;CAEnC;CACA,OAAO,SAAS;CAChB,sBAAsB;AACxB;;;;;AAMA,MAAM,oBACJ;;AAGF,SAAgB,kBAAkB,KAAa,QAAyB;CACtE,IAAI,OAAO,YAAY,MAAM,OAAO,OAAO;CAE3C,IAAI;EACF,OAAO,kBAAkB,KAAK,IAAI,IAAI,KAAK,kBAAkB,CAAC,CAAC,QAAQ;CACzE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,IAAI,YAAY;;;;;;;AAQhB,SAAgB,8BAA0C;CAExD,IAAI,OAAO,WAAW,eAAe,WAAW,aAAa,CAAC;CAE9D,YAAY;CACZ,IAAI,YAAY;CAGhB,IAAI,gBAA2C;CAC/C,MAAM,mBAAyB;EAC7B,YAAY;EACZ,eAAe,OAAO;EACtB,gBAAgB;CAClB;CACA,OAAO,iBAAiB,YAAY,UAAU;CAK9C,MAAM,cAAc,OAAO,GAAG,UAAU,UAAU;EAChD,MAAM,QAAS,MACZ,QAAQ;EAEX,KAAK,OAAO,MAAM,UAAU,KAAK,KAAK,OAAO,aAAa,MAAM;EAEhE,YAAY;CACd,CAAC;CACD,MAAM,eAAe,OAAO,GAAG,WAAW,UAAU;EAClD,IAAI,MAAM,OAAO,MAAM,WAAW,OAAO,0BAA0B;CACrE,CAAC;CACD,MAAM,iBAAiB,OAAO,GAAG,aAAa,UAAU;EACtD,MAAM,MAAM,MAAM,OAAO,KAAK;EAC9B,MAAM,WAAW;EACjB,YAAY;EAGZ,IAAI,aAAa,QAAQ,IAAI,GAAG,KAAK,MAAM,eAAe;GAIxD,OAAO,MAAM,OAAO,SAAS,MAAM;IACjC,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,OAAO;IACP,SAAS,EAAE,iBAAiB,WAAW;IACvC,gBAAgB,UAAU;KACxB,gBAAgB;IAClB;IACA,gBAAgB;KACd,gBAAgB;IAClB;GACF,CAAC;GACD;EACF;EAEA,QAAQ,IAAI,KAAK,aAAa;CAChC,CAAC;CAED,aAAa;EACX,YAAY;EACZ,eAAe,OAAO;EACtB,gBAAgB;EAChB,OAAO,oBAAoB,YAAY,UAAU;EACjD,YAAY;EACZ,aAAa;EACb,eAAe;CACjB;AACF"}
@@ -147,9 +147,9 @@ export type SonnerPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-l
147
147
  /**
148
148
  * The direction overlays anchored to a screen edge (the toaster, the schema inspector's
149
149
  * sheet) are placed by: the panel's reading direction, except in starter kit mode, where
150
- * the host app owns `<html dir>` and its layout (the kit's sidebar stays on the left in a
151
- * right-to-left panel language). There they take the document's side, so "top end" never
152
- * lands on the kit's sidebar, while their content keeps the panel's direction (W-D-03).
150
+ * they take the document's side (`<html dir>`, from the shared `alfakitDocument`; an app
151
+ * whose root view or sidebar was not updated may still be left to right), so "top end"
152
+ * never lands on the kit's sidebar, while their content keeps the panel's direction (W-D-03).
153
153
  */
154
154
  export declare function overlayPlacementDirection(direction: 'ltr' | 'rtl', starterKit: boolean | undefined): 'ltr' | 'rtl';
155
155
  /**
package/dist/realtime.js CHANGED
@@ -241,9 +241,9 @@ const PANEL_TOAST_OFFSET = { top: "4.5rem" };
241
241
  /**
242
242
  * The direction overlays anchored to a screen edge (the toaster, the schema inspector's
243
243
  * sheet) are placed by: the panel's reading direction, except in starter kit mode, where
244
- * the host app owns `<html dir>` and its layout (the kit's sidebar stays on the left in a
245
- * right-to-left panel language). There they take the document's side, so "top end" never
246
- * lands on the kit's sidebar, while their content keeps the panel's direction (W-D-03).
244
+ * they take the document's side (`<html dir>`, from the shared `alfakitDocument`; an app
245
+ * whose root view or sidebar was not updated may still be left to right), so "top end"
246
+ * never lands on the kit's sidebar, while their content keeps the panel's direction (W-D-03).
247
247
  */
248
248
  function overlayPlacementDirection(direction, starterKit) {
249
249
  if (starterKit !== true) return direction;