@accelint/design-system 0.8.1 → 0.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.
- package/dist/components/aria/index.d.ts +32 -3
- package/dist/components/aria/index.js +36 -1
- package/dist/components/aria/index.js.map +1 -1
- package/dist/components/button/button.css.js.map +1 -1
- package/dist/components/button/index.d.ts +45 -6
- package/dist/components/button/index.js +105 -3
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/checkbox/checkbox.css.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +28 -7
- package/dist/components/checkbox/index.js +124 -3
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/chip/chip.css.js.map +1 -1
- package/dist/components/chip/index.d.ts +36 -6
- package/dist/components/chip/index.js +171 -3
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/collection/index.d.ts +16 -5
- package/dist/components/collection/index.js +19 -1
- package/dist/components/collection/index.js.map +1 -1
- package/dist/components/combo-box/combo-box.css.js.map +1 -1
- package/dist/components/combo-box/index.d.ts +13 -5
- package/dist/components/combo-box/index.js +116 -3
- package/dist/components/combo-box/index.js.map +1 -1
- package/dist/components/date-field/date-field.css.js.map +1 -1
- package/dist/components/date-field/index.d.ts +13 -5
- package/dist/components/date-field/index.js +106 -2
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-input/date-input.css.js.map +1 -1
- package/dist/components/date-input/index.d.ts +19 -7
- package/dist/components/date-input/index.js +144 -2
- package/dist/components/date-input/index.js.map +1 -1
- package/dist/components/dialog/dialog.css.js.map +1 -1
- package/dist/components/dialog/index.d.ts +24 -6
- package/dist/components/dialog/index.js +187 -3
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/types.d.ts +1 -1
- package/dist/components/drawer/drawer.css.js.map +1 -1
- package/dist/components/drawer/index.d.ts +19 -7
- package/dist/components/drawer/index.js +306 -3
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/element/index.d.ts +15 -4
- package/dist/components/element/index.js +21 -2
- package/dist/components/element/index.js.map +1 -1
- package/dist/components/element/types.d.ts +3 -3
- package/dist/components/group/group.css.js.map +1 -1
- package/dist/components/group/index.d.ts +15 -5
- package/dist/components/group/index.js +60 -3
- package/dist/components/group/index.js.map +1 -1
- package/dist/components/icon/icon.css.js.map +1 -1
- package/dist/components/icon/index.d.ts +17 -5
- package/dist/components/icon/index.js +39 -3
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/index.d.ts +35 -35
- package/dist/components/index.js +58 -28
- package/dist/components/input/index.d.ts +12 -5
- package/dist/components/input/index.js +141 -3
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/input.css.js.map +1 -1
- package/dist/components/menu/index.d.ts +29 -5
- package/dist/components/menu/index.js +254 -3
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/menu.css.js.map +1 -1
- package/dist/components/merge-provider/index.d.ts +18 -3
- package/dist/components/merge-provider/index.js +43 -2
- package/dist/components/merge-provider/index.js.map +1 -1
- package/dist/components/number-field/index.d.ts +14 -6
- package/dist/components/number-field/index.js +127 -2
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/number-field/number-field.css.d.ts +1 -1
- package/dist/components/number-field/number-field.css.js.map +1 -1
- package/dist/components/number-field/types.d.ts +1 -1
- package/dist/components/options/index.d.ts +25 -5
- package/dist/components/options/index.js +255 -3
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/options.css.js.map +1 -1
- package/dist/components/picker/index.d.ts +23 -5
- package/dist/components/picker/index.js +113 -3
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/picker/picker.css.js.map +1 -1
- package/dist/components/picker/picker.stories.css.js.map +1 -1
- package/dist/components/popover/index.d.ts +14 -6
- package/dist/components/popover/index.js +140 -3
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/popover.css.js.map +1 -1
- package/dist/components/popover/types.d.ts +1 -1
- package/dist/components/query-builder/action-element.js.map +1 -1
- package/dist/components/query-builder/constants.js.map +1 -1
- package/dist/components/query-builder/dataset-sample.js.map +1 -1
- package/dist/components/query-builder/group.js +1 -1
- package/dist/components/query-builder/group.js.map +1 -1
- package/dist/components/query-builder/index.d.ts +7 -7
- package/dist/components/query-builder/index.js +198 -5
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/query-builder.css.js.map +1 -1
- package/dist/components/query-builder/rule.js +1 -1
- package/dist/components/query-builder/rule.js.map +1 -1
- package/dist/components/query-builder/utils.js.map +1 -1
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/query-builder/value-selector.js +1 -1
- package/dist/components/query-builder/value-selector.js.map +1 -1
- package/dist/components/radio/index.d.ts +22 -6
- package/dist/components/radio/index.js +114 -3
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/radio.css.js.map +1 -1
- package/dist/components/search-field/index.d.ts +15 -6
- package/dist/components/search-field/index.js +92 -3
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/search-field.css.js.map +1 -1
- package/dist/components/select/index.d.ts +13 -5
- package/dist/components/select/index.js +109 -3
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/select.css.js.map +1 -1
- package/dist/components/slider/index.d.ts +41 -7
- package/dist/components/slider/index.js +235 -3
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/slider.css.d.ts +1 -1
- package/dist/components/slider/slider.css.js.map +1 -1
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/switch/index.d.ts +9 -5
- package/dist/components/switch/index.js +60 -3
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/switch.css.js.map +1 -1
- package/dist/components/tabs/index.d.ts +74 -7
- package/dist/components/tabs/index.js +259 -3
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/tabs.css.js.map +1 -1
- package/dist/components/text-field/index.d.ts +61 -6
- package/dist/components/text-field/index.js +93 -2
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/text-field.css.js.map +1 -1
- package/dist/components/textarea/index.d.ts +18 -5
- package/dist/components/textarea/index.js +134 -3
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/textarea.css.js.map +1 -1
- package/dist/components/time-field/index.d.ts +14 -6
- package/dist/components/time-field/index.js +103 -2
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/time-field.css.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +29 -6
- package/dist/components/tooltip/index.js +112 -3
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/tooltip.css.js.map +1 -1
- package/dist/components/tree/index.d.ts +17 -5
- package/dist/components/tree/index.js +491 -3
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/tree.css.js.map +1 -1
- package/dist/components/tree/utils.js.map +1 -1
- package/dist/hooks/index.d.ts +12 -12
- package/dist/hooks/use-collection-render/index.d.ts +11 -3
- package/dist/hooks/use-collection-render/index.js +25 -1
- package/dist/hooks/use-collection-render/index.js.map +1 -1
- package/dist/hooks/use-context-props/index.d.ts +10 -3
- package/dist/hooks/use-context-props/index.js +15 -1
- package/dist/hooks/use-context-props/index.js.map +1 -1
- package/dist/hooks/use-defaults/index.d.ts +99 -31
- package/dist/hooks/use-defaults/index.js +33 -2
- package/dist/hooks/use-defaults/index.js.map +1 -1
- package/dist/hooks/use-defaults/types.d.ts +6 -6
- package/dist/hooks/use-propagating-press/index.d.ts +13 -2
- package/dist/hooks/use-propagating-press/index.js +19 -1
- package/dist/hooks/use-propagating-press/index.js.map +1 -1
- package/dist/hooks/use-slot/index.d.ts +16 -2
- package/dist/hooks/use-slot/index.js +18 -1
- package/dist/hooks/use-slot/index.js.map +1 -1
- package/dist/hooks/use-theme/index.d.ts +37 -8
- package/dist/hooks/use-theme/index.js +105 -2
- package/dist/hooks/use-theme/index.js.map +1 -1
- package/dist/hooks/use-theme/types.d.ts +2 -2
- package/dist/hooks/use-theme/use-theme.css.js.map +1 -1
- package/dist/hooks/use-tree/index.d.ts +5 -2
- package/dist/hooks/use-tree/index.js +262 -1
- package/dist/hooks/use-tree/index.js.map +1 -1
- package/dist/hooks/use-tree/utils.js.map +1 -1
- package/dist/hooks/use-update-effect/index.d.ts +3 -1
- package/dist/hooks/use-update-effect/index.js +20 -1
- package/dist/hooks/use-update-effect/index.js.map +1 -1
- package/dist/index.css +119 -119
- package/dist/index.d.ts +47 -47
- package/dist/ladle/actions.js.map +1 -1
- package/dist/styles/layers.css.d.ts +3 -3
- package/dist/styles/layers.css.js.map +1 -1
- package/dist/styles/surfaces.css.d.ts +1 -1
- package/dist/styles/surfaces.css.js.map +1 -1
- package/dist/styles/theme.css.js.map +1 -1
- package/dist/styles/typography.css.js.map +1 -1
- package/dist/test/setup.js +78 -8
- package/dist/test/setup.js.map +1 -1
- package/dist/types/use-tree.d.ts +1 -1
- package/dist/utils/{css.d.ts → css/index.d.ts} +2 -2
- package/dist/utils/{css.js → css/index.js} +5 -5
- package/dist/utils/css/index.js.map +1 -0
- package/dist/utils/events/index.js +10 -0
- package/dist/utils/events/index.js.map +1 -0
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -4
- package/dist/utils/{props.d.ts → props/index.d.ts} +2 -2
- package/dist/utils/{props.js → props/index.js} +3 -3
- package/dist/utils/props/index.js.map +1 -0
- package/dist/utils/{validators.d.ts → validators/index.d.ts} +1 -1
- package/dist/utils/{validators.js → validators/index.js} +3 -3
- package/dist/utils/validators/index.js.map +1 -0
- package/dist/vanilla.d.ts +1 -1
- package/dist/vanilla.js +1 -1
- package/package.json +25 -26
- package/dist/components/aria/aria.d.ts +0 -32
- package/dist/components/aria/aria.js +0 -39
- package/dist/components/aria/aria.js.map +0 -1
- package/dist/components/button/button.d.ts +0 -47
- package/dist/components/button/button.js +0 -104
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts +0 -30
- package/dist/components/checkbox/checkbox.js +0 -123
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/chip/chip.d.ts +0 -41
- package/dist/components/chip/chip.js +0 -171
- package/dist/components/chip/chip.js.map +0 -1
- package/dist/components/collection/collection.d.ts +0 -17
- package/dist/components/collection/collection.js +0 -22
- package/dist/components/collection/collection.js.map +0 -1
- package/dist/components/combo-box/combo-box.d.ts +0 -21
- package/dist/components/combo-box/combo-box.js +0 -116
- package/dist/components/combo-box/combo-box.js.map +0 -1
- package/dist/components/date-field/date-field.d.ts +0 -20
- package/dist/components/date-field/date-field.js +0 -106
- package/dist/components/date-field/date-field.js.map +0 -1
- package/dist/components/date-input/date-input.d.ts +0 -42
- package/dist/components/date-input/date-input.js +0 -128
- package/dist/components/date-input/date-input.js.map +0 -1
- package/dist/components/dialog/dialog.d.ts +0 -29
- package/dist/components/dialog/dialog.js +0 -186
- package/dist/components/dialog/dialog.js.map +0 -1
- package/dist/components/drawer/drawer.d.ts +0 -28
- package/dist/components/drawer/drawer.js +0 -305
- package/dist/components/drawer/drawer.js.map +0 -1
- package/dist/components/element/element.d.ts +0 -16
- package/dist/components/element/element.js +0 -24
- package/dist/components/element/element.js.map +0 -1
- package/dist/components/group/group.d.ts +0 -16
- package/dist/components/group/group.js +0 -61
- package/dist/components/group/group.js.map +0 -1
- package/dist/components/icon/icon.d.ts +0 -17
- package/dist/components/icon/icon.js +0 -39
- package/dist/components/icon/icon.js.map +0 -1
- package/dist/components/input/input.d.ts +0 -13
- package/dist/components/input/input.js +0 -141
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/menu/menu.d.ts +0 -32
- package/dist/components/menu/menu.js +0 -252
- package/dist/components/menu/menu.js.map +0 -1
- package/dist/components/merge-provider/merge-provider.d.ts +0 -20
- package/dist/components/merge-provider/merge-provider.js +0 -46
- package/dist/components/merge-provider/merge-provider.js.map +0 -1
- package/dist/components/number-field/number-field.d.ts +0 -20
- package/dist/components/number-field/number-field.js +0 -125
- package/dist/components/number-field/number-field.js.map +0 -1
- package/dist/components/options/options.d.ts +0 -28
- package/dist/components/options/options.js +0 -253
- package/dist/components/options/options.js.map +0 -1
- package/dist/components/picker/picker.d.ts +0 -24
- package/dist/components/picker/picker.js +0 -113
- package/dist/components/picker/picker.js.map +0 -1
- package/dist/components/popover/popover.d.ts +0 -22
- package/dist/components/popover/popover.js +0 -139
- package/dist/components/popover/popover.js.map +0 -1
- package/dist/components/query-builder/query-builder.d.ts +0 -23
- package/dist/components/query-builder/query-builder.js +0 -200
- package/dist/components/query-builder/query-builder.js.map +0 -1
- package/dist/components/radio/radio.d.ts +0 -23
- package/dist/components/radio/radio.js +0 -114
- package/dist/components/radio/radio.js.map +0 -1
- package/dist/components/search-field/search-field.d.ts +0 -21
- package/dist/components/search-field/search-field.js +0 -92
- package/dist/components/search-field/search-field.js.map +0 -1
- package/dist/components/select/select.d.ts +0 -20
- package/dist/components/select/select.js +0 -109
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/slider/slider.d.ts +0 -49
- package/dist/components/slider/slider.js +0 -230
- package/dist/components/slider/slider.js.map +0 -1
- package/dist/components/switch/switch.d.ts +0 -10
- package/dist/components/switch/switch.js +0 -60
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tabs/tabs.d.ts +0 -75
- package/dist/components/tabs/tabs.js +0 -258
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/text-field/text-field.d.ts +0 -64
- package/dist/components/text-field/text-field.js +0 -92
- package/dist/components/text-field/text-field.js.map +0 -1
- package/dist/components/textarea/textarea.d.ts +0 -19
- package/dist/components/textarea/textarea.js +0 -134
- package/dist/components/textarea/textarea.js.map +0 -1
- package/dist/components/time-field/time-field.d.ts +0 -21
- package/dist/components/time-field/time-field.js +0 -106
- package/dist/components/time-field/time-field.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts +0 -30
- package/dist/components/tooltip/tooltip.js +0 -112
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/tree/tree.d.ts +0 -29
- package/dist/components/tree/tree.js +0 -491
- package/dist/components/tree/tree.js.map +0 -1
- package/dist/hooks/use-collection-render/use-collection-render.d.ts +0 -11
- package/dist/hooks/use-collection-render/use-collection-render.js +0 -28
- package/dist/hooks/use-collection-render/use-collection-render.js.map +0 -1
- package/dist/hooks/use-context-props/use-context-props.d.ts +0 -10
- package/dist/hooks/use-context-props/use-context-props.js +0 -18
- package/dist/hooks/use-context-props/use-context-props.js.map +0 -1
- package/dist/hooks/use-defaults/use-defaults.d.ts +0 -110
- package/dist/hooks/use-defaults/use-defaults.js +0 -36
- package/dist/hooks/use-defaults/use-defaults.js.map +0 -1
- package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +0 -13
- package/dist/hooks/use-propagating-press/use-propagating-press.js +0 -21
- package/dist/hooks/use-propagating-press/use-propagating-press.js.map +0 -1
- package/dist/hooks/use-slot/use-slot.d.ts +0 -16
- package/dist/hooks/use-slot/use-slot.js +0 -21
- package/dist/hooks/use-slot/use-slot.js.map +0 -1
- package/dist/hooks/use-theme/use-theme.d.ts +0 -77
- package/dist/hooks/use-theme/use-theme.js +0 -108
- package/dist/hooks/use-theme/use-theme.js.map +0 -1
- package/dist/hooks/use-tree/use-tree.d.ts +0 -7
- package/dist/hooks/use-tree/use-tree.js +0 -262
- package/dist/hooks/use-tree/use-tree.js.map +0 -1
- package/dist/hooks/use-update-effect/use-update-effect.d.ts +0 -3
- package/dist/hooks/use-update-effect/use-update-effect.js +0 -23
- package/dist/hooks/use-update-effect/use-update-effect.js.map +0 -1
- package/dist/utils/css.js.map +0 -1
- package/dist/utils/events.js +0 -10
- package/dist/utils/events.js.map +0 -1
- package/dist/utils/props.js.map +0 -1
- package/dist/utils/validators.js.map +0 -1
- /package/dist/utils/{events.d.ts → events/index.d.ts} +0 -0
|
@@ -1,8 +1,201 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import '
|
|
6
|
-
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { Provider } from 'react-aria-components';
|
|
4
|
+
import { QueryBuilder as QueryBuilder$1 } from 'react-querybuilder';
|
|
5
|
+
import { useTheme } from '../../hooks/use-theme/index.js';
|
|
6
|
+
import { bodies } from '../../styles/typography.css.js';
|
|
7
|
+
import { inlineVars } from '../../utils/css/index.js';
|
|
8
|
+
import { mergeClassNames } from '../../utils/props/index.js';
|
|
9
|
+
import { ButtonContext } from '../button/index.js';
|
|
10
|
+
import { CheckboxContext } from '../checkbox/index.js';
|
|
11
|
+
import { InputContext } from '../input/index.js';
|
|
12
|
+
import { RadioGroupContext } from '../radio/index.js';
|
|
13
|
+
import { SelectContext } from '../select/index.js';
|
|
14
|
+
import { SwitchContext } from '../switch/index.js';
|
|
15
|
+
import { TextAreaContext } from '../textarea/index.js';
|
|
16
|
+
import { ActionElement } from './action-element.js';
|
|
17
|
+
import { defaultSize, QueryBuilderContext, defaultOrientation } from './constants.js';
|
|
18
|
+
import { RuleGroup, RuleGroupHeaderComponents, RuleGroupFooterComponents, RuleGroupBodyComponents } from './group.js';
|
|
19
|
+
import { queryBuilderClassNames, queryBuilderStateVars } from './query-builder.css.js';
|
|
20
|
+
import { Rule } from './rule.js';
|
|
21
|
+
import { ValueEditor, defaultValueEditors } from './value-editor.js';
|
|
22
|
+
import { ValueSelector } from './value-selector.js';
|
|
23
|
+
import { jsx } from 'react/jsx-runtime';
|
|
24
|
+
|
|
25
|
+
var defaultMapping = {
|
|
26
|
+
button: {
|
|
27
|
+
sm: { size: "sm", variant: "solid" },
|
|
28
|
+
lg: { size: "md", variant: "solid" }
|
|
29
|
+
},
|
|
30
|
+
input: {
|
|
31
|
+
sm: { size: "sm" },
|
|
32
|
+
lg: { size: "lg" }
|
|
33
|
+
},
|
|
34
|
+
select: {
|
|
35
|
+
sm: { size: "sm" },
|
|
36
|
+
lg: { size: "lg" }
|
|
37
|
+
},
|
|
38
|
+
textarea: {
|
|
39
|
+
sm: { size: "sm" },
|
|
40
|
+
lg: { size: "lg" }
|
|
41
|
+
},
|
|
42
|
+
error: {
|
|
43
|
+
sm: bodies.xs,
|
|
44
|
+
lg: bodies.xs
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function QueryBuilder({
|
|
48
|
+
classNames: classNamesProp,
|
|
49
|
+
consistentColumns = true,
|
|
50
|
+
controlElements: controlElementsProp,
|
|
51
|
+
disabled,
|
|
52
|
+
icons,
|
|
53
|
+
mapping: mappingProp,
|
|
54
|
+
orientation = defaultOrientation,
|
|
55
|
+
showRuleLines = true,
|
|
56
|
+
size = defaultSize,
|
|
57
|
+
valueEditors: valueEditorsProp,
|
|
58
|
+
...rest
|
|
59
|
+
}) {
|
|
60
|
+
const theme = useTheme();
|
|
61
|
+
const mapping = useMemo(
|
|
62
|
+
() => ({
|
|
63
|
+
...defaultMapping,
|
|
64
|
+
...mappingProp
|
|
65
|
+
}),
|
|
66
|
+
[mappingProp]
|
|
67
|
+
);
|
|
68
|
+
const classNames = useMemo(
|
|
69
|
+
() => mergeClassNames(
|
|
70
|
+
queryBuilderClassNames,
|
|
71
|
+
theme.QueryBuilder,
|
|
72
|
+
classNamesProp,
|
|
73
|
+
{
|
|
74
|
+
rule: { error: mapping?.error?.[size] }
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
[mapping?.error, size, theme.QueryBuilder, classNamesProp]
|
|
78
|
+
);
|
|
79
|
+
const controlClassNames = useMemo(() => {
|
|
80
|
+
const {
|
|
81
|
+
addGroup,
|
|
82
|
+
addRule,
|
|
83
|
+
cloneGroup,
|
|
84
|
+
cloneRule,
|
|
85
|
+
dragHandle,
|
|
86
|
+
lockGroup,
|
|
87
|
+
lockRule,
|
|
88
|
+
removeGroup,
|
|
89
|
+
removeRule,
|
|
90
|
+
queryBuilder,
|
|
91
|
+
group,
|
|
92
|
+
rule
|
|
93
|
+
} = classNames ?? {};
|
|
94
|
+
return {
|
|
95
|
+
addGroup,
|
|
96
|
+
addRule,
|
|
97
|
+
cloneGroup,
|
|
98
|
+
cloneRule,
|
|
99
|
+
dragHandle,
|
|
100
|
+
lockGroup,
|
|
101
|
+
lockRule,
|
|
102
|
+
removeGroup,
|
|
103
|
+
removeRule,
|
|
104
|
+
queryBuilder: queryBuilder?.queryBuilder,
|
|
105
|
+
ruleGroup: group?.group,
|
|
106
|
+
header: group?.header,
|
|
107
|
+
body: group?.body,
|
|
108
|
+
rule: rule?.rule
|
|
109
|
+
};
|
|
110
|
+
}, [classNames]);
|
|
111
|
+
const controlElements = useMemo(
|
|
112
|
+
() => ({
|
|
113
|
+
actionElement: ActionElement,
|
|
114
|
+
rule: Rule,
|
|
115
|
+
ruleGroup: RuleGroup,
|
|
116
|
+
valueEditor: ValueEditor,
|
|
117
|
+
valueSelector: ValueSelector,
|
|
118
|
+
...controlElementsProp
|
|
119
|
+
}),
|
|
120
|
+
[controlElementsProp]
|
|
121
|
+
);
|
|
122
|
+
const valueEditors = useMemo(
|
|
123
|
+
() => ({
|
|
124
|
+
...defaultValueEditors,
|
|
125
|
+
...valueEditorsProp
|
|
126
|
+
}),
|
|
127
|
+
[valueEditorsProp]
|
|
128
|
+
);
|
|
129
|
+
const context = useMemo(
|
|
130
|
+
() => [
|
|
131
|
+
[
|
|
132
|
+
QueryBuilderContext,
|
|
133
|
+
{
|
|
134
|
+
classNames,
|
|
135
|
+
consistentColumns,
|
|
136
|
+
controlElements: {
|
|
137
|
+
ruleGroupBodyElements: RuleGroupBodyComponents,
|
|
138
|
+
ruleGroupFooterElements: RuleGroupFooterComponents,
|
|
139
|
+
ruleGroupHeaderElements: RuleGroupHeaderComponents
|
|
140
|
+
},
|
|
141
|
+
icons,
|
|
142
|
+
mapping,
|
|
143
|
+
orientation,
|
|
144
|
+
showRuleLines,
|
|
145
|
+
size,
|
|
146
|
+
valueEditors
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
[
|
|
150
|
+
ButtonContext,
|
|
151
|
+
{ ...mapping?.button?.[size], classNames: classNames?.button }
|
|
152
|
+
],
|
|
153
|
+
[CheckboxContext, { classNames: classNames?.checkbox }],
|
|
154
|
+
[
|
|
155
|
+
InputContext,
|
|
156
|
+
{ ...mapping?.input?.[size], classNames: classNames?.input }
|
|
157
|
+
],
|
|
158
|
+
[RadioGroupContext, { classNames: classNames?.radio }],
|
|
159
|
+
[
|
|
160
|
+
SelectContext,
|
|
161
|
+
{ ...mapping?.select?.[size], classNames: classNames?.select }
|
|
162
|
+
],
|
|
163
|
+
[SwitchContext, { classNames: classNames?.switch }],
|
|
164
|
+
[
|
|
165
|
+
TextAreaContext,
|
|
166
|
+
{ ...mapping?.textarea?.[size], classNames: classNames?.textarea }
|
|
167
|
+
]
|
|
168
|
+
],
|
|
169
|
+
[
|
|
170
|
+
classNames,
|
|
171
|
+
consistentColumns,
|
|
172
|
+
icons,
|
|
173
|
+
mapping,
|
|
174
|
+
orientation,
|
|
175
|
+
showRuleLines,
|
|
176
|
+
size,
|
|
177
|
+
valueEditors
|
|
178
|
+
]
|
|
179
|
+
);
|
|
180
|
+
const style = useMemo(
|
|
181
|
+
() => inlineVars(queryBuilderStateVars, {
|
|
182
|
+
isDisabled: typeof disabled === "boolean" ? disabled : false,
|
|
183
|
+
showRuleLines
|
|
184
|
+
}),
|
|
185
|
+
[disabled, showRuleLines]
|
|
186
|
+
);
|
|
187
|
+
return /* @__PURE__ */ jsx(Provider, { values: context, children: /* @__PURE__ */ jsx("div", { className: classNames?.queryBuilder?.container, style, children: /* @__PURE__ */ jsx(
|
|
188
|
+
QueryBuilder$1,
|
|
189
|
+
{
|
|
190
|
+
...rest,
|
|
191
|
+
controlElements,
|
|
192
|
+
controlClassnames: controlClassNames,
|
|
193
|
+
disabled,
|
|
194
|
+
listsAsArrays: true
|
|
195
|
+
}
|
|
196
|
+
) }) });
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export { QueryBuilder };
|
|
7
200
|
//# sourceMappingURL=index.js.map
|
|
8
201
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/index.tsx"],"names":["RQBuilder"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useMemo } from 'react';\nimport { Provider } from 'react-aria-components';\nimport { QueryBuilder as RQBuilder } from 'react-querybuilder';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { mergeClassNames } from '../../utils/props';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { CheckboxContext } from '../checkbox';\nimport type { CheckboxProps } from '../checkbox/types';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport { RadioGroupContext } from '../radio';\nimport type { RadioGroupProps } from '../radio/types';\nimport { SelectContext } from '../select';\nimport type { SelectProps } from '../select/types';\nimport { SwitchContext } from '../switch';\nimport type { SwitchProps } from '../switch/types';\nimport { TextAreaContext } from '../textarea';\nimport type { TextAreaProps } from '../textarea/types';\nimport { ActionElement } from './action-element';\nimport {\n QueryBuilderContext,\n defaultOrientation,\n defaultSize,\n} from './constants';\nimport {\n RuleGroup,\n RuleGroupBodyComponents,\n RuleGroupFooterComponents,\n RuleGroupHeaderComponents,\n} from './group';\nimport {\n queryBuilderClassNames,\n queryBuilderStateVars,\n} from './query-builder.css';\nimport { Rule } from './rule';\nimport type {\n QueryBuilderContextValue,\n QueryBuilderMapping,\n QueryBuilderProps,\n} from './types';\nimport { ValueEditor, defaultValueEditors } from './value-editor';\nimport { ValueSelector } from './value-selector';\n\nconst defaultMapping: QueryBuilderMapping = {\n button: {\n sm: { size: 'sm', variant: 'solid' },\n lg: { size: 'md', variant: 'solid' },\n },\n input: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n select: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n textarea: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nexport function QueryBuilder({\n classNames: classNamesProp,\n consistentColumns = true,\n controlElements: controlElementsProp,\n disabled,\n icons,\n mapping: mappingProp,\n orientation = defaultOrientation,\n showRuleLines = true,\n size = defaultSize,\n valueEditors: valueEditorsProp,\n ...rest\n}: QueryBuilderProps) {\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(\n queryBuilderClassNames,\n theme.QueryBuilder,\n classNamesProp,\n {\n rule: { error: mapping?.error?.[size] },\n },\n ),\n [mapping?.error, size, theme.QueryBuilder, classNamesProp],\n );\n\n const controlClassNames = useMemo(() => {\n const {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder,\n group,\n rule,\n } = classNames ?? {};\n\n return {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder: queryBuilder?.queryBuilder,\n ruleGroup: group?.group,\n header: group?.header,\n body: group?.body,\n rule: rule?.rule,\n };\n }, [classNames]);\n\n const controlElements = useMemo(\n () => ({\n actionElement: ActionElement,\n rule: Rule,\n ruleGroup: RuleGroup,\n valueEditor: ValueEditor,\n valueSelector: ValueSelector,\n ...controlElementsProp,\n }),\n [controlElementsProp],\n );\n\n const valueEditors = useMemo(\n () => ({\n ...defaultValueEditors,\n ...valueEditorsProp,\n }),\n [valueEditorsProp],\n );\n\n const context = useMemo<\n [\n [typeof QueryBuilderContext, QueryBuilderContextValue],\n [typeof ButtonContext, ButtonProps],\n [typeof CheckboxContext, CheckboxProps],\n [typeof InputContext, InputProps],\n [typeof RadioGroupContext, RadioGroupProps],\n [typeof SelectContext, SelectProps<object>],\n [typeof SwitchContext, SwitchProps],\n [typeof TextAreaContext, TextAreaProps],\n ]\n >(\n () => [\n [\n QueryBuilderContext,\n {\n classNames,\n consistentColumns,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyComponents,\n ruleGroupFooterElements: RuleGroupFooterComponents,\n ruleGroupHeaderElements: RuleGroupHeaderComponents,\n },\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n },\n ],\n [\n ButtonContext,\n { ...mapping?.button?.[size], classNames: classNames?.button },\n ],\n [CheckboxContext, { classNames: classNames?.checkbox }],\n [\n InputContext,\n { ...mapping?.input?.[size], classNames: classNames?.input },\n ],\n [RadioGroupContext, { classNames: classNames?.radio }],\n [\n SelectContext,\n { ...mapping?.select?.[size], classNames: classNames?.select },\n ],\n [SwitchContext, { classNames: classNames?.switch }],\n [\n TextAreaContext,\n { ...mapping?.textarea?.[size], classNames: classNames?.textarea },\n ],\n ],\n [\n classNames,\n consistentColumns,\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderStateVars, {\n isDisabled: typeof disabled === 'boolean' ? disabled : false,\n showRuleLines,\n }),\n [disabled, showRuleLines],\n );\n\n return (\n <Provider values={context}>\n <div className={classNames?.queryBuilder?.container} style={style}>\n <RQBuilder\n {...rest}\n controlElements={controlElements}\n controlClassnames={controlClassNames}\n disabled={disabled}\n listsAsArrays\n />\n </div>\n </Provider>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/query-builder.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,yBAAyB,EAAC,YAAA,EAAa,EAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/query-builder.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,yBAAyB,EAAC,YAAA,EAAa,EAAC,SAAA,EAAU,sEAAA,EAAuE,cAAa,yEAAA,EAAyE,EAAE,OAAM,EAAC,SAAA,EAAU,iEAAgE,KAAA,EAAM,2DAAA,EAA4D,QAAO,4DAAA,EAA6D,IAAA,EAAK,4DAA2D,MAAA,EAAO,4DAAA,EAA4D,EAAE,IAAA,EAAK,EAAC,SAAA,EAAU,8DAAA,EAA+D,MAAK,yDAAA,EAA0D,IAAA,EAAK,2DAA0D,KAAA,EAAM,0DAAA,EAA2D,UAAS,6DAAA,EAA8D,MAAA,EAAO,6DAA4D,MAAA,EAAO,2DAAA,EAA4D,OAAM,0DAAA,EAA2D,KAAA,EAAM,4DAA0D;AAC7oC,IAAI,wBAAwB,EAAC,YAAA,EAAa,EAAC,UAAA,EAAW,0CAAyC,MAAA,EAAO,oCAAA,EAAqC,KAAA,EAAM,mCAAA,IAAqC,KAAA,EAAM,EAAC,UAAA,EAAW,iCAAA,EAAkC,QAAO,6BAAA,EAA8B,KAAA,EAAM,4BAAA,EAA6B,SAAA,EAAU,kCAAgC,EAAE,IAAA,EAAK,EAAC,UAAA,EAAW,kCAAiC,MAAA,EAAO,4BAAA,EAA6B,KAAA,EAAM,2BAAA,EAA4B,WAAU,+BAAA,EAA+B,EAAE,OAAM,EAAC,KAAA,EAAM,8BAA4B;AAC1iB,IAAI,sBAAA,GAAyB,EAAC,YAAA,EAAa,2DAAA,EAA4D,OAAM,oDAAA,EAAqD,IAAA,EAAK,mDAAA,EAAoD,MAAA,EAAO,qDAAA;AAClO,IAAI,0BAAA,GAA6B,EAAC,KAAA,EAAM,uBAAA,EAAwB,MAAA,EAAO,wBAAA,EAAyB,OAAA,EAAQ,yBAAA,EAA0B,WAAA,EAAY,6BAAA,EAA8B,UAAA,EAAW,4BAAA;AACvL,IAAI,yBAAA,GAA4B,EAAC,WAAA,EAAY,6BAAA,EAA8B,YAAW,4BAAA,EAA6B,UAAA,EAAW,4BAAA,EAA6B,YAAA,EAAa,8BAAA;AACxK,IAAI,qBAAA,GAAwB,EAAC,YAAA,EAAa,EAAC,GAAE,+BAAA,EAAgC,CAAA,EAAE,iCAA+B,EAAE,KAAA,EAAM,EAAC,GAAA,EAAI,0BAAA,EAA2B,GAAE,wBAAA,EAAyB,CAAA,EAAE,0BAAyB,UAAA,EAAW,iCAAA,IAAmC,MAAA,EAAO,EAAC,GAAE,yBAAA,EAA0B,CAAA,EAAE,2BAAyB,EAAE,IAAA,EAAK,EAAC,GAAA,EAAI,yBAAA,EAA0B,GAAE,uBAAA,EAAwB,CAAA,EAAE,yBAAuB,EAAE,IAAA,EAAK,EAAC,CAAA,EAAE,uBAAA,EAAwB,GAAE,uBAAA,EAAwB,UAAA,EAAW,gCAAA,EAAgC,EAAE,IAAA,EAAK,EAAC,KAAI,yBAAA,EAAyB,EAAE,OAAM,EAAC,KAAA,EAAM,8BAA6B,QAAA,EAAS,+BAAA,EAAgC,UAAS,+BAAA,EAA+B,EAAE,UAAS,EAAC,KAAA,EAAM,iCAAgC,QAAA,EAAS,kCAAA,EAAmC,UAAS,mCAAA,EAAmC,EAAE,QAAO,EAAC,GAAA,EAAI,8BAA6B,KAAA,EAAM,8BAAA,EAA+B,UAAS,iCAAA,EAAkC,QAAA,EAAS,mCAAiC,EAAE,MAAA,EAAO,EAAC,KAAA,EAAM,8BAAA,EAA+B,UAAS,iCAAA,EAAkC,QAAA,EAAS,mCAAiC,EAAE,MAAA,EAAO,EAAC,CAAA,EAAE,0BAAA,EAA2B,CAAA,EAAE,0BAAA,EAA0B;AACjpC,IAAI,qBAAA,GAAwB,EAAC,UAAA,EAAW,4BAAA,EAA6B,eAAc,+BAAA","file":"query-builder.css.js","sourcesContent":["export var queryBuilderClassNames = {queryBuilder:{container:'query-builder_queryBuilderClassNames_queryBuilder_container__xkizz1l',queryBuilder:'query-builder_queryBuilderClassNames_queryBuilder_queryBuilder__xkizz1m'},group:{container:'query-builder_queryBuilderClassNames_group_container__xkizz1n',group:'query-builder_queryBuilderClassNames_group_group__xkizz1o',header:'query-builder_queryBuilderClassNames_group_header__xkizz1p',body:'query-builder_queryBuilderClassNames_group_body__xkizz1q',footer:'query-builder_queryBuilderClassNames_group_footer__xkizz1r'},rule:{container:'query-builder_queryBuilderClassNames_rule_container__xkizz1s',rule:'query-builder_queryBuilderClassNames_rule_rule__xkizz1t',core:'query-builder_queryBuilderClassNames_rule_core__xkizz1u',field:'query-builder_queryBuilderClassNames_rule_field__xkizz1v',operator:'query-builder_queryBuilderClassNames_rule_operator__xkizz1w',values:'query-builder_queryBuilderClassNames_rule_values__xkizz1x',source:'query-builder_queryBuilderClassNames_rule_source__xkizz1y',value:'query-builder_queryBuilderClassNames_rule_value__xkizz1z',error:'query-builder_queryBuilderClassNames_rule_error__xkizz20'}};\nexport var queryBuilderColorVars = {queryBuilder:{background:'var(--queryBuilder-background__xkizz4)',border:'var(--queryBuilder-border__xkizz5)',color:'var(--queryBuilder-color__xkizz6)'},group:{background:'var(--group-background__xkizz7)',border:'var(--group-border__xkizz8)',color:'var(--group-color__xkizz9)',lineColor:'var(--group-lineColor__xkizza)'},rule:{background:'var(--rule-background__xkizzb)',border:'var(--rule-border__xkizzc)',color:'var(--rule-color__xkizzd)',lineColor:'var(--rule-lineColor__xkizze)'},error:{color:'var(--error-color__xkizzf)'}};\nexport var queryBuilderContainers = {queryBuilder:'query-builder_queryBuilderContainers_queryBuilder__xkizz0',group:'query-builder_queryBuilderContainers_group__xkizz1',rule:'query-builder_queryBuilderContainers_rule__xkizz2',values:'query-builder_queryBuilderContainers_values__xkizz3'};\nexport var queryBuilderGroupStateVars = {after:'var(--after__xkizz1c)',before:'var(--before__xkizz1d)',columns:'var(--columns__xkizz1e)',orientation:'var(--orientation__xkizz1f)',isDisabled:'var(--isDisabled__xkizz1g)'};\nexport var queryBuilderRuleStateVars = {orientation:'var(--orientation__xkizz1h)',isDisabled:'var(--isDisabled__xkizz1i)',isDragging:'var(--isDragging__xkizz1j)',isDropTarget:'var(--isDropTarget__xkizz1k)'};\nexport var queryBuilderSpaceVars = {queryBuilder:{x:'var(--queryBuilder-x__xkizzg)',y:'var(--queryBuilder-y__xkizzh)'},group:{gap:'var(--group-gap__xkizzi)',x:'var(--group-x__xkizzj)',y:'var(--group-y__xkizzk)',lineIndent:'var(--group-lineIndent__xkizzl)'},header:{x:'var(--header-x__xkizzm)',y:'var(--header-y__xkizzn)'},body:{gap:'var(--body-gap__xkizzo)',x:'var(--body-x__xkizzp)',y:'var(--body-y__xkizzq)'},rule:{x:'var(--rule-x__xkizzr)',y:'var(--rule-y__xkizzs)',lineIndent:'var(--rule-lineIndent__xkizzt)'},core:{gap:'var(--core-gap__xkizzu)'},field:{width:'var(--field-width__xkizzv)',maxWidth:'var(--field-maxWidth__xkizzw)',minWidth:'var(--field-minWidth__xkizzx)'},operator:{width:'var(--operator-width__xkizzy)',maxWidth:'var(--operator-maxWidth__xkizzz)',minWidth:'var(--operator-minWidth__xkizz10)'},values:{gap:'var(--values-gap__xkizz11)',width:'var(--values-width__xkizz12)',maxWidth:'var(--values-maxWidth__xkizz13)',minWidth:'var(--values-minWidth__xkizz14)'},source:{width:'var(--source-width__xkizz15)',maxWidth:'var(--source-maxWidth__xkizz16)',minWidth:'var(--source-minWidth__xkizz17)'},footer:{x:'var(--footer-x__xkizz18)',y:'var(--footer-y__xkizz19)'}};\nexport var queryBuilderStateVars = {isDisabled:'var(--isDisabled__xkizz1a)',showRuleLines:'var(--showRuleLines__xkizz1b)'};"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
2
|
import { useContext, useMemo } from 'react';
|
|
3
3
|
import { useRule, useStopEventPropagation, TestID } from 'react-querybuilder';
|
|
4
|
-
import { inlineVars } from '../../utils/index.js';
|
|
4
|
+
import { inlineVars } from '../../utils/css/index.js';
|
|
5
5
|
import { AriaText } from '../aria/index.js';
|
|
6
6
|
import { QueryBuilderContext } from './constants.js';
|
|
7
7
|
import { queryBuilderRuleStateVars } from './query-builder.css.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":[],"mappings":";;;;;;;;;;AAaO,SAAS,KAAK,KAAkB,EAAA;AACrC,EAAA,MAAM,EAAE,UAAA,EAAY,WAAY,EAAA,GAAI,WAAW,mBAAmB,CAAA;AAClE,EAAM,MAAA,IAAA,GAAO,QAAQ,KAAK,CAAA;AAC1B,EAAM,MAAA,SAAA,GAAY,uBAAwB,CAAA,IAAA,CAAK,SAAS,CAAA;AACxD,EAAM,MAAA,cAAA,GAAiB,uBAAwB,CAAA,IAAA,CAAK,cAAc,CAAA;AAClE,EAAM,MAAA,UAAA,GAAa,uBAAwB,CAAA,IAAA,CAAK,UAAU,CAAA;AAC1D,EAAM,MAAA,WAAA,GAAc,uBAAwB,CAAA,IAAA,CAAK,WAAW,CAAA;AAC5D,EAAM,MAAA,aAAA,GAAgB,uBAAwB,CAAA,IAAA,CAAK,aAAa,CAAA;AAEhE,EAAA,MAAM,EAAE,KAAA,EAAO,OAAS,EAAA,OAAA,EAAY,GAAA,mBAAA;AAAA,IAClC,KAAM,CAAA,IAAA;AAAA,IACN,KAAK,SAAW,EAAA;AAAA,GAClB;AAEA,EAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,IACZ,MACE,WAAW,yBAA2B,EAAA;AAAA,MACpC,WAAA;AAAA,MACA,YAAY,IAAK,CAAA,QAAA;AAAA,MACjB,YAAY,IAAK,CAAA,UAAA;AAAA,MACjB,cAAc,IAAK,CAAA;AAAA,KACpB,CAAA;AAAA,IACH,CAAC,IAAK,CAAA,QAAA,EAAU,KAAK,UAAY,EAAA,IAAA,CAAK,QAAQ,WAAW;AAAA,GAC3D;AAEA,EAAA,4BACG,KAAI,EAAA,EAAA,SAAA,EAAW,UAAY,EAAA,IAAA,EAAM,WAAW,KAC3C,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAK,IAAK,CAAA,MAAA;AAAA,QACV,WAAW,IAAK,CAAA,cAAA;AAAA,QAChB,sBAAoB,IAAK,CAAA,aAAA;AAAA,QACzB,sBAAoB,IAAK,CAAA,aAAA;AAAA,QACzB,YAAA,EAAY,KAAK,IAAK,CAAA,MAAA;AAAA,QACtB,WAAW,EAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,QACnC,gBAAc,IAAK,CAAA,EAAA;AAAA,QACnB,eAAa,MAAO,CAAA,IAAA;AAAA,QAEpB,QAAA,kBAAA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACE,GAAG,IAAA;AAAA,YACJ,SAAA;AAAA,YACA,UAAA;AAAA,YACA,aAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AAAA;AACF;AAAA,KACF;AAAA,IACC,CAAC,OAAA,IACA,OAAS,EAAA,GAAA,CAAI,CAAC,MACZ,qBAAA,GAAA,CAAC,QAAsB,EAAA,EAAA,SAAA,EAAW,UAAY,EAAA,IAAA,EAAM,KACjD,EAAA,QAAA,EAAA,MAAA,EAAA,EADY,MAEf,CACD;AAAA,GACL,EAAA,CAAA;AAEJ;AAEO,SAAS,cAAe,CAAA;AAAA,EAC7B,UAAY,EAAA,cAAA;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,uBAAA;AAAA,EACA,iBAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,iBAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,oBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAA2C,EAAA;AACzC,EAAA,MAAM,EAAE,UAAY,EAAA,iBAAA,EAAmB,WAAY,EAAA,GACjD,WAAW,mBAAmB,CAAA;AAEhC,EAAM,MAAA;AAAA,IACJ,QAAU,EAAA;AAAA,MACR,YAAc,EAAA,0BAAA;AAAA,MACd,UAAY,EAAA,wBAAA;AAAA,MACZ,aAAe,EAAA,2BAAA;AAAA,MACf,gBAAkB,EAAA,8BAAA;AAAA,MAClB,mBAAqB,EAAA,iCAAA;AAAA,MACrB,WAAa,EAAA,yBAAA;AAAA,MACb,eAAiB,EAAA,6BAAA;AAAA,MACjB,cAAgB,EAAA,4BAAA;AAAA,MAChB,gBAAkB,EAAA;AAAA,KACpB;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACE,GAAA,MAAA;AAEJ,EAAA,MAAM,MAAS,GAAA,OAAA;AAAA,IACb,OAAO;AAAA,MACL,OAAA,EAAS,aAAa,aAAc,CAAA,KAAA;AAAA,MACpC,SAAA,EAAW,aAAa,eAAgB,CAAA;AAAA,KAC1C,CAAA;AAAA,IACA,CAAC,YAAa,CAAA,eAAA,CAAgB,KAAO,EAAA,YAAA,CAAa,cAAc,KAAK;AAAA,GACvE;AAEA,EAAA,MAAM,MAAS,GAAA,OAAA;AAAA,IACb,OAAO;AAAA,MACL,OAAA,EAAS,aAAa,aAAc,CAAA,KAAA;AAAA,MACpC,SAAA,EAAW,aAAa,eAAgB,CAAA;AAAA,KAC1C,CAAA;AAAA,IACA,CAAC,YAAa,CAAA,eAAA,CAAgB,KAAO,EAAA,YAAA,CAAa,cAAc,KAAK;AAAA,GACvE;AAEA,EAAA,MAAM,iBACJ,MAAO,CAAA,eAAA,IACP,IAAK,CAAA,KAAA,KAAU,aAAa,MAAO,CAAA,eAAA;AAErC,EAAM,MAAA,QAAA,GAAW,QAAQ,MAAM;AAC7B,IAAA,IAAI,cAAgB,EAAA;AAClB,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,QAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,8BAAA;AAAA,QAAA;AAAA,UACC,QAAQ,MAAO,CAAA,SAAA;AAAA,UACf,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,SAAA;AAAA,UACA,KAAA,EAAO,aAAa,SAAU,CAAA,KAAA;AAAA,UAC9B,OAAS,EAAA,SAAA;AAAA,UACT,OAAO,IAAK,CAAA,QAAA;AAAA,UACZ,WAAW,cAAe,CAAA,SAAA;AAAA,UAC1B,cAAA,EAAgB,wBAAwB,UAAU,CAAA;AAAA,UAClD,OAAO,IAAK,CAAA,MAAA;AAAA,UACZ,IAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAY,EAAA,gBAAA;AAAA,UACZ,MAAA;AAAA,UACA;AAAA;AAAA,OAEJ,EAAA,CAAA;AAAA;AAIJ,IAAO,OAAA,CAAC,cACN,IAAA,iBAAA,IACA,WAAgB,KAAA,YAAA,mBACf,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,IAAM,EAAA,QAAA,EAAU,CAC1C,GAAA,IAAA;AAAA,GACH,EAAA;AAAA,IACD,8BAAA;AAAA,IACA,YAAY,IAAM,EAAA,QAAA;AAAA,IAClB,cAAe,CAAA,SAAA;AAAA,IACf,iBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAa,SAAU,CAAA,KAAA;AAAA,IACvB,gBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,WAAA,GACJ,mBACC,MAAO,CAAA,kBAAA,IACN,KAAK,QAAa,KAAA,YAAA,CAAa,SAAU,CAAA,eAAA,CAAA,IAC3C,CAAC,iBAAA;AAEH,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC1B,IAAA,IAAI,WAAa,EAAA;AACf,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,MAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,yBAAA;AAAA,QAAA;AAAA,UACC,QAAQ,MAAO,CAAA,WAAA;AAAA,UACf,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,SAAA;AAAA,UACA,KAAA,EAAO,aAAa,KAAM,CAAA,KAAA;AAAA,UAC1B,UAAU,IAAK,CAAA,QAAA;AAAA,UACf,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,WAAA,EAAa,KAAK,WAAe,IAAA,OAAA;AAAA,UACjC,IAAM,EAAA,eAAA;AAAA,UACN,SAAA;AAAA,UACA,MAAA;AAAA,UACA,eAAe,MAAO,CAAA,aAAA;AAAA,UACtB,cAAc,MAAO,CAAA,YAAA;AAAA,UACrB,SAAW,EAAA,oBAAA;AAAA,UACX,WAAW,cAAe,CAAA,KAAA;AAAA,UAC1B,cAAA,EAAgB,wBAAwB,OAAO,CAAA;AAAA,UAC/C,OAAO,IAAK,CAAA,MAAA;AAAA,UACZ,IAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAY,EAAA,gBAAA;AAAA,UACZ,MAAA;AAAA,UACA;AAAA;AAAA,OAEJ,EAAA,CAAA;AAAA;AAIJ,IAAO,OAAA,CAAC,WAAe,IAAA,iBAAA,IAAqB,WAAgB,KAAA,YAAA,mBACzD,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,IAAM,EAAA,MAAA,EAAQ,CACxC,GAAA,IAAA;AAAA,GACH,EAAA;AAAA,IACD,yBAAA;AAAA,IACA,YAAY,IAAM,EAAA,MAAA;AAAA,IAClB,cAAe,CAAA,KAAA;AAAA,IACf,iBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAa,KAAM,CAAA,KAAA;AAAA,IACnB,gBAAA;AAAA,IACA,oBAAA;AAAA,IACA,eAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,kBACJ,GAAA,WAAA,IACA,CAAC,CAAC,MAAQ,EAAA,SAAS,CAAE,CAAA,QAAA,CAAS,IAAK,CAAA,QAAQ,CAC3C,IAAA,YAAA,CAAa,MAAS,GAAA,CAAA;AAExB,EAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC5B,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,MAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,iCAAA;AAAA,QAAA;AAAA,UACC,QAAQ,MAAO,CAAA,mBAAA;AAAA,UACf,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,SAAA;AAAA,UACA,KAAA,EAAO,aAAa,mBAAoB,CAAA,KAAA;AAAA,UACxC,OAAS,EAAA,kBAAA;AAAA,UACT,KAAA,EAAO,KAAK,WAAe,IAAA,OAAA;AAAA,UAC3B,WAAW,cAAe,CAAA,WAAA;AAAA,UAC1B,cAAA,EAAgB,wBAAwB,aAAa,CAAA;AAAA,UACrD,OAAO,IAAK,CAAA,MAAA;AAAA,UACZ,IAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAY,EAAA,gBAAA;AAAA,UACZ,MAAA;AAAA,UACA;AAAA;AAAA,OAEJ,EAAA,CAAA;AAAA;AAIJ,IAAO,OAAA,CAAC,kBACN,IAAA,iBAAA,IACA,WAAgB,KAAA,YAAA,mBACf,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,IAAM,EAAA,MAAA,EAAQ,CACxC,GAAA,IAAA;AAAA,GACH,EAAA;AAAA,IACD,iCAAA;AAAA,IACA,YAAY,IAAM,EAAA,MAAA;AAAA,IAClB,cAAe,CAAA,WAAA;AAAA,IACf,iBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,IAAA;AAAA,IACA,kBAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAa,mBAAoB,CAAA,KAAA;AAAA,IACjC,gBAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,IAAA,GAAO,QAAQ,MAAM;AACzB,IAAA,MAAM,2BAEF,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,UAAY,EAAA,IAAA,EAAM,KAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,2BAAA;AAAA,QAAA;AAAA,UACC,QAAQ,MAAO,CAAA,MAAA;AAAA,UACf,SAAS,MAAO,CAAA,MAAA;AAAA,UAChB,KAAA,EAAO,aAAa,MAAO,CAAA,KAAA;AAAA,UAC3B,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,UAAU,IAAK,CAAA,QAAA;AAAA,UACf,WAAW,cAAe,CAAA,MAAA;AAAA,UAC1B,cAAA,EAAgB,wBAAwB,OAAO,CAAA;AAAA,UAC/C,OAAO,IAAK,CAAA,MAAA;AAAA,UACZ,IAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAY,EAAA,gBAAA;AAAA,UACZ,MAAA;AAAA,UACA;AAAA;AAAA,OAEJ,EAAA,CAAA;AAAA,MACC,QAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACH,EAAA,CAAA;AAGF,IAAO,OAAA,WAAA,KAAgB,eACrB,QAEA,mBAAA,GAAA,CAAC,SAAI,SAAW,EAAA,UAAA,EAAY,IAAM,EAAA,IAAA,EAAO,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,GAEnD,EAAA;AAAA,IACD,2BAAA;AAAA,IACA,YAAY,IAAM,EAAA,IAAA;AAAA,IAClB,YAAY,IAAM,EAAA,KAAA;AAAA,IAClB,MAAO,CAAA,MAAA;AAAA,IACP,aAAa,MAAO,CAAA,KAAA;AAAA,IACpB,cAAe,CAAA,MAAA;AAAA,IACf,uBAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBAEK,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,gBAAA,oBACE,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,KAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,0BAAA;AAAA,MAAA;AAAA,QACC,QAAQ,MAAO,CAAA,YAAA;AAAA,QACf,OAAO,IAAK,CAAA,MAAA;AAAA,QACZ,IAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAW,cAAe,CAAA,YAAA;AAAA,QAC1B,QAAA;AAAA,QACA,OAAS,EAAA,WAAA;AAAA,QACT,SAAW,EAAA,aAAA;AAAA,QACX,eAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAY,EAAA,gBAAA;AAAA,QACZ,MAAA;AAAA,QACA,WAAa,EAAA;AAAA;AAAA,KAEjB,EAAA,CAAA;AAAA,IAED,qCACE,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,IAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,wBAAA;AAAA,MAAA;AAAA,QACC,QAAQ,MAAO,CAAA,UAAA;AAAA,QACf,GAAK,EAAA,OAAA;AAAA,QACL,OAAO,IAAK,CAAA,MAAA;AAAA,QACZ,IAAA;AAAA,QACA,KAAA,EAAO,aAAa,UAAW,CAAA,KAAA;AAAA,QAC/B,KAAA,EAAO,aAAa,UAAW,CAAA,KAAA;AAAA,QAC/B,WAAW,cAAe,CAAA,UAAA;AAAA,QAC1B,QAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAY,EAAA,gBAAA;AAAA,QACZ,MAAA;AAAA,QACA,WAAa,EAAA;AAAA;AAAA,KAEjB,EAAA,CAAA;AAAA,IAED,IAAA;AAAA,IACA,oCACE,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,KAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,6BAAA;AAAA,MAAA;AAAA,QACC,QAAQ,MAAO,CAAA,SAAA;AAAA,QACf,KAAA,EAAO,aAAa,SAAU,CAAA,KAAA;AAAA,QAC9B,KAAA,EAAO,aAAa,SAAU,CAAA,KAAA;AAAA,QAC9B,WAAW,cAAe,CAAA,SAAA;AAAA,QAC1B,aAAe,EAAA,SAAA;AAAA,QACf,OAAO,IAAK,CAAA,MAAA;AAAA,QACZ,IAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAY,EAAA,gBAAA;AAAA,QACZ,WAAa,EAAA,IAAA;AAAA,QACb;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,IAED,mCACE,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,IAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,4BAAA;AAAA,MAAA;AAAA,QACC,QAAQ,MAAO,CAAA,QAAA;AAAA,QACf,KAAA,EAAO,aAAa,QAAS,CAAA,KAAA;AAAA,QAC7B,KAAA,EAAO,aAAa,QAAS,CAAA,KAAA;AAAA,QAC7B,WAAW,cAAe,CAAA,QAAA;AAAA,QAC1B,aAAe,EAAA,cAAA;AAAA,QACf,OAAO,IAAK,CAAA,MAAA;AAAA,QACZ,IAAA;AAAA,QACA,QAAA;AAAA,QACA,mBAAA,EACE,cAAiB,GAAA,MAAA,GAAY,YAAa,CAAA,gBAAA;AAAA,QAE5C,OAAA;AAAA,QACA,UAAY,EAAA,gBAAA;AAAA,QACZ,WAAa,EAAA,IAAA;AAAA,QACb;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,oBAED,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,UAAA,EAAY,MAAM,MAChC,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,8BAAA;AAAA,MAAA;AAAA,QACC,QAAQ,MAAO,CAAA,UAAA;AAAA,QACf,KAAA,EAAO,aAAa,UAAW,CAAA,KAAA;AAAA,QAC/B,KAAA,EAAO,aAAa,UAAW,CAAA,KAAA;AAAA,QAC/B,WAAW,cAAe,CAAA,UAAA;AAAA,QAC1B,aAAe,EAAA,UAAA;AAAA,QACf,OAAO,IAAK,CAAA,MAAA;AAAA,QACZ,IAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAY,EAAA,gBAAA;AAAA,QACZ,WAAa,EAAA,IAAA;AAAA,QACb;AAAA;AAAA,KAEJ,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ","file":"rule.js","sourcesContent":["import { useContext, useMemo } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport { inlineVars } from '../../utils';\nimport { AriaText } from '../aria';\nimport { QueryBuilderContext } from './constants';\nimport { queryBuilderRuleStateVars } from './query-builder.css';\nimport { getValidationResult } from './utils';\n\nexport function Rule(props: RuleProps) {\n const { classNames, orientation } = useContext(QueryBuilderContext);\n const rule = useRule(props);\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n const shiftRuleUp = useStopEventPropagation(rule.shiftRuleUp);\n const shiftRuleDown = useStopEventPropagation(rule.shiftRuleDown);\n\n const { valid: isValid, reasons } = getValidationResult(\n props.rule,\n rule.fieldData?.validator,\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderRuleStateVars, {\n orientation,\n isDisabled: rule.disabled,\n isDragging: rule.isDragging,\n isDropTarget: rule.isOver,\n }),\n [rule.disabled, rule.isDragging, rule.isOver, orientation],\n );\n\n return (\n <div className={classNames?.rule?.container} style={style}>\n <div\n ref={rule.dndRef}\n className={rule.outerClassName}\n data-dragmonitorid={rule.dragMonitorId}\n data-dropmonitorid={rule.dropMonitorId}\n data-level={rule.path.length}\n data-path={JSON.stringify(rule.path)}\n data-rule-id={rule.id}\n data-testid={TestID.rule}\n >\n <RuleComponents\n {...rule}\n cloneRule={cloneRule}\n removeRule={removeRule}\n shiftRuleDown={shiftRuleDown}\n shiftRuleUp={shiftRuleUp}\n toggleLockRule={toggleLockRule}\n />\n </div>\n {!isValid &&\n reasons?.map((reason) => (\n <AriaText key={reason} className={classNames?.rule?.error}>\n {reason}\n </AriaText>\n ))}\n </div>\n );\n}\n\nexport function RuleComponents({\n classNames: classNamesProp,\n cloneRule,\n context,\n disabled,\n dragRef,\n fieldData,\n generateOnChangeHandler,\n hideValueControls,\n inputType,\n operators,\n parentDisabled,\n path,\n removeRule,\n rule,\n schema,\n shiftDownDisabled,\n shiftUpDisabled,\n shiftRuleDown,\n shiftRuleUp,\n toggleLockRule,\n translations,\n validationResult,\n valueEditorSeparator,\n valueEditorType,\n valueSourceOptions,\n valueSources,\n values,\n}: RuleProps & ReturnType<typeof useRule>) {\n const { classNames, consistentColumns, orientation } =\n useContext(QueryBuilderContext);\n\n const {\n controls: {\n shiftActions: ShiftActionsControlElement,\n dragHandle: DragHandleControlElement,\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n enableDragAndDrop,\n showCloneButtons,\n showLockButtons,\n showShiftActions,\n } = schema;\n\n const titles = useMemo(\n () => ({\n shiftUp: translations.shiftActionUp.title,\n shiftDown: translations.shiftActionDown.title,\n }),\n [translations.shiftActionDown.title, translations.shiftActionUp.title],\n );\n\n const labels = useMemo(\n () => ({\n shiftUp: translations.shiftActionUp.label,\n shiftDown: translations.shiftActionDown.label,\n }),\n [translations.shiftActionDown.label, translations.shiftActionUp.label],\n );\n\n const renderOperator =\n schema.autoSelectField ||\n rule.field !== translations.fields.placeholderName;\n\n const operator = useMemo(() => {\n if (renderOperator) {\n return (\n <div className={classNames?.rule?.operator}>\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={rule.field}\n fieldData={fieldData}\n title={translations.operators.title}\n options={operators}\n value={rule.operator}\n className={classNamesProp.operators}\n handleOnChange={generateOnChangeHandler('operator')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderOperator &&\n consistentColumns &&\n orientation === 'horizontal' ? (\n <div className={classNames?.rule?.operator} />\n ) : null;\n }, [\n OperatorSelectorControlElement,\n classNames?.rule?.operator,\n classNamesProp.operators,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n operators,\n path,\n renderOperator,\n rule,\n schema,\n translations.operators.title,\n validationResult,\n orientation,\n ]);\n\n const renderValue =\n renderOperator &&\n (schema.autoSelectOperator ||\n rule.operator !== translations.operators.placeholderName) &&\n !hideValueControls;\n\n const value = useMemo(() => {\n if (renderValue) {\n return (\n <div className={classNames?.rule?.values}>\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={rule.field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={rule.operator}\n value={rule.value}\n valueSource={rule.valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={schema.listsAsArrays}\n parseNumbers={schema.parseNumbers}\n separator={valueEditorSeparator}\n className={classNamesProp.value}\n handleOnChange={generateOnChangeHandler('value')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderValue && consistentColumns && orientation === 'horizontal' ? (\n <div className={classNames?.rule?.values} />\n ) : null;\n }, [\n ValueEditorControlElement,\n classNames?.rule?.values,\n classNamesProp.value,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n inputType,\n path,\n renderValue,\n rule,\n schema,\n translations.value.title,\n validationResult,\n valueEditorSeparator,\n valueEditorType,\n values,\n orientation,\n ]);\n\n const renderValueSources =\n renderValue &&\n !['null', 'notNull'].includes(rule.operator) &&\n valueSources.length > 1;\n\n const sources = useMemo(() => {\n if (renderValueSources) {\n return (\n <div className={classNames?.rule?.source}>\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={rule.field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={rule.valueSource ?? 'value'}\n className={classNamesProp.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderValueSources &&\n consistentColumns &&\n orientation === 'horizontal' ? (\n <div className={classNames?.rule?.source} />\n ) : null;\n }, [\n ValueSourceSelectorControlElement,\n classNames?.rule?.source,\n classNamesProp.valueSource,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n path,\n renderValueSources,\n rule,\n schema,\n translations.valueSourceSelector.title,\n validationResult,\n valueSourceOptions,\n orientation,\n ]);\n\n const core = useMemo(() => {\n const controls = (\n <>\n <div className={classNames?.rule?.field}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={schema.fields}\n title={translations.fields.title}\n value={rule.field}\n operator={rule.operator}\n className={classNamesProp.fields}\n handleOnChange={generateOnChangeHandler('field')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n {operator}\n {sources}\n {value}\n </>\n );\n\n return orientation === 'horizontal' ? (\n controls\n ) : (\n <div className={classNames?.rule?.core}>{controls}</div>\n );\n }, [\n FieldSelectorControlElement,\n classNames?.rule?.core,\n classNames?.rule?.field,\n schema.fields,\n translations.fields.title,\n classNamesProp.fields,\n generateOnChangeHandler,\n path,\n disabled,\n context,\n validationResult,\n schema,\n rule,\n operator,\n sources,\n value,\n orientation,\n ]);\n\n return (\n <>\n {showShiftActions && (\n <div className={classNames?.rule?.shift}>\n <ShiftActionsControlElement\n testID={TestID.shiftActions}\n level={path.length}\n path={path}\n titles={titles}\n labels={labels}\n className={classNamesProp.shiftActions}\n disabled={disabled}\n shiftUp={shiftRuleUp}\n shiftDown={shiftRuleDown}\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={context}\n validation={validationResult}\n schema={schema}\n ruleOrGroup={rule}\n />\n </div>\n )}\n {enableDragAndDrop && (\n <div className={classNames?.rule?.drag}>\n <DragHandleControlElement\n testID={TestID.dragHandle}\n ref={dragRef}\n level={path.length}\n path={path}\n title={translations.dragHandle.title}\n label={translations.dragHandle.label}\n className={classNamesProp.dragHandle}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n ruleOrGroup={rule}\n />\n </div>\n )}\n {core}\n {showCloneButtons && (\n <div className={classNames?.rule?.clone}>\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label}\n title={translations.cloneRule.title}\n className={classNamesProp.cloneRule}\n handleOnClick={cloneRule}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n )}\n {showLockButtons && (\n <div className={classNames?.rule?.lock}>\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label}\n title={translations.lockRule.title}\n className={classNamesProp.lockRule}\n handleOnClick={toggleLockRule}\n level={path.length}\n path={path}\n disabled={disabled}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n )}\n <div className={classNames?.rule?.remove}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label}\n title={translations.removeRule.title}\n className={classNamesProp.removeRule}\n handleOnClick={removeRule}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":[],"mappings":"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","file":"rule.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useContext, useMemo } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport { inlineVars } from '../../utils/css';\nimport { AriaText } from '../aria';\nimport { QueryBuilderContext } from './constants';\nimport { queryBuilderRuleStateVars } from './query-builder.css';\nimport { getValidationResult } from './utils';\n\nexport function Rule(props: RuleProps) {\n const { classNames, orientation } = useContext(QueryBuilderContext);\n const rule = useRule(props);\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n const shiftRuleUp = useStopEventPropagation(rule.shiftRuleUp);\n const shiftRuleDown = useStopEventPropagation(rule.shiftRuleDown);\n\n const { valid: isValid, reasons } = getValidationResult(\n props.rule,\n rule.fieldData?.validator,\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderRuleStateVars, {\n orientation,\n isDisabled: rule.disabled,\n isDragging: rule.isDragging,\n isDropTarget: rule.isOver,\n }),\n [rule.disabled, rule.isDragging, rule.isOver, orientation],\n );\n\n return (\n <div className={classNames?.rule?.container} style={style}>\n <div\n ref={rule.dndRef}\n className={rule.outerClassName}\n data-dragmonitorid={rule.dragMonitorId}\n data-dropmonitorid={rule.dropMonitorId}\n data-level={rule.path.length}\n data-path={JSON.stringify(rule.path)}\n data-rule-id={rule.id}\n data-testid={TestID.rule}\n >\n <RuleComponents\n {...rule}\n cloneRule={cloneRule}\n removeRule={removeRule}\n shiftRuleDown={shiftRuleDown}\n shiftRuleUp={shiftRuleUp}\n toggleLockRule={toggleLockRule}\n />\n </div>\n {!isValid &&\n reasons?.map((reason) => (\n <AriaText key={reason} className={classNames?.rule?.error}>\n {reason}\n </AriaText>\n ))}\n </div>\n );\n}\n\nexport function RuleComponents({\n classNames: classNamesProp,\n cloneRule,\n context,\n disabled,\n dragRef,\n fieldData,\n generateOnChangeHandler,\n hideValueControls,\n inputType,\n operators,\n parentDisabled,\n path,\n removeRule,\n rule,\n schema,\n shiftDownDisabled,\n shiftUpDisabled,\n shiftRuleDown,\n shiftRuleUp,\n toggleLockRule,\n translations,\n validationResult,\n valueEditorSeparator,\n valueEditorType,\n valueSourceOptions,\n valueSources,\n values,\n}: RuleProps & ReturnType<typeof useRule>) {\n const { classNames, consistentColumns, orientation } =\n useContext(QueryBuilderContext);\n\n const {\n controls: {\n shiftActions: ShiftActionsControlElement,\n dragHandle: DragHandleControlElement,\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n enableDragAndDrop,\n showCloneButtons,\n showLockButtons,\n showShiftActions,\n } = schema;\n\n const titles = useMemo(\n () => ({\n shiftUp: translations.shiftActionUp.title,\n shiftDown: translations.shiftActionDown.title,\n }),\n [translations.shiftActionDown.title, translations.shiftActionUp.title],\n );\n\n const labels = useMemo(\n () => ({\n shiftUp: translations.shiftActionUp.label,\n shiftDown: translations.shiftActionDown.label,\n }),\n [translations.shiftActionDown.label, translations.shiftActionUp.label],\n );\n\n const renderOperator =\n schema.autoSelectField ||\n rule.field !== translations.fields.placeholderName;\n\n const operator = useMemo(() => {\n if (renderOperator) {\n return (\n <div className={classNames?.rule?.operator}>\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={rule.field}\n fieldData={fieldData}\n title={translations.operators.title}\n options={operators}\n value={rule.operator}\n className={classNamesProp.operators}\n handleOnChange={generateOnChangeHandler('operator')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderOperator &&\n consistentColumns &&\n orientation === 'horizontal' ? (\n <div className={classNames?.rule?.operator} />\n ) : null;\n }, [\n OperatorSelectorControlElement,\n classNames?.rule?.operator,\n classNamesProp.operators,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n operators,\n path,\n renderOperator,\n rule,\n schema,\n translations.operators.title,\n validationResult,\n orientation,\n ]);\n\n const renderValue =\n renderOperator &&\n (schema.autoSelectOperator ||\n rule.operator !== translations.operators.placeholderName) &&\n !hideValueControls;\n\n const value = useMemo(() => {\n if (renderValue) {\n return (\n <div className={classNames?.rule?.values}>\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={rule.field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={rule.operator}\n value={rule.value}\n valueSource={rule.valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={schema.listsAsArrays}\n parseNumbers={schema.parseNumbers}\n separator={valueEditorSeparator}\n className={classNamesProp.value}\n handleOnChange={generateOnChangeHandler('value')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderValue && consistentColumns && orientation === 'horizontal' ? (\n <div className={classNames?.rule?.values} />\n ) : null;\n }, [\n ValueEditorControlElement,\n classNames?.rule?.values,\n classNamesProp.value,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n inputType,\n path,\n renderValue,\n rule,\n schema,\n translations.value.title,\n validationResult,\n valueEditorSeparator,\n valueEditorType,\n values,\n orientation,\n ]);\n\n const renderValueSources =\n renderValue &&\n !['null', 'notNull'].includes(rule.operator) &&\n valueSources.length > 1;\n\n const sources = useMemo(() => {\n if (renderValueSources) {\n return (\n <div className={classNames?.rule?.source}>\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={rule.field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={rule.valueSource ?? 'value'}\n className={classNamesProp.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n );\n }\n\n return !renderValueSources &&\n consistentColumns &&\n orientation === 'horizontal' ? (\n <div className={classNames?.rule?.source} />\n ) : null;\n }, [\n ValueSourceSelectorControlElement,\n classNames?.rule?.source,\n classNamesProp.valueSource,\n consistentColumns,\n context,\n disabled,\n fieldData,\n generateOnChangeHandler,\n path,\n renderValueSources,\n rule,\n schema,\n translations.valueSourceSelector.title,\n validationResult,\n valueSourceOptions,\n orientation,\n ]);\n\n const core = useMemo(() => {\n const controls = (\n <>\n <div className={classNames?.rule?.field}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={schema.fields}\n title={translations.fields.title}\n value={rule.field}\n operator={rule.operator}\n className={classNamesProp.fields}\n handleOnChange={generateOnChangeHandler('field')}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n rule={rule}\n />\n </div>\n {operator}\n {sources}\n {value}\n </>\n );\n\n return orientation === 'horizontal' ? (\n controls\n ) : (\n <div className={classNames?.rule?.core}>{controls}</div>\n );\n }, [\n FieldSelectorControlElement,\n classNames?.rule?.core,\n classNames?.rule?.field,\n schema.fields,\n translations.fields.title,\n classNamesProp.fields,\n generateOnChangeHandler,\n path,\n disabled,\n context,\n validationResult,\n schema,\n rule,\n operator,\n sources,\n value,\n orientation,\n ]);\n\n return (\n <>\n {showShiftActions && (\n <div className={classNames?.rule?.shift}>\n <ShiftActionsControlElement\n testID={TestID.shiftActions}\n level={path.length}\n path={path}\n titles={titles}\n labels={labels}\n className={classNamesProp.shiftActions}\n disabled={disabled}\n shiftUp={shiftRuleUp}\n shiftDown={shiftRuleDown}\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={context}\n validation={validationResult}\n schema={schema}\n ruleOrGroup={rule}\n />\n </div>\n )}\n {enableDragAndDrop && (\n <div className={classNames?.rule?.drag}>\n <DragHandleControlElement\n testID={TestID.dragHandle}\n ref={dragRef}\n level={path.length}\n path={path}\n title={translations.dragHandle.title}\n label={translations.dragHandle.label}\n className={classNamesProp.dragHandle}\n disabled={disabled}\n context={context}\n validation={validationResult}\n schema={schema}\n ruleOrGroup={rule}\n />\n </div>\n )}\n {core}\n {showCloneButtons && (\n <div className={classNames?.rule?.clone}>\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label}\n title={translations.cloneRule.title}\n className={classNamesProp.cloneRule}\n handleOnClick={cloneRule}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n )}\n {showLockButtons && (\n <div className={classNames?.rule?.lock}>\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label}\n title={translations.lockRule.title}\n className={classNamesProp.lockRule}\n handleOnClick={toggleLockRule}\n level={path.length}\n path={path}\n disabled={disabled}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n )}\n <div className={classNames?.rule?.remove}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label}\n title={translations.removeRule.title}\n className={classNamesProp.removeRule}\n handleOnClick={removeRule}\n level={path.length}\n path={path}\n disabled={disabled}\n context={context}\n validation={validationResult}\n ruleOrGroup={rule}\n schema={schema}\n />\n </div>\n </>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":[],"mappings":";;;AA2BO,IAAM,iBAAA,GAAoB,CAAC,KAAA,MAC/B;AAAA,EACC,GAAG,KAAA;AAAA,EACH,cAAA,EAAgB,IAAA;AAAA,EAChB,eAAA,EAAiB;AACnB,CAAA;AAoBK,IAAM,mBAAA,GAAsB,CACjC,IAAA,EACA,SAAA,KACqB;AACrB,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA;AAGvB,EAAA,MAAM,MAAA,GAAS,UAAU,IAAI,CAAA;AAE7B,EAAA,IAAI,OAAO,WAAW,SAAA,EAAW;AAC/B,IAAA,OAAO,EAAE,OAAO,MAAA,EAAO;AAAA;AAGzB,EAAA,OAAO;AAAA,IACL,OAAO,MAAA,CAAO,KAAA;AAAA,IACd,OAAA,EAAS,MAAA,CAAO,KAAA,GAAQ,KAAK,MAAA,CAAO;AAAA,GACtC;AACF","file":"utils.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { noop } from '@accelint/core';\nimport type { PressEvent } from '@react-types/shared';\nimport type { MouseEvent } from 'react';\nimport type {\n RuleType,\n RuleValidator,\n ValidationResult,\n} from 'react-querybuilder';\n\n/**\n * This is required because the design system Button supports an onPress event but\n * QueryBuilder provides a callback that expects a MouseEvent and will error\n * out if preventDefault is not available as a method.\n * @param event\n */\nexport const pressToMouseEvent = (event: PressEvent) =>\n ({\n ...event,\n preventDefault: noop,\n stopPropagation: noop,\n }) as unknown as MouseEvent;\n\n/**\n * Validates according to the validator function\n *\n * For single-value rules (e.g. 5 is a number), validator function should provide a single conditional\n * const singleValidator = z.string().min(1);\n *\n * For multi-value rules (e.g. using operators such as \"between\" or \"during), validator func can optionally\n * be a union conditional https://zod.dev/?id=unions to allow validation against either a single value or multiple.\n * Right and left validators in the tuple do not need to be the same.\n *\n * const multiValidator = z.union([\n * singleValidator,\n * z.tuple([singleValidator, singleValidator])\n * ])\n *\n * @param rule\n * @param validator\n */\nexport const getValidationResult = (\n rule: RuleType,\n validator?: RuleValidator,\n): ValidationResult => {\n if (!validator) {\n return { valid: true };\n }\n\n const result = validator(rule);\n\n if (typeof result === 'boolean') {\n return { valid: result };\n }\n\n return {\n valid: result.valid,\n reasons: result.valid ? [] : result.reasons,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":[],"mappings":"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","file":"value-editor.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ChangeEvent,\n type FormEvent,\n useCallback,\n useContext,\n} from 'react';\nimport { type ValueEditorProps, useValueEditor } from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport { Input, type InputType } from '../input';\nimport { Radio, RadioGroup } from '../radio';\nimport { Switch } from '../switch';\nimport { TextArea } from '../textarea';\nimport { QueryBuilderContext, multiValueOperators } from './constants';\nimport type { QueryBuilderValueEditors } from './types';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { icons } = useContext(QueryBuilderContext);\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {icons?.checkbox}\n </Checkbox>\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <RadioGroup\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </RadioGroup>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(event.target.value),\n [handleOnChange],\n );\n\n return (\n <Input\n disabled={disabled}\n placeholder={placeholder}\n type={(inputType as InputType) ?? 'text'}\n value={value}\n onChange={handleChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) =>\n handleOnChange(event.currentTarget.textContent),\n [handleOnChange],\n );\n\n return (\n <TextArea\n disabled={disabled}\n placeholder={placeholder}\n value={value}\n onChange={handleChange}\n aria-label={name}\n aria-invalid={!valid}\n />\n );\n}\n\nexport const defaultValueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n multiselect: SelectValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { id, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { classNames, valueEditors } = useContext(QueryBuilderContext);\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${id}-${term}`} className={classNames?.rule?.value}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div className={classNames?.rule?.value}>\n <Editor {...props} />\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":[],"mappings":"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","file":"value-editor.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ChangeEvent,\n type FormEvent,\n useCallback,\n useContext,\n} from 'react';\nimport { type ValueEditorProps, useValueEditor } from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport { Input } from '../input';\nimport type { InputType } from '../input/types';\nimport { Radio, RadioGroup } from '../radio';\nimport { Switch } from '../switch';\nimport { TextArea } from '../textarea';\nimport { QueryBuilderContext, multiValueOperators } from './constants';\nimport type { QueryBuilderValueEditors } from './types';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { icons } = useContext(QueryBuilderContext);\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {icons?.checkbox}\n </Checkbox>\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <RadioGroup\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </RadioGroup>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(event.target.value),\n [handleOnChange],\n );\n\n return (\n <Input\n disabled={disabled}\n placeholder={placeholder}\n type={(inputType as InputType) ?? 'text'}\n value={value}\n onChange={handleChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) =>\n handleOnChange(event.currentTarget.textContent),\n [handleOnChange],\n );\n\n return (\n <TextArea\n disabled={disabled}\n placeholder={placeholder}\n value={value}\n onChange={handleChange}\n aria-label={name}\n aria-invalid={!valid}\n />\n );\n}\n\nexport const defaultValueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n multiselect: SelectValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { id, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { classNames, valueEditors } = useContext(QueryBuilderContext);\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${id}-${term}`} className={classNames?.rule?.value}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div className={classNames?.rule?.value}>\n <Editor {...props} />\n </div>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../chunk-PZ5AY32C.js';
|
|
2
2
|
import { useContext, useCallback, useMemo } from 'react';
|
|
3
3
|
import { useValueSelector, isOptionGroupArray } from 'react-querybuilder';
|
|
4
|
-
import { callRenderProps } from '../../utils/index.js';
|
|
4
|
+
import { callRenderProps } from '../../utils/props/index.js';
|
|
5
5
|
import { AriaSection, AriaHeader, AriaSelectValue } from '../aria/index.js';
|
|
6
6
|
import { Button } from '../button/index.js';
|
|
7
7
|
import { OptionsItem, OptionsList, Options } from '../options/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":";;;;;;;;;;;AA4BO,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":"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","file":"value-selector.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useContext, useMemo } from 'react';\nimport type { Selection } from 'react-aria-components';\nimport {\n type FullOption,\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { callRenderProps } from '../../utils/props';\nimport { AriaHeader, AriaSection, AriaSelectValue } from '../aria';\nimport { Button } from '../button';\nimport { Options, OptionsItem, OptionsList } from '../options';\nimport { Select } from '../select';\nimport { QueryBuilderContext } from './constants';\n\nexport function ValueSelector<T extends FullOption = FullOption>({\n handleOnChange,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n}: ValueSelectorProps<T>) {\n const { icons, size } = useContext(QueryBuilderContext);\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key) => onChange(`${selection}`),\n [onChange],\n );\n\n const handleMultiSelectChange = useCallback(\n (keys: Selection) => onChange([...keys].join(', ')),\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <AriaSection key={section.label}>\n <AriaHeader>{section.label}</AriaHeader>\n {section.options.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n ))}\n </AriaSection>\n ))\n : optionsProp.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n )),\n [optionsProp],\n );\n\n return multiple ? (\n <OptionsList // TODO: Replace with ChipField when it exists\n {...rest}\n selectedKeys={val}\n selectionMode='multiple'\n size={size}\n onSelectionChange={handleMultiSelectChange}\n aria-label={title}\n >\n {options}\n </OptionsList>\n ) : (\n <Select\n {...rest}\n selectedKey={Array.isArray(val) ? val[0] : val}\n size={size}\n isInvalid={title === 'Value' && !validation}\n onSelectionChange={handleSelectionChange}\n aria-label={title}\n >\n {(renderProps) => (\n <>\n <Button>\n <AriaSelectValue>\n {({ selectedText }) => selectedText}\n </AriaSelectValue>\n {callRenderProps(icons?.select, renderProps)}\n </Button>\n <Options>\n <OptionsList>{options}</OptionsList>\n </Options>\n </>\n )}\n </Select>\n );\n}\n"]}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import 'react';
|
|
5
|
-
import 'react-aria
|
|
6
|
-
import '../../types/react-aria.js';
|
|
1
|
+
import { RadioRenderProps, RadioClassNames, RadioAlignment, RadioContextProps, RadioGroupProps } from './types.js';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import * as react_aria_components from 'react-aria-components';
|
|
4
|
+
import { ContextValue } from 'react-aria-components';
|
|
5
|
+
import { RenderPropsChildren } from '../../types/react-aria.js';
|
|
7
6
|
import 'type-fest';
|
|
7
|
+
|
|
8
|
+
declare const RadioContext: react.Context<ContextValue<RadioContextProps, HTMLLabelElement>>;
|
|
9
|
+
declare const Radio: (props: Omit<react_aria_components.RadioProps, "children" | "className" | "style"> & {
|
|
10
|
+
children?: RenderPropsChildren<RadioRenderProps>;
|
|
11
|
+
label?: string;
|
|
12
|
+
classNames?: RadioClassNames;
|
|
13
|
+
alignInput?: RadioAlignment;
|
|
14
|
+
} & react.RefAttributes<HTMLLabelElement>) => react.ReactElement | null;
|
|
15
|
+
declare const RadioGroupContext: react.Context<ContextValue<RadioGroupProps, HTMLDivElement>>;
|
|
16
|
+
declare const RadioGroup: (props: Omit<react_aria_components.RadioGroupProps, "className" | "style"> & Pick<{
|
|
17
|
+
children?: RenderPropsChildren<RadioRenderProps>;
|
|
18
|
+
label?: string;
|
|
19
|
+
classNames?: RadioClassNames;
|
|
20
|
+
alignInput?: RadioAlignment;
|
|
21
|
+
}, "classNames" | "alignInput" | "label"> & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
|
|
22
|
+
|
|
23
|
+
export { Radio, RadioContext, RadioGroup, RadioGroupContext };
|