@pega/cosmos-react-condition-builder 8.8.0 → 9.0.0-build.10.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.
Files changed (62) hide show
  1. package/lib/components/ConditionBuilder/AtomicCondition.d.ts +2 -0
  2. package/lib/components/ConditionBuilder/AtomicCondition.d.ts.map +1 -1
  3. package/lib/components/ConditionBuilder/AtomicCondition.js.map +1 -1
  4. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +2 -3
  5. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  6. package/lib/components/ConditionBuilder/ConditionBuilder.js +32 -21
  7. package/lib/components/ConditionBuilder/ConditionBuilder.js.map +1 -1
  8. package/lib/components/ConditionBuilder/ConditionBuilder.styles.d.ts +2 -1
  9. package/lib/components/ConditionBuilder/ConditionBuilder.styles.d.ts.map +1 -1
  10. package/lib/components/ConditionBuilder/ConditionBuilder.styles.js.map +1 -1
  11. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +27 -7
  12. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts.map +1 -1
  13. package/lib/components/ConditionBuilder/ConditionBuilder.types.js.map +1 -1
  14. package/lib/components/ConditionBuilder/RhsControls/FieldSelector.js +1 -1
  15. package/lib/components/ConditionBuilder/RhsControls/FieldSelector.js.map +1 -1
  16. package/lib/components/ConditionBuilder/RhsControls/NumericInput.d.ts +0 -2
  17. package/lib/components/ConditionBuilder/RhsControls/NumericInput.d.ts.map +1 -1
  18. package/lib/components/ConditionBuilder/RhsControls/NumericInput.js +5 -21
  19. package/lib/components/ConditionBuilder/RhsControls/NumericInput.js.map +1 -1
  20. package/lib/components/ConditionBuilder/RhsControls/TimePeriodInput.d.ts.map +1 -1
  21. package/lib/components/ConditionBuilder/RhsControls/TimePeriodInput.js +2 -1
  22. package/lib/components/ConditionBuilder/RhsControls/TimePeriodInput.js.map +1 -1
  23. package/lib/components/ConditionBuilder/RhsControls/index.d.ts +4 -2
  24. package/lib/components/ConditionBuilder/RhsControls/index.d.ts.map +1 -1
  25. package/lib/components/ConditionBuilder/RhsControls/index.js +34 -21
  26. package/lib/components/ConditionBuilder/RhsControls/index.js.map +1 -1
  27. package/lib/components/ConditionBuilder/core/evaluator.d.ts.map +1 -1
  28. package/lib/components/ConditionBuilder/core/evaluator.js +107 -46
  29. package/lib/components/ConditionBuilder/core/evaluator.js.map +1 -1
  30. package/lib/components/ConditionBuilder/core/formatter.d.ts.map +1 -1
  31. package/lib/components/ConditionBuilder/core/formatter.js +4 -51
  32. package/lib/components/ConditionBuilder/core/formatter.js.map +1 -1
  33. package/lib/components/ConditionBuilder/core/transformer.d.ts +1 -1
  34. package/lib/components/ConditionBuilder/core/transformer.d.ts.map +1 -1
  35. package/lib/components/ConditionBuilder/core/transformer.js +7 -7
  36. package/lib/components/ConditionBuilder/core/transformer.js.map +1 -1
  37. package/lib/components/ConditionBuilder/index.d.ts +2 -1
  38. package/lib/components/ConditionBuilder/index.d.ts.map +1 -1
  39. package/lib/components/ConditionBuilder/index.js.map +1 -1
  40. package/lib/components/ConditionInput/ConditionInput.d.ts.map +1 -1
  41. package/lib/components/ConditionInput/ConditionInput.js +10 -7
  42. package/lib/components/ConditionInput/ConditionInput.js.map +1 -1
  43. package/lib/components/ConditionInput/ConditionInput.styles.d.ts +1 -1
  44. package/lib/components/ConditionInput/ConditionInput.styles.d.ts.map +1 -1
  45. package/lib/components/ConditionInput/ConditionInput.types.d.ts +0 -2
  46. package/lib/components/ConditionInput/ConditionInput.types.d.ts.map +1 -1
  47. package/lib/components/ConditionInput/ConditionInput.types.js.map +1 -1
  48. package/lib/components/PromotedFilters/ConditionSelector.d.ts.map +1 -1
  49. package/lib/components/PromotedFilters/ConditionSelector.js +10 -4
  50. package/lib/components/PromotedFilters/ConditionSelector.js.map +1 -1
  51. package/lib/components/PromotedFilters/PromotedFilters.d.ts.map +1 -1
  52. package/lib/components/PromotedFilters/PromotedFilters.js +12 -2
  53. package/lib/components/PromotedFilters/PromotedFilters.js.map +1 -1
  54. package/package.json +2 -2
  55. package/lib/components/ConditionBuilder/RhsControls/CSVInput.d.ts +0 -18
  56. package/lib/components/ConditionBuilder/RhsControls/CSVInput.d.ts.map +0 -1
  57. package/lib/components/ConditionBuilder/RhsControls/CSVInput.js +0 -59
  58. package/lib/components/ConditionBuilder/RhsControls/CSVInput.js.map +0 -1
  59. package/lib/components/ConditionBuilder/RhsControls/NumericRangeInput.d.ts +0 -31
  60. package/lib/components/ConditionBuilder/RhsControls/NumericRangeInput.d.ts.map +0 -1
  61. package/lib/components/ConditionBuilder/RhsControls/NumericRangeInput.js +0 -52
  62. package/lib/components/ConditionBuilder/RhsControls/NumericRangeInput.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useState } from 'react';
