@box/metadata-filter 1.30.7 → 1.31.1

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 (53) hide show
  1. package/dist/chunks/index.js +54 -48
  2. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.js +39 -37
  3. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.js +26 -24
  4. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.js +35 -33
  5. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js +26 -24
  6. package/dist/esm/lib/components/metadata-filter-fields/is-modified-utils.js +84 -0
  7. package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.js +64 -60
  8. package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields.js +58 -48
  9. package/dist/esm/lib/messages.js +4 -0
  10. package/dist/esm/lib/metadata-filter.js +50 -46
  11. package/dist/i18n/bn-IN.js +1 -0
  12. package/dist/i18n/da-DK.js +1 -0
  13. package/dist/i18n/de-DE.js +1 -0
  14. package/dist/i18n/en-AU.js +1 -0
  15. package/dist/i18n/en-CA.js +1 -0
  16. package/dist/i18n/en-GB.js +1 -0
  17. package/dist/i18n/en-US.js +1 -0
  18. package/dist/i18n/en-US.properties +2 -0
  19. package/dist/i18n/en-x-pseudo.js +53 -52
  20. package/dist/i18n/en-x-pseudo.properties +52 -52
  21. package/dist/i18n/es-419.js +1 -0
  22. package/dist/i18n/es-ES.js +1 -0
  23. package/dist/i18n/fi-FI.js +1 -0
  24. package/dist/i18n/fr-CA.js +1 -0
  25. package/dist/i18n/fr-FR.js +1 -0
  26. package/dist/i18n/hi-IN.js +1 -0
  27. package/dist/i18n/it-IT.js +1 -0
  28. package/dist/i18n/ja-JP.js +1 -0
  29. package/dist/i18n/json/src/lib/messages.json +1 -1
  30. package/dist/i18n/ko-KR.js +1 -0
  31. package/dist/i18n/nb-NO.js +1 -0
  32. package/dist/i18n/nl-NL.js +1 -0
  33. package/dist/i18n/pl-PL.js +1 -0
  34. package/dist/i18n/pt-BR.js +1 -0
  35. package/dist/i18n/ru-RU.js +1 -0
  36. package/dist/i18n/sv-SE.js +1 -0
  37. package/dist/i18n/tr-TR.js +1 -0
  38. package/dist/i18n/zh-CN.js +1 -0
  39. package/dist/i18n/zh-TW.js +1 -0
  40. package/dist/styles/index.css +1 -1
  41. package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.d.ts +1 -1
  42. package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.d.ts +1 -1
  43. package/dist/types/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.d.ts +1 -1
  44. package/dist/types/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.d.ts +1 -1
  45. package/dist/types/lib/components/metadata-filter-fields/components/shared/advanced-filter-select.d.ts +2 -1
  46. package/dist/types/lib/components/metadata-filter-fields/is-modified-utils.d.ts +3 -0
  47. package/dist/types/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.d.ts +1 -1
  48. package/dist/types/lib/components/metadata-filter-fields/metadata-filter-fields.d.ts +1 -1
  49. package/dist/types/lib/components/metadata-filter-fields/types.d.ts +30 -1
  50. package/dist/types/lib/messages.d.ts +5 -0
  51. package/dist/types/lib/metadata-filter.d.ts +1 -1
  52. package/dist/types/lib/types.d.ts +2 -0
  53. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
1
  import { MetadataFieldProps } from '../../types';
