@vuu-ui/vuu-filters 3.5.0 → 3.5.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.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.5.0",
2
+ "version": "3.5.1",
3
3
  "main": "./src/index.js",
4
4
  "author": "heswell",
5
5
  "license": "Apache-2.0",
@@ -10,19 +10,19 @@
10
10
  "type-defs": "node ../../scripts/build-type-defs.mjs"
11
11
  },
12
12
  "devDependencies": {
13
- "@vuu-ui/vuu-data-types": "3.5.0",
14
- "@vuu-ui/vuu-protocol-types": "3.5.0",
15
- "@vuu-ui/vuu-table-types": "3.5.0",
16
- "@vuu-ui/vuu-filter-types": "3.5.0"
13
+ "@vuu-ui/vuu-data-types": "3.5.1",
14
+ "@vuu-ui/vuu-protocol-types": "3.5.1",
15
+ "@vuu-ui/vuu-table-types": "3.5.1",
16
+ "@vuu-ui/vuu-filter-types": "3.5.1"
17
17
  },
18
18
  "dependencies": {
19
- "@vuu-ui/vuu-context-menu": "3.5.0",
20
- "@vuu-ui/vuu-data-react": "3.5.0",
21
- "@vuu-ui/vuu-filter-parser": "3.5.0",
22
- "@vuu-ui/vuu-popups": "3.5.0",
23
- "@vuu-ui/vuu-ui-controls": "3.5.0",
24
- "@vuu-ui/vuu-table": "3.5.0",
25
- "@vuu-ui/vuu-utils": "3.5.0",
19
+ "@vuu-ui/vuu-context-menu": "3.5.1",
20
+ "@vuu-ui/vuu-data-react": "3.5.1",
21
+ "@vuu-ui/vuu-filter-parser": "3.5.1",
22
+ "@vuu-ui/vuu-popups": "3.5.1",
23
+ "@vuu-ui/vuu-ui-controls": "3.5.1",
24
+ "@vuu-ui/vuu-table": "3.5.1",
25
+ "@vuu-ui/vuu-utils": "3.5.1",
26
26
  "@salt-ds/core": "1.54.1",
27
27
  "@salt-ds/lab": "1.0.0-alpha.83",
28
28
  "@salt-ds/styles": "0.2.1",
@@ -9,7 +9,7 @@ import { useWindow } from "@salt-ds/window";
9
9
  import ColumnFilter_0 from "./ColumnFilter.css";
10
10
  import { isBetweenOperator, withDateTimePattern } from "@vuu-ui/vuu-utils";
11
11
  const classBase = "vuuColumnFilter";
12
- const ColumnFilter_ColumnFilter = /*#__PURE__*/ external_react_forwardRef(function({ InputProps: InputPropsProp, TypeaheadProps, className, column, defaultValue, extendedFilterOptions, onColumnFilterChange, onColumnRangeFilterChange, onCommit: onCommitProp, operator = "=", pattern, table, value: valueProp, values, variant, ...buttonGroupProps }, forwardRef) {
12
+ const ColumnFilter_ColumnFilter = /*#__PURE__*/ external_react_forwardRef(function({ InputProps: InputPropsProp, TypeaheadProps, className, column, defaultValue, extendedFilterOptions, labels, onColumnFilterChange, onColumnRangeFilterChange, onCommit: onCommitProp, operator = "=", pattern, table, value: valueProp, values, variant, ...buttonGroupProps }, forwardRef) {
13
13
  const targetWindow = useWindow();
14
14
  useComponentCssInjection({
15
15
  testId: "vuu-filter-editor",
@@ -48,6 +48,7 @@ const ColumnFilter_ColumnFilter = /*#__PURE__*/ external_react_forwardRef(functi
48
48
  TypeaheadProps,
49
49
  commitWhenCleared: true,
50
50
  dataDescriptor: controlDescriptor,
51
+ labels,
51
52
  onCommit,
52
53
  table,
53
54
  values,
@@ -24,13 +24,14 @@ const getValues = (defaultValue, value)=>{
24
24
  ];
25
25
  };
26
26
  const classBase = "vuuToggleFilter";
27
- const ToggleFilter_ToggleFilter = /*#__PURE__*/ forwardRef(function({ className, column, defaultValue: defaultValueProp, onCommit, table, value: valueProp, values, ...ToggleButtonGroupProps }, forwardedRef) {
27
+ const ToggleFilter_ToggleFilter = /*#__PURE__*/ forwardRef(function({ className, column, defaultValue: defaultValueProp, labels, onCommit, table, value: valueProp, values, ...ToggleButtonGroupProps }, forwardedRef) {
28
28
  const targetWindow = useWindow();
29
29
  useComponentCssInjection({
30
30
  testId: "vuu-toggle-filter",
31
31
  css: ToggleFilter_0,
32
32
  window: targetWindow
33
33
  });
34
+ if (void 0 !== labels && labels.length !== values.length) throw Error("[ToggleFilter] labels must have the same number of items as values");
34
35
  const [defaultValue, value] = getValues(defaultValueProp, valueProp);
35
36
  const onlyAvailableValue = useToggleFilter({
36
37
  column,
@@ -55,12 +56,12 @@ const ToggleFilter_ToggleFilter = /*#__PURE__*/ forwardRef(function({ className,
55
56
  value: "all",
56
57
  children: "ALL"
57
58
  }, "all"),
58
- values.map((toggleValue)=>/*#__PURE__*/ jsx(ToggleButton, {
59
+ values.map((toggleValue, i)=>/*#__PURE__*/ jsx(ToggleButton, {
59
60
  className: clsx({
60
61
  [`${classBase}-onlyAvailableValue`]: onlyAvailableValue === toggleValue
61
62
  }),
62
63
  value: toggleValue,
63
- children: toggleValue
64
+ children: labels?.[i] ?? toggleValue
64
65
  }, toggleValue))
65
66
  ]
66
67
  });
@@ -2,7 +2,7 @@ import { type SegmentedButtonGroupProps } from "@salt-ds/core";
2
2
  import { DataItemEditControlProps } from "@vuu-ui/vuu-data-react";
3
3
  import { ColumnFilterHookProps } from "./useColumnFilter";
4
4
  import { type DateTimePattern } from "@vuu-ui/vuu-utils";
5
- export interface ColumnFilterProps extends ColumnFilterHookProps, Omit<SegmentedButtonGroupProps, "defaultValue">, Pick<DataItemEditControlProps, "TypeaheadProps" | "table" | "values" | "variant"> {
5
+ export interface ColumnFilterProps extends ColumnFilterHookProps, Omit<SegmentedButtonGroupProps, "defaultValue">, Pick<DataItemEditControlProps, "TypeaheadProps" | "labels" | "table" | "values" | "variant"> {
6
6
  /**
7
7
  * Temporal columns only. The date/time pattern used by the filter control,
8
8
  * overriding any pattern configured on the column type. The pattern also
@@ -12,6 +12,11 @@ import { type ToggleFilterHookProps } from "./useToggleFilter";
12
12
  * behaving like a regular ToggleButtonGroup.
13
13
  */
14
14
  export interface ToggleFilterProps extends ToggleButtonGroupProps, ToggleFilterHookProps {
15
+ /**
16
+ * Optional labels for the toggle buttons. If provided, must contain
17
+ * the same number of items as values. Defaults to values.
18
+ */
19
+ labels?: string[];
15
20
  onCommit: CommitHandler<HTMLElement>;
16
21
  }
17
22
  export declare const ToggleFilter: import("react").ForwardRefExoticComponent<ToggleFilterProps & import("react").RefAttributes<HTMLDivElement>>;