@burojs/ui-shadcn 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/candidates-gate-Bb70LPAy.js +135 -0
  2. package/dist/candidates-gate-Bb70LPAy.js.map +1 -0
  3. package/dist/candidates-gate-D33jXLHO.cjs +153 -0
  4. package/dist/candidates-gate-D33jXLHO.cjs.map +1 -0
  5. package/dist/candidates-relation-picker-B116Bmqi.js +31 -0
  6. package/dist/candidates-relation-picker-B116Bmqi.js.map +1 -0
  7. package/dist/candidates-relation-picker-Cy0rTxvI.cjs +31 -0
  8. package/dist/candidates-relation-picker-Cy0rTxvI.cjs.map +1 -0
  9. package/dist/{check-confirm-dialog-BRByTFpg.cjs → check-confirm-dialog--gPFnEeg.cjs} +27 -14
  10. package/dist/check-confirm-dialog--gPFnEeg.cjs.map +1 -0
  11. package/dist/{check-confirm-dialog-CkaVTPT9.js → check-confirm-dialog-bRT8lt0d.js} +28 -15
  12. package/dist/check-confirm-dialog-bRT8lt0d.js.map +1 -0
  13. package/dist/{filter-builder-DOnaXNfP.js → filter-builder-Bhn-dhZV.js} +30 -14
  14. package/dist/filter-builder-Bhn-dhZV.js.map +1 -0
  15. package/dist/{filter-builder-B3mZFL-K.cjs → filter-builder-nXqtM_h4.cjs} +39 -11
  16. package/dist/filter-builder-nXqtM_h4.cjs.map +1 -0
  17. package/dist/{flow-runtime-B6zOHYqI.cjs → flow-runtime-D3avVH0I.cjs} +3 -3
  18. package/dist/{flow-runtime-B6zOHYqI.cjs.map → flow-runtime-D3avVH0I.cjs.map} +1 -1
  19. package/dist/{flow-runtime-D8h99FSg.js → flow-runtime-s6lkRPKF.js} +3 -3
  20. package/dist/{flow-runtime-D8h99FSg.js.map → flow-runtime-s6lkRPKF.js.map} +1 -1
  21. package/dist/{flow-screen-CmbARSqg.js → flow-screen-CCvgDI9G.js} +11 -8
  22. package/dist/flow-screen-CCvgDI9G.js.map +1 -0
  23. package/dist/{flow-screen-CX05b3G9.cjs → flow-screen-Ci_Sik4Y.cjs} +10 -7
  24. package/dist/flow-screen-Ci_Sik4Y.cjs.map +1 -0
  25. package/dist/index.cjs +577 -56
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +181 -103
  28. package/dist/index.d.ts +181 -103
  29. package/dist/index.js +567 -45
  30. package/dist/index.js.map +1 -1
  31. package/dist/{inline-flow-host-C3H2UpSA.js → inline-flow-host-B6FI0ctQ.js} +3 -3
  32. package/dist/{inline-flow-host-C3H2UpSA.js.map → inline-flow-host-B6FI0ctQ.js.map} +1 -1
  33. package/dist/{inline-flow-host-B7U1OJUe.cjs → inline-flow-host-DV1et3c6.cjs} +3 -3
  34. package/dist/{inline-flow-host-B7U1OJUe.cjs.map → inline-flow-host-DV1et3c6.cjs.map} +1 -1
  35. package/dist/label-66W1qbke.js.map +1 -1
  36. package/dist/label-w6JYf2cF.cjs.map +1 -1
  37. package/dist/markdown/index.d.cts +2 -3
  38. package/dist/markdown/index.d.ts +2 -3
  39. package/dist/{page-flow-route-CQ7HsbBm.cjs → page-flow-route-hdnULWqd.cjs} +6 -6
  40. package/dist/{page-flow-route-CQ7HsbBm.cjs.map → page-flow-route-hdnULWqd.cjs.map} +1 -1
  41. package/dist/{page-flow-route-CyXSvXSE.js → page-flow-route-i3ZfJ1sd.js} +6 -6
  42. package/dist/{page-flow-route-CyXSvXSE.js.map → page-flow-route-i3ZfJ1sd.js.map} +1 -1
  43. package/dist/{place-node-SIp4XYQH.cjs → place-node-C5SmIAYU.cjs} +441 -135
  44. package/dist/place-node-C5SmIAYU.cjs.map +1 -0
  45. package/dist/{place-node--GdsP688.js → place-node-NraNYKPx.js} +420 -138
  46. package/dist/place-node-NraNYKPx.js.map +1 -0
  47. package/dist/{related-list-cards-B6x9HQQp.js → related-list-cards-BWZ9GfOG.js} +3 -3
  48. package/dist/{related-list-cards-B6x9HQQp.js.map → related-list-cards-BWZ9GfOG.js.map} +1 -1
  49. package/dist/{related-list-cards-nxuODlIA.cjs → related-list-cards-CFq3meUn.cjs} +3 -3
  50. package/dist/{related-list-cards-nxuODlIA.cjs.map → related-list-cards-CFq3meUn.cjs.map} +1 -1
  51. package/dist/{related-list-timeline-BYJKEbmA.cjs → related-list-timeline-CCzl71aA.cjs} +2 -2
  52. package/dist/{related-list-timeline-BYJKEbmA.cjs.map → related-list-timeline-CCzl71aA.cjs.map} +1 -1
  53. package/dist/{related-list-timeline-DEdfd-rr.js → related-list-timeline-yrPsjA3F.js} +2 -2
  54. package/dist/{related-list-timeline-DEdfd-rr.js.map → related-list-timeline-yrPsjA3F.js.map} +1 -1
  55. package/dist/{related-rows-zh5f_4QR.cjs → related-rows-ea43qhhy.cjs} +10 -11
  56. package/dist/related-rows-ea43qhhy.cjs.map +1 -0
  57. package/dist/{related-rows-B4levHcR.js → related-rows-o0_t-Yce.js} +7 -8
  58. package/dist/related-rows-o0_t-Yce.js.map +1 -0
  59. package/dist/{relation-create-BOaUe12G.cjs → relation-create-IA40t1hi.cjs} +10 -8
  60. package/dist/relation-create-IA40t1hi.cjs.map +1 -0
  61. package/dist/{relation-create-Bg-eEJLs.js → relation-create-h6F9B4C4.js} +10 -8
  62. package/dist/relation-create-h6F9B4C4.js.map +1 -0
  63. package/dist/{relation-many-picker-B-NCEUgX.cjs → relation-many-picker-C8zFEjwd.cjs} +14 -12
  64. package/dist/relation-many-picker-C8zFEjwd.cjs.map +1 -0
  65. package/dist/{relation-many-picker-gdAOD-qK.js → relation-many-picker-bvkjkv-k.js} +13 -11
  66. package/dist/relation-many-picker-bvkjkv-k.js.map +1 -0
  67. package/dist/{relation-picker-BAY77ivO.js → relation-picker-Z0ZJJ5uS.js} +68 -37
  68. package/dist/relation-picker-Z0ZJJ5uS.js.map +1 -0
  69. package/dist/{relation-picker-dialog-M0pQaWlp.cjs → relation-picker-dialog-0IzkjmiA.cjs} +17 -13
  70. package/dist/relation-picker-dialog-0IzkjmiA.cjs.map +1 -0
  71. package/dist/{relation-picker-dialog-hA9rYrZB.js → relation-picker-dialog-B6nIiJBf.js} +18 -14
  72. package/dist/relation-picker-dialog-B6nIiJBf.js.map +1 -0
  73. package/dist/{relation-picker-Da_uhFvA.cjs → relation-picker-gag0qSR5.cjs} +74 -37
  74. package/dist/relation-picker-gag0qSR5.cjs.map +1 -0
  75. package/dist/{resource-page-router-T4vS5gbJ.js → resource-page-router-3RUf9d1j.js} +44 -38
  76. package/dist/resource-page-router-3RUf9d1j.js.map +1 -0
  77. package/dist/{resource-page-router-OSQyRA5b.cjs → resource-page-router-PXfMW9nh.cjs} +42 -36
  78. package/dist/resource-page-router-PXfMW9nh.cjs.map +1 -0
  79. package/dist/{search-access-CURsWn-U.js → search-access-CPPmfuvy.js} +4 -19
  80. package/dist/search-access-CPPmfuvy.js.map +1 -0
  81. package/dist/{search-access-B7G5oR8n.cjs → search-access-Dugvttlg.cjs} +3 -24
  82. package/dist/search-access-Dugvttlg.cjs.map +1 -0
  83. package/dist/{toaster-CfCRLgR-.js → toaster-C02XbB9r.js} +30 -59
  84. package/dist/toaster-C02XbB9r.js.map +1 -0
  85. package/dist/{toaster-C7CiYA4Z.cjs → toaster-Cr51X7bz.cjs} +30 -83
  86. package/dist/toaster-Cr51X7bz.cjs.map +1 -0
  87. package/dist/{use-dialog-filter-state-BDcgS5Oz.js → use-dialog-filter-state-C--oMAZG.js} +2 -2
  88. package/dist/{use-dialog-filter-state-BDcgS5Oz.js.map → use-dialog-filter-state-C--oMAZG.js.map} +1 -1
  89. package/dist/{use-dialog-filter-state-BBCC0OEK.cjs → use-dialog-filter-state-Dhe8PcB5.cjs} +2 -2
  90. package/dist/{use-dialog-filter-state-BBCC0OEK.cjs.map → use-dialog-filter-state-Dhe8PcB5.cjs.map} +1 -1
  91. package/dist/use-theme-DFlpXils.cjs.map +1 -1
  92. package/dist/use-theme-dnE3Od3I.js.map +1 -1
  93. package/package.json +9 -9
  94. package/dist/candidates-gate-CX2PBu6l.js +0 -63
  95. package/dist/candidates-gate-CX2PBu6l.js.map +0 -1
  96. package/dist/candidates-gate-DiFI52r7.cjs +0 -70
  97. package/dist/candidates-gate-DiFI52r7.cjs.map +0 -1
  98. package/dist/candidates-relation-picker-CBsVcnPR.js +0 -82
  99. package/dist/candidates-relation-picker-CBsVcnPR.js.map +0 -1
  100. package/dist/candidates-relation-picker-Dd_GVLlu.cjs +0 -84
  101. package/dist/candidates-relation-picker-Dd_GVLlu.cjs.map +0 -1
  102. package/dist/check-confirm-dialog-BRByTFpg.cjs.map +0 -1
  103. package/dist/check-confirm-dialog-CkaVTPT9.js.map +0 -1
  104. package/dist/filter-builder-B3mZFL-K.cjs.map +0 -1
  105. package/dist/filter-builder-DOnaXNfP.js.map +0 -1
  106. package/dist/flow-screen-CX05b3G9.cjs.map +0 -1
  107. package/dist/flow-screen-CmbARSqg.js.map +0 -1
  108. package/dist/lazy-relation-picker-dialog-2oxnA6IR.js +0 -14
  109. package/dist/lazy-relation-picker-dialog-2oxnA6IR.js.map +0 -1
  110. package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs +0 -19
  111. package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs.map +0 -1
  112. package/dist/peek-filter-CnqHwTMU.cjs +0 -51
  113. package/dist/peek-filter-CnqHwTMU.cjs.map +0 -1
  114. package/dist/peek-filter-ErLfO153.js +0 -28
  115. package/dist/peek-filter-ErLfO153.js.map +0 -1
  116. package/dist/place-node--GdsP688.js.map +0 -1
  117. package/dist/place-node-SIp4XYQH.cjs.map +0 -1
  118. package/dist/related-rows-B4levHcR.js.map +0 -1
  119. package/dist/related-rows-zh5f_4QR.cjs.map +0 -1
  120. package/dist/relation-create-BOaUe12G.cjs.map +0 -1
  121. package/dist/relation-create-Bg-eEJLs.js.map +0 -1
  122. package/dist/relation-many-picker-B-NCEUgX.cjs.map +0 -1
  123. package/dist/relation-many-picker-gdAOD-qK.js.map +0 -1
  124. package/dist/relation-picker-BAY77ivO.js.map +0 -1
  125. package/dist/relation-picker-Da_uhFvA.cjs.map +0 -1
  126. package/dist/relation-picker-dialog-M0pQaWlp.cjs.map +0 -1
  127. package/dist/relation-picker-dialog-hA9rYrZB.js.map +0 -1
  128. package/dist/resource-page-router-OSQyRA5b.cjs.map +0 -1
  129. package/dist/resource-page-router-T4vS5gbJ.js.map +0 -1
  130. package/dist/search-access-B7G5oR8n.cjs.map +0 -1
  131. package/dist/search-access-CURsWn-U.js.map +0 -1
  132. package/dist/toaster-C7CiYA4Z.cjs.map +0 -1
  133. package/dist/toaster-CfCRLgR-.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as THEME_STORAGE_KEY } from "./theme-storage-key-pYlp4aDS.js";