2
- export declare const MetadataMultiSelectFieldAdvanced: ({ label, fieldNamePrefix, disableForm, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, filterOptionsMap, portalElement, hasAccordion, }: MetadataFieldProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MetadataMultiSelectFieldAdvanced: ({ label, fieldNamePrefix, disableForm, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, filterOptionsMap, portalElement, hasAccordion, isModified, }: MetadataFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { MetadataFieldProps } from '../../types';
2
2
  export declare const MetadataStringField: {
3
- ({ label, fieldNamePrefix, disableForm, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, filterOptionsMap, hasAccordion, }: Omit<MetadataFieldProps, "locale" | "taxonomyOptionsFetcher">): import("react/jsx-runtime").JSX.Element;
3
+ ({ label, fieldNamePrefix, disableForm, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, filterOptionsMap, hasAccordion, isModified, }: Omit<MetadataFieldProps, "locale" | "taxonomyOptionsFetcher">): import("react/jsx-runtime").JSX.Element;
4
4
  displayName: string;
5
5
  };
6
6
  export default MetadataStringField;
@@ -15,6 +15,7 @@ export interface AdvancedFilterSelectProps {
15
15
  labelAs?: 'div' | 'span';
16
16
  open?: boolean;
17
17
  onOpenChange?: (open: boolean) => void;
18
+ isModified?: boolean;
18
19
  }
19
- export declare const AdvancedFilterSelect: ({ label, fieldNamePrefix, fieldAdvancedFilterOptions, filterOptionsMap, disableForm, portalElement, onAdvancedFilterOptionChange, onValueChange, defaultValue, showLabel, advancedFilterFieldName, value, labelClassName, labelAs, open, onOpenChange, }: AdvancedFilterSelectProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const AdvancedFilterSelect: ({ label, fieldNamePrefix, fieldAdvancedFilterOptions, filterOptionsMap, disableForm, portalElement, onAdvancedFilterOptionChange, onValueChange, defaultValue, showLabel, advancedFilterFieldName, value, labelClassName, labelAs, open, onOpenChange, isModified, }: AdvancedFilterSelectProps) => import("react/jsx-runtime").JSX.Element;
20
21
  export default AdvancedFilterSelect;
@@ -0,0 +1,3 @@
1
+ import { MetadataTemplateField } from '../../types';
2
+ export declare const isFieldModifiedFromValue: (fieldType: string, fieldValueContainer: unknown, isAdvancedFilterEnabled?: boolean, initialAdvancedOption?: string) => boolean;
3
+ export declare const isAnyFieldModified: (fields: MetadataTemplateField[], formValues: unknown, isAdvancedFilterEnabled?: boolean) => boolean;
@@ -1,3 +1,3 @@
1
1
  import { MetadataFilterFieldsProps } from './types';
2
- export declare const MetadataFilterFieldsAccordion: ({ disableForm, locale, portalElement, taxonomyOptionsFetcher, canUseRelativeDates, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, hasAccordion, }: MetadataFilterFieldsProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MetadataFilterFieldsAccordion: ({ disableForm, locale, portalElement, taxonomyOptionsFetcher, canUseRelativeDates, isAdvancedFilterEnabled, isModifiedMarkerEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, hasAccordion, }: MetadataFilterFieldsProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default MetadataFilterFieldsAccordion;
@@ -1,3 +1,3 @@
1
1
  import { MetadataFilterFieldsProps } from './types';
2
- export declare const MetadataFilterFields: ({ disableForm, locale, portalElement, taxonomyOptionsFetcher, canUseRelativeDates, isAdvancedFilterEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, }: MetadataFilterFieldsProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MetadataFilterFields: ({ disableForm, locale, portalElement, taxonomyOptionsFetcher, canUseRelativeDates, isAdvancedFilterEnabled, isModifiedMarkerEnabled, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, onDirtyChange, }: MetadataFilterFieldsProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default MetadataFilterFields;
@@ -1,5 +1,5 @@
1
1
  import { Level } from '@box/combobox-with-api';
2
- import { FilterOption, MetadataTemplateFieldOption } from '../../types';
2
+ import { FilterOption, MetadataTemplateFieldOption, MetadataTemplateFieldType, RangeValue } from '../../types';
3
3
  import { TaxonomyOptionsFetcher } from './components/metadata-taxonomy-field/types';
4
4
  export type CustomDateFilterOption = {
5
5
  name: string;
@@ -21,10 +21,12 @@ export type MetadataFilterFieldsProps = {
21
21
  canUseRelativeDates: boolean;
22
22
  isMultilevelTaxonomyFieldEnabled?: boolean;
23
23
  isAdvancedFilterEnabled?: boolean;
24
+ isModifiedMarkerEnabled?: boolean;
24
25
  filterOptionsMap?: Record<string, FilterOption[]>;
25
26
  onAdvancedFilterOptionChange?: (fieldKey: string, option: string) => void;
26
27
  fieldAdvancedFilterOptions?: Record<string, string>;
27
28
  hasAccordion?: boolean;
29
+ onDirtyChange?: (isDirty: boolean) => void;
28
30
  };
29
31
  export type MetadataFieldProps = {
30
32
  description?: string | null;
@@ -47,4 +49,31 @@ export type MetadataFieldProps = {
47
49
  customFieldLabels?: Array<string>;
48
50
  customDateFilterOptions?: Array<CustomDateFilterOptionsProps>;
49
51
  hasAccordion?: boolean;
52
+ isModified?: boolean;
50
53
  };
54
+ export type FieldType = Extract<MetadataTemplateFieldType, 'string' | 'float' | 'enum' | 'multiSelect' | 'date'>;
55
+ export type PartialRangeValue = Partial<RangeValue>;
56
+ export interface StringFieldValue {
57
+ enum?: [{
58
+ value?: string;
59
+ advancedFilterOption?: string;
60
+ }] | [string] | undefined;
61
+ }
62
+ export interface EnumFieldValue {
63
+ enum?: {
64
+ value?: string[];
65
+ advancedFilterOption?: string;
66
+ } | [{
67
+ value?: string[];
68
+ advancedFilterOption?: string;
69
+ }] | string[] | undefined;
70
+ }
71
+ export interface FloatFieldValue {
72
+ range?: PartialRangeValue;
73
+ enum?: [{
74
+ value?: {
75
+ range?: PartialRangeValue;
76
+ };
77
+ advancedFilterOption?: string;
78
+ }] | undefined;
79
+ }
@@ -259,5 +259,10 @@ declare const messages: {
259
259
  description: string;
260
260
  id: string;
261
261
  };
262
+ filterModifiedAriaLabel: {
263
+ defaultMessage: string;
264
+ description: string;
265
+ id: string;
266
+ };
262
267
  };
263
268
  export default messages;
@@ -1,2 +1,2 @@
1
1
  import { MetadataFilterProps } from './types';
2
- export declare const MetadataFilter: ({ isAdvancedFilterEnabled, metadataTemplateOptions, portalElement, selectedMetadataTemplate, taxonomyOptionsFetcher, showMetadataSelector, disableForm, isLoading, hasError, locale, canUseRelativeDates, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, hasAccordion, }: MetadataFilterProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MetadataFilter: ({ isAdvancedFilterEnabled, isModifiedMarkerEnabled, metadataTemplateOptions, portalElement, selectedMetadataTemplate, taxonomyOptionsFetcher, showMetadataSelector, disableForm, isLoading, hasError, locale, canUseRelativeDates, isMultilevelTaxonomyFieldEnabled, filterOptionsMap, onAdvancedFilterOptionChange, fieldAdvancedFilterOptions, hasAccordion, onDirtyChange, }: MetadataFilterProps) => import("react/jsx-runtime").JSX.Element;
@@ -82,8 +82,10 @@ export type MetadataFilterProps = {
82
82
  canUseRelativeDates?: boolean;
83
83
  isMultilevelTaxonomyFieldEnabled?: boolean;
84
84
  isAdvancedFilterEnabled?: boolean;
85
+ isModifiedMarkerEnabled?: boolean;
85
86
  filterOptionsMap?: Record<string, FilterOption[]>;
86
87
  onAdvancedFilterOptionChange?: (fieldKey: string, option: string) => void;
87
88
  fieldAdvancedFilterOptions?: Record<string, string>;
88
89
  hasAccordion?: boolean;
90
+ onDirtyChange?: (isDirty: boolean) => void;
89
91
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/metadata-filter",
3
- "version": "1.30.7",
3
+ "version": "1.31.1",
4
4
  "peerDependencies": {
5
5
  "@box/blueprint-web": "^7.8.0",
6
6
  "@box/blueprint-web-assets": "^4.16.0",
@@ -11,7 +11,7 @@
11
11
  "react-intl": "6.4.2"
12
12
  },
13
13
  "devDependencies": {
14
- "@box/blueprint-web": "^12.78.0",
14
+ "@box/blueprint-web": "^12.78.1",
15
15
  "@box/blueprint-web-assets": "^4.69.0",
16
16
  "@box/storybook-utils": "^0.14.5",
17
17
  "react": "^18.3.0",