@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.
- package/dist/candidates-gate-Bb70LPAy.js +135 -0
- package/dist/candidates-gate-Bb70LPAy.js.map +1 -0
- package/dist/candidates-gate-D33jXLHO.cjs +153 -0
- package/dist/candidates-gate-D33jXLHO.cjs.map +1 -0
- package/dist/candidates-relation-picker-B116Bmqi.js +31 -0
- package/dist/candidates-relation-picker-B116Bmqi.js.map +1 -0
- package/dist/candidates-relation-picker-Cy0rTxvI.cjs +31 -0
- package/dist/candidates-relation-picker-Cy0rTxvI.cjs.map +1 -0
- package/dist/{check-confirm-dialog-BRByTFpg.cjs → check-confirm-dialog--gPFnEeg.cjs} +27 -14
- package/dist/check-confirm-dialog--gPFnEeg.cjs.map +1 -0
- package/dist/{check-confirm-dialog-CkaVTPT9.js → check-confirm-dialog-bRT8lt0d.js} +28 -15
- package/dist/check-confirm-dialog-bRT8lt0d.js.map +1 -0
- package/dist/{filter-builder-DOnaXNfP.js → filter-builder-Bhn-dhZV.js} +30 -14
- package/dist/filter-builder-Bhn-dhZV.js.map +1 -0
- package/dist/{filter-builder-B3mZFL-K.cjs → filter-builder-nXqtM_h4.cjs} +39 -11
- package/dist/filter-builder-nXqtM_h4.cjs.map +1 -0
- package/dist/{flow-runtime-B6zOHYqI.cjs → flow-runtime-D3avVH0I.cjs} +3 -3
- package/dist/{flow-runtime-B6zOHYqI.cjs.map → flow-runtime-D3avVH0I.cjs.map} +1 -1
- package/dist/{flow-runtime-D8h99FSg.js → flow-runtime-s6lkRPKF.js} +3 -3
- package/dist/{flow-runtime-D8h99FSg.js.map → flow-runtime-s6lkRPKF.js.map} +1 -1
- package/dist/{flow-screen-CmbARSqg.js → flow-screen-CCvgDI9G.js} +11 -8
- package/dist/flow-screen-CCvgDI9G.js.map +1 -0
- package/dist/{flow-screen-CX05b3G9.cjs → flow-screen-Ci_Sik4Y.cjs} +10 -7
- package/dist/flow-screen-Ci_Sik4Y.cjs.map +1 -0
- package/dist/index.cjs +577 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +181 -103
- package/dist/index.d.ts +181 -103
- package/dist/index.js +567 -45
- package/dist/index.js.map +1 -1
- package/dist/{inline-flow-host-C3H2UpSA.js → inline-flow-host-B6FI0ctQ.js} +3 -3
- package/dist/{inline-flow-host-C3H2UpSA.js.map → inline-flow-host-B6FI0ctQ.js.map} +1 -1
- package/dist/{inline-flow-host-B7U1OJUe.cjs → inline-flow-host-DV1et3c6.cjs} +3 -3
- package/dist/{inline-flow-host-B7U1OJUe.cjs.map → inline-flow-host-DV1et3c6.cjs.map} +1 -1
- package/dist/label-66W1qbke.js.map +1 -1
- package/dist/label-w6JYf2cF.cjs.map +1 -1
- package/dist/markdown/index.d.cts +2 -3
- package/dist/markdown/index.d.ts +2 -3
- package/dist/{page-flow-route-CQ7HsbBm.cjs → page-flow-route-hdnULWqd.cjs} +6 -6
- package/dist/{page-flow-route-CQ7HsbBm.cjs.map → page-flow-route-hdnULWqd.cjs.map} +1 -1
- package/dist/{page-flow-route-CyXSvXSE.js → page-flow-route-i3ZfJ1sd.js} +6 -6
- package/dist/{page-flow-route-CyXSvXSE.js.map → page-flow-route-i3ZfJ1sd.js.map} +1 -1
- package/dist/{place-node-SIp4XYQH.cjs → place-node-C5SmIAYU.cjs} +441 -135
- package/dist/place-node-C5SmIAYU.cjs.map +1 -0
- package/dist/{place-node--GdsP688.js → place-node-NraNYKPx.js} +420 -138
- package/dist/place-node-NraNYKPx.js.map +1 -0
- package/dist/{related-list-cards-B6x9HQQp.js → related-list-cards-BWZ9GfOG.js} +3 -3
- package/dist/{related-list-cards-B6x9HQQp.js.map → related-list-cards-BWZ9GfOG.js.map} +1 -1
- package/dist/{related-list-cards-nxuODlIA.cjs → related-list-cards-CFq3meUn.cjs} +3 -3
- package/dist/{related-list-cards-nxuODlIA.cjs.map → related-list-cards-CFq3meUn.cjs.map} +1 -1
- package/dist/{related-list-timeline-BYJKEbmA.cjs → related-list-timeline-CCzl71aA.cjs} +2 -2
- package/dist/{related-list-timeline-BYJKEbmA.cjs.map → related-list-timeline-CCzl71aA.cjs.map} +1 -1
- package/dist/{related-list-timeline-DEdfd-rr.js → related-list-timeline-yrPsjA3F.js} +2 -2
- package/dist/{related-list-timeline-DEdfd-rr.js.map → related-list-timeline-yrPsjA3F.js.map} +1 -1
- package/dist/{related-rows-zh5f_4QR.cjs → related-rows-ea43qhhy.cjs} +10 -11
- package/dist/related-rows-ea43qhhy.cjs.map +1 -0
- package/dist/{related-rows-B4levHcR.js → related-rows-o0_t-Yce.js} +7 -8
- package/dist/related-rows-o0_t-Yce.js.map +1 -0
- package/dist/{relation-create-BOaUe12G.cjs → relation-create-IA40t1hi.cjs} +10 -8
- package/dist/relation-create-IA40t1hi.cjs.map +1 -0
- package/dist/{relation-create-Bg-eEJLs.js → relation-create-h6F9B4C4.js} +10 -8
- package/dist/relation-create-h6F9B4C4.js.map +1 -0
- package/dist/{relation-many-picker-B-NCEUgX.cjs → relation-many-picker-C8zFEjwd.cjs} +14 -12
- package/dist/relation-many-picker-C8zFEjwd.cjs.map +1 -0
- package/dist/{relation-many-picker-gdAOD-qK.js → relation-many-picker-bvkjkv-k.js} +13 -11
- package/dist/relation-many-picker-bvkjkv-k.js.map +1 -0
- package/dist/{relation-picker-BAY77ivO.js → relation-picker-Z0ZJJ5uS.js} +68 -37
- package/dist/relation-picker-Z0ZJJ5uS.js.map +1 -0
- package/dist/{relation-picker-dialog-M0pQaWlp.cjs → relation-picker-dialog-0IzkjmiA.cjs} +17 -13
- package/dist/relation-picker-dialog-0IzkjmiA.cjs.map +1 -0
- package/dist/{relation-picker-dialog-hA9rYrZB.js → relation-picker-dialog-B6nIiJBf.js} +18 -14
- package/dist/relation-picker-dialog-B6nIiJBf.js.map +1 -0
- package/dist/{relation-picker-Da_uhFvA.cjs → relation-picker-gag0qSR5.cjs} +74 -37
- package/dist/relation-picker-gag0qSR5.cjs.map +1 -0
- package/dist/{resource-page-router-T4vS5gbJ.js → resource-page-router-3RUf9d1j.js} +44 -38
- package/dist/resource-page-router-3RUf9d1j.js.map +1 -0
- package/dist/{resource-page-router-OSQyRA5b.cjs → resource-page-router-PXfMW9nh.cjs} +42 -36
- package/dist/resource-page-router-PXfMW9nh.cjs.map +1 -0
- package/dist/{search-access-CURsWn-U.js → search-access-CPPmfuvy.js} +4 -19
- package/dist/search-access-CPPmfuvy.js.map +1 -0
- package/dist/{search-access-B7G5oR8n.cjs → search-access-Dugvttlg.cjs} +3 -24
- package/dist/search-access-Dugvttlg.cjs.map +1 -0
- package/dist/{toaster-CfCRLgR-.js → toaster-C02XbB9r.js} +30 -59
- package/dist/toaster-C02XbB9r.js.map +1 -0
- package/dist/{toaster-C7CiYA4Z.cjs → toaster-Cr51X7bz.cjs} +30 -83
- package/dist/toaster-Cr51X7bz.cjs.map +1 -0
- package/dist/{use-dialog-filter-state-BDcgS5Oz.js → use-dialog-filter-state-C--oMAZG.js} +2 -2
- package/dist/{use-dialog-filter-state-BDcgS5Oz.js.map → use-dialog-filter-state-C--oMAZG.js.map} +1 -1
- package/dist/{use-dialog-filter-state-BBCC0OEK.cjs → use-dialog-filter-state-Dhe8PcB5.cjs} +2 -2
- package/dist/{use-dialog-filter-state-BBCC0OEK.cjs.map → use-dialog-filter-state-Dhe8PcB5.cjs.map} +1 -1
- package/dist/use-theme-DFlpXils.cjs.map +1 -1
- package/dist/use-theme-dnE3Od3I.js.map +1 -1
- package/package.json +9 -9
- package/dist/candidates-gate-CX2PBu6l.js +0 -63
- package/dist/candidates-gate-CX2PBu6l.js.map +0 -1
- package/dist/candidates-gate-DiFI52r7.cjs +0 -70
- package/dist/candidates-gate-DiFI52r7.cjs.map +0 -1
- package/dist/candidates-relation-picker-CBsVcnPR.js +0 -82
- package/dist/candidates-relation-picker-CBsVcnPR.js.map +0 -1
- package/dist/candidates-relation-picker-Dd_GVLlu.cjs +0 -84
- package/dist/candidates-relation-picker-Dd_GVLlu.cjs.map +0 -1
- package/dist/check-confirm-dialog-BRByTFpg.cjs.map +0 -1
- package/dist/check-confirm-dialog-CkaVTPT9.js.map +0 -1
- package/dist/filter-builder-B3mZFL-K.cjs.map +0 -1
- package/dist/filter-builder-DOnaXNfP.js.map +0 -1
- package/dist/flow-screen-CX05b3G9.cjs.map +0 -1
- package/dist/flow-screen-CmbARSqg.js.map +0 -1
- package/dist/lazy-relation-picker-dialog-2oxnA6IR.js +0 -14
- package/dist/lazy-relation-picker-dialog-2oxnA6IR.js.map +0 -1
- package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs +0 -19
- package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs.map +0 -1
- package/dist/peek-filter-CnqHwTMU.cjs +0 -51
- package/dist/peek-filter-CnqHwTMU.cjs.map +0 -1
- package/dist/peek-filter-ErLfO153.js +0 -28
- package/dist/peek-filter-ErLfO153.js.map +0 -1
- package/dist/place-node--GdsP688.js.map +0 -1
- package/dist/place-node-SIp4XYQH.cjs.map +0 -1
- package/dist/related-rows-B4levHcR.js.map +0 -1
- package/dist/related-rows-zh5f_4QR.cjs.map +0 -1
- package/dist/relation-create-BOaUe12G.cjs.map +0 -1
- package/dist/relation-create-Bg-eEJLs.js.map +0 -1
- package/dist/relation-many-picker-B-NCEUgX.cjs.map +0 -1
- package/dist/relation-many-picker-gdAOD-qK.js.map +0 -1
- package/dist/relation-picker-BAY77ivO.js.map +0 -1
- package/dist/relation-picker-Da_uhFvA.cjs.map +0 -1
- package/dist/relation-picker-dialog-M0pQaWlp.cjs.map +0 -1
- package/dist/relation-picker-dialog-hA9rYrZB.js.map +0 -1
- package/dist/resource-page-router-OSQyRA5b.cjs.map +0 -1
- package/dist/resource-page-router-T4vS5gbJ.js.map +0 -1
- package/dist/search-access-B7G5oR8n.cjs.map +0 -1
- package/dist/search-access-CURsWn-U.js.map +0 -1
- package/dist/toaster-C7CiYA4Z.cjs.map +0 -1
- package/dist/toaster-CfCRLgR-.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as THEME_STORAGE_KEY } from "./theme-storage-key-pYlp4aDS.cjs";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { AnchorHTMLAttributes, ComponentProps, ComponentType, JSX, ReactElement, ReactNode, SVGProps } from "react";
|
|
4
|
-
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";
|
|
4
|
+
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";
|
|
5
5
|
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 } from "@burojs/react";
|
|
6
6
|
import { ToasterProps as ToasterProps$1, toast } from "sonner";
|
|
7
7
|
import { z } from "zod";
|
|
@@ -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.**
|
|
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
|
|
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 (
|
|
261
|
-
* over them has to invent a category, and every word that fits (
|
|
262
|
-
*
|
|
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
|
-
*
|
|
741
|
-
*
|
|
742
|
-
*
|
|
743
|
-
*
|
|
744
|
-
*
|
|
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
|
|
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
|
|
1742
|
-
* ACTIVE
|
|
1743
|
-
* i18n provider
|
|
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
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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 `←
|
|
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
|
-
* (
|
|
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
|
|
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
|
-
*
|
|
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", "
|
|
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,
|
|
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.cts.map
|