@synerise/ds-factors 2.1.1 → 2.2.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/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.2.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-factors@2.1.1...@synerise/ds-factors@2.2.0) (2026-09-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **core:** move test helpers to a ./testing subpath export ([b38cd82](https://github.com/Synerise/synerise-design/commit/b38cd82c956111d2331d5c1e0efd1935366f1139))
12
+
13
+
14
+ ### Features
15
+
16
+ * add @synerise/ds-condition-blocks — building blocks for filtering-condition layouts ([ed332ce](https://github.com/Synerise/synerise-design/commit/ed332cefddd418a293a73c51c57e9a4c1ed4f22f))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [2.1.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-factors@2.1.0...@synerise/ds-factors@2.1.1) (2026-09-18)
7
23
 
8
24
  **Note:** Version bump only for package @synerise/ds-factors
@@ -14,6 +14,7 @@ export declare const TriggerButton: import('styled-components').StyledComponent<
14
14
  readOnly?: boolean;
15
15
  tagProps?: import('@synerise/ds-tag').TagProps;
16
16
  tooltipProps?: import('@synerise/ds-tooltip').TooltipProps;
17
+ fluidMinWidth?: string | number;
17
18
  } & import('react').RefAttributes<HTMLButtonElement>> & {
18
19
  Creator: import('react').ForwardRefExoticComponent<Omit<import('@synerise/ds-button').CreatorProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
19
20
  Expander: ({ size, expanded, disabled, onClick, className, }: import('@synerise/ds-button').ExpanderProps) => import("react").JSX.Element;
@@ -19,6 +19,7 @@ export declare const TriggerButton: import('styled-components').StyledComponent<
19
19
  readOnly?: boolean;
20
20
  tagProps?: import('@synerise/ds-tag').TagProps;
21
21
  tooltipProps?: import('@synerise/ds-tooltip').TooltipProps;
22
+ fluidMinWidth?: string | number;
22
23
  } & import('react').RefAttributes<HTMLButtonElement>> & {
23
24
  Creator: import('react').ForwardRefExoticComponent<Omit<import('@synerise/ds-button').CreatorProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
24
25
  Expander: ({ size, expanded, disabled, onClick, className, }: import('@synerise/ds-button').ExpanderProps) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
  import { FactorValueProps } from '../Factors.types';
3
- declare const FactorValue: ({ selectedFactorType, value, onChangeValue, onParamsClick, selectedFactor, textType, parameters, autocompleteText, withoutTypeSelector, texts, formulaEditor, opened, loading, factorKey, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, error, inputProps, allowClear, readOnly, relativeDateProps, arrayProps, factorValueExtraProps, uncontrolledComponent, }: FactorValueProps) => React.JSX.Element;
3
+ declare const FactorValue: ({ selectedFactorType, value, onChangeValue, onParamsClick, selectedFactor, textType, parameters, autocompleteText, withoutTypeSelector, texts, formulaEditor, opened, loading, factorKey, preventAutoloadData, getPopupContainerOverride, fluidMinWidth, onActivate, onDeactivate, error, inputProps, allowClear, readOnly, relativeDateProps, arrayProps, factorValueExtraProps, uncontrolledComponent, }: FactorValueProps) => React.JSX.Element;
4
4
  export default FactorValue;
@@ -18,6 +18,7 @@ const FactorValue = ({
18
18
  factorKey,
19
19
  preventAutoloadData,
20
20
  getPopupContainerOverride,
21
+ fluidMinWidth,
21
22
  onActivate,
22
23
  onDeactivate,
23
24
  error,
@@ -58,13 +59,14 @@ const FactorValue = ({
58
59
  allowClear,
59
60
  readOnly,
60
61
  inputProps,
62
+ fluidMinWidth,
61
63
  factorValueExtraProps,
62
64
  ...relativeDateProps,
63
65
  uncontrolledComponent
64
66
  },
65
67
  `${factorKey}-${selectedFactor.name}`
66
68
  );
67
- }, [selectedFactor, factorKey, value, texts, onChangeValue, textType, selectedFactorType, autocompleteText, parameters, withoutTypeSelector, inputProps, arrayProps, formulaEditor, opened, loading, onParamsClick, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, error, allowClear, readOnly, relativeDateProps, factorValueExtraProps, uncontrolledComponent]);
69
+ }, [selectedFactor, factorKey, value, texts, onChangeValue, textType, selectedFactorType, autocompleteText, parameters, withoutTypeSelector, inputProps, fluidMinWidth, arrayProps, formulaEditor, opened, loading, onParamsClick, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, error, allowClear, readOnly, relativeDateProps, factorValueExtraProps, uncontrolledComponent]);
68
70
  return /* @__PURE__ */ jsx(FactorInput, { inputType: selectedFactorType, inputTextType: textType, withoutTypeSelector, children: inputType });
69
71
  };
70
72
  export {
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
  import { FactorValueComponentProps } from '../../Factors.types';
3
- declare const ParameterInput: ({ value, onChange, onParamsClick, parameters, texts, opened, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, readOnly, error, loading, }: FactorValueComponentProps) => React.JSX.Element;
3
+ declare const ParameterInput: ({ value, onChange, onParamsClick, parameters, texts, opened, preventAutoloadData, getPopupContainerOverride, fluidMinWidth, onActivate, onDeactivate, readOnly, error, loading, }: FactorValueComponentProps) => React.JSX.Element;
4
4
  export default ParameterInput;
@@ -16,6 +16,7 @@ const ParameterInput = ({
16
16
  opened,
17
17
  preventAutoloadData,
18
18
  getPopupContainerOverride,
19
+ fluidMinWidth,
19
20
  onActivate,
20
21
  onDeactivate,
21
22
  readOnly = false,
@@ -77,7 +78,7 @@ const ParameterInput = ({
77
78
  }, [parameterIcon, readOnly]);
78
79
  const triggerButton = /* @__PURE__ */ jsxs(ParameterButton, { error, type: isSelected && selectedButtonColored ? "custom-color" : "secondary", color: isSelected && selectedButtonColored ? "green" : void 0, mode: triggerMode, onClick: !readOnly ? handleOnClick : void 0, readOnly, children: [
79
80
  parameterIcon && /* @__PURE__ */ jsx(Icon, { component: parameterIcon }),
80
- /* @__PURE__ */ jsx(Value, { children: parameterName }),
81
+ /* @__PURE__ */ jsx(Value, { $fluidMinWidth: fluidMinWidth, children: parameterName }),
81
82
  !readOnly && /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(AngleDownS, {}) })
82
83
  ] });
83
84
  const selectedItemInfoCard = useMemo(() => {
@@ -6,7 +6,9 @@ export declare const ItemsList: import('styled-components').StyledComponent<"div
6
6
  }, never>;
7
7
  export declare const SearchResult: import('styled-components').StyledComponent<"span", any, {}, never>;
8
8
  export declare const SearchResultHighlight: import('styled-components').StyledComponent<"span", any, {}, never>;
9
- export declare const Value: import('styled-components').StyledComponent<"span", any, {}, never>;
9
+ export declare const Value: import('styled-components').StyledComponent<"span", any, {
10
+ $fluidMinWidth?: string | number;
11
+ }, never>;
10
12
  export declare const ParameterButton: import('styled-components').StyledComponent<import('react').ForwardRefExoticComponent<Omit<import('@synerise/ds-button/dist/BaseButton.types').BaseButtonProps, "type"> & {
11
13
  type?: import('@synerise/ds-button').ButtonType;
12
14
  mode?: import('@synerise/ds-utils').LiteralStringUnion<import('@synerise/ds-button/dist/Button.types').ButtonMode>;
@@ -22,6 +24,7 @@ export declare const ParameterButton: import('styled-components').StyledComponen
22
24
  readOnly?: boolean;
23
25
  tagProps?: import('@synerise/ds-tag').TagProps;
24
26
  tooltipProps?: import('@synerise/ds-tooltip').TooltipProps;
27
+ fluidMinWidth?: string | number;
25
28
  } & import('react').RefAttributes<HTMLButtonElement>> & {
26
29
  Creator: import('react').ForwardRefExoticComponent<Omit<import('@synerise/ds-button').CreatorProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
27
30
  Expander: ({ size, expanded, disabled, onClick, className, }: import('@synerise/ds-button').ExpanderProps) => import("react").JSX.Element;
@@ -1,7 +1,8 @@
1
1
  import { VariableSizeList } from "react-window";
2
- import styled from "styled-components";
2
+ import styled, { css } from "styled-components";
3
3
  import Button from "@synerise/ds-button";
4
4
  import DropdownSkeleton from "@synerise/ds-skeleton";
5
+ import { toCssSize } from "@synerise/ds-utils";
5
6
  const TabsWrapper = /* @__PURE__ */ styled.div.withConfig({
6
7
  displayName: "Parameterstyle__TabsWrapper",
7
8
  componentId: "sc-u2uvgh-0"
@@ -25,7 +26,11 @@ const SearchResultHighlight = /* @__PURE__ */ styled.span.withConfig({
25
26
  const Value = /* @__PURE__ */ styled.span.withConfig({
26
27
  displayName: "Parameterstyle__Value",
27
28
  componentId: "sc-u2uvgh-5"
28
- })(["max-width:110px;text-overflow:ellipsis;overflow:hidden;text-align:left;"]);
29
+ })(["max-width:", ";", " text-overflow:ellipsis;overflow:hidden;text-align:left;"], ({
30
+ $fluidMinWidth
31
+ }) => $fluidMinWidth !== void 0 ? "none" : "110px", ({
32
+ $fluidMinWidth
33
+ }) => $fluidMinWidth !== void 0 && css(["min-width:", ";"], toCssSize($fluidMinWidth)));
29
34
  const ParameterButton = /* @__PURE__ */ styled(Button).withConfig({
30
35
  displayName: "Parameterstyle__ParameterButton",
31
36
  componentId: "sc-u2uvgh-6"
package/dist/Factors.d.ts CHANGED
@@ -2,5 +2,5 @@ import { default as React } from 'react';
2
2
  import { DefinedFactorTypes, FactorsProps, SelectedFactorType } from './Factors.types';
3
3
  export declare const DEFAULT_FACTOR_TYPE: DefinedFactorTypes;
4
4
  export declare const FACTOR_TYPE_MAPPING: Record<DefinedFactorTypes, SelectedFactorType>;
5
- declare const Factors: ({ selectedFactorType, setSelectedFactorType, onChangeValue, onParamsClick, value, defaultFactorType, textType, unavailableFactorTypes, availableFactorTypes, parameters, autocompleteText, allowClear, withoutTypeSelector, texts, formulaEditor, opened, loading, factorKey, preventAutoloadData, onActivate, onDeactivate, getPopupContainerOverride, customFactorValueComponents, error, inputProps, arrayProps, readOnly, factorValueExtraProps, uncontrolledComponent, }: FactorsProps) => React.JSX.Element;
5
+ declare const Factors: ({ selectedFactorType, setSelectedFactorType, onChangeValue, onParamsClick, value, defaultFactorType, textType, unavailableFactorTypes, availableFactorTypes, parameters, autocompleteText, allowClear, withoutTypeSelector, texts, formulaEditor, opened, loading, factorKey, preventAutoloadData, onActivate, onDeactivate, getPopupContainerOverride, fluidMinWidth, customFactorValueComponents, error, inputProps, arrayProps, readOnly, factorValueExtraProps, uncontrolledComponent, }: FactorsProps) => React.JSX.Element;
6
6
  export default Factors;
package/dist/Factors.js CHANGED
@@ -94,6 +94,7 @@ const Factors = ({
94
94
  onActivate,
95
95
  onDeactivate,
96
96
  getPopupContainerOverride,
97
+ fluidMinWidth,
97
98
  customFactorValueComponents,
98
99
  error,
99
100
  inputProps,
@@ -127,7 +128,7 @@ const Factors = ({
127
128
  }, [mergedFactorData, factorType]);
128
129
  return /* @__PURE__ */ jsxs(Group, { resetMargin: true, compact: true, withoutTypeSelector, className: `ds-factors ds-factors-${factorType}`, children: [
129
130
  selectedFactorData && !withoutTypeSelector && setSelectedFactorType && /* @__PURE__ */ jsx(FactorTypeSelector, { texts: allTexts.factorTypes, factorTypeMapping: mergedFactorData, selectedFactorType: factorType, setSelectedFactorType, selectedFactor: selectedFactorData, availableFactorTypes, unavailableFactorTypes, readOnly, getPopupContainerOverride }),
130
- /* @__PURE__ */ jsx(FactorValue, { value, onChangeValue, onParamsClick, selectedFactor: selectedFactorData, selectedFactorType: factorType, textType, parameters, autocompleteText, withoutTypeSelector, formulaEditor, texts: allTexts, opened, inputProps, arrayProps, loading, factorKey, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, error, allowClear, readOnly, factorValueExtraProps, uncontrolledComponent })
131
+ /* @__PURE__ */ jsx(FactorValue, { value, onChangeValue, onParamsClick, selectedFactor: selectedFactorData, selectedFactorType: factorType, textType, parameters, autocompleteText, withoutTypeSelector, formulaEditor, texts: allTexts, opened, inputProps, fluidMinWidth, arrayProps, loading, factorKey, preventAutoloadData, getPopupContainerOverride, onActivate, onDeactivate, error, allowClear, readOnly, factorValueExtraProps, uncontrolledComponent })
131
132
  ] });
132
133
  };
133
134
  export {
@@ -156,6 +156,8 @@ export type FactorsProps = {
156
156
  customFactorValueComponents?: Partial<FactorTypeMapping>;
157
157
  factorValueExtraProps?: Partial<ExtraPropsMapping>;
158
158
  getPopupContainerOverride?: (trigger: HTMLElement | null) => HTMLElement;
159
+ /** Forwarded to the parameter button: lets its label stretch (no fixed max-width), floored at this min width. */
160
+ fluidMinWidth?: string | number;
159
161
  onActivate?: () => void;
160
162
  onDeactivate?: () => void;
161
163
  onChangeValue: (value: FactorValueType) => void;
@@ -204,11 +206,11 @@ export type FactorTypeSelectorProps = Pick<FactorsProps, 'unavailableFactorTypes
204
206
  [k in DefinedFactorTypes]: string;
205
207
  };
206
208
  };
207
- export type FactorValueProps = Pick<FactorsProps, 'onChangeValue' | 'onParamsClick' | 'value' | 'selectedFactorType' | 'parameters' | 'autocompleteText' | 'withoutTypeSelector' | 'textType' | 'formulaEditor' | 'opened' | 'loading' | 'factorKey' | 'preventAutoloadData' | 'getPopupContainerOverride' | 'onActivate' | 'onDeactivate' | 'error' | 'allowClear' | 'inputProps' | 'autoResize' | 'readOnly' | 'relativeDateProps' | 'arrayProps' | 'factorValueExtraProps' | 'uncontrolledComponent'> & {
209
+ export type FactorValueProps = Pick<FactorsProps, 'onChangeValue' | 'onParamsClick' | 'value' | 'selectedFactorType' | 'parameters' | 'autocompleteText' | 'withoutTypeSelector' | 'textType' | 'formulaEditor' | 'opened' | 'loading' | 'factorKey' | 'preventAutoloadData' | 'getPopupContainerOverride' | 'onActivate' | 'onDeactivate' | 'error' | 'allowClear' | 'inputProps' | 'autoResize' | 'readOnly' | 'relativeDateProps' | 'arrayProps' | 'factorValueExtraProps' | 'fluidMinWidth' | 'uncontrolledComponent'> & {
208
210
  texts: FactorsTexts;
209
211
  selectedFactor: SelectedFactorType;
210
212
  };
211
- export type FactorValueComponentProps = Pick<FactorsProps, 'value' | 'parameters' | 'allowClear' | 'autocompleteText' | 'withoutTypeSelector' | 'textType' | 'opened' | 'getPopupContainerOverride' | 'onActivate' | 'onDeactivate' | 'error' | 'inputProps' | 'autoResize' | 'readOnly' | 'arrayProps' | 'factorValueExtraProps' | 'uncontrolledComponent'> & {
213
+ export type FactorValueComponentProps = Pick<FactorsProps, 'value' | 'parameters' | 'allowClear' | 'autocompleteText' | 'withoutTypeSelector' | 'textType' | 'opened' | 'getPopupContainerOverride' | 'onActivate' | 'onDeactivate' | 'error' | 'inputProps' | 'autoResize' | 'readOnly' | 'arrayProps' | 'factorValueExtraProps' | 'fluidMinWidth' | 'uncontrolledComponent'> & {
212
214
  texts: FactorsTexts;
213
215
  onChange: (value: FactorValueType) => void;
214
216
  factorType: FactorType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-factors",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "Factors UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -42,34 +42,34 @@
42
42
  ],
43
43
  "types": "dist/index.d.ts",
44
44
  "dependencies": {
45
- "@synerise/ds-autocomplete": "^2.0.5",
46
- "@synerise/ds-badge": "^2.0.4",
47
- "@synerise/ds-button": "^2.0.4",
48
- "@synerise/ds-button-group": "^2.0.4",
49
- "@synerise/ds-collector": "^2.0.5",
50
- "@synerise/ds-date-picker": "^2.1.2",
51
- "@synerise/ds-date-range-picker": "^2.1.2",
52
- "@synerise/ds-divider": "^2.0.4",
53
- "@synerise/ds-dropdown": "^2.1.1",
54
- "@synerise/ds-empty-states": "^2.0.3",
55
- "@synerise/ds-icon": "^2.1.2",
56
- "@synerise/ds-information-card": "^2.0.7",
57
- "@synerise/ds-inline-alert": "^2.0.3",
58
- "@synerise/ds-inline-edit": "^2.0.5",
59
- "@synerise/ds-input": "^2.0.5",
60
- "@synerise/ds-input-number": "^2.0.5",
61
- "@synerise/ds-list-item": "^2.1.1",
62
- "@synerise/ds-modal": "^2.0.5",
63
- "@synerise/ds-result": "^2.0.4",
64
- "@synerise/ds-scrollbar": "^2.0.3",
65
- "@synerise/ds-search": "^2.0.4",
66
- "@synerise/ds-select": "^2.1.1",
67
- "@synerise/ds-short-cuts": "^2.0.4",
68
- "@synerise/ds-skeleton": "^2.0.4",
69
- "@synerise/ds-tabs": "^2.0.5",
70
- "@synerise/ds-tag": "^2.0.4",
71
- "@synerise/ds-tooltip": "^2.0.4",
72
- "@synerise/ds-utils": "^2.1.1",
45
+ "@synerise/ds-autocomplete": "^2.0.6",
46
+ "@synerise/ds-badge": "^2.0.5",
47
+ "@synerise/ds-button": "^2.1.0",
48
+ "@synerise/ds-button-group": "^2.0.5",
49
+ "@synerise/ds-collector": "^2.0.6",
50
+ "@synerise/ds-date-picker": "^2.1.3",
51
+ "@synerise/ds-date-range-picker": "^2.1.3",
52
+ "@synerise/ds-divider": "^2.0.5",
53
+ "@synerise/ds-dropdown": "^2.1.2",
54
+ "@synerise/ds-empty-states": "^2.0.4",
55
+ "@synerise/ds-icon": "^2.1.3",
56
+ "@synerise/ds-information-card": "^2.0.8",
57
+ "@synerise/ds-inline-alert": "^2.0.4",
58
+ "@synerise/ds-inline-edit": "^2.0.6",
59
+ "@synerise/ds-input": "^2.0.6",
60
+ "@synerise/ds-input-number": "^2.0.6",
61
+ "@synerise/ds-list-item": "^2.1.2",
62
+ "@synerise/ds-modal": "^2.0.6",
63
+ "@synerise/ds-result": "^2.0.5",
64
+ "@synerise/ds-scrollbar": "^2.0.4",
65
+ "@synerise/ds-search": "^2.0.5",
66
+ "@synerise/ds-select": "^2.1.2",
67
+ "@synerise/ds-short-cuts": "^2.0.5",
68
+ "@synerise/ds-skeleton": "^2.0.5",
69
+ "@synerise/ds-tabs": "^2.0.6",
70
+ "@synerise/ds-tag": "^2.0.5",
71
+ "@synerise/ds-tooltip": "^2.0.5",
72
+ "@synerise/ds-utils": "^2.2.0",
73
73
  "lodash.merge": "^4.6.2",
74
74
  "react-window": "^1.8.11",
75
75
  "uuid": "^8.3.2"
@@ -85,5 +85,5 @@
85
85
  "styled-components": "^5.3.3",
86
86
  "vitest": "4"
87
87
  },
88
- "gitHead": "b1d905617dfb186b5d80966d63ce55bf29df743d"
88
+ "gitHead": "5e795fa4fd23f6b07277edb517a84bb9b5b6d256"
89
89
  }