@synerise/ds-condition 1.6.16 → 1.6.17

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 (41) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/Condition.d.ts +2 -2
  3. package/dist/Condition.js +128 -207
  4. package/dist/Condition.style.d.ts +32 -32
  5. package/dist/Condition.style.js +84 -93
  6. package/dist/Condition.types.d.ts +5 -5
  7. package/dist/Condition.types.js +1 -1
  8. package/dist/ConditionStep/AddCondition/AddCondition.d.ts +1 -1
  9. package/dist/ConditionStep/AddCondition/AddCondition.js +25 -28
  10. package/dist/ConditionStep/AddCondition/AddCondition.types.d.ts +2 -2
  11. package/dist/ConditionStep/AddCondition/AddCondition.types.js +1 -1
  12. package/dist/ConditionStep/AddCondition/index.js +4 -1
  13. package/dist/ConditionStep/ConditionRow/ConditionRow.d.ts +1 -1
  14. package/dist/ConditionStep/ConditionRow/ConditionRow.js +109 -167
  15. package/dist/ConditionStep/ConditionRow/ConditionRow.types.d.ts +4 -4
  16. package/dist/ConditionStep/ConditionRow/ConditionRow.types.js +1 -1
  17. package/dist/ConditionStep/ConditionRow/index.js +4 -2
  18. package/dist/ConditionStep/ConditionStep.d.ts +1 -1
  19. package/dist/ConditionStep/ConditionStep.js +144 -247
  20. package/dist/ConditionStep/ConditionStep.types.d.ts +6 -6
  21. package/dist/ConditionStep/ConditionStep.types.js +1 -1
  22. package/dist/ConditionStep/EmptyCondition/EmptyCondition.d.ts +1 -1
  23. package/dist/ConditionStep/EmptyCondition/EmptyCondition.js +16 -15
  24. package/dist/ConditionStep/EmptyCondition/emptyCondition.styles.d.ts +6 -6
  25. package/dist/ConditionStep/EmptyCondition/emptyCondition.styles.js +9 -5
  26. package/dist/ConditionStep/EmptyCondition/index.js +4 -1
  27. package/dist/ConditionStep/StepHeader/StepHeader.d.ts +1 -1
  28. package/dist/ConditionStep/StepHeader/StepHeader.js +46 -62
  29. package/dist/ConditionStep/StepHeader/StepHeader.types.d.ts +2 -2
  30. package/dist/ConditionStep/StepHeader/StepHeader.types.js +1 -1
  31. package/dist/ConditionStep/StepHeader/index.js +4 -2
  32. package/dist/ConditionStep/StepName/StepName.d.ts +2 -2
  33. package/dist/ConditionStep/StepName/StepName.js +19 -10
  34. package/dist/ConditionStep/index.js +4 -2
  35. package/dist/constants.js +22 -11
  36. package/dist/hooks/useTranslations.d.ts +1 -1
  37. package/dist/hooks/useTranslations.js +61 -59
  38. package/dist/index.js +4 -1
  39. package/dist/modules.d.js +1 -1
  40. package/dist/modules.d.ts +0 -0
  41. package/package.json +17 -17