2
- import { ActionDensity, AnyFrameHandle, AppRuntime, AuthResult, Check, CheckSurface, CustomPageDef, DraftOption, EntityRef, ErasedResourceHandle, ExportArtifact, ExportTarget, FieldDeclaration, FilterExpression, FilterGroup, FilterOperator, FixedFilterInput, FormBody, FrameHandle, HrefOpts, I18nCaps, NavGroupDef, NavNode, PortableValue, RelationOpen, ResolvedFixedFilter, ResourceDef, ResourceFieldMap, ResourceHandle, RouteMatch, SavedViewDef, ScreenMode, ScreenSources, SearchDecl, SectionDef, SortExpression, StandardSchemaV1, TaskRunReport, UiSettingsIssue, ValidationIssues, ValueCodec, i18nPrefixToRef } from "@burojs/core";
2
+ import { ActionDensity, AnyFrameHandle, AppRuntime, AuthResult, Check, CheckSurface, CustomPageDef, DraftOption, EntityRef, ErasedResourceHandle, ExportArtifact, ExportTarget, FieldDeclaration, FilterExpression, FilterGroup, FilterOperator, FixedFilterInput, FormBody, FrameHandle, HrefOpts, I18nCaps, NavGroupDef, NavNode, PortableValue, RelationCandidate, RelationOpen, ResolvedFixedFilter, ResourceDef, ResourceFieldMap, ResourceHandle, RouteMatch, SavedViewDef, ScopeSource, ScreenMode, ScreenSources, SearchDecl, SectionDef, SortExpression, StandardSchemaV1, TaskRunReport, UiSettingsIssue, ValidationIssues, ValueCodec, i18nPrefixToRef } from "@burojs/core";
3
3
  import { BlockImplementationCatalog, CheckGateState, CollectionDisplayProps, CollectionInputProps, DEFAULT_LANGUAGE_STORAGE_KEY, FieldBinding, FieldImplementation, FieldImplementationLayout, FieldPresentation, FilterFieldSpec, FilterKind, FormValues, QuickSettledRow, RowRecord, SavedViewEntry, ScalarDisplayProps, ScalarInputProps, UIPresentationHostProps, UIPresentationHosts, UseFormControllerFormOptions, modeForSurface, useApp, useOptionalT, useTestIds } from "@burojs/react";
4
4
  import * as React$1 from "react";
5
5
  import { AnchorHTMLAttributes, ComponentProps, ComponentType, JSX, ReactElement, ReactNode, SVGProps } from "react";