3
- import { NumberRangeInput, useAfterInitialEffect, useI18n } from '@pega/cosmos-react-core';
4
- export const NumericRangeInput = forwardRef(({ rhs, onChange, status, allowDecimal = true, unit, ...props }, ref) => {
5
- const t = useI18n();
6
- // Formats a value as a percentage and fixes floating point rounding errors in input box
7
- const convertPercentToDisplayValue = (value) => {
8
- if (unit === 'percent_1') {
9
- const num = typeof value === 'number' ? value : Number(value);
10
- // Number value of empty string is 0, which we don't want, so we return just value instead
11
- if (!Number.isNaN(num) && value !== '') {
12
- return parseFloat((num * 100).toFixed(2));
13
- }
14
- }
15
- return value;
16
- };
17
- const [internalValue, setInternalValue] = useState({
18
- start: convertPercentToDisplayValue(rhs?.start)?.toString(),
19
- end: convertPercentToDisplayValue(rhs?.end)?.toString()
20
- });
21
- useAfterInitialEffect(() => {
22
- setInternalValue({
23
- start: convertPercentToDisplayValue(rhs?.start)?.toString(),
24
- end: convertPercentToDisplayValue(rhs?.end)?.toString()
25
- });
26
- }, [rhs?.start, rhs?.end]);
27
- const handleChange = (newValue) => {
28
- setInternalValue(newValue);
29
- };
30
- const handleBlur = (newValue) => {
31
- let outStartValue;
32
- let outEndValue;
33
- if (newValue.start) {
34
- const valueAsNumber = Number(newValue.start);
35
- if (!Number.isNaN(valueAsNumber)) {
36
- outStartValue = unit === 'percent_1' ? valueAsNumber / 100 : valueAsNumber;
37
- }
38
- }
39
- if (newValue.end) {
40
- const valueAsNumber = Number(newValue.end);
41
- if (!Number.isNaN(valueAsNumber)) {
42
- outEndValue = unit === 'percent_1' ? valueAsNumber / 100 : valueAsNumber;
43
- }
44
- }
45
- onChange({
46
- start: outStartValue,
47
- end: outEndValue
48
- });
49
- };
50
- return (_jsx(NumberRangeInput, { ...props, ref: ref, value: internalValue, onChange: handleChange, onBlur: handleBlur, status: status, info: status === 'error' ? t('condition_builder_invalid_number_range') : undefined, numberOfDecimals: allowDecimal ? undefined : 0, unit: unit === 'percent_1' || unit === 'percent_100' ? 'percent' : undefined }));
51
- });
52
- //# sourceMappingURL=NumericRangeInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NumericRangeInput.js","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/RhsControls/NumericRangeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState } from 'react';\nimport type { Ref } from 'react';\n\nimport { NumberRangeInput, useAfterInitialEffect, useI18n } from '@pega/cosmos-react-core';\nimport type { BaseProps, FormControlProps, NoChildrenProp } from '@pega/cosmos-react-core';\n\nexport interface NumericRangeInputProps extends BaseProps, NoChildrenProp {\n /** Label for the range input. */\n label: FormControlProps['label'];\n /** Determines whether the label is hidden. */\n labelHidden?: FormControlProps['labelHidden'];\n /** Rhs for the condition. */\n rhs?: { start: string | number; end: string | number };\n /** Callback for any modifications to the Rhs. */\n onChange: (rhs: { start: number | undefined; end: number | undefined }) => void;\n /** Used to indicate any errors on the control. */\n status?: 'error';\n /**\n * Determines whether decimals can be entered.\n * @default true\n */\n allowDecimal?: boolean;\n /** Determines whether value is stored in the database in the range of 0 to 1 or 0 to 100. */\n unit?: 'percent_1' | 'percent_100';\n /** Ref to the component. */\n ref?: Ref<HTMLFieldSetElement>;\n}\n\nexport const NumericRangeInput = forwardRef<HTMLFieldSetElement, NumericRangeInputProps>(\n ({ rhs, onChange, status, allowDecimal = true, unit, ...props }, ref) => {\n const t = useI18n();\n // Formats a value as a percentage and fixes floating point rounding errors in input box\n const convertPercentToDisplayValue = (value: string | number | undefined) => {\n if (unit === 'percent_1') {\n const num = typeof value === 'number' ? value : Number(value);\n // Number value of empty string is 0, which we don't want, so we return just value instead\n if (!Number.isNaN(num) && value !== '') {\n return parseFloat((num * 100).toFixed(2));\n }\n }\n return value;\n };\n\n const [internalValue, setInternalValue] = useState<{\n start: string | undefined;\n end: string | undefined;\n }>({\n start: convertPercentToDisplayValue(rhs?.start)?.toString(),\n end: convertPercentToDisplayValue(rhs?.end)?.toString()\n });\n\n useAfterInitialEffect(() => {\n setInternalValue({\n start: convertPercentToDisplayValue(rhs?.start)?.toString(),\n end: convertPercentToDisplayValue(rhs?.end)?.toString()\n });\n }, [rhs?.start, rhs?.end]);\n\n const handleChange = (newValue: { start: string; end: string }) => {\n setInternalValue(newValue);\n };\n\n const handleBlur = (newValue: { start: string; end: string }) => {\n let outStartValue: number | undefined;\n let outEndValue: number | undefined;\n if (newValue.start) {\n const valueAsNumber = Number(newValue.start);\n if (!Number.isNaN(valueAsNumber)) {\n outStartValue = unit === 'percent_1' ? valueAsNumber / 100 : valueAsNumber;\n }\n }\n if (newValue.end) {\n const valueAsNumber = Number(newValue.end);\n if (!Number.isNaN(valueAsNumber)) {\n outEndValue = unit === 'percent_1' ? valueAsNumber / 100 : valueAsNumber;\n }\n }\n onChange({\n start: outStartValue,\n end: outEndValue\n });\n };\n\n return (\n <NumberRangeInput\n {...props}\n ref={ref}\n value={internalValue}\n onChange={handleChange}\n onBlur={handleBlur}\n status={status}\n info={status === 'error' ? t('condition_builder_invalid_number_range') : undefined}\n numberOfDecimals={allowDecimal ? undefined : 0}\n unit={unit === 'percent_1' || unit === 'percent_100' ? 'percent' : undefined}\n />\n );\n }\n);\n"]}