@@ -1,49 +1,49 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useMemo } from 'react';
3
- import { theme } from '@synerise/ds-core';
4
- import Factors from '@synerise/ds-factors';
5
- import Icon, { CloseS } from '@synerise/ds-icon';
6
- import Operators from '@synerise/ds-operators';
7
- import Tooltip from '@synerise/ds-tooltip';
8
- import { getPopupContainer } from '@synerise/ds-utils';
9
- import * as S from '../../Condition.style';
10
- import { FACTOR, OPERATOR, PARAMETER } from '../../constants';
11
- export var ConditionRow = function ConditionRow(_ref) {
12
- var index = _ref.index,
13
- conditionId = _ref.conditionId,
14
- conditionParameter = _ref.conditionParameter,
15
- conditionOperator = _ref.conditionOperator,
16
- conditionFactor = _ref.conditionFactor,
17
- removeCondition = _ref.removeCondition,
18
- addCondition = _ref.addCondition,
19
- minConditionLength = _ref.minConditionLength,
20
- maxConditionLength = _ref.maxConditionLength,
21
- conditionsNumber = _ref.conditionsNumber,
22
- stepId = _ref.stepId,
23
- currentStepId = _ref.currentStepId,
24
- currentConditionId = _ref.currentConditionId,
25
- currentField = _ref.currentField,
26
- selectParameter = _ref.selectParameter,
27
- selectOperator = _ref.selectOperator,
28
- setStepConditionFactorType = _ref.setStepConditionFactorType,
29
- setStepConditionFactorValue = _ref.setStepConditionFactorValue,
30
- getPopupContainerOverride = _ref.getPopupContainerOverride,
31
- _onActivate = _ref.onActivate,
32
- hasPriority = _ref.hasPriority,
33
- texts = _ref.texts,
34
- onDeactivate = _ref.onDeactivate,
35
- inputProps = _ref.inputProps,
36
- _ref$readOnly = _ref.readOnly,
37
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
38
- parameterSelectorComponent = _ref.parameterSelectorComponent,
39
- factorParameterSelectorComponent = _ref.factorParameterSelectorComponent,
40
- factorValueExtraProps = _ref.factorValueExtraProps;
41
- var conditionFactorErrorText = conditionFactor == null ? void 0 : conditionFactor.errorText;
42
- var conditionParameterErrorText = conditionParameter == null ? void 0 : conditionParameter.errorText;
43
- var conditionOperatorErrorText = conditionOperator == null ? void 0 : conditionOperator.errorText;
44
- var rowHasError = !!(conditionParameterErrorText || conditionOperatorErrorText || conditionFactorErrorText);
45
- var conditionErrorMessage = useMemo(function () {
46
- var errorText;
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { theme } from "@synerise/ds-core";
4
+ import Factors from "@synerise/ds-factors";
5
+ import Icon, { CloseS } from "@synerise/ds-icon";
6
+ import Operators from "@synerise/ds-operators";
7
+ import Tooltip from "@synerise/ds-tooltip";
8
+ import { getPopupContainer } from "@synerise/ds-utils";
9
+ import { ErrorWrapper, RemoveIconWrapper, ConditionRow as ConditionRow$1, ConditionConnections, ConditionRowLine, ConditionRowDefinition, ConditionParameterWrapper, ConditionOperatorWrapper, ConditionFactorWrapper } from "../../Condition.style.js";
10
+ import { PARAMETER, OPERATOR, FACTOR } from "../../constants.js";
11
+ const ConditionRow = ({
12
+ index,
13
+ conditionId,
14
+ conditionParameter,
15
+ conditionOperator,
16
+ conditionFactor,
17
+ removeCondition,
18
+ addCondition,
19
+ minConditionLength,
20
+ maxConditionLength,
21
+ conditionsNumber,
22
+ stepId,
23
+ currentStepId,
24
+ currentConditionId,
25
+ currentField,
26
+ selectParameter,
27
+ selectOperator,
28
+ setStepConditionFactorType,
29
+ setStepConditionFactorValue,
30
+ getPopupContainerOverride,
31
+ onActivate,
32
+ hasPriority,
33
+ texts,
34
+ onDeactivate,
35
+ inputProps,
36
+ readOnly = false,
37
+ parameterSelectorComponent,
38
+ factorParameterSelectorComponent,
39
+ factorValueExtraProps
40
+ }) => {
41
+ const conditionFactorErrorText = conditionFactor?.errorText;
42
+ const conditionParameterErrorText = conditionParameter?.errorText;
43
+ const conditionOperatorErrorText = conditionOperator?.errorText;
44
+ const rowHasError = !!(conditionParameterErrorText || conditionOperatorErrorText || conditionFactorErrorText);
45
+ const conditionErrorMessage = useMemo(() => {
46
+ let errorText;
47
47
  if (conditionParameterErrorText) {
48
48
  errorText = conditionParameterErrorText;
49
49
  } else if (conditionOperatorErrorText) {
@@ -51,130 +51,72 @@ export var ConditionRow = function ConditionRow(_ref) {
51
51
  } else if (conditionFactorErrorText) {
52
52
  errorText = conditionFactorErrorText;
53
53
  }
54
- return errorText ? /*#__PURE__*/React.createElement(S.ErrorWrapper, null, errorText) : /*#__PURE__*/React.createElement(React.Fragment, null);
54
+ return errorText ? /* @__PURE__ */ jsx(ErrorWrapper, { children: errorText }) : /* @__PURE__ */ jsx(Fragment, {});
55
55
  }, [conditionOperatorErrorText, conditionFactorErrorText, conditionParameterErrorText]);
56
- var removeConditionTrigger = !readOnly && removeCondition && conditionsNumber > minConditionLength && /*#__PURE__*/React.createElement(S.RemoveIconWrapper, {
57
- onClick: function onClick() {
58
- return removeCondition(stepId, conditionId);
59
- },
60
- className: "ds-conditions-remove-row"
61
- }, /*#__PURE__*/React.createElement(Tooltip, {
62
- title: texts.removeConditionRowTooltip,
63
- trigger: ['hover']
64
- }, /*#__PURE__*/React.createElement(Icon, {
65
- component: /*#__PURE__*/React.createElement(CloseS, null),
66
- color: theme.palette['red-600']
67
- })));
68
- var renderConditionParameterWrapper = Boolean(conditionParameter);
69
- var renderConditionOperatorWrapper = Boolean((!conditionParameter || (conditionParameter == null ? void 0 : conditionParameter.value) && (conditionParameter == null ? void 0 : conditionParameter.value).name !== '') && conditionOperator);
70
- var renderConditionFactorWrapper = Boolean(conditionFactor !== undefined && (conditionOperator == null ? void 0 : conditionOperator.value) && (conditionFactor == null ? void 0 : conditionFactor.availableFactorTypes) !== null);
71
- var lastConditionWrapper = '';
56
+ const removeConditionTrigger = !readOnly && removeCondition && conditionsNumber > minConditionLength && /* @__PURE__ */ jsx(RemoveIconWrapper, { onClick: () => removeCondition(stepId, conditionId), className: "ds-conditions-remove-row", children: /* @__PURE__ */ jsx(Tooltip, { title: texts.removeConditionRowTooltip, trigger: ["hover"], children: /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(CloseS, {}), color: theme.palette["red-600"] }) }) });
57
+ const renderConditionParameterWrapper = Boolean(conditionParameter);
58
+ const renderConditionOperatorWrapper = Boolean((!conditionParameter || conditionParameter?.value && (conditionParameter?.value).name !== "") && conditionOperator);
59
+ const renderConditionFactorWrapper = Boolean(conditionFactor !== void 0 && conditionOperator?.value && conditionFactor?.availableFactorTypes !== null);
60
+ let lastConditionWrapper = "";
72
61
  if (renderConditionFactorWrapper) {
73
- lastConditionWrapper = 'factor';
62
+ lastConditionWrapper = "factor";
74
63
  } else if (renderConditionOperatorWrapper) {
75
- lastConditionWrapper = 'operator';
64
+ lastConditionWrapper = "operator";
76
65
  } else if (renderConditionParameterWrapper) {
77
- lastConditionWrapper = 'parameter';
66
+ lastConditionWrapper = "parameter";
78
67
  }
79
- var conditionFactorProps = useMemo(function () {
80
- var _conditionFactor$para, _conditionFactor$para2;
81
- return _extends({}, conditionFactor, {
82
- parameters: (conditionFactor == null ? void 0 : conditionFactor.parameters) && _extends({}, conditionFactor.parameters, {
83
- selectedButtonColored: ((_conditionFactor$para = conditionFactor.parameters) == null ? void 0 : _conditionFactor$para.selectedButtonColored) === undefined ? true : (_conditionFactor$para2 = conditionFactor.parameters) == null ? void 0 : _conditionFactor$para2.selectedButtonColored
84
- })
85
- });
86
- }, [conditionFactor]);
87
- return /*#__PURE__*/React.createElement(S.ConditionRow, {
88
- "data-testid": "condition-row",
89
- onlyChild: maxConditionLength === 1,
90
- style: hasPriority ? {
91
- zIndex: 1001
92
- } : undefined,
93
- key: "condition-row-" + conditionId,
94
- index: index,
95
- withError: rowHasError
96
- }, /*#__PURE__*/React.createElement(S.ConditionConnections, {
97
- first: index === 0,
98
- last: readOnly ? Boolean(index + 1 === conditionsNumber) : Boolean(addCondition && index + 1 === conditionsNumber && maxConditionLength !== undefined && conditionsNumber === maxConditionLength),
99
- readOnly: readOnly
100
- }), /*#__PURE__*/React.createElement(S.ConditionRowLine, null, /*#__PURE__*/React.createElement(S.ConditionRowDefinition, null, renderConditionParameterWrapper && /*#__PURE__*/React.createElement(S.ConditionParameterWrapper, {
101
- "data-testid": "condition-parameter-wrapper",
102
- withRemoveTrigger: lastConditionWrapper === 'parameter'
103
- }, /*#__PURE__*/React.createElement(Factors, _extends({
104
- selectedFactorType: "parameter",
105
- defaultFactorType: "parameter",
106
- value: "",
107
- customFactorValueComponents: parameterSelectorComponent && {
108
- parameter: {
109
- component: parameterSelectorComponent
110
- },
111
- contextParameter: {
112
- component: parameterSelectorComponent
113
- }
114
- }
115
- }, conditionParameter, {
116
- inputProps: inputProps,
117
- getPopupContainerOverride: getPopupContainerOverride || getPopupContainer,
118
- onActivate: function onActivate() {
119
- _onActivate && _onActivate(PARAMETER);
120
- },
121
- onDeactivate: onDeactivate,
122
- onChangeValue: function onChangeValue(value) {
123
- return selectParameter(stepId, conditionId, value);
124
- },
125
- opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === PARAMETER,
126
- readOnly: readOnly,
127
- error: Boolean(conditionParameter == null ? void 0 : conditionParameter.errorText)
128
- })), lastConditionWrapper === 'parameter' && removeConditionTrigger), renderConditionOperatorWrapper && /*#__PURE__*/React.createElement(S.ConditionOperatorWrapper, {
129
- "data-testid": "condition-operator-wrapper",
130
- withRemoveTrigger: lastConditionWrapper === 'operator'
131
- }, /*#__PURE__*/React.createElement(Operators, _extends({
132
- groups: [],
133
- items: []
134
- }, conditionOperator, {
135
- getPopupContainerOverride: getPopupContainerOverride || getPopupContainer,
136
- onActivate: function onActivate() {
137
- _onActivate && _onActivate(OPERATOR);
138
- },
139
- onDeactivate: onDeactivate,
140
- onChange: function onChange(value) {
141
- return selectOperator(stepId, conditionId, value);
142
- },
143
- opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === OPERATOR,
144
- readOnly: readOnly,
145
- errorText: conditionOperator == null ? void 0 : conditionOperator.errorText
146
- })), lastConditionWrapper === 'operator' && removeConditionTrigger), renderConditionFactorWrapper && /*#__PURE__*/React.createElement(S.ConditionFactorWrapper, {
147
- "data-testid": "condition-factor-wrapper",
148
- withRemoveTrigger: lastConditionWrapper === 'factor'
149
- }, (conditionFactor == null ? void 0 : conditionFactor.withCustomFactor) || /*#__PURE__*/React.createElement(Factors, _extends({
150
- selectedFactorType: "text",
151
- defaultFactorType: "text",
152
- value: "",
153
- customFactorValueComponents: factorParameterSelectorComponent && {
154
- parameter: {
155
- component: factorParameterSelectorComponent
156
- },
157
- contextParameter: {
158
- component: factorParameterSelectorComponent
68
+ const conditionFactorProps = useMemo(() => {
69
+ return {
70
+ ...conditionFactor,
71
+ parameters: conditionFactor?.parameters && {
72
+ ...conditionFactor.parameters,
73
+ selectedButtonColored: conditionFactor.parameters?.selectedButtonColored === void 0 ? true : conditionFactor.parameters?.selectedButtonColored
159
74
  }
160
- },
161
- factorValueExtraProps: factorValueExtraProps
162
- }, conditionFactorProps, {
163
- inputProps: inputProps,
164
- getPopupContainerOverride: getPopupContainerOverride || getPopupContainer,
165
- onActivate: function onActivate() {
166
- _onActivate && _onActivate(FACTOR);
167
- },
168
- onDeactivate: onDeactivate,
169
- setSelectedFactorType: function setSelectedFactorType(factorType) {
170
- return setStepConditionFactorType(stepId, conditionId, factorType);
171
- },
172
- onChangeValue: function onChangeValue(value) {
173
- return setStepConditionFactorValue(stepId, conditionId, value);
174
- },
175
- factorKey: conditionId,
176
- error: Boolean(conditionFactorProps.errorText),
177
- opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === FACTOR,
178
- readOnly: readOnly
179
- })), lastConditionWrapper === 'factor' && removeConditionTrigger)), conditionErrorMessage));
180
- };
75
+ };
76
+ }, [conditionFactor]);
77
+ return /* @__PURE__ */ jsxs(ConditionRow$1, { "data-testid": "condition-row", onlyChild: maxConditionLength === 1, style: hasPriority ? {
78
+ zIndex: 1001
79
+ } : void 0, index, withError: rowHasError, children: [
80
+ /* @__PURE__ */ jsx(ConditionConnections, { first: index === 0, last: readOnly ? Boolean(index + 1 === conditionsNumber) : Boolean(addCondition && index + 1 === conditionsNumber && maxConditionLength !== void 0 && conditionsNumber === maxConditionLength), readOnly }),
81
+ /* @__PURE__ */ jsxs(ConditionRowLine, { children: [
82
+ /* @__PURE__ */ jsxs(ConditionRowDefinition, { children: [
83
+ renderConditionParameterWrapper && /* @__PURE__ */ jsxs(ConditionParameterWrapper, { "data-testid": "condition-parameter-wrapper", withRemoveTrigger: lastConditionWrapper === "parameter", children: [
84
+ /* @__PURE__ */ jsx(Factors, { selectedFactorType: "parameter", defaultFactorType: "parameter", value: "", customFactorValueComponents: parameterSelectorComponent && {
85
+ parameter: {
86
+ component: parameterSelectorComponent
87
+ },
88
+ contextParameter: {
89
+ component: parameterSelectorComponent
90
+ }
91
+ }, ...conditionParameter, inputProps, getPopupContainerOverride: getPopupContainerOverride || getPopupContainer, onActivate: () => {
92
+ onActivate && onActivate(PARAMETER);
93
+ }, onDeactivate, onChangeValue: (value) => selectParameter(stepId, conditionId, value), opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === PARAMETER, readOnly, error: Boolean(conditionParameter?.errorText) }),
94
+ lastConditionWrapper === "parameter" && removeConditionTrigger
95
+ ] }),
96
+ renderConditionOperatorWrapper && /* @__PURE__ */ jsxs(ConditionOperatorWrapper, { "data-testid": "condition-operator-wrapper", withRemoveTrigger: lastConditionWrapper === "operator", children: [
97
+ /* @__PURE__ */ jsx(Operators, { groups: [], items: [], ...conditionOperator, getPopupContainerOverride: getPopupContainerOverride || getPopupContainer, onActivate: () => {
98
+ onActivate && onActivate(OPERATOR);
99
+ }, onDeactivate, onChange: (value) => selectOperator(stepId, conditionId, value), opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === OPERATOR, readOnly, errorText: conditionOperator?.errorText }),
100
+ lastConditionWrapper === "operator" && removeConditionTrigger
101
+ ] }),
102
+ renderConditionFactorWrapper && /* @__PURE__ */ jsxs(ConditionFactorWrapper, { "data-testid": "condition-factor-wrapper", withRemoveTrigger: lastConditionWrapper === "factor", children: [
103
+ conditionFactor?.withCustomFactor || /* @__PURE__ */ jsx(Factors, { selectedFactorType: "text", defaultFactorType: "text", value: "", customFactorValueComponents: factorParameterSelectorComponent && {
104
+ parameter: {
105
+ component: factorParameterSelectorComponent
106
+ },
107
+ contextParameter: {
108
+ component: factorParameterSelectorComponent
109
+ }
110
+ }, factorValueExtraProps, ...conditionFactorProps, inputProps, getPopupContainerOverride: getPopupContainerOverride || getPopupContainer, onActivate: () => {
111
+ onActivate && onActivate(FACTOR);
112
+ }, onDeactivate, setSelectedFactorType: (factorType) => setStepConditionFactorType(stepId, conditionId, factorType), onChangeValue: (value) => setStepConditionFactorValue(stepId, conditionId, value), factorKey: conditionId, error: Boolean(conditionFactorProps.errorText), opened: hasPriority && stepId === currentStepId && conditionId === currentConditionId && currentField === FACTOR, readOnly }),
113
+ lastConditionWrapper === "factor" && removeConditionTrigger
114
+ ] })
115
+ ] }),
116
+ conditionErrorMessage
117
+ ] })
118
+ ] }, `condition-row-${conditionId}`);
119
+ };
120
+ export {
121
+ ConditionRow
122
+ };
@@ -1,7 +1,7 @@
1
- import type { ReactNode, ReactText } from 'react';
2
- import type { FactorValueComponentProps, FactorsProps } from '@synerise/ds-factors';
3
- import type { OperatorsProps } from '@synerise/ds-operators';
4
- import type { ConditionProps, ConditionTexts } from '../../Condition.types';
1
+ import { ReactNode, ReactText } from 'react';
2
+ import { FactorValueComponentProps, FactorsProps } from '@synerise/ds-factors';
3
+ import { OperatorsProps } from '@synerise/ds-operators';
4
+ import { ConditionProps, ConditionTexts } from '../../Condition.types';
5
5
  export type ConditionRowProps = Pick<ConditionProps, 'removeCondition' | 'getPopupContainerOverride' | 'factorParameterSelectorComponent' | 'parameterSelectorComponent' | 'factorValueExtraProps'> & {
6
6
  index: number;
7
7
  error?: boolean;
@@ -1 +1 @@
1
- export {};
1
+
@@ -1,2 +1,4 @@
1
- export * from './ConditionRow.types';
2
- export * from './ConditionRow';
1
+ import { ConditionRow } from "./ConditionRow.js";
2
+ export {
3
+ ConditionRow
4
+ };
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ import { default as React } from 'react';
2
2
  import type * as T from './ConditionStep.types';
3
3
  export declare const ConditionStep: ({ step, texts, index, isLast, isDragged, addCondition, removeCondition, updateStepName, removeStep, duplicateStep, minConditionsLength, maxConditionsLength, draggableEnabled, selectSubject, selectContext, selectActionAttribute, selectOperator, selectParameter, setStepConditionFactorType, setStepConditionFactorValue, getPopupContainerOverride, hasPriority, currentStepId, currentConditionId, currentField, setCurrentField, setCurrentCondition, setCurrentStep, onDeactivate, showSuffix, inputProps, readOnly, singleStepCondition, showActionAttribute, contextSelectorComponent: CustomContextSelectorComponent, actionAttributeParameterSelectorComponent, parameterSelectorComponent, factorParameterSelectorComponent, showEmptyConditionPlaceholder, factorValueExtraProps, }: T.ConditionStepProps) => React.JSX.Element;