@@ -110,9 +110,9 @@ interface DocTrailHelpProps {
110
110
  *
111
111
  * Two things it does that per-entity icons structurally cannot:
112
112
  *
113
- * - **The trail is a CHAIN.** «Документы › wo:2921 › Коды» names two
113
+ * - **The trail is a CHAIN.** «Documents › wo:2921 › Codes» names two
114
114
  * documented resources, and one control can offer both.
115
- * - **It survives sub-pages.** On «Документы › Создание» there is no record and
115
+ * - **It survives sub-pages.** On «Documents › Creation» there is no record and
116
116
  * no fields yet, but the reader can still reach the resource's help — which
117
117
  * is exactly when they are most likely to want it.
118
118
  *
@@ -257,9 +257,9 @@ interface NavMainProps {
257
257
  *
258
258
  * `null` renders NO heading — the entries sit bare above the first named
259
259
  * section. That is the right shape when the block holds the two or three
260
- * places a user starts from («Главная», the codes, the products): an eyebrow
261
- * over them has to invent a category, and every word that fits («Ресурсы»,
262
- * «Разное») is less informative than the item names already are.
260
+ * places a user starts from («Home», the codes, the products): an eyebrow
261
+ * over them has to invent a category, and every word that fits («Resources»,
262
+ * «Misc») is less informative than the item names already are.
263
263
  *
264
264
  * Omitted → the framework's own `nav.resources` string, as before.
265
265
  */
@@ -552,10 +552,10 @@ declare function RecordPage(props: RecordPageProps): ReactElement;
552
552
  declare function RecordBreadcrumbs(): ReactElement | null;
553
553
  //#endregion
554
554
  //#region src/record/record-screen.d.ts
555
- type AnyResourceHandle = ResourceHandle<any, any, any, any>;
555
+ type AnyResourceHandle$1 = ResourceHandle<any, any, any, any>;
556
556
  interface RecordScreenProps {
557
557
  /** A canonical resource name, or its handle. */
558
- readonly resource: string | AnyResourceHandle;
558
+ readonly resource: string | AnyResourceHandle$1;
559
559
  readonly mode: 'show' | 'edit' | 'create';
560
560
  /** The record to read (show, edit); not needed when `record` is given. */
561
561
  readonly recordId?: string;
@@ -737,75 +737,14 @@ declare function LanguageSwitch({ onChange, className }: LanguageSwitchProps): R
737
737
  //#endregion
738
738
  //#region src/layout/language-storage.d.ts
739
739
  /**
740
- * Legacy RU/EN-only pair. `<LanguageSwitch>` itself no longer uses these —
741
- * see its own docblock. New code that needs an arbitrary (not just 'en'/'ru')
742
- * locale code should use `loadLocale`/`saveLocale` instead.
743
- *
744
- * ⚠️ **THE ARGUMENT THAT FROZE THIS PAIR EXPIRED WHEN SP9 DELETED THE TWO
745
- * APPLICATIONS, and the replacement argument is weaker.** Until then this
746
- * block said that `apps/playground` and `apps/l2-web-ui` hand-rolled their own
747
- * two-language dropdown submenu against `loadLanguage`/`saveLanguage`/
748
- * `LanguageCode`/`DEFAULT_LANGUAGE` directly, so narrowing or reshaping them
749
- * would break real, working code outside this package. Both applications are
750
- * gone (`docs/departing-apps.md`). Measured again after SP9 task 10, over the
751
- * whole repository:
752
- *
753
- * - `loadLanguage` has exactly ONE consumer left — `fields/format.ts`, the
754
- * no-provider locale fallback for the `Intl` renderers, which keeps it
755
- * deliberately (`ru-RU` and `en-US` are both real answers for a formatter
756
- * and neither is neutral). Task 10 removed the other two:
757
- * `notification/notification-provider.ts` reads `loadLocale()` and
758
- * `resource/list-error-state.tsx` reads the live `useLocale()`, because an
759
- * app registering `en`/`es`/`fr` was served the RUSSIAN error catalogue
760
- * through this pair's `'ru'` default — in every locale and on every first
761
- * visit;
762
- * - `saveLanguage`, `LanguageCode` and `DEFAULT_LANGUAGE` have **no consumer
763
- * in any application or example**, only this package's own tests.
764
- *
765
- * They are still exported, so reshaping them is still a published-API break
766
- * needing a `minor` changeset that says "breaking" — but it is no longer
767
- * blocked by an in-repository consumer, which is what the old sentence
768
- * claimed.
769
- */
770
- type LanguageCode = 'en' | 'ru';
771
- /**
772
- * Default locale applied when the user has NOT explicitly chosen a
773
- * language yet (fresh visit / no stored preference / SSR). The default
774
- * targets a Russian-first app, so a first visit renders in
775
- * `'ru'`; picking `EN` in the legacy two-language submenu persists the
776
- * choice and it takes precedence on every subsequent load.
777
- */
778
- declare const DEFAULT_LANGUAGE: LanguageCode;
779
- /**
780
- * Read the stored language preference. Returns {@link DEFAULT_LANGUAGE}
781
- * (`'ru'`) when nothing is stored (or when localStorage is unavailable,
782
- * e.g. SSR / disabled) so a fresh visit is Russian-first.
783
- *
784
- * Legacy, RU/EN-only — see {@link LanguageCode}'s docblock. Exported so
785
- * consumers can read the same value during provider boot (before the React
786
- * tree mounts) — typical use is to feed the result into
787
- * `createI18nextAdapter({ defaultLocale })` so the initial render is already
788
- * in the correct language.
789
- */
790
- declare function loadLanguage(storageKey?: string): LanguageCode;
791
- /**
792
- * Persist the language preference. Legacy, RU/EN-only — see
793
- * {@link LanguageCode}'s docblock, which also records that its last two
794
- * in-repository callers (the departing applications' two-language dropdown
795
- * submenus) left with SP9. Exported so consumer apps can call it from custom
796
- * UI without importing a component; nothing in this repository calls it
797
- * outside this package's own tests.
798
- */
799
- declare function saveLanguage(code: LanguageCode, storageKey?: string): void;
800
- /**
801
- * Read an arbitrary locale code (not restricted to 'en'/'ru') under a
802
- * localStorage key. Returns `undefined` when nothing is stored, unavailable,
803
- * or empty — unlike {@link loadLanguage} there is no fixed two-code default
804
- * to fall back to, so the caller (which knows its own registry) decides what
805
- * "nothing chosen yet" means.
740
+ * Read the locale code a previous session persisted under a localStorage key.
741
+ * Returns `undefined` when nothing is stored or storage is unavailable (SSR,
742
+ * disabled). There is no default here: the caller knows its own registry, so
743
+ * it decides what "nothing chosen yet" means — normally `registry.primary()`.
744
+ * The stored code is untrusted; validate it against `registry.locales()`.
806
745
  */
807
746
  declare function loadLocale(storageKey?: string): string | undefined;
808
- /** Persist an arbitrary locale code. Generic counterpart to {@link saveLanguage}. */
747
+ /** Persist a locale code. Counterpart to {@link loadLocale}. */
809
748
  declare function saveLocale(code: string, storageKey?: string): void;
810
749
  //#endregion
811
750
  //#region src/layout/breadcrumbs.d.ts
@@ -1738,9 +1677,9 @@ interface ToasterProps extends ToasterProps$1 {}
1738
1677
  *
1739
1678
  * Bound to design tokens via `toastOptions.classNames`, so toasts inherit the
1740
1679
  * app's light/dark theme through the same CSS-variable cascade as the rest of
1741
- * the UI; `theme` is reactive via `useTheme()`. The error catalogue follows the
1742
- * ACTIVE i18n locale, read per toast so a language switch is honoured; with no
1743
- * i18n provider it falls back to the locale `<LanguageSwitch>` persisted.
1680
+ * the UI; `theme` is reactive via `useTheme()`. The error sentences come from
1681
+ * the ACTIVE bundle (`requestError.*`), read per toast so a language switch is
1682
+ * honoured; with no i18n provider they are the English defaults.
1744
1683
  */
1745
1684
  declare function Toaster(props: ToasterProps): React.ReactElement;
1746
1685
  //#endregion
@@ -1839,6 +1778,8 @@ interface FieldRendererProps {
1839
1778
  meta?: Record<string, unknown>;
1840
1779
  ui?: Record<string, unknown>;
1841
1780
  codec?: ValueCodec<unknown, unknown, unknown>;
1781
+ /** The field's declared `texts`; an option's label is read from it (`fieldOptionText`). */
1782
+ texts?: unknown;
1842
1783
  };
1843
1784
  options?: Array<{
1844
1785
  value: string;
@@ -1854,6 +1795,12 @@ interface FieldRendererProps {
1854
1795
  * and that adapter throws rather than emit a URL with `undefined` in it.
1855
1796
  */
1856
1797
  resource?: string;
1798
+ /**
1799
+ * Registry key of the resource this field belongs to, namespace included (`crm:docs`; a
1800
+ * default-namespace resource keeps its short name). `resource` may be the bare id; a display
1801
+ * that looks the owner up in the registry (a link field's) reads this first.
1802
+ */
1803
+ owner?: string;
1857
1804
  /**
1858
1805
  * The record this field is being rendered for. Absent on a create form,
1859
1806
  * where no record exists yet.
@@ -1998,7 +1945,7 @@ declare function TextareaInput({ name, id, value, onChange, testid, placeholder,
1998
1945
  * `<ResourceList>`.
1999
1946
  *
2000
1947
  * `underline-offset-4` is intentional (vs the more common `-2`) to
2001
- * clear descenders on Cyrillic glyphs (e.g. "ц" / "р") seen in our
1948
+ * clear the descenders of non-Latin glyphs seen in our
2002
1949
  * playground's Locations column.
2003
1950
  */
2004
1951
  declare const relationLinkClassName = "rounded text-foreground underline decoration-muted-foreground/40 decoration-dotted underline-offset-4 transition-all hover:decoration-foreground hover:decoration-solid focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring";
@@ -2043,11 +1990,24 @@ declare function RelationField({ to, value }: {
2043
1990
  /** FK value to resolve, or null/undefined/'' when empty. */
2044
1991
  value: unknown;
2045
1992
  }): React$1.ReactElement;
1993
+ //#endregion
1994
+ //#region src/fields/link-keys-display.d.ts
1995
+ /**
1996
+ * A link field (`f.relationMany({ through })`): the target keys its junction rows hold, each a
1997
+ * chip titled as {@link RelationDisplay} titles one key. The owner key is the record's value of
1998
+ * the field the junction's `sourceKey` relation names (`by`), else of the owner's id field. Keys
1999
+ * whose title read finds no row (the target is filtered or out of the user's reach) are counted in
2000
+ * one "not visible" chip, never dropped silently; an owner whose rows reach the read cap shows
2001
+ * how many keys were read instead of chips, since the set is not known to be whole. A failed read
2002
+ * says so, distinct from an empty link.
2003
+ */
2004
+ declare function LinkKeysDisplay(props: FieldRendererProps): React$1.ReactElement;
2046
2005
  /**
2047
2006
  * A to-many relation (`f.relationMany`): each key rendered as {@link RelationDisplay} renders
2048
- * one — eager keys share the aggregator's batched read, lazy keys read nothing.
2007
+ * one — eager keys share the aggregator's batched read, lazy keys read nothing. A link (a field
2008
+ * `linkOf` reads a link from) is drawn by {@link LinkKeysDisplay}.
2049
2009
  */
2050
- declare function RelationManyDisplay({ value, field }: FieldRendererProps): React$1.ReactElement;
2010
+ declare function RelationManyDisplay(props: FieldRendererProps): React$1.ReactElement;
2051
2011
  //#endregion
2052
2012
  //#region src/fields/candidates-gate.d.ts
2053
2013
  /** A select that must not read its target now (P7 3.4): why, and what it tells the user. */
@@ -2152,6 +2112,13 @@ interface RelationPickerProps {
2152
2112
  fieldName?: string;
2153
2113
  /** The field's `ui.open` (P7 3.6): what the "view" button opens, or no button for `none`. */
2154
2114
  open?: RelationOpen;
2115
+ /**
2116
+ * The read scope of the option reads (the popover, "Advanced search" and the create hand-back).
2117
+ * Default `'context'`: the record around the picker narrows its options, except by the field
2118
+ * the picker itself edits (`fieldName`, else `name`). `'none'` reads every row the provider
2119
+ * allows; `'session'` the session's scope selection.
2120
+ */
2121
+ scope?: ScopeSource;
2155
2122
  disabled?: boolean;
2156
2123
  required?: boolean;
2157
2124
  className?: string;
@@ -2162,7 +2129,7 @@ interface RelationPickerProps {
2162
2129
  /** Forwarded to the trigger button as `aria-errormessage` (WAI-ARIA 1.2). */
2163
2130
  ariaErrorMessage?: string;
2164
2131
  }
2165
- declare function RelationPicker({ to, value, onChange, by, searchField, pageSize, clearable, placeholder, name, id, testid, fixedFilters, createSeeds, candidatesGate, rowFits, fieldName, open: openMode, disabled, required, className, ariaInvalid, ariaDescribedBy, ariaErrorMessage }: RelationPickerProps): React$1.ReactElement;
2132
+ declare function RelationPicker({ to, value, onChange, by, searchField, pageSize, clearable, placeholder, name, id, testid, fixedFilters, createSeeds, candidatesGate, rowFits, fieldName, open: openMode, scope, disabled, required, className, ariaInvalid, ariaDescribedBy, ariaErrorMessage }: RelationPickerProps): React$1.ReactElement;
2166
2133
  /**
2167
2134
  * Form-field adapter wrapping `<RelationPicker>` for use as a default
2168
2135
  * Input renderer in the field registry. Reads `field.meta.to` for the
@@ -2236,6 +2203,16 @@ interface RelationPickerDialogProps {
2236
2203
  * renders it as an undeletable badge.
2237
2204
  */
2238
2205
  fixedFilters?: readonly FixedFilterInput[];
2206
+ /**
2207
+ * The read scope of the dialog's list, as the select's own option reads take it. Default
2208
+ * `'context'`: the record around the select narrows the rows.
2209
+ */
2210
+ scope?: ScopeSource;
2211
+ /**
2212
+ * The record field the select writes (`useList`'s `scopeField`): the record's value of it never
2213
+ * narrows the rows offered for it. Absent: every field of the record narrows.
2214
+ */
2215
+ scopeField?: string;
2239
2216
  /**
2240
2217
  * The select's one pending create (P6-34), shared with its popover. With it the footer offers
2241
2218
  * "+ Create" (the target's `quick.create`, handed back through the select's own query); without
@@ -2257,14 +2234,99 @@ interface RelationPickerDialogProps {
2257
2234
  multiple?: boolean;
2258
2235
  /** The keys already chosen (`multiple` only): their rows are marked. */
2259
2236
  selected?: readonly (string | number)[];
2260
- onToggle?: (value: string | number) => void;
2237
+ /** A row toggled in `multiple` mode: its value, and the row itself. */
2238
+ onToggle?: (value: string | number, row: Record<string, unknown>) => void;
2239
+ /**
2240
+ * `multiple` only: the Select button confirms the choice through this instead of closing the
2241
+ * dialog with `onOpenChange(false)`, so a confirm and a dismissal can be told apart.
2242
+ */
2243
+ onDone?: () => void;
2261
2244
  }
2262
- declare function RelationPickerDialog({ to, open, onOpenChange, onSelect, onSelectRow, searchField, valueField, fixedFilters, create, createSeeds, fieldName, onBeforeCreate, pageSize, multiple, selected, onToggle }: RelationPickerDialogProps): React$1.ReactElement;
2245
+ declare function RelationPickerDialog({ to, open, onOpenChange, onSelect, onSelectRow, searchField, valueField, fixedFilters, scope, scopeField, create, createSeeds, fieldName, onBeforeCreate, pageSize, multiple, selected, onToggle, onDone }: RelationPickerDialogProps): React$1.ReactElement;
2263
2246
  //#endregion
2264
2247
  //#region src/fields/lazy-relation-picker-dialog.d.ts
2265
2248
  /** The "Advanced search" dialog, loaded on the first open: nothing is drawn until it arrives. */
2266
2249
  declare function LazyRelationPickerDialog(props: ComponentProps<typeof RelationPickerDialog>): ReactElement;
2267
2250
  //#endregion
2251
+ //#region src/fields/use-relation-picker.d.ts
2252
+ type AnyResourceHandle = ResourceHandle<any, any, any, any>;
2253
+ type FieldNamesOf<R> = R extends ResourceHandle<any, infer F, any, any> ? keyof F & string : string;
2254
+ type UseRelationPickerOptions<R extends AnyResourceHandle | string, TSelect extends FieldNamesOf<R>> = ({
2255
+ readonly to: R;
2256
+ readonly field?: never;
2257
+ } |
2258
+ /** A relation field of the surrounding record (`useOptionalRecordFrame()`): `to`, `by` and `candidates` come from its declaration. */
2259
+ {
2260
+ readonly field: string;
2261
+ readonly to?: never;
2262
+ }) & {
2263
+ readonly multiple?: boolean;
2264
+ /** The row fields the promise hands back (plus the key), projected as of selection. Absent: the row as read. */
2265
+ readonly select?: readonly TSelect[];
2266
+ /** Declared-candidates grammar; refs resolve against the surrounding record's sources (`controller.sources`), literals only outside one. */
2267
+ readonly candidates?: readonly RelationCandidate[];
2268
+ readonly fixedFilters?: readonly FixedFilterInput[];
2269
+ /** The target field the keys hold; default: the field's `by`, else the target's id field. */
2270
+ readonly valueField?: string;
2271
+ /** Offers "+ Create" (the target's quick create) seeded with `seeds`; a created record settles as selected. */
2272
+ readonly create?: {
2273
+ readonly seeds?: Readonly<Record<string, unknown>>;
2274
+ };
2275
+ /** Default 'context'. */
2276
+ readonly scope?: ScopeSource;
2277
+ };
2278
+ type RelationPickerRow<TSelect extends string> = { readonly [K in TSelect]?: unknown; } & {
2279
+ readonly id?: unknown;
2280
+ };
2281
+ type RelationPickerCancelReason = 'dismissed' | 'aborted' | 'superseded' | 'unmounted' | 'session-changed' | 'not-mounted' | 'unavailable';
2282
+ /**
2283
+ * How an `open()` settled. `selected.rows` are the rows chosen during this open, each projected
2284
+ * to `select` plus `id` and the value field (`valueField`, else the field's `by`, else the id
2285
+ * field), so a row can be joined to its key. No row is re-read: a key passed in through
2286
+ * `open({ selected })` and left unchanged comes back in `keys` without a row, and so does a
2287
+ * created record whose quick create handed back no row.
2288
+ */
2289
+ type RelationPickerResult<TRow> = {
2290
+ readonly kind: 'selected';
2291
+ readonly keys: readonly (string | number)[];
2292
+ readonly rows: readonly TRow[];
2293
+ } | {
2294
+ readonly kind: 'cancelled';
2295
+ readonly reason: RelationPickerCancelReason;
2296
+ };
2297
+ interface RelationPickerOpenOptions {
2298
+ readonly signal?: AbortSignal;
2299
+ /**
2300
+ * Multiple mode: the keys already chosen. Those left unchanged are returned in `keys` but have
2301
+ * no row in `rows` (they are not re-read).
2302
+ */
2303
+ readonly selected?: readonly (string | number)[];
2304
+ }
2305
+ interface RelationPickerHandle<TRow> {
2306
+ open(opts?: RelationPickerOpenOptions): Promise<RelationPickerResult<TRow>>;
2307
+ /** Render it once, anywhere in the caller's tree. Always an element; it draws nothing while closed. */
2308
+ readonly element: React$1.ReactElement;
2309
+ }
2310
+ /**
2311
+ * A relation picker as a promise: `open()` shows the target's "Advanced search" dialog and settles
2312
+ * with the chosen keys and rows, or with why nothing was chosen. It never rejects.
2313
+ *
2314
+ * const picker = useRelationPicker({ to: merchants, select: ['name'] });
2315
+ * …
2316
+ * const result = await picker.open();
2317
+ * if (result.kind === 'selected') setMerchant(result.keys[0]);
2318
+ * …
2319
+ * return <>{…}{picker.element}</>;
2320
+ *
2321
+ * `open()` snapshots the record scope around the caller and the data session: the list reads with
2322
+ * the scope as it was at the call, and a session or scope change while open cancels. Candidate
2323
+ * filters, by contrast, resolve live: when they stop resolving while open (a ref they read is
2324
+ * cleared), the picker closes and settles `unavailable` rather than list rows without them. Render
2325
+ * `element` once, anywhere in the caller's tree; an `open()` while it is not rendered settles
2326
+ * `not-mounted`.
2327
+ */
2328
+ declare function useRelationPicker<R extends AnyResourceHandle | string, TSelect extends FieldNamesOf<R> = FieldNamesOf<R>>(options: UseRelationPickerOptions<R, TSelect>): RelationPickerHandle<RelationPickerRow<TSelect>>;
2329
+ //#endregion
2268
2330
  //#region src/fields/use-dialog-filter-state.d.ts
2269
2331
  /** The portable erased AST — the only shape this module deals in. */
2270
2332
  type ErasedExpression = FilterExpression<ErasedResourceHandle>;
@@ -2652,6 +2714,8 @@ interface ExportDialogProps {
2652
2714
  readonly visibleColumns: readonly string[];
2653
2715
  /** Known row estimate, shown in the filter-scope title and handed to the exporter as a progress total hint. */
2654
2716
  readonly estimatedCount?: number;
2717
+ /** How the export reads the resource: the scope of the list it exports (default `'session'`). */
2718
+ readonly scope?: ScopeSource;
2655
2719
  }
2656
2720
  /**
2657
2721
  * Self-hosted export dialog — NOT presented through `useUIPresent`: an
@@ -2669,7 +2733,7 @@ interface ExportDialogProps {
2669
2733
  * menu-held dialog, deleted in P4) — this dialog
2670
2734
  * never repeats that shape.
2671
2735
  */
2672
- declare function ExportDialog({ open, onOpenChange, resource, target, visibleColumns, estimatedCount }: ExportDialogProps): React$1.ReactElement;
2736
+ declare function ExportDialog({ open, onOpenChange, resource, target, visibleColumns, estimatedCount, scope }: ExportDialogProps): React$1.ReactElement;
2673
2737
  //#endregion
2674
2738
  //#region src/export/download.d.ts
2675
2739
  /**
@@ -3105,8 +3169,10 @@ interface BulkActionToolbarProps<TRecord extends BulkRecord = BulkRecord> {
3105
3169
  * fields, minus any a `column` rule hides.
3106
3170
  */
3107
3171
  visibleColumns?: readonly string[];
3172
+ /** How the built-in bulk Export reads the resource: the scope of the list the ids came from. */
3173
+ scope?: ScopeSource;
3108
3174
  }
3109
- declare function BulkActionToolbar<TRecord extends BulkRecord = BulkRecord>({ resource, table, selectedRecords, selectedIds, onClearSelection, onSelectionChange, className, visibleColumns }: BulkActionToolbarProps<TRecord>): React.ReactElement | null;
3175
+ declare function BulkActionToolbar<TRecord extends BulkRecord = BulkRecord>({ resource, table, selectedRecords, selectedIds, onClearSelection, onSelectionChange, className, visibleColumns, scope }: BulkActionToolbarProps<TRecord>): React.ReactElement | null;
3110
3176
  //#endregion
3111
3177
  //#region src/flows/flow-action-button.d.ts
3112
3178
  interface FlowActionButtonProps {
@@ -3140,7 +3206,7 @@ interface AppFlowButtonProps {
3140
3206
  /** The entry `useAppActions()` returned for a `kind: 'flow'` app action. */
3141
3207
  readonly action: {
3142
3208
  readonly name: string;
3143
- readonly label: string;
3209
+ readonly label?: string;
3144
3210
  readonly icon?: string;
3145
3211
  readonly disabledReason?: string;
3146
3212
  /** A flow hosted on a custom page (P7 3.15): the control is a link to it, not a runner. */
@@ -3174,7 +3240,7 @@ interface CheckConfirmDialogProps {
3174
3240
  readonly onAnchorFocus?: (field: string) => void;
3175
3241
  /**
3176
3242
  * Overrides the neutral `checks.dialogTitle` heading. The ACTION call sites
3177
- * pass the action's own label here, so «Архивировать» heads an archive
3243
+ * pass the action's own label here, so «Archive» heads an archive
3178
3244
  * prompt instead of a generic "please review".
3179
3245
  */
3180
3246
  readonly title?: ReactNode;
@@ -3688,8 +3754,8 @@ interface DataTableViewOptionsProps<TData> {
3688
3754
  */
3689
3755
  onReset?: () => void;
3690
3756
  /**
3691
- * Extra footer actions (#17), rendered below the column list — e.g. «Сбросить
3692
- * размеры» / «Восстановить по умолчанию». Each is a full-width button. Shown
3757
+ * Extra footer actions (#17), rendered below the column list — e.g. «Reset
3758
+ * sizes» / «Restore defaults». Each is a full-width button. Shown
3693
3759
  * in addition to `onReset`.
3694
3760
  */
3695
3761
  footerActions?: Array<{
@@ -3991,6 +4057,11 @@ interface ResourceListProps {
3991
4057
  onMore: () => void;
3992
4058
  };
3993
4059
  selectable?: boolean;
4060
+ /**
4061
+ * The row-actions column (each row's item actions). `false` draws none: a read-only list
4062
+ * offers nothing to do with a row but open it.
4063
+ */
4064
+ rowActions?: boolean;
3994
4065
  /**
3995
4066
  * Accumulating selection owned by the caller. When provided the component
3996
4067
  * is CONTROLLED: this is the WHOLE selected set (ids that are not on the
@@ -4102,7 +4173,7 @@ interface ResourceListProps {
4102
4173
  }[];
4103
4174
  /**
4104
4175
  * Sort request from a column header. `direction` is EXPLICIT when the header
4105
- * menu picks «по возрастанию/убыванию/сбросить» (`'asc'`/`'desc'`/`null`); it
4176
+ * menu picks «ascending/descending/reset» (`'asc'`/`'desc'`/`null`); it
4106
4177
  * is omitted when a caller wants the legacy 3-click toggle. Consumers should
4107
4178
  * honour an explicit direction and fall back to toggling when it's undefined.
4108
4179
  */
@@ -4149,7 +4220,7 @@ interface ResourceListProps {
4149
4220
  */
4150
4221
  tableRef?: (table: Table$1<RowRecord$1> | null) => void;
4151
4222
  }
4152
- declare function ResourceList({ resource, data, total, page, pageSize, onPageSize, onRequestCount, isCountingRows, pageSizeOptions, onPage, loadMore, selectable, selectedIds, onSelectionChange, className, isLoading, error, onRetry, createHref, isFiltered, onClearFilter, emptyState, rowsView, rowHref, rowQuick, rowLinkKey, renderCell, sort, onSort, onHideColumn, requiredColumns, resetLayout, columns: columnsOverride, tableRef }: ResourceListProps): React.ReactElement;
4223
+ declare function ResourceList({ resource, data, total, page, pageSize, onPageSize, onRequestCount, isCountingRows, pageSizeOptions, onPage, loadMore, selectable, rowActions, selectedIds, onSelectionChange, className, isLoading, error, onRetry, createHref, isFiltered, onClearFilter, emptyState, rowsView, rowHref, rowQuick, rowLinkKey, renderCell, sort, onSort, onHideColumn, requiredColumns, resetLayout, columns: columnsOverride, tableRef }: ResourceListProps): React.ReactElement;
4153
4224
  //#endregion
4154
4225
  //#region src/list-kit/cursor-load-more.d.ts
4155
4226
  /**
@@ -4895,6 +4966,13 @@ declare function useListSlot(region: 'filters', resource: string): ListSlot | un
4895
4966
  * dialog.
4896
4967
  */
4897
4968
  interface SavedViewsDropdownProps {
4969
+ /**
4970
+ * The resource the views belong to. Declared views (`adopterViews`) read their label from
4971
+ * `resources.<resource>.savedViews.<id>` in the bundle (that resource's own entry only, never
4972
+ * `resources._` or `common`); without it they render as declared.
4973
+ * User-saved `entries` are user data and always render as written.
4974
+ */
4975
+ resource?: string;
4898
4976
  /** Adopter-defined views from `def.views.list.savedViews`. Always read-only. */
4899
4977
  adopterViews: SavedViewDef[];
4900
4978
  /** Adapter-backed entries, WITH scope/permission metadata (Task 9). */
@@ -4954,7 +5032,7 @@ interface SavedViewsDropdownProps {
4954
5032
  /** Popover content alignment. Default: 'start'. */
4955
5033
  popoverAlign?: 'start' | 'center' | 'end';
4956
5034
  }
4957
- declare function SavedViewsDropdown({ adopterViews, entries, issues, onApply, onSaveCurrent, canSaveCurrent, onManage, onRenameEntry, onDeleteEntry, onForkEntry, canFork, getTestId, triggerLabel, iconOnly, triggerClassName, popoverContentClassName, popoverAlign }: SavedViewsDropdownProps): React.ReactElement;
5035
+ declare function SavedViewsDropdown({ resource, adopterViews, entries, issues, onApply, onSaveCurrent, canSaveCurrent, onManage, onRenameEntry, onDeleteEntry, onForkEntry, canFork, getTestId, triggerLabel, iconOnly, triggerClassName, popoverContentClassName, popoverAlign }: SavedViewsDropdownProps): React.ReactElement;
4958
5036
  //#endregion
4959
5037
  //#region src/resource/list-error-state.d.ts
4960
5038
  interface ListErrorStateProps {
@@ -4966,7 +5044,7 @@ interface ListErrorStateProps {
4966
5044
  onRetry?: () => void;
4967
5045
  /** Resource name, used to build the retry button's test id. */
4968
5046
  resource?: string;
4969
- /** Overrides the default «Не удалось загрузить данные» heading. */
5047
+ /** Overrides the default heading (the `list.errorTitle` bundle entry). */
4970
5048
  title?: string;
4971
5049
  className?: string;
4972
5050
  }
@@ -4979,7 +5057,7 @@ interface ListErrorStateProps {
4979
5057
  * point of slots — but the slot then had to hand-roll its own error branch,
4980
5058
  * and hand-rolled it worse: a bare red card printing
4981
5059
  *
4982
- * «Не удалось загрузить расписания. Temporal GET
5060
+ * «Could not load schedules. Temporal GET
4983
5061
  * /namespaces/default/schedules?maximumPageSize=10 -> 502»
4984
5062
  *
4985
5063
  * — a raw internal HTTP trace under a Russian sentence, with NO way to retry.
@@ -4989,7 +5067,7 @@ interface ListErrorStateProps {
4989
5067
  * already knows how to render, so this is now shared by both. `toFriendlyError`
4990
5068
  * keeps the technical string out of the operator's face while leaving
4991
5069
  * adopter-written messages verbatim; the raw text stays reachable under
4992
- * «Подробности» for whoever has to file the bug.
5070
+ * «Details» for whoever has to file the bug.
4993
5071
  */
4994
5072
  declare function ListErrorState({ error, onRetry, resource, title, className }: ListErrorStateProps): React.ReactElement;
4995
5073
  //#endregion
@@ -5035,7 +5113,7 @@ interface PageHeaderProps {
5035
5113
  */
5036
5114
  breadcrumbs?: ReactNode;
5037
5115
  /**
5038
- * Render the textual `← Назад к …` link on detail pages. Defaults to FALSE.
5116
+ * Render the textual `← Back to …` link on detail pages. Defaults to FALSE.
5039
5117
  *
5040
5118
  * An app shell that already renders breadcrumbs in its top bar (the common
5041
5119
  * layout, and what the playground does) makes this link a third redundant nav
@@ -5047,7 +5125,7 @@ interface PageHeaderProps {
5047
5125
  * Render the page title as a VISIBLE heading. Defaults to FALSE.
5048
5126
  *
5049
5127
  * The title almost always restates the trailing breadcrumb directly above it
5050
- * («Документы › Заказ кодов №53» followed by an h1 «Заказ кодов №53»), and an
5128
+ * («Documents › Order codes №53» followed by an h1 «Order codes №53»), and an
5051
5129
  * h1 plus its margins costs ~70px of vertical space on every screen — space a
5052
5130
  * dense admin table wants back.
5053
5131
  *
@@ -5060,10 +5138,10 @@ interface PageHeaderProps {
5060
5138
  /**
5061
5139
  * Replace the resource label used to BUILD the title, without replacing the
5062
5140
  * title template. `title` overrides the whole string; this keeps the
5063
- * localized «Создать: {{label}}» / «Изменить {{label}}» phrasing and only
5141
+ * localized «Create: {{label}}» / «Edit {{label}}» phrasing and only
5064
5142
  * swaps in a more specific noun (e.g. the picked document type). Callers
5065
5143
  * therefore don't have to reimplement the i18n template to say
5066
- * «Создать: Заказ кодов».
5144
+ * «Create: Order codes».
5067
5145
  */
5068
5146
  labelOverride?: string;
5069
5147
  className?: string;
@@ -5133,7 +5211,7 @@ declare function CreateButton({ resource, href, testid, size, variant, label, cl
5133
5211
  * Minimal form-control handle exposed to field renderers so a field can update
5134
5212
  * SIBLING fields (a field renderer otherwise only sees its own value). Used for
5135
5213
  * reactive prefills — e.g. picking a product on a GTIN field also fills the
5136
- * «Название товара» / «Тип кода» fields (#2). `<RecordScreen>` provides it.
5214
+ * «Product name» / «Code type» fields (#2). `<RecordScreen>` provides it.
5137
5215
  */
5138
5216
  interface FormControl {
5139
5217
  /** Merge a patch of `{ fieldName: value }` into the form's live values. */
@@ -6202,7 +6280,7 @@ declare function useThemePaletteActions(): ActionItem[];
6202
6280
  //#endregion
6203
6281
  //#region src/shell/language-submenu.d.ts
6204
6282
  /**
6205
- * A locale's name in its own language ("English", "Русский", "Français"),
6283
+ * A locale's name in its own language ("English", "Deutsch", "Français"),
6206
6284
  * capitalised. Falls back to the bare code when `Intl.DisplayNames` does not
6207
6285
  * know it (or the code is not a valid BCP-47 tag).
6208
6286
  */
@@ -6220,5 +6298,5 @@ declare function useLanguagePaletteActions(): ActionItem[];
6220
6298
  declare const PACKAGE_NAME: "@burojs/ui-shadcn";
6221
6299
  declare const PACKAGE_VERSION: "0.0.0";
6222
6300
  //#endregion
6223
- export { ActionButton, type ActionButtonProps, type ActionItem, ActionOverflow, type ActionOverflowProps, type ActionSurface, AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AppActions, AppFlowButton, type AppFlowButtonProps, AppHeader, type AppHeaderProps, AppLayout, type AppLayoutProps, AppShell, type AppShellProps, AppSidebar, type AppSidebarProps, AuthPage, type AuthPageProps, Avatar, AvatarFallback, AvatarImage, Badge, BadgeProps, BooleanDisplay, BooleanInput, BrandMark, Breadcrumbs, type BreadcrumbsProps, type BuildNavItemsArgs, BulkActionToolbar, type BulkActionToolbarProps, Button, ButtonProps, Card, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, CheckConfirmDialog, type CheckConfirmDialogProps, Checkbox, CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnsToggle, Command, CommandDialog, CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandLoadingProps, CommandPalette, CommandPaletteActionsGroup, type CommandPaletteActionsGroupProps, type CommandPaletteActionsTestIdRole, CommandPaletteCreateGroup, type CommandPaletteCreateGroupProps, type CommandPaletteCreateTestIdRole, CommandPaletteDocsGroup, type CommandPaletteDocsGroupProps, CommandPaletteNavigationGroups, type CommandPaletteNavigationGroupsProps, type CommandPaletteNavigationTestIdRole, type CommandPaletteProps, CommandPaletteRecentGroup, type CommandPaletteRecentGroupProps, type CommandPaletteRecentTestIdRole, CommandPaletteRecordsGroup, type CommandPaletteRecordsGroupProps, type CommandPaletteRecordsTestIdRole, type CommandPaletteTestIdRole, CommandPaletteTrigger, type CommandPaletteTriggerProps, CommandSeparator, ContextPicker, type ContextPickerProps, CopyId, CreateButton, type CreateButtonProps, CursorLoadMore, type CursorLoadMoreProps, DEFAULT_LANGUAGE, DEFAULT_LANGUAGE_STORAGE_KEY, DataTable, DataTableDateRangeFilter, type DataTableDateRangeFilterProps, DataTableEnumFilter, type DataTableEnumFilterProps, DataTableFacetedFilter, type DataTableFacetedFilterProps, DataTableNumRangeFilter, type DataTableNumRangeFilterProps, DataTableOperatorFilter, type DataTableOperatorFilterProps, type DataTableProps, DataTableRowActions, type DataTableRowActionsProps, DataTableTextFilter, type DataTableTextFilterProps, DataTableToolbar, type DataTableToolbarProps, DataTableViewOptions, type DataTableViewOptionsProps, DateDisplay, DateInput, DeclarativeDisplay, type DeclarativeDisplayProps, DeclarativeForm, type DeclarativeFormProps, type DeclarativeFormSlots, DefaultCommandPalette, type DefaultCommandPaletteProps, Dialog, DialogClose, DialogContent, DialogContentProps, DialogDescription, DialogDescriptionProps, type DialogFilterState, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogOverlayProps, DialogPresentationHost, DialogPresentationShell, DialogTitle, DialogTitleProps, DialogTrigger, DisabledAction, type DisabledActionProps, DocBrowser, type DocBrowserProps, DocInfo, type DocInfoProps, DocPanel, type DocPanelProps, DocTrailHelp, type DocTrailHelpProps, DocumentTitleProvider, type DraftRemovalSignal, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENUM_PICKER_CLEAR_SENTINEL, EditPageHeader, EnumBadge, type EnumBadgeProps, EnumDisplay, EnumInput, EnumPicker, type EnumPickerProps, type EnumPickerRenderAs, EnumDisplay$1 as EnumValueDisplay, type EnumDisplayProps as EnumValueDisplayProps, type EnumDisplayVariant as EnumValueDisplayVariant, ExportButton, type ExportButtonProps, ExportDialog, type ExportDialogProps, type FacetedFilterOption, Field, FieldDisplay, type FieldDisplayProps, type FieldProps, FileDisplay, FileField, type FileFieldProps, FileInput, type FileInputProps, FilterBadges, type FilterBadgesProps, FilterBuilder, type FilterBuilderProps, type FilterOperator, FilterPanel, type FilterPanelProps, FilterRegion, FilterValueControl, type FilterValueControlProps, FlowActionButton, type FlowActionButtonProps, Form, FormActions, FormControl, FormControlProps, FormDescription, FormDescriptionProps, FormField, FormItem, FormItemProps, FormLabel, FormLabelProps, FormMessage, FormMessageProps, HeaderBreadcrumbs, HelpButton, type HelpButtonProps, Icon, IconComponent, IconProps, Input, InputProps, Label, LabelProps, type LanguageCode, LanguageSubmenu, LanguageSwitch, type LanguageSwitchApi, type LanguageSwitchProps, type LinkComponent, type LinkComponentProps, LinkComponentProvider, type LinkComponentProviderProps, ListBody, ListBulkBar, type ListCellRenderer, ListColumns, ListControls, ListCreate, ListErrorState, type ListErrorStateProps, ListExport, ListFilters, ListFlows, ListLive, ListSavedViews, ListSearchInput, type ListSlot, type ListSlotRegion, type LoginCredentials, LoginForm, type LoginFormProps, NavAreaLayout, type NavAreaLayoutProps, NavAreaPage, NavChrome, NavChromeBoundaryProvider, type NavChromeProps, type NavItem, type NavLayout, type NavLayoutProps, NavMain, type NavMainProps, type NavTreeEntry, type NavTreeLayout, type NavTreeSection, NavigationGuardDialog, NumberDisplay, NumberInput, PACKAGE_NAME, PACKAGE_VERSION, type PageBreadcrumbsProps, PageHeader, type PageHeaderProps, type PaletteState, PinnedFilterControls, type PinnedFilterControlsProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverContentProps, PopoverPresentationHost, PopoverTrigger, type PresentationCopy, Progress, ProgressProps, RecordActions, RecordBreadcrumbs, RecordPage, type RecordPageProps, RecordScreen, type RecordScreenProps, RecordTitle, RefreshButton, type RefreshButtonProps, RelationDisplay, RelationField, RelationManyDisplay, RelationPicker, LazyRelationPickerDialog as RelationPickerDialog, type RelationPickerDialogProps, RelationPickerInput, type RelationPickerProps, type ResolvedTheme, type ResourceBreadcrumbsProps, ResourceList, ResourceListPage, type ResourceListPageProps, type ResourceListProps, ResourcePageRouter, type ResourcePageRouterProps, type RowActionDescriptor, SavedViewsDropdown, type SavedViewsDropdownProps, type ScopeOption, ScopeSwitcher, type ScopeSwitcherProps, SecondarySidebarLayout, Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectLabelProps, SelectScrollDownButton, SelectScrollDownButtonProps, SelectScrollUpButton, SelectScrollUpButtonProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetContentProps, SheetDescription, SheetDescriptionProps, SheetFooter, SheetFooterProps, SheetHeader, SheetHeaderProps, SheetOverlayProps, SheetPresentationHost, SheetPresentationShell, SheetTitle, SheetTitleProps, SheetTrigger, type ShellBrand, type ShellContextValue, ShellProvider, type ShellProviderProps, type ShellUser, type ShellUserMapper, ShowPageHeader, Sidebar, SidebarBrand, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type Slot, type SpacingKey, THEME_CHOICES, THEME_STORAGE_KEY, Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableProps, TableRow, TableRowProps, Tabs, TabsContent, TabsContentProps, TabsLayout, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TaskRunPanel, TaskRunPanelProps, TextDisplay, TextInput, Textarea, TextareaDisplay, TextareaInput, TextareaProps, type ThemeChoice, ThemeSubmenu, ThemeToggle, Toaster, type ToasterProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TypographyKey, type UseBuroDataTableOptions, type UseDialogFilterStateOptions, type UseNavTreeOptions, type UseThemeResult, UserMenu, type UserMenuProps, badgeVariants, buildNavItems, buroSortingToTanStack, buttonVariants, cn, defaultNavLayouts, defaultUserMapper, downloadArtifact, formatOperatorLabel, hasIcon, i18nPrefixToRef, isImage, layoutSlot, listSlot, loadLanguage, loadLocale, localeLabel, modeForSurface, recordDisplayName, registerIcons, relationLinkClassName, resolveNavIcon, resolveUpdater, saveLanguage, saveLocale, shadcnBlockImplementations, shadcnFieldImplementations, shadcnPresentationHosts, spacing, tanStackSortingToBuro, toast, typography, useBuroDataTable, useCurrentUser, useDialogFilterState, useDocumentTitle, useExportRunWatcher, useFormControl, useFormField, useHref, useIsMobile, useLanguagePaletteActions, useLanguageSwitch, useLayout, useLayoutResolver, useLinkComponent, useListSlot, useMatch, useNavChromeBoundary, useNavIcon, useNavTree, useNavVisible, useOptionalSidebar, usePaletteState, usePresentationCopy, useShell, useSidebar, useTheme, useThemePaletteActions, wrapperEnabled };
6301
+ export { ActionButton, type ActionButtonProps, type ActionItem, ActionOverflow, type ActionOverflowProps, type ActionSurface, AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AppActions, AppFlowButton, type AppFlowButtonProps, AppHeader, type AppHeaderProps, AppLayout, type AppLayoutProps, AppShell, type AppShellProps, AppSidebar, type AppSidebarProps, AuthPage, type AuthPageProps, Avatar, AvatarFallback, AvatarImage, Badge, BadgeProps, BooleanDisplay, BooleanInput, BrandMark, Breadcrumbs, type BreadcrumbsProps, type BuildNavItemsArgs, BulkActionToolbar, type BulkActionToolbarProps, Button, ButtonProps, Card, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, CheckConfirmDialog, type CheckConfirmDialogProps, Checkbox, CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnsToggle, Command, CommandDialog, CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandLoadingProps, CommandPalette, CommandPaletteActionsGroup, type CommandPaletteActionsGroupProps, type CommandPaletteActionsTestIdRole, CommandPaletteCreateGroup, type CommandPaletteCreateGroupProps, type CommandPaletteCreateTestIdRole, CommandPaletteDocsGroup, type CommandPaletteDocsGroupProps, CommandPaletteNavigationGroups, type CommandPaletteNavigationGroupsProps, type CommandPaletteNavigationTestIdRole, type CommandPaletteProps, CommandPaletteRecentGroup, type CommandPaletteRecentGroupProps, type CommandPaletteRecentTestIdRole, CommandPaletteRecordsGroup, type CommandPaletteRecordsGroupProps, type CommandPaletteRecordsTestIdRole, type CommandPaletteTestIdRole, CommandPaletteTrigger, type CommandPaletteTriggerProps, CommandSeparator, ContextPicker, type ContextPickerProps, CopyId, CreateButton, type CreateButtonProps, CursorLoadMore, type CursorLoadMoreProps, DEFAULT_LANGUAGE_STORAGE_KEY, DataTable, DataTableDateRangeFilter, type DataTableDateRangeFilterProps, DataTableEnumFilter, type DataTableEnumFilterProps, DataTableFacetedFilter, type DataTableFacetedFilterProps, DataTableNumRangeFilter, type DataTableNumRangeFilterProps, DataTableOperatorFilter, type DataTableOperatorFilterProps, type DataTableProps, DataTableRowActions, type DataTableRowActionsProps, DataTableTextFilter, type DataTableTextFilterProps, DataTableToolbar, type DataTableToolbarProps, DataTableViewOptions, type DataTableViewOptionsProps, DateDisplay, DateInput, DeclarativeDisplay, type DeclarativeDisplayProps, DeclarativeForm, type DeclarativeFormProps, type DeclarativeFormSlots, DefaultCommandPalette, type DefaultCommandPaletteProps, Dialog, DialogClose, DialogContent, DialogContentProps, DialogDescription, DialogDescriptionProps, type DialogFilterState, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogOverlayProps, DialogPresentationHost, DialogPresentationShell, DialogTitle, DialogTitleProps, DialogTrigger, DisabledAction, type DisabledActionProps, DocBrowser, type DocBrowserProps, DocInfo, type DocInfoProps, DocPanel, type DocPanelProps, DocTrailHelp, type DocTrailHelpProps, DocumentTitleProvider, type DraftRemovalSignal, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENUM_PICKER_CLEAR_SENTINEL, EditPageHeader, EnumBadge, type EnumBadgeProps, EnumDisplay, EnumInput, EnumPicker, type EnumPickerProps, type EnumPickerRenderAs, EnumDisplay$1 as EnumValueDisplay, type EnumDisplayProps as EnumValueDisplayProps, type EnumDisplayVariant as EnumValueDisplayVariant, ExportButton, type ExportButtonProps, ExportDialog, type ExportDialogProps, type FacetedFilterOption, Field, FieldDisplay, type FieldDisplayProps, type FieldProps, FileDisplay, FileField, type FileFieldProps, FileInput, type FileInputProps, FilterBadges, type FilterBadgesProps, FilterBuilder, type FilterBuilderProps, type FilterOperator, FilterPanel, type FilterPanelProps, FilterRegion, FilterValueControl, type FilterValueControlProps, FlowActionButton, type FlowActionButtonProps, Form, FormActions, FormControl, FormControlProps, FormDescription, FormDescriptionProps, FormField, FormItem, FormItemProps, FormLabel, FormLabelProps, FormMessage, FormMessageProps, HeaderBreadcrumbs, HelpButton, type HelpButtonProps, Icon, IconComponent, IconProps, Input, InputProps, Label, LabelProps, LanguageSubmenu, LanguageSwitch, type LanguageSwitchApi, type LanguageSwitchProps, type LinkComponent, type LinkComponentProps, LinkComponentProvider, type LinkComponentProviderProps, LinkKeysDisplay, ListBody, ListBulkBar, type ListCellRenderer, ListColumns, ListControls, ListCreate, ListErrorState, type ListErrorStateProps, ListExport, ListFilters, ListFlows, ListLive, ListSavedViews, ListSearchInput, type ListSlot, type ListSlotRegion, type LoginCredentials, LoginForm, type LoginFormProps, NavAreaLayout, type NavAreaLayoutProps, NavAreaPage, NavChrome, NavChromeBoundaryProvider, type NavChromeProps, type NavItem, type NavLayout, type NavLayoutProps, NavMain, type NavMainProps, type NavTreeEntry, type NavTreeLayout, type NavTreeSection, NavigationGuardDialog, NumberDisplay, NumberInput, PACKAGE_NAME, PACKAGE_VERSION, type PageBreadcrumbsProps, PageHeader, type PageHeaderProps, type PaletteState, PinnedFilterControls, type PinnedFilterControlsProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverContentProps, PopoverPresentationHost, PopoverTrigger, type PresentationCopy, Progress, ProgressProps, RecordActions, RecordBreadcrumbs, RecordPage, type RecordPageProps, RecordScreen, type RecordScreenProps, RecordTitle, RefreshButton, type RefreshButtonProps, RelationDisplay, RelationField, RelationManyDisplay, RelationPicker, type RelationPickerCancelReason, LazyRelationPickerDialog as RelationPickerDialog, type RelationPickerDialogProps, type RelationPickerHandle, RelationPickerInput, type RelationPickerOpenOptions, type RelationPickerProps, type RelationPickerResult, type RelationPickerRow, type ResolvedTheme, type ResourceBreadcrumbsProps, ResourceList, ResourceListPage, type ResourceListPageProps, type ResourceListProps, ResourcePageRouter, type ResourcePageRouterProps, type RowActionDescriptor, SavedViewsDropdown, type SavedViewsDropdownProps, type ScopeOption, ScopeSwitcher, type ScopeSwitcherProps, SecondarySidebarLayout, Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectLabelProps, SelectScrollDownButton, SelectScrollDownButtonProps, SelectScrollUpButton, SelectScrollUpButtonProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetContentProps, SheetDescription, SheetDescriptionProps, SheetFooter, SheetFooterProps, SheetHeader, SheetHeaderProps, SheetOverlayProps, SheetPresentationHost, SheetPresentationShell, SheetTitle, SheetTitleProps, SheetTrigger, type ShellBrand, type ShellContextValue, ShellProvider, type ShellProviderProps, type ShellUser, type ShellUserMapper, ShowPageHeader, Sidebar, SidebarBrand, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type Slot, type SpacingKey, THEME_CHOICES, THEME_STORAGE_KEY, Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableProps, TableRow, TableRowProps, Tabs, TabsContent, TabsContentProps, TabsLayout, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TaskRunPanel, TaskRunPanelProps, TextDisplay, TextInput, Textarea, TextareaDisplay, TextareaInput, TextareaProps, type ThemeChoice, ThemeSubmenu, ThemeToggle, Toaster, type ToasterProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TypographyKey, type UseBuroDataTableOptions, type UseDialogFilterStateOptions, type UseNavTreeOptions, type UseRelationPickerOptions, type UseThemeResult, UserMenu, type UserMenuProps, badgeVariants, buildNavItems, buroSortingToTanStack, buttonVariants, cn, defaultNavLayouts, defaultUserMapper, downloadArtifact, formatOperatorLabel, hasIcon, i18nPrefixToRef, isImage, layoutSlot, listSlot, loadLocale, localeLabel, modeForSurface, recordDisplayName, registerIcons, relationLinkClassName, resolveNavIcon, resolveUpdater, saveLocale, shadcnBlockImplementations, shadcnFieldImplementations, shadcnPresentationHosts, spacing, tanStackSortingToBuro, toast, typography, useBuroDataTable, useCurrentUser, useDialogFilterState, useDocumentTitle, useExportRunWatcher, useFormControl, useFormField, useHref, useIsMobile, useLanguagePaletteActions, useLanguageSwitch, useLayout, useLayoutResolver, useLinkComponent, useListSlot, useMatch, useNavChromeBoundary, useNavIcon, useNavTree, useNavVisible, useOptionalSidebar, usePaletteState, usePresentationCopy, useRelationPicker, useShell, useSidebar, useTheme, useThemePaletteActions, wrapperEnabled };
6224
6302
  //# sourceMappingURL=index.d.ts.map