@declarion/react 0.45.0 → 0.48.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 (47) hide show
  1. package/dist-lib/{DraggableChildrenTable-BDnJK0AU.js → DraggableChildrenTable-p2ZSdwzj.js} +2 -2
  2. package/dist-lib/{DynamicIcon-DeRpAaXm.js → DynamicIcon-Dc2j-rg_.js} +19 -17
  3. package/dist-lib/{Grid-CcCveEE7.js → Grid-CjLFAKMZ.js} +2 -2
  4. package/dist-lib/{LayoutRenderer-BReuhVdX.js → LayoutRenderer-X3p4yfo_.js} +598 -585
  5. package/dist-lib/{MarkdownRenderer-DPKDFR60.js → MarkdownRenderer-Sb7zcvj0.js} +10 -10
  6. package/dist-lib/{RefreshControl-KddgOhUG.js → RefreshControl-Cnl9nE0x.js} +268 -238
  7. package/dist-lib/{SmartDetailPage.impl-D_hMxiHy.js → SmartDetailPage.impl-bb0UNOII.js} +545 -532
  8. package/dist-lib/{SmartRecordListPage.impl-GIo_mPIJ.js → SmartRecordListPage.impl-BFh8auUZ.js} +171 -158
  9. package/dist-lib/api/agents.d.ts +47 -18
  10. package/dist-lib/components/agents/AgentChatPanel.d.ts +7 -1
  11. package/dist-lib/components/agents/AgentPicker.d.ts +9 -0
  12. package/dist-lib/components/agents/transcript-runs.d.ts +29 -0
  13. package/dist-lib/components/file-widgets/host.d.ts +1 -0
  14. package/dist-lib/components/list/QuickPeek.d.ts +1 -1
  15. package/dist-lib/components/pages/list/ListFloatbar.d.ts +4 -2
  16. package/dist-lib/components/pages/list/cardProjection.d.ts +2 -1
  17. package/dist-lib/components/primitives/Tooltip.d.ts +4 -0
  18. package/dist-lib/components/shared/ResponsiveActionBar.d.ts +10 -5
  19. package/dist-lib/components/shared/RowActionsKebab.d.ts +3 -2
  20. package/dist-lib/components/views/ViewSwitcher.d.ts +2 -1
  21. package/dist-lib/declarion-react.css +1 -1
  22. package/dist-lib/hooks/useAgentConversation.d.ts +10 -24
  23. package/dist-lib/hooks/useBrandingChrome.d.ts +11 -0
  24. package/dist-lib/hooks/useFilters.d.ts +1 -0
  25. package/dist-lib/hooks/useLongPress.d.ts +29 -0
  26. package/dist-lib/hooks/useResponsiveMode.d.ts +2 -21
  27. package/dist-lib/icons.js +1 -1
  28. package/dist-lib/index.d.ts +10 -3
  29. package/dist-lib/index.js +3305 -2741
  30. package/dist-lib/lib/actions.d.ts +13 -5
  31. package/dist-lib/lib/filter-evaluator.d.ts +16 -0
  32. package/dist-lib/lib/filters.d.ts +10 -4
  33. package/dist-lib/lib/longPressGesture.d.ts +55 -0
  34. package/dist-lib/lib/messages.d.ts +1 -0
  35. package/dist-lib/lib/page-inset.d.ts +3 -0
  36. package/dist-lib/lib/variants.d.ts +7 -0
  37. package/dist-lib/lib/viewport-category.d.ts +44 -0
  38. package/dist-lib/{registry-DJKp0yaV.js → registry-CWDnxiLJ.js} +1291 -1008
  39. package/dist-lib/testing.js +10 -10
  40. package/dist-lib/types/api.d.ts +15 -2
  41. package/dist-lib/types/schema.d.ts +26 -0
  42. package/dist-lib/{useCurrentScreen-A3xZDs7U.js → useCurrentScreen-BshVTPVq.js} +1124 -1088
  43. package/dist-lib/{useProperties-TlltWwLv.js → useProperties-B5p9mIH8.js} +92 -61
  44. package/dist-lib/{value-CHY7LgZ-.js → value-B1O6QikE.js} +1 -1
  45. package/dist-lib/vite/index.js +23 -22
  46. package/package.json +12 -12
  47. package/dist-lib/components/agents/AgentVisualHints.d.ts +0 -6
