@uniformdev/mesh-sdk-react 20.77.2-alpha.3.sha-e9420d8e77 → 20.79.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/index.d.mts CHANGED
@@ -912,14 +912,10 @@ declare function DataTypeEditor({ onChange, children, editVariableComponent }: D
912
912
 
913
913
  /**
914
914
  * Status of the delegation session as seen from the React provider.
915
- *
916
- * @deprecated This beta identity delegation API may change with breaking changes.
917
915
  */
918
916
  type DelegationStatus = 'idle' | 'acquiring' | 'active' | 'disabled' | 'error';
919
917
  /**
920
918
  * Value provided by DelegationProvider via React context.
921
- *
922
- * @deprecated This beta identity delegation API may change with breaking changes.
923
919
  */
924
920
  interface DelegationContextValue {
925
921
  status: DelegationStatus;
@@ -931,12 +927,8 @@ interface DelegationContextValue {
931
927
  */
932
928
  reacquire: () => Promise<void>;
933
929
  }
934
- /** @deprecated This beta identity delegation API may change with breaking changes. */
935
930
  declare const DelegationContext: React$1.Context<DelegationContextValue | null>;
936
931
 
937
- /**
938
- * @deprecated This beta identity delegation API may change with breaking changes.
939
- */
940
932
  interface DelegationGateProps {
941
933
  children: React__default.ReactNode;
942
934
  /** Shown while delegation is starting. Omit to use the default loading UI. */
@@ -954,8 +946,6 @@ interface DelegationGateProps {
954
946
  *
955
947
  * Sensible defaults use the design system (loading overlay, callouts). Pass `loadingComponent`,
956
948
  * `disabledComponent`, or `errorComponent` to customize; pass `null` to render nothing for that state.
957
- *
958
- * @deprecated This beta identity delegation API may change with breaking changes.
959
949
  */
960
950
  declare function DelegationGate({ children, loadingComponent, disabledComponent, errorComponent, }: DelegationGateProps): _emotion_react_jsx_runtime.JSX.Element | null;
961
951
 
@@ -963,15 +953,10 @@ declare function DelegationGate({ children, loadingComponent, disabledComponent,
963
953
  * Thrown by `reacquire()` when `sdk.getSessionToken()` returns `undefined`,
964
954
  * meaning identity delegation is not enabled for this integration.
965
955
  * Distinct from transient errors so callers can avoid showing an error state.
966
- *
967
- * @deprecated This beta identity delegation API may change with breaking changes.
968
956
  */
969
957
  declare class DelegationDisabledError extends Error {
970
958
  constructor();
971
959
  }
972
- /**
973
- * @deprecated This beta identity delegation API may change with breaking changes.
974
- */
975
960
  interface DelegationProviderProps {
976
961
  /** `UniformMeshSDK` instance obtained from `useUniformMeshSdk()`. */
977
962
  sdk: UniformMeshSDK;
@@ -1018,8 +1003,6 @@ interface DelegationProviderProps {
1018
1003
  * Mid-session expiry (visible tab, BFF returns `delegation_expired`) is recovered via
1019
1004
  * `reacquire()` — typically through `useDelegationFetch`, which awaits re-exchange and
1020
1005
  * retries the failed request once.
1021
- *
1022
- * @deprecated This beta identity delegation API may change with breaking changes.
1023
1006
  */
1024
1007
  declare function DelegationProvider({ sdk, onSessionToken, checkActive, revalidateOnFocus, revalidateAfterMs, children, }: DelegationProviderProps): _emotion_react_jsx_runtime.JSX.Element;
1025
1008
 
@@ -1655,6 +1638,8 @@ type FilterOptionLeftHandComponentProps = {
1655
1638
  type FilterOption = {
1656
1639
  /** The label for the option */
1657
1640
  label: string;
1641
+ /** Secondary context shown under the label in the filter menu */
1642
+ secondaryLabel?: string;
1658
1643
  /** The value for the option */
1659
1644
  value: string;
1660
1645
  /** The operator options for the option */
@@ -1665,6 +1650,13 @@ type FilterOption = {
1665
1650
  readOnly?: boolean;
1666
1651
  /** Set a disabled state on the input */
1667
1652
  disabled?: boolean;
1653
+ /**
1654
+ * Marks a criteria that may only appear once across the whole filter set (e.g. content/composition
1655
+ * type, workflow). Consumers that build filters interactively (e.g. the modern filter bar) use this
1656
+ * to disable the criteria in "add"/"change" menus while it is already occupied by another row,
1657
+ * deriving occupancy from their live working rows rather than the applied filters.
1658
+ */
1659
+ singleUse?: boolean;
1668
1660
  /**
1669
1661
  * Controls whether the filter's right-hand-side allows bound dynamic tokens.
1670
1662
  *
@@ -1692,7 +1684,13 @@ type FilterOptionGroup = {
1692
1684
  /** The options for the option */
1693
1685
  options?: FilterOption[];
1694
1686
  };
1695
- /** Filter selected and query value props */
1687
+ /**
1688
+ * Filter selected and query value props.
1689
+ *
1690
+ * @deprecated Frozen for legacy SearchAndFilter UI compatibility. New dashboard
1691
+ * code should use the Filter type from the views API; this mesh export is not a
1692
+ * published replacement and will not gain new fields.
1693
+ */
1696
1694
  type Filter = {
1697
1695
  /** The field value selected */
1698
1696
  field: string;
@@ -2137,7 +2135,7 @@ type SearchAndFilterResultContainerProps = {
2137
2135
  hideClearButton?: boolean;
2138
2136
  };
2139
2137
  /** Search and filter results container */
2140
- declare const SearchAndFilterResultContainer: ({ buttonText, clearButtonLabel, calloutTitle, calloutText, onHandleClear, hideClearButton, }: SearchAndFilterResultContainerProps) => _emotion_react_jsx_runtime.JSX.Element | null;
2138
+ declare const SearchAndFilterResultContainer: ({ buttonText, calloutTitle, calloutText, onHandleClear, hideClearButton, }: SearchAndFilterResultContainerProps) => _emotion_react_jsx_runtime.JSX.Element | null;
2141
2139
 
2142
2140
  declare const SearchOnlyContext: React$1.Context<Pick<SearchAndFilterContextProps, "searchTerm" | "setSearchTerm">>;
2143
2141
  type SearchOnlyProviderProps = Pick<SearchAndFilterProviderProps, 'onSearchChange'> & {
@@ -2182,8 +2180,6 @@ declare const SortItems: ({ sortByLabel, localeLabel, sortOptions, sortByValue,
2182
2180
 
2183
2181
  /**
2184
2182
  * Options for {@link createDelegationFetch}.
2185
- *
2186
- * @deprecated This beta identity delegation API may change with breaking changes.
2187
2183
  */
2188
2184
  interface CreateDelegationFetchOptions {
2189
2185
  /**
@@ -2201,16 +2197,12 @@ interface CreateDelegationFetchOptions {
2201
2197
  }
2202
2198
  /**
2203
2199
  * Default expiry check: 401 whose JSON body has `code === DELEGATION_EXPIRED_CODE`.
2204
- *
2205
- * @deprecated This beta identity delegation API may change with breaking changes.
2206
2200
  */
2207
2201
  declare function isDelegationExpiredResponse(response: Response): Promise<boolean>;
2208
2202
  /**
2209
2203
  * `fetch` wrapper that injects the Mesh CSRF header, and on a BFF
2210
2204
  * `delegation_expired` 401 calls `reacquire()` once then retries.
2211
2205
  * A second expiry after reacquire is returned as-is.
2212
- *
2213
- * @deprecated This beta identity delegation API may change with breaking changes.
2214
2206
  */
2215
2207
  declare function createDelegationFetch(options: CreateDelegationFetchOptions): typeof fetch;
2216
2208
 
@@ -2220,8 +2212,6 @@ declare function useConnectedDataAsVariables(connectedData: Record<string, unkno
2220
2212
  /**
2221
2213
  * Delegation session state (`status`, `error`, awaitable `reacquire`).
2222
2214
  * Requires `DelegationProvider`. Prefer {@link useDelegationFetch} for BFF calls.
2223
- *
2224
- * @deprecated This beta identity delegation API may change with breaking changes.
2225
2215
  */
2226
2216
  declare function useDelegation(): DelegationContextValue;
2227
2217
 
@@ -2229,8 +2219,6 @@ declare function useDelegation(): DelegationContextValue;
2229
2219
  * `fetch` for BFF calls: injects the Mesh CSRF header, and on `delegation_expired`
2230
2220
  * 401 reacquires via {@link useDelegation} then retries once.
2231
2221
  * Requires `DelegationProvider`. See {@link createDelegationFetch}.
2232
- *
2233
- * @deprecated This beta identity delegation API may change with breaking changes.
2234
2222
  */
2235
2223
  declare function useDelegationFetch(options?: Omit<CreateDelegationFetchOptions, 'reacquire'>): typeof fetch;
2236
2224
 
package/dist/index.d.ts CHANGED
@@ -912,14 +912,10 @@ declare function DataTypeEditor({ onChange, children, editVariableComponent }: D
912
912
 
913
913
  /**
914
914
  * Status of the delegation session as seen from the React provider.
915
- *
916
- * @deprecated This beta identity delegation API may change with breaking changes.
917
915
  */
918
916
  type DelegationStatus = 'idle' | 'acquiring' | 'active' | 'disabled' | 'error';
919
917
  /**
920
918
  * Value provided by DelegationProvider via React context.
921
- *
922
- * @deprecated This beta identity delegation API may change with breaking changes.
923
919
  */
924
920
  interface DelegationContextValue {
925
921
  status: DelegationStatus;
@@ -931,12 +927,8 @@ interface DelegationContextValue {
931
927
  */
932
928
  reacquire: () => Promise<void>;
933
929
  }
934
- /** @deprecated This beta identity delegation API may change with breaking changes. */
935
930
  declare const DelegationContext: React$1.Context<DelegationContextValue | null>;
936
931
 
937
- /**
938
- * @deprecated This beta identity delegation API may change with breaking changes.
939
- */
940
932
  interface DelegationGateProps {
941
933
  children: React__default.ReactNode;
942
934
  /** Shown while delegation is starting. Omit to use the default loading UI. */
@@ -954,8 +946,6 @@ interface DelegationGateProps {
954
946
  *
955
947
  * Sensible defaults use the design system (loading overlay, callouts). Pass `loadingComponent`,
956
948
  * `disabledComponent`, or `errorComponent` to customize; pass `null` to render nothing for that state.
957
- *
958
- * @deprecated This beta identity delegation API may change with breaking changes.
959
949
  */
960
950
  declare function DelegationGate({ children, loadingComponent, disabledComponent, errorComponent, }: DelegationGateProps): _emotion_react_jsx_runtime.JSX.Element | null;
961
951
 
@@ -963,15 +953,10 @@ declare function DelegationGate({ children, loadingComponent, disabledComponent,
963
953
  * Thrown by `reacquire()` when `sdk.getSessionToken()` returns `undefined`,
964
954
  * meaning identity delegation is not enabled for this integration.
965
955
  * Distinct from transient errors so callers can avoid showing an error state.
966
- *
967
- * @deprecated This beta identity delegation API may change with breaking changes.
968
956
  */
969
957
  declare class DelegationDisabledError extends Error {
970
958
  constructor();
971
959
  }
972
- /**
973
- * @deprecated This beta identity delegation API may change with breaking changes.
974
- */
975
960
  interface DelegationProviderProps {
976
961
  /** `UniformMeshSDK` instance obtained from `useUniformMeshSdk()`. */
977
962
  sdk: UniformMeshSDK;
@@ -1018,8 +1003,6 @@ interface DelegationProviderProps {
1018
1003
  * Mid-session expiry (visible tab, BFF returns `delegation_expired`) is recovered via
1019
1004
  * `reacquire()` — typically through `useDelegationFetch`, which awaits re-exchange and
1020
1005
  * retries the failed request once.
1021
- *
1022
- * @deprecated This beta identity delegation API may change with breaking changes.
1023
1006
  */
1024
1007
  declare function DelegationProvider({ sdk, onSessionToken, checkActive, revalidateOnFocus, revalidateAfterMs, children, }: DelegationProviderProps): _emotion_react_jsx_runtime.JSX.Element;
1025
1008
 
@@ -1655,6 +1638,8 @@ type FilterOptionLeftHandComponentProps = {
1655
1638
  type FilterOption = {
1656
1639
  /** The label for the option */
1657
1640
  label: string;
1641
+ /** Secondary context shown under the label in the filter menu */
1642
+ secondaryLabel?: string;
1658
1643
  /** The value for the option */
1659
1644
  value: string;
1660
1645
  /** The operator options for the option */
@@ -1665,6 +1650,13 @@ type FilterOption = {
1665
1650
  readOnly?: boolean;
1666
1651
  /** Set a disabled state on the input */
1667
1652
  disabled?: boolean;
1653
+ /**
1654
+ * Marks a criteria that may only appear once across the whole filter set (e.g. content/composition
1655
+ * type, workflow). Consumers that build filters interactively (e.g. the modern filter bar) use this
1656
+ * to disable the criteria in "add"/"change" menus while it is already occupied by another row,
1657
+ * deriving occupancy from their live working rows rather than the applied filters.
1658
+ */
1659
+ singleUse?: boolean;
1668
1660
  /**
1669
1661
  * Controls whether the filter's right-hand-side allows bound dynamic tokens.
1670
1662
  *
@@ -1692,7 +1684,13 @@ type FilterOptionGroup = {
1692
1684
  /** The options for the option */
1693
1685
  options?: FilterOption[];
1694
1686
  };
1695
- /** Filter selected and query value props */
1687
+ /**
1688
+ * Filter selected and query value props.
1689
+ *
1690
+ * @deprecated Frozen for legacy SearchAndFilter UI compatibility. New dashboard
1691
+ * code should use the Filter type from the views API; this mesh export is not a
1692
+ * published replacement and will not gain new fields.
1693
+ */
1696
1694
  type Filter = {
1697
1695
  /** The field value selected */
1698
1696
  field: string;
@@ -2137,7 +2135,7 @@ type SearchAndFilterResultContainerProps = {
2137
2135
  hideClearButton?: boolean;
2138
2136
  };
2139
2137
  /** Search and filter results container */
2140
- declare const SearchAndFilterResultContainer: ({ buttonText, clearButtonLabel, calloutTitle, calloutText, onHandleClear, hideClearButton, }: SearchAndFilterResultContainerProps) => _emotion_react_jsx_runtime.JSX.Element | null;
2138
+ declare const SearchAndFilterResultContainer: ({ buttonText, calloutTitle, calloutText, onHandleClear, hideClearButton, }: SearchAndFilterResultContainerProps) => _emotion_react_jsx_runtime.JSX.Element | null;
2141
2139
 
2142
2140
  declare const SearchOnlyContext: React$1.Context<Pick<SearchAndFilterContextProps, "searchTerm" | "setSearchTerm">>;
2143
2141
  type SearchOnlyProviderProps = Pick<SearchAndFilterProviderProps, 'onSearchChange'> & {
@@ -2182,8 +2180,6 @@ declare const SortItems: ({ sortByLabel, localeLabel, sortOptions, sortByValue,
2182
2180
 
2183
2181
  /**
2184
2182
  * Options for {@link createDelegationFetch}.
2185
- *
2186
- * @deprecated This beta identity delegation API may change with breaking changes.
2187
2183
  */
2188
2184
  interface CreateDelegationFetchOptions {
2189
2185
  /**
@@ -2201,16 +2197,12 @@ interface CreateDelegationFetchOptions {
2201
2197
  }
2202
2198
  /**
2203
2199
  * Default expiry check: 401 whose JSON body has `code === DELEGATION_EXPIRED_CODE`.
2204
- *
2205
- * @deprecated This beta identity delegation API may change with breaking changes.
2206
2200
  */
2207
2201
  declare function isDelegationExpiredResponse(response: Response): Promise<boolean>;
2208
2202
  /**
2209
2203
  * `fetch` wrapper that injects the Mesh CSRF header, and on a BFF
2210
2204
  * `delegation_expired` 401 calls `reacquire()` once then retries.
2211
2205
  * A second expiry after reacquire is returned as-is.
2212
- *
2213
- * @deprecated This beta identity delegation API may change with breaking changes.
2214
2206
  */
2215
2207
  declare function createDelegationFetch(options: CreateDelegationFetchOptions): typeof fetch;
2216
2208
 
@@ -2220,8 +2212,6 @@ declare function useConnectedDataAsVariables(connectedData: Record<string, unkno
2220
2212
  /**
2221
2213
  * Delegation session state (`status`, `error`, awaitable `reacquire`).
2222
2214
  * Requires `DelegationProvider`. Prefer {@link useDelegationFetch} for BFF calls.
2223
- *
2224
- * @deprecated This beta identity delegation API may change with breaking changes.
2225
2215
  */
2226
2216
  declare function useDelegation(): DelegationContextValue;
2227
2217
 
@@ -2229,8 +2219,6 @@ declare function useDelegation(): DelegationContextValue;
2229
2219
  * `fetch` for BFF calls: injects the Mesh CSRF header, and on `delegation_expired`
2230
2220
  * 401 reacquires via {@link useDelegation} then retries once.
2231
2221
  * Requires `DelegationProvider`. See {@link createDelegationFetch}.
2232
- *
2233
- * @deprecated This beta identity delegation API may change with breaking changes.
2234
2222
  */
2235
2223
  declare function useDelegationFetch(options?: Omit<CreateDelegationFetchOptions, 'reacquire'>): typeof fetch;
2236
2224
 
package/dist/index.esm.js CHANGED
@@ -6426,6 +6426,10 @@ var ConditionalInputRow = css22`
6426
6426
  var ConditionalInputRowEmpty = css22`
6427
6427
  flex-wrap: nowrap;
6428
6428
  `;
6429
+ var FilterOptionSecondaryLabel = css22`
6430
+ color: var(--gray-600);
6431
+ font-size: var(--fs-xs);
6432
+ `;
6429
6433
  var SearchInput = css22`
6430
6434
  && {
6431
6435
  max-height: 40px;
@@ -7101,6 +7105,10 @@ var FilterItem = ({
7101
7105
  var _a2;
7102
7106
  onFilterOptionChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
7103
7107
  },
7108
+ formatOptionLabel: (option, { context }) => /* @__PURE__ */ jsxs34("div", { children: [
7109
+ /* @__PURE__ */ jsx77("div", { children: option.label }),
7110
+ context === "menu" && "secondaryLabel" in option && option.secondaryLabel ? /* @__PURE__ */ jsx77("div", { css: FilterOptionSecondaryLabel, children: option.secondaryLabel }) : null
7111
+ ] }),
7104
7112
  isOptionDisabled: (option) => {
7105
7113
  var _a2;
7106
7114
  return (_a2 = option == null ? void 0 : option.disabled) != null ? _a2 : false;
@@ -7430,11 +7438,10 @@ var FilterItems = ({
7430
7438
  import { VerticalRhythm as VerticalRhythm7 } from "@uniformdev/design-system";
7431
7439
 
7432
7440
  // src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
7433
- import { Button as Button5, Callout as Callout5, HorizontalRhythm as HorizontalRhythm9, Paragraph } from "@uniformdev/design-system";
7441
+ import { Button as Button5, Callout as Callout5, Paragraph } from "@uniformdev/design-system";
7434
7442
  import { Fragment as Fragment15, jsx as jsx80, jsxs as jsxs37 } from "@emotion/react/jsx-runtime";
7435
7443
  var SearchAndFilterResultContainer = ({
7436
7444
  buttonText,
7437
- clearButtonLabel = "clear",
7438
7445
  calloutTitle,
7439
7446
  calloutText,
7440
7447
  onHandleClear,
@@ -7482,29 +7489,19 @@ var SearchAndFilterResultContainer = ({
7482
7489
  handleResetFilters();
7483
7490
  }
7484
7491
  };
7485
- return /* @__PURE__ */ jsxs37(Fragment15, { children: [
7486
- /* @__PURE__ */ jsxs37(HorizontalRhythm9, { children: [
7487
- /* @__PURE__ */ jsxs37("span", { children: [
7488
- totalResults,
7489
- " results ",
7490
- searchTerm ? `for "${searchTerm}"` : null
7491
- ] }),
7492
- !searchTerm || hideClearButton ? null : /* @__PURE__ */ jsx80(Button5, { buttonType: "ghostDestructive", size: "zero", onClick: handleClearSearch, children: clearButtonLabel })
7493
- ] }),
7494
- totalResults === 0 ? /* @__PURE__ */ jsxs37(Callout5, { title: automateCalloutTitle, type: "note", children: [
7495
- calloutText ? /* @__PURE__ */ jsx80(Paragraph, { children: calloutText }) : null,
7496
- hideClearButton ? null : /* @__PURE__ */ jsx80(
7497
- Button5,
7498
- {
7499
- buttonType: "tertiaryOutline",
7500
- size: "xs",
7501
- onClick: handleClearSearch,
7502
- "data-testid": "clear-search",
7503
- children: clearButtonText
7504
- }
7505
- )
7506
- ] }) : null
7507
- ] });
7492
+ return /* @__PURE__ */ jsx80(Fragment15, { children: totalResults === 0 ? /* @__PURE__ */ jsxs37(Callout5, { title: automateCalloutTitle, type: "note", children: [
7493
+ calloutText ? /* @__PURE__ */ jsx80(Paragraph, { children: calloutText }) : null,
7494
+ hideClearButton ? null : /* @__PURE__ */ jsx80(
7495
+ Button5,
7496
+ {
7497
+ buttonType: "tertiaryOutline",
7498
+ size: "xs",
7499
+ onClick: handleClearSearch,
7500
+ "data-testid": "clear-search",
7501
+ children: clearButtonText
7502
+ }
7503
+ )
7504
+ ] }) : null });
7508
7505
  };
7509
7506
 
7510
7507
  // src/components/SearchAndFilter/SearchAndFilter.tsx
package/dist/index.js CHANGED
@@ -6503,6 +6503,10 @@ var ConditionalInputRow = import_react70.css`
6503
6503
  var ConditionalInputRowEmpty = import_react70.css`
6504
6504
  flex-wrap: nowrap;
6505
6505
  `;
6506
+ var FilterOptionSecondaryLabel = import_react70.css`
6507
+ color: var(--gray-600);
6508
+ font-size: var(--fs-xs);
6509
+ `;
6506
6510
  var SearchInput = import_react70.css`
6507
6511
  && {
6508
6512
  max-height: 40px;
@@ -7164,6 +7168,10 @@ var FilterItem = ({
7164
7168
  var _a2;
7165
7169
  onFilterOptionChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
7166
7170
  },
7171
+ formatOptionLabel: (option, { context }) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { children: [
7172
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { children: option.label }),
7173
+ context === "menu" && "secondaryLabel" in option && option.secondaryLabel ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { css: FilterOptionSecondaryLabel, children: option.secondaryLabel }) : null
7174
+ ] }),
7167
7175
  isOptionDisabled: (option) => {
7168
7176
  var _a2;
7169
7177
  return (_a2 = option == null ? void 0 : option.disabled) != null ? _a2 : false;
@@ -7497,7 +7505,6 @@ var import_design_system49 = require("@uniformdev/design-system");
7497
7505
  var import_jsx_runtime79 = require("@emotion/react/jsx-runtime");
7498
7506
  var SearchAndFilterResultContainer = ({
7499
7507
  buttonText,
7500
- clearButtonLabel = "clear",
7501
7508
  calloutTitle,
7502
7509
  calloutText,
7503
7510
  onHandleClear,
@@ -7545,29 +7552,19 @@ var SearchAndFilterResultContainer = ({
7545
7552
  handleResetFilters();
7546
7553
  }
7547
7554
  };
7548
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_jsx_runtime79.Fragment, { children: [
7549
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_design_system49.HorizontalRhythm, { children: [
7550
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { children: [
7551
- totalResults,
7552
- " results ",
7553
- searchTerm ? `for "${searchTerm}"` : null
7554
- ] }),
7555
- !searchTerm || hideClearButton ? null : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_design_system49.Button, { buttonType: "ghostDestructive", size: "zero", onClick: handleClearSearch, children: clearButtonLabel })
7556
- ] }),
7557
- totalResults === 0 ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_design_system49.Callout, { title: automateCalloutTitle, type: "note", children: [
7558
- calloutText ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_design_system49.Paragraph, { children: calloutText }) : null,
7559
- hideClearButton ? null : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7560
- import_design_system49.Button,
7561
- {
7562
- buttonType: "tertiaryOutline",
7563
- size: "xs",
7564
- onClick: handleClearSearch,
7565
- "data-testid": "clear-search",
7566
- children: clearButtonText
7567
- }
7568
- )
7569
- ] }) : null
7570
- ] });
7555
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children: totalResults === 0 ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_design_system49.Callout, { title: automateCalloutTitle, type: "note", children: [
7556
+ calloutText ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_design_system49.Paragraph, { children: calloutText }) : null,
7557
+ hideClearButton ? null : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7558
+ import_design_system49.Button,
7559
+ {
7560
+ buttonType: "tertiaryOutline",
7561
+ size: "xs",
7562
+ onClick: handleClearSearch,
7563
+ "data-testid": "clear-search",
7564
+ children: clearButtonText
7565
+ }
7566
+ )
7567
+ ] }) : null });
7571
7568
  };
7572
7569
 
7573
7570
  // src/components/SearchAndFilter/SearchAndFilter.tsx
package/dist/index.mjs CHANGED
@@ -6426,6 +6426,10 @@ var ConditionalInputRow = css22`
6426
6426
  var ConditionalInputRowEmpty = css22`
6427
6427
  flex-wrap: nowrap;
6428
6428
  `;
6429
+ var FilterOptionSecondaryLabel = css22`
6430
+ color: var(--gray-600);
6431
+ font-size: var(--fs-xs);
6432
+ `;
6429
6433
  var SearchInput = css22`
6430
6434
  && {
6431
6435
  max-height: 40px;
@@ -7101,6 +7105,10 @@ var FilterItem = ({
7101
7105
  var _a2;
7102
7106
  onFilterOptionChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
7103
7107
  },
7108
+ formatOptionLabel: (option, { context }) => /* @__PURE__ */ jsxs34("div", { children: [
7109
+ /* @__PURE__ */ jsx77("div", { children: option.label }),
7110
+ context === "menu" && "secondaryLabel" in option && option.secondaryLabel ? /* @__PURE__ */ jsx77("div", { css: FilterOptionSecondaryLabel, children: option.secondaryLabel }) : null
7111
+ ] }),
7104
7112
  isOptionDisabled: (option) => {
7105
7113
  var _a2;
7106
7114
  return (_a2 = option == null ? void 0 : option.disabled) != null ? _a2 : false;
@@ -7430,11 +7438,10 @@ var FilterItems = ({
7430
7438
  import { VerticalRhythm as VerticalRhythm7 } from "@uniformdev/design-system";
7431
7439
 
7432
7440
  // src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
7433
- import { Button as Button5, Callout as Callout5, HorizontalRhythm as HorizontalRhythm9, Paragraph } from "@uniformdev/design-system";
7441
+ import { Button as Button5, Callout as Callout5, Paragraph } from "@uniformdev/design-system";
7434
7442
  import { Fragment as Fragment15, jsx as jsx80, jsxs as jsxs37 } from "@emotion/react/jsx-runtime";
7435
7443
  var SearchAndFilterResultContainer = ({
7436
7444
  buttonText,
7437
- clearButtonLabel = "clear",
7438
7445
  calloutTitle,
7439
7446
  calloutText,
7440
7447
  onHandleClear,
@@ -7482,29 +7489,19 @@ var SearchAndFilterResultContainer = ({
7482
7489
  handleResetFilters();
7483
7490
  }
7484
7491
  };
7485
- return /* @__PURE__ */ jsxs37(Fragment15, { children: [
7486
- /* @__PURE__ */ jsxs37(HorizontalRhythm9, { children: [
7487
- /* @__PURE__ */ jsxs37("span", { children: [
7488
- totalResults,
7489
- " results ",
7490
- searchTerm ? `for "${searchTerm}"` : null
7491
- ] }),
7492
- !searchTerm || hideClearButton ? null : /* @__PURE__ */ jsx80(Button5, { buttonType: "ghostDestructive", size: "zero", onClick: handleClearSearch, children: clearButtonLabel })
7493
- ] }),
7494
- totalResults === 0 ? /* @__PURE__ */ jsxs37(Callout5, { title: automateCalloutTitle, type: "note", children: [
7495
- calloutText ? /* @__PURE__ */ jsx80(Paragraph, { children: calloutText }) : null,
7496
- hideClearButton ? null : /* @__PURE__ */ jsx80(
7497
- Button5,
7498
- {
7499
- buttonType: "tertiaryOutline",
7500
- size: "xs",
7501
- onClick: handleClearSearch,
7502
- "data-testid": "clear-search",
7503
- children: clearButtonText
7504
- }
7505
- )
7506
- ] }) : null
7507
- ] });
7492
+ return /* @__PURE__ */ jsx80(Fragment15, { children: totalResults === 0 ? /* @__PURE__ */ jsxs37(Callout5, { title: automateCalloutTitle, type: "note", children: [
7493
+ calloutText ? /* @__PURE__ */ jsx80(Paragraph, { children: calloutText }) : null,
7494
+ hideClearButton ? null : /* @__PURE__ */ jsx80(
7495
+ Button5,
7496
+ {
7497
+ buttonType: "tertiaryOutline",
7498
+ size: "xs",
7499
+ onClick: handleClearSearch,
7500
+ "data-testid": "clear-search",
7501
+ children: clearButtonText
7502
+ }
7503
+ )
7504
+ ] }) : null });
7508
7505
  };
7509
7506
 
7510
7507
  // src/components/SearchAndFilter/SearchAndFilter.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/mesh-sdk-react",
3
- "version": "20.77.2-alpha.3.sha-e9420d8e77",
3
+ "version": "20.79.0",
4
4
  "description": "Uniform Mesh Framework SDK for React",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -50,10 +50,10 @@
50
50
  "@lexical/selection": "0.49.0",
51
51
  "@lexical/utils": "0.49.0",
52
52
  "@react-icons/all-files": "https://github.com/react-icons/react-icons/releases/download/v5.5.0/react-icons-all-files-5.5.0.tgz",
53
- "@uniformdev/canvas": "20.77.2-alpha.3.sha-e9420d8e77",
54
- "@uniformdev/design-system": "20.77.2-alpha.3.sha-e9420d8e77",
55
- "@uniformdev/mesh-sdk": "20.77.2-alpha.3.sha-e9420d8e77",
56
- "@uniformdev/richtext": "20.77.2-alpha.3.sha-e9420d8e77",
53
+ "@uniformdev/canvas": "20.79.0",
54
+ "@uniformdev/design-system": "20.79.0",
55
+ "@uniformdev/mesh-sdk": "20.79.0",
56
+ "@uniformdev/richtext": "20.79.0",
57
57
  "dequal": "^2.0.3",
58
58
  "lexical": "0.49.0",
59
59
  "mitt": "3.0.1",
@@ -85,5 +85,5 @@
85
85
  "publishConfig": {
86
86
  "access": "public"
87
87
  },
88
- "gitHead": "e9420d8e77e7b9b0c5ea14bfe38f1f16a9a236ee"
88
+ "gitHead": "f419f94df6de01601261042943593cabfd739357"
89
89
  }