@mercurjs/dashboard-shared 2.3.6-canary.6 → 2.3.6-canary.7

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 (3) hide show
  1. package/dist/index.d.ts +153 -7
  2. package/dist/index.js +459 -297
  3. package/package.json +5 -5
package/dist/index.d.ts CHANGED
@@ -3,8 +3,10 @@ import { ProductChangeActionDTO, HttpTypes as HttpTypes$1, AttributeType, Produc
3
3
  import { HttpTypes, AdminOrder } from '@medusajs/types';
4
4
  import { z, ZodObject } from 'zod';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as _mercurjs_dashboard_sdk from '@mercurjs/dashboard-sdk';
7
+ import { Permission, PermissionsContextValue, PermissionMap, PermissionKey, PermissionRight, CustomFieldsConfig, NavItemOverride, ActivityEntry, CustomFormField, CustomDisplayField, SectionAction, CustomListExtension } from '@mercurjs/dashboard-sdk';
6
8
  import * as React$1 from 'react';
7
- import React__default, { ReactNode, PropsWithChildren, ComponentPropsWithoutRef, CSSProperties, ComponentType, ComponentProps, ForwardRefExoticComponent, Ref, RefAttributes, RefCallback, Dispatch, SetStateAction } from 'react';
9
+ import React__default, { ReactNode, PropsWithChildren, ComponentPropsWithoutRef, CSSProperties, ComponentType, ComponentProps, ForwardRefExoticComponent, Ref, RefAttributes, RefCallback, ReactElement, Dispatch, SetStateAction } from 'react';
8
10
  import { Tooltip, Heading, Text, DataTableColumnDef, DataTableFilter, DataTableCommand, DataTableEmptyStateProps, DataTableRowSelectionState, DataTableRow, Select, Input, Table, Drawer, FocusModal, ProgressStatus } from '@medusajs/ui';
9
11
  import * as react_hook_form from 'react-hook-form';
10
12
  import { FieldValues, FieldPath, ControllerProps, UseFormReturn, Control, UseFormProps } from 'react-hook-form';
@@ -16,8 +18,6 @@ import { CellContext, Row, ColumnDef, ColumnDefTemplate, HeaderContext, Table as
16
18
  import { TFunction } from 'i18next';
17
19
  import { ClientError } from '@mercurjs/client';
18
20
  import * as react_currency_input_field from 'react-currency-input-field';
19
- import * as _mercurjs_dashboard_sdk from '@mercurjs/dashboard-sdk';
20
- import { PermissionsContextValue, PermissionMap, Permission, PermissionKey, CustomFieldsConfig, NavItemOverride, ActivityEntry, CustomFormField, CustomDisplayField, SectionAction, CustomListExtension } from '@mercurjs/dashboard-sdk';
21
21
 
22
22
  type TQueryKey<TKey, TListQuery = any, TDetailQuery = string> = {
23
23
  all: readonly [TKey];
@@ -198,6 +198,13 @@ type Action = {
198
198
  * Optional tooltip to display when a disabled action is hovered.
199
199
  */
200
200
  disabledTooltip?: string | ReactNode;
201
+ /**
202
+ * Permission(s) of the endpoint this action calls. An actor who lacks it
203
+ * gets the action disabled with a tooltip.
204
+ */
205
+ permission?: Permission | Permission[];
206
+ /** If true, ALL `permission` entries are required. Defaults to ANY. */
207
+ requireAll?: boolean;
201
208
  } & ({
202
209
  to: string;
203
210
  onClick?: never;
@@ -212,7 +219,7 @@ type ActionMenuProps = PropsWithChildren<{
212
219
  groups: ActionGroup[];
213
220
  variant?: "transparent" | "primary";
214
221
  }>;
215
- declare const ActionMenu: ({ groups, variant, children, }: ActionMenuProps) => react_jsx_runtime.JSX.Element;
222
+ declare const ActionMenu: ({ groups: declaredGroups, variant, children, }: ActionMenuProps) => react_jsx_runtime.JSX.Element;
216
223
 
217
224
  type BadgeListSummaryProps = {
218
225
  /**
@@ -340,6 +347,8 @@ type ActionProps = {
340
347
  action?: {
341
348
  to: string;
342
349
  label: string;
350
+ /** Permission of what the target route does; disabled without it. */
351
+ permission?: Permission | Permission[];
343
352
  };
344
353
  };
345
354
  type NoRecordsProps = {
@@ -826,11 +835,46 @@ type CreateDataGridPriceColumnsProps<TData, TFieldValues extends FieldValues> =
826
835
  };
827
836
  declare const createDataGridPriceColumns: <TData, TFieldValues extends FieldValues>({ currencies, regions, pricePreferences, isReadyOnly, getFieldName, t, }: CreateDataGridPriceColumnsProps<TData, TFieldValues>) => ColumnDef<TData, unknown>[];
828
837
 
838
+ type PermissionChecks$1 = Pick<PermissionsContextValue, "hasAnyPermission" | "hasAllPermissions">;
839
+ type Permissioned = {
840
+ permission?: Permission | Permission[];
841
+ requireAll?: boolean;
842
+ };
843
+ type DisableableAction = Permissioned & {
844
+ disabled?: boolean;
845
+ disabledTooltip?: string | ReactNode;
846
+ };
847
+ /**
848
+ * Disables the actions the actor lacks the permission for and explains why in
849
+ * the tooltip. The action stays visible so the menu doesn't change shape
850
+ * between roles.
851
+ */
852
+ declare const applyActionPermissions: <TAction extends DisableableAction, TGroup extends {
853
+ actions: TAction[];
854
+ }>(groups: TGroup[], checks: PermissionChecks$1 | null, deniedTooltip: string) => TGroup[];
855
+ type PermissionedCommand<TCommand> = TCommand & Permissioned;
856
+ /**
857
+ * The Medusa UI command bar can't render a disabled command, so bulk commands
858
+ * the actor may not run are left out.
859
+ */
860
+ declare const filterCommandsByPermission: <TCommand>(commands: PermissionedCommand<TCommand>[], checks: PermissionChecks$1 | null) => TCommand[];
861
+ /**
862
+ * @example
863
+ * ```tsx
864
+ * const commands = usePermittedCommands([
865
+ * { label: t("actions.delete"), shortcut: "d", action, permission: "offers:manage" },
866
+ * ])
867
+ * ```
868
+ */
869
+ declare const usePermittedCommands: <TCommand>(commands: PermissionedCommand<TCommand>[]) => TCommand[];
870
+
829
871
  type VisibilityState = Record<string, boolean>;
830
872
  type ColumnOrderState = string[];
831
873
  type DataTableActionProps = {
832
874
  label: string;
833
875
  disabled?: boolean;
876
+ /** Permission of the endpoint the action calls; disabled without it. */
877
+ permission?: Permission | Permission[];
834
878
  } & ({
835
879
  to: string;
836
880
  } | {
@@ -855,7 +899,8 @@ interface DataTableProps$1<TData> {
855
899
  data?: TData[];
856
900
  columns: DataTableColumnDef<TData, any>[];
857
901
  filters?: DataTableFilter[];
858
- commands?: DataTableCommand[];
902
+ /** A command with a `permission` is left out when the actor lacks it. */
903
+ commands?: PermissionedCommand<DataTableCommand>[];
859
904
  action?: DataTableActionProps;
860
905
  actions?: DataTableActionProps[];
861
906
  actionMenu?: DataTableActionMenuProps;
@@ -892,7 +937,7 @@ interface DataTableProps$1<TData> {
892
937
  };
893
938
  filterBarContent?: React__default.ReactNode;
894
939
  }
895
- declare const DataTable: <TData>({ data, columns, filters, commands, action, actions, actionMenu, getRowId, rowCount, enablePagination, enableSearch, autoFocusSearch: _autoFocusSearch, enableFilterMenu, rowHref, heading, headingLevel, subHeading, prefix, pageSize, emptyState, rowSelection, isLoading, layout, enableColumnVisibility, initialColumnVisibility, onColumnVisibilityChange, columnOrder, onColumnOrderChange, filterBarContent, }: DataTableProps$1<TData>) => react_jsx_runtime.JSX.Element;
940
+ declare const DataTable: <TData>({ data, columns, filters, commands: declaredCommands, action, actions, actionMenu, getRowId, rowCount, enablePagination, enableSearch, autoFocusSearch: _autoFocusSearch, enableFilterMenu, rowHref, heading, headingLevel, subHeading, prefix, pageSize, emptyState, rowSelection, isLoading, layout, enableColumnVisibility, initialColumnVisibility, onColumnVisibilityChange, columnOrder, onColumnOrderChange, filterBarContent, }: DataTableProps$1<TData>) => react_jsx_runtime.JSX.Element;
896
941
 
897
942
  type FilterGroupProps = {
898
943
  filters: {
@@ -1296,6 +1341,9 @@ type BulkCommand = {
1296
1341
  label: string;
1297
1342
  shortcut: string;
1298
1343
  action: (selection: Record<string, boolean>) => Promise<void>;
1344
+ /** Permission(s) of the endpoint the command calls; disabled without it. */
1345
+ permission?: Permission | Permission[];
1346
+ requireAll?: boolean;
1299
1347
  };
1300
1348
  interface DataTableRootProps<TData> {
1301
1349
  /**
@@ -1584,6 +1632,102 @@ declare const useResourcePermissions: (key: PermissionKey) => {
1584
1632
  isLoading: boolean;
1585
1633
  };
1586
1634
 
1635
+ type PermissionChecks = Pick<PermissionsContextValue, "hasAnyPermission" | "hasAllPermissions">;
1636
+ declare const toPermissionList: (permission?: Permission | Permission[]) => Permission[];
1637
+ /**
1638
+ * A null `checks` means no provider is mounted (public routes); nothing is
1639
+ * enforced there, so everything is permitted.
1640
+ */
1641
+ declare const isPermitted: (checks: PermissionChecks | null, permission?: Permission | Permission[], requireAll?: boolean) => boolean;
1642
+ /** Same check against a raw permission map, for code outside React. */
1643
+ declare const permissionMapAllows: (map: PermissionMap | null | undefined, permission: Permission | Permission[], requireAll?: boolean) => boolean;
1644
+ /** True for a 403 from the API (`ClientError.status`). */
1645
+ declare const isForbidden: (error: unknown) => boolean;
1646
+
1647
+ /**
1648
+ * @example
1649
+ * ```tsx
1650
+ * const canViewCustomers = useCan("customers")
1651
+ *
1652
+ * useCustomers(query, { enabled: canViewCustomers })
1653
+ * ```
1654
+ */
1655
+ declare const useCan: (key: PermissionKey, right?: PermissionRight) => boolean;
1656
+
1657
+ /**
1658
+ * For controls that stay visible but must not fire when the actor lacks the
1659
+ * permission of the endpoint they call.
1660
+ *
1661
+ * @example
1662
+ * ```tsx
1663
+ * const gate = usePermissionGate("orders:edit")
1664
+ *
1665
+ * <Tooltip content={gate.tooltip}>
1666
+ * <Button disabled={gate.denied}>Cancel</Button>
1667
+ * </Tooltip>
1668
+ * ```
1669
+ */
1670
+ declare const usePermissionGate: (permission?: Permission | Permission[], requireAll?: boolean) => {
1671
+ allowed: boolean;
1672
+ denied: boolean;
1673
+ tooltip: string | undefined;
1674
+ };
1675
+
1676
+ type ActionElementProps = {
1677
+ disabled?: boolean;
1678
+ asChild?: boolean;
1679
+ children?: ReactNode;
1680
+ };
1681
+ type PermissionActionProps = {
1682
+ permission: Permission | Permission[];
1683
+ /** When several permissions are given, require all of them. Defaults to any. */
1684
+ requireAll?: boolean;
1685
+ children: ReactElement<ActionElementProps>;
1686
+ };
1687
+ /**
1688
+ * Disables a button (or a button wrapping a link) with a tooltip when the
1689
+ * actor lacks the permission of the endpoint it calls.
1690
+ *
1691
+ * @example
1692
+ * ```tsx
1693
+ * <PermissionAction permission="products:edit">
1694
+ * <Button size="small" variant="secondary" asChild>
1695
+ * <Link to="create">Create</Link>
1696
+ * </Button>
1697
+ * </PermissionAction>
1698
+ * ```
1699
+ */
1700
+ declare const PermissionAction: ({ permission, requireAll, children, }: PermissionActionProps) => react_jsx_runtime.JSX.Element;
1701
+
1702
+ /**
1703
+ * Inline state for a section whose data the actor may not read. Sections
1704
+ * render this for a 403 instead of throwing to the page's error boundary.
1705
+ */
1706
+ declare const SectionNoAccess: ({ className }: {
1707
+ className?: string;
1708
+ }) => react_jsx_runtime.JSX.Element;
1709
+
1710
+ type Loader<TArgs, TResult> = (args: TArgs) => TResult | Promise<TResult>;
1711
+ /**
1712
+ * Loaders run before `RoutePermissionGuard` (an element) gets to refuse the
1713
+ * route, so a loader has to check the permission itself. A denied loader
1714
+ * resolves to `null`. The return type stays the loader's own because the guard
1715
+ * renders Access Denied instead of the page, so nothing ever reads that value.
1716
+ *
1717
+ * @example
1718
+ * ```ts
1719
+ * export const withPermission = createWithPermission(async () => {
1720
+ * const { user } = await queryClient.ensureQueryData(meQueryOptions())
1721
+ * return user.permissions ?? null
1722
+ * })
1723
+ *
1724
+ * export const loader = withPermission(productLoader, "products:view")
1725
+ * ```
1726
+ */
1727
+ declare const createWithPermission: (getPermissions: () => Promise<PermissionMap | null | undefined>) => <TArgs, TResult>(loader: Loader<TArgs, TResult>, permission: Permission | Permission[], options?: {
1728
+ requireAll?: boolean;
1729
+ }) => (args: TArgs) => Promise<TResult>;
1730
+
1587
1731
  /**
1588
1732
  * Applied to anything in the sidebar that has no place in the icon rail —
1589
1733
  * labels, the store name, the shortcut hint. Expanding waits for the rail to
@@ -1645,6 +1789,7 @@ type Widget = {
1645
1789
  }>;
1646
1790
  zone: string[];
1647
1791
  widgetId: string;
1792
+ permission?: Permission[];
1648
1793
  };
1649
1794
  type WidgetModule = {
1650
1795
  widgets?: Widget[];
@@ -1666,6 +1811,7 @@ type ResolvedDisplays = {
1666
1811
  type ResolvedWidget = {
1667
1812
  Component: Widget["Component"];
1668
1813
  widgetId: string;
1814
+ permission?: Permission[];
1669
1815
  };
1670
1816
  type ZoneWidgets = {
1671
1817
  before: ResolvedWidget[];
@@ -2037,4 +2183,4 @@ declare const RICH_TEXT_ALLOWED_ATTRIBUTES: string[];
2037
2183
  declare const isHtml: (value?: string | null) => boolean;
2038
2184
  declare const plainTextToHtml: (value?: string | null) => string;
2039
2185
 
2040
- export { type Action, type ActionGroup, ActionMenu, AddressForm, AddressSchema, type AttributeChange, type AttributeChangeKind, AttributeValueInput, BadgeListSummary, ChipGroup, ChipInput, CodeCell, CodeHeader, Combobox, type Command, ConditionalTooltip, ConfirmPrompt, type ConfirmPromptProps, type CoreNavItem, CountrySelect, CreatedAtCell, CreatedAtHeader, type CurrencyInfo, type CustomFieldsModule, CustomerInfo, DataGrid, DataTable, DateCell, DateHeader, DateRangeDisplay, DeprecatedPercentageInput, DisplayExtensionZone, type DisplayExtensionZoneProps, DisplayField, type DisplayFieldProps, DisplaySection, type DisplaySectionField, type DisplaySectionProps, type EditAttributeAttribute, EditAttributeForm, type EditAttributeFormProps, EmailCell, EmailForm, EmailHeader, EmailSchema, ErrorBoundary, type ExtendableTable, ExtensionProvider, type ExtensionProviderProps, ExtensionRegistry, type ExtractableOffer, type ExtractableOffers, type FieldDiff, FilePreview, type FileType, FileUpload, type FileUploadProps, type Filter, FilterGroup, Form, FormExtensionZone, type FormExtensionZoneProps, GeneralSectionSkeleton, HandleInput, HeadingSkeleton, IconAvatar, IconButtonSkeleton, ImageAvatar, type ImageRef, IncludesTaxTooltip, InfiniteList, JsonViewSection, JsonViewSectionSkeleton, KeyboundForm, LinkButton, ListBadge, ListSummary, Listicle, type ListicleProps, LocalizedTablePagination, type MediaDiff, MetadataForm, MetadataSection, MoneyAmountCell, NameCell, NameHeader, type NavigationModule, NoRecords, type NoRecordsProps, NoResults, type NoResultsProps, OrderBy, PercentageInput, PermissionGuard, type PermissionGuardProps, PermissionsContext, PermissionsProvider, type PermissionsProviderProps, PlaceholderCell, PriceListDateStatus, type PriceListGridGroupRow, type PriceListGridOfferRow, type PriceListGridRow, PriceListStatus, PriceListType, type ProductAttributeBatchPayload, ProductAttributeSection, type ProductAttributeSectionProps, type ProductChangeAttribute, ProductChangePanel, type ProductChangePanelProps, type ProductChangeProduct, type ProductChangeResolvers, type ProductChangeVariant, type ProductChangeView, ProgressBar, ProvinceSelect, Query, REFERENCE_FIELDS, RICH_TEXT_ALLOWED_ATTRIBUTES, RICH_TEXT_ALLOWED_TAGS, type ReferenceField, type ResolvedAttribute, type ResolvedDisplays, type ResolvedFormField, RichText, RichTextEditor, type RichTextEditorProps, RouteDrawer, RouteFocusModal, RoutePermissionGuard, SIDEBAR_MENU_CONTENT, SIDEBAR_RAIL_FADE, SectionRow, type SectionRowProps, SegmentedControl, type SegmentedControlOption, SidebarContext, type SidebarContextValue, SidebarLink, type SidebarLinkProps, SidebarProvider, type SidebarState, SingleColumnPage, SingleColumnPageSkeleton, Skeleton, SortableList, SortableTree, StackedDrawer, StackedFocusModal, type StaticCountry, StatusCell, SwitchBox, type TQueryKey, type TabDefinition, TabbedForm, TableFooterSkeleton, TableSectionSkeleton, TableSkeleton, TextCell, TextHeader, TextSkeleton, Thumbnail, TransferOwnershipSchema, TwoColumnPage, TwoColumnPageSkeleton, type UseExtendableFormProps, type UseExtendableTableProps, type UseQueryOptionsWrapper, type VariantGroup, VisuallyHidden, type Widget, type WidgetModule, type WidgetPlacement, WidgetZone, type WidgetZoneProps, type ZoneWidgets, _DataTable, applyNavOverrides, buildAdditionalDataDefaults, buildAdditionalDataSchema, buildOfferGridData, buildProductChangeView, countries, createDataGridHelper, createDataGridPriceColumns, createFormHelper, currencies, extractPricesFromOffers, extractReferenceIds, formatFieldValue, genericForwardRef, getCountryByIso2, getCurrencySymbol, getDecimalDigits, getExtensionRegistry, getFormattedAddress, getFormattedCountry, getLinkQuery, getLocaleAmount, getNativeSymbol, getPriceListStatus, getStylizedAmount, humanizeFieldName, isAmountLessThenRoundingError, isHtml, isImageList, isOrderActionable, isOrderAwaitingAction, isPriceListGroupRow, isProductRow, isReferenceField, isSameAddress, linkFields, plainTextToHtml, productChangeViewHasContent, queryClient, queryKeysFactory, richTextContentClasses, sanitizeRichText, useActionLocks, useCollapsedSidebar, useCombinedRefs, useCommandHistory, useDataTable, useDate, useDisplayFieldOverride, useDocumentDirection, useExpandedSidebar, useExtendableForm, useExtendableTable, useExtension, useExtensionActivity, useLinkQuery, usePermissions, useQueryParams, useResourcePermissions, useRouteModal, useSidebar, useSidebarMenuPlacement, useStackedModal, useTabManagement, useTabbedForm, withLinkFields };
2186
+ export { type Action, type ActionGroup, ActionMenu, AddressForm, AddressSchema, type AttributeChange, type AttributeChangeKind, AttributeValueInput, BadgeListSummary, ChipGroup, ChipInput, CodeCell, CodeHeader, Combobox, type Command, ConditionalTooltip, ConfirmPrompt, type ConfirmPromptProps, type CoreNavItem, CountrySelect, CreatedAtCell, CreatedAtHeader, type CurrencyInfo, type CustomFieldsModule, CustomerInfo, DataGrid, DataTable, DateCell, DateHeader, DateRangeDisplay, DeprecatedPercentageInput, DisplayExtensionZone, type DisplayExtensionZoneProps, DisplayField, type DisplayFieldProps, DisplaySection, type DisplaySectionField, type DisplaySectionProps, type EditAttributeAttribute, EditAttributeForm, type EditAttributeFormProps, EmailCell, EmailForm, EmailHeader, EmailSchema, ErrorBoundary, type ExtendableTable, ExtensionProvider, type ExtensionProviderProps, ExtensionRegistry, type ExtractableOffer, type ExtractableOffers, type FieldDiff, FilePreview, type FileType, FileUpload, type FileUploadProps, type Filter, FilterGroup, Form, FormExtensionZone, type FormExtensionZoneProps, GeneralSectionSkeleton, HandleInput, HeadingSkeleton, IconAvatar, IconButtonSkeleton, ImageAvatar, type ImageRef, IncludesTaxTooltip, InfiniteList, JsonViewSection, JsonViewSectionSkeleton, KeyboundForm, LinkButton, ListBadge, ListSummary, Listicle, type ListicleProps, LocalizedTablePagination, type MediaDiff, MetadataForm, MetadataSection, MoneyAmountCell, NameCell, NameHeader, type NavigationModule, NoRecords, type NoRecordsProps, NoResults, type NoResultsProps, OrderBy, PercentageInput, PermissionAction, type PermissionActionProps, PermissionGuard, type PermissionGuardProps, type PermissionedCommand, PermissionsContext, PermissionsProvider, type PermissionsProviderProps, PlaceholderCell, PriceListDateStatus, type PriceListGridGroupRow, type PriceListGridOfferRow, type PriceListGridRow, PriceListStatus, PriceListType, type ProductAttributeBatchPayload, ProductAttributeSection, type ProductAttributeSectionProps, type ProductChangeAttribute, ProductChangePanel, type ProductChangePanelProps, type ProductChangeProduct, type ProductChangeResolvers, type ProductChangeVariant, type ProductChangeView, ProgressBar, ProvinceSelect, Query, REFERENCE_FIELDS, RICH_TEXT_ALLOWED_ATTRIBUTES, RICH_TEXT_ALLOWED_TAGS, type ReferenceField, type ResolvedAttribute, type ResolvedDisplays, type ResolvedFormField, RichText, RichTextEditor, type RichTextEditorProps, RouteDrawer, RouteFocusModal, RoutePermissionGuard, SIDEBAR_MENU_CONTENT, SIDEBAR_RAIL_FADE, SectionNoAccess, SectionRow, type SectionRowProps, SegmentedControl, type SegmentedControlOption, SidebarContext, type SidebarContextValue, SidebarLink, type SidebarLinkProps, SidebarProvider, type SidebarState, SingleColumnPage, SingleColumnPageSkeleton, Skeleton, SortableList, SortableTree, StackedDrawer, StackedFocusModal, type StaticCountry, StatusCell, SwitchBox, type TQueryKey, type TabDefinition, TabbedForm, TableFooterSkeleton, TableSectionSkeleton, TableSkeleton, TextCell, TextHeader, TextSkeleton, Thumbnail, TransferOwnershipSchema, TwoColumnPage, TwoColumnPageSkeleton, type UseExtendableFormProps, type UseExtendableTableProps, type UseQueryOptionsWrapper, type VariantGroup, VisuallyHidden, type Widget, type WidgetModule, type WidgetPlacement, WidgetZone, type WidgetZoneProps, type ZoneWidgets, _DataTable, applyActionPermissions, applyNavOverrides, buildAdditionalDataDefaults, buildAdditionalDataSchema, buildOfferGridData, buildProductChangeView, countries, createDataGridHelper, createDataGridPriceColumns, createFormHelper, createWithPermission, currencies, extractPricesFromOffers, extractReferenceIds, filterCommandsByPermission, formatFieldValue, genericForwardRef, getCountryByIso2, getCurrencySymbol, getDecimalDigits, getExtensionRegistry, getFormattedAddress, getFormattedCountry, getLinkQuery, getLocaleAmount, getNativeSymbol, getPriceListStatus, getStylizedAmount, humanizeFieldName, isAmountLessThenRoundingError, isForbidden, isHtml, isImageList, isOrderActionable, isOrderAwaitingAction, isPermitted, isPriceListGroupRow, isProductRow, isReferenceField, isSameAddress, linkFields, permissionMapAllows, plainTextToHtml, productChangeViewHasContent, queryClient, queryKeysFactory, richTextContentClasses, sanitizeRichText, toPermissionList, useActionLocks, useCan, useCollapsedSidebar, useCombinedRefs, useCommandHistory, useDataTable, useDate, useDisplayFieldOverride, useDocumentDirection, useExpandedSidebar, useExtendableForm, useExtendableTable, useExtension, useExtensionActivity, useLinkQuery, usePermissionGate, usePermissions, usePermittedCommands, useQueryParams, useResourcePermissions, useRouteModal, useSidebar, useSidebarMenuPlacement, useStackedModal, useTabManagement, useTabbedForm, withLinkFields };