@@ -1,3 +1,4 @@
1
+ import { type ResponsiveBreakpoints } from "../lib/viewport-category";
1
2
  import type { BrandingShellFlags, BrandingSurfaceFlags, BrandingViewport } from "../types/api";
2
3
  export type BrandingChromeSurface = "list" | "detail" | "record_list" | "custom";
3
4
  /**
@@ -13,6 +14,16 @@ export type BrandingChromeSurface = "list" | "detail" | "record_list" | "custom"
13
14
  * `branding.chrome.embed.viewport: desktop` and the whole SDK follows.
14
15
  */
15
16
  export declare function useBrandingViewport(): BrandingViewport;
17
+ /**
18
+ * The device-class boundaries for the CURRENT presentation context.
19
+ *
20
+ * A deployment overrides one bound at a time; the rest keep the SDK's table.
21
+ * This is the fine-grained counterpart of {@link useBrandingViewport}: that one
22
+ * forces a class outright, this one moves where the classes meet - which is what
23
+ * a deployment on hardware the default table misreads actually needs, without
24
+ * pinning every user of that context to one class.
25
+ */
26
+ export declare function useBrandingBreakpoints(): ResponsiveBreakpoints;
16
27
  export interface ResolvedBrandingChrome extends BrandingSurfaceFlags {
17
28
  isVisible: (key: keyof BrandingSurfaceFlags) => boolean;
18
29
  }
@@ -5,6 +5,7 @@ import { type FilterNode } from "../lib/filters";
5
5
  */
6
6
  export declare function useFilters(): {
7
7
  filters: FilterNode[];
8
+ filterError: string | null;
8
9
  activeCount: number;
9
10
  setFilters: (newFilters: FilterNode[]) => void;
10
11
  clearFilters: () => void;
@@ -0,0 +1,29 @@
1
+ import type { PointerEvent as ReactPointerEvent } from "react";
2
+ export interface UseLongPress {
3
+ /** Spread onto the row surface. */
4
+ handlers: {
5
+ onPointerDown: (event: ReactPointerEvent) => void;
6
+ onPointerMove: (event: ReactPointerEvent) => void;
7
+ onPointerUp: () => void;
8
+ onPointerCancel: () => void;
9
+ onPointerLeave: () => void;
10
+ };
11
+ /**
12
+ * True when the click now arriving is the tail of a long press that already
13
+ * fired. Reading it clears it, so the row's own click handler calls this once
14
+ * and skips navigating when it answers true.
15
+ */
16
+ consumePressFired: () => boolean;
17
+ }
18
+ /**
19
+ * Binds the long-press gesture to a row surface and calls `onLongPress` with the
20
+ * press point when it completes.
21
+ *
22
+ * Mouse presses are ignored: a fine pointer has right-click, which is the same
23
+ * Row Menu through the same composition path, and holding a mouse button down
24
+ * over a row is not a gesture anyone means.
25
+ */
26
+ export declare function useLongPress(onLongPress: (point: {
27
+ x: number;
28
+ y: number;
29
+ }) => void): UseLongPress;
@@ -1,25 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
- export type ViewportCategory = "phone" | "tablet" | "desktop";
3
- export interface ResponsiveBreakpoints {
4
- phoneMax: number;
5
- tabletMax: number;
6
- }
7
- export interface ResponsiveViewport {
8
- width: number;
9
- height: number;
10
- touch?: boolean;
11
- }
12
- export interface ResponsiveMode {
13
- category: ViewportCategory;
14
- width: number;
15
- height: number;
16
- isPhone: boolean;
17
- isTablet: boolean;
18
- isDesktop: boolean;
19
- touch: boolean;
20
- }
21
- export declare const DEFAULT_RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints;
22
- export declare function resolveViewportCategory(width: number, breakpoints?: ResponsiveBreakpoints): ViewportCategory;
2
+ import { DEFAULT_RESPONSIVE_BREAKPOINTS, resolveViewportCategory, type ResponsiveBreakpoints, type ResponsiveMode, type ResponsiveViewport, type ViewportCategory } from "../lib/viewport-category";
3
+ export { DEFAULT_RESPONSIVE_BREAKPOINTS, resolveViewportCategory, type ResponsiveBreakpoints, type ResponsiveMode, type ResponsiveViewport, type ViewportCategory, };
23
4
  export declare function clearViewportCssVariables(): void;
24
5
  export interface ResponsiveModeProviderProps {
25
6
  children: ReactNode;
package/dist-lib/icons.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./DynamicIcon-DeRpAaXm.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./DynamicIcon-Dc2j-rg_.js";
2
2
  export { o as DynamicIcon, a as Icon, n as LucideIcon, i as getIcon, t as getIconRegistryVersion, e as setIconRegistry, r as subscribeIconRegistry };
@@ -43,6 +43,7 @@ export type { CustomScreenProps } from "./stores/screen-registry";
43
43
  export { setIconRegistry, getIcon } from "./stores/icon-registry";
44
44
  export type { IconDef } from "./stores/icon-registry";
45
45
  export { registerLayoutWidget, getLayoutWidget, hasLayoutWidget, type LayoutWidget, type LayoutWidgetProps, } from "./components/detail-layout/widgets/registry";
46
+ export { useUserLocale } from "./hooks/useUserLocale";
46
47
  export { useTabStore, type TabItem, type ReturnTarget } from "./stores/tabs";
47
48
  export { useTabNavigate } from "./hooks/useTabNavigate";
48
49
  export { useScreenBack } from "./hooks/useScreenBack";
@@ -119,8 +120,8 @@ export { AgentChatPanel } from "./components/agents/AgentChatPanel";
119
120
  export type { AgentChatPanelProps } from "./components/agents/AgentChatPanel";
120
121
  export { AgentElicitForm } from "./components/agents/AgentElicitForm";
121
122
  export type { AgentElicitFormProps } from "./components/agents/AgentElicitForm";
122
- export { AgentVisualHints } from "./components/agents/AgentVisualHints";
123
- export type { AgentVisualHintsProps } from "./components/agents/AgentVisualHints";
123
+ export { AgentPicker } from "./components/agents/AgentPicker";
124
+ export type { AgentPickerProps } from "./components/agents/AgentPicker";
124
125
  export { AgentConversationDrawer } from "./components/agents/AgentConversationDrawer";
125
126
  export type { AgentConversationDrawerProps } from "./components/agents/AgentConversationDrawer";
126
127
  export { useAgentConversation } from "./hooks/useAgentConversation";
@@ -129,7 +130,13 @@ export * from "./api/agents";
129
130
  export { Breadcrumbs } from "./components/shared/Breadcrumbs";
130
131
  export type { BreadcrumbsProps, Crumb } from "./components/shared/Breadcrumbs";
131
132
  export type { FilterNode, FilterOp } from "./lib/filters";
132
- export { parseFiltersFromURL, setFiltersInURL, hasOrGroups, countActiveFilters, OP_LABELS, NO_VALUE_OPS, } from "./lib/filters";
133
+ export type { FilterURLState } from "./lib/filters";
134
+ export type { FilterRecord, FilterRecordField, FilterRecordFields } from "./lib/filter-evaluator";
135
+ export { parseFiltersFromURL, parseFilterURLState, setFiltersInURL, hasOrGroups, countActiveFilters, OP_LABELS, NO_VALUE_OPS, } from "./lib/filters";
136
+ export { evaluateFilterTree } from "./lib/filter-evaluator";
137
+ export { resolveEntityVariantCode } from "./lib/variants";
138
+ export { variantActionCodesForRecord, commonVariantActionCodes } from "./lib/variants";
139
+ export { resolveScreenVariantCode, effectiveScreenForRecord } from "./lib/variants";
133
140
  export { formatCount, formatExactCount, formatEstimatedCount } from "./lib/format-count";
134
141
  export type { MassEditTarget, MassEditTargetKind } from "./lib/mass-edit";
135
142
  export { buildMassEditTargets, parseTargetFilter } from "./lib/mass-edit";