@accelint/design-system 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +12 -12
  2. package/dist/components/aria/aria.js.map +1 -1
  3. package/dist/components/button/button.d.ts +1 -1
  4. package/dist/components/button/button.js +1 -1
  5. package/dist/components/button/button.js.map +1 -1
  6. package/dist/components/button/types.d.ts +1 -1
  7. package/dist/components/checkbox/checkbox.d.ts +1 -1
  8. package/dist/components/checkbox/checkbox.js.map +1 -1
  9. package/dist/components/chip/chip.d.ts +1 -1
  10. package/dist/components/chip/chip.js.map +1 -1
  11. package/dist/components/chip/types.d.ts +1 -1
  12. package/dist/components/collection/collection.js.map +1 -1
  13. package/dist/components/combo-box/combo-box.d.ts +1 -1
  14. package/dist/components/combo-box/combo-box.js.map +1 -1
  15. package/dist/components/combo-box/types.d.ts +1 -1
  16. package/dist/components/dialog/dialog.d.ts +1 -1
  17. package/dist/components/dialog/dialog.js.map +1 -1
  18. package/dist/components/dialog/types.d.ts +1 -1
  19. package/dist/components/drawer/drawer.d.ts +1 -1
  20. package/dist/components/drawer/drawer.js +4 -3
  21. package/dist/components/drawer/drawer.js.map +1 -1
  22. package/dist/components/drawer/types.d.ts +2 -2
  23. package/dist/components/element/element.js.map +1 -1
  24. package/dist/components/group/group.d.ts +1 -1
  25. package/dist/components/group/group.js.map +1 -1
  26. package/dist/components/group/types.d.ts +1 -1
  27. package/dist/components/icon/icon.d.ts +1 -1
  28. package/dist/components/icon/types.d.ts +1 -1
  29. package/dist/components/input/input.css.d.ts +1 -1
  30. package/dist/components/input/input.d.ts +4 -4
  31. package/dist/components/input/input.js +3 -3
  32. package/dist/components/input/input.js.map +1 -1
  33. package/dist/components/input/types.d.ts +1 -1
  34. package/dist/components/menu/index.d.ts +1 -1
  35. package/dist/components/menu/menu.css.d.ts +1 -1
  36. package/dist/components/menu/menu.d.ts +2 -2
  37. package/dist/components/menu/menu.js.map +1 -1
  38. package/dist/components/menu/types.d.ts +2 -2
  39. package/dist/components/merge-provider/merge-provider.js +2 -2
  40. package/dist/components/merge-provider/merge-provider.js.map +1 -1
  41. package/dist/components/number-field/number-field.d.ts +1 -1
  42. package/dist/components/number-field/types.d.ts +1 -1
  43. package/dist/components/options/index.d.ts +1 -1
  44. package/dist/components/options/options.css.d.ts +1 -1
  45. package/dist/components/options/options.d.ts +2 -2
  46. package/dist/components/options/options.js.map +1 -1
  47. package/dist/components/options/types.d.ts +2 -2
  48. package/dist/components/picker/picker.d.ts +1 -1
  49. package/dist/components/picker/picker.js +2 -2
  50. package/dist/components/picker/picker.js.map +1 -1
  51. package/dist/components/picker/types.d.ts +1 -1
  52. package/dist/components/popover/popover.d.ts +1 -1
  53. package/dist/components/popover/popover.js +2 -2
  54. package/dist/components/popover/popover.js.map +1 -1
  55. package/dist/components/query-builder/dataset-sample.js +8 -24
  56. package/dist/components/query-builder/dataset-sample.js.map +1 -1
  57. package/dist/components/query-builder/group.js +1 -1
  58. package/dist/components/query-builder/group.js.map +1 -1
  59. package/dist/components/query-builder/query-builder.js +2 -2
  60. package/dist/components/query-builder/query-builder.js.map +1 -1
  61. package/dist/components/query-builder/rule.js.map +1 -1
  62. package/dist/components/query-builder/types.d.ts +3 -3
  63. package/dist/components/query-builder/utils.d.ts +1 -1
  64. package/dist/components/query-builder/utils.js.map +1 -1
  65. package/dist/components/query-builder/value-editor.js +1 -1
  66. package/dist/components/query-builder/value-editor.js.map +1 -1
  67. package/dist/components/query-builder/value-selector.js.map +1 -1
  68. package/dist/components/radio/radio.d.ts +1 -1
  69. package/dist/components/radio/radio.js.map +1 -1
  70. package/dist/components/radio/types.d.ts +1 -1
  71. package/dist/components/search-field/index.d.ts +1 -1
  72. package/dist/components/search-field/search-field.d.ts +1 -1
  73. package/dist/components/search-field/types.d.ts +1 -1
  74. package/dist/components/select/select.d.ts +1 -1
  75. package/dist/components/select/select.js.map +1 -1
  76. package/dist/components/switch/switch.d.ts +1 -1
  77. package/dist/components/tabs/tabs.css.d.ts +2 -2
  78. package/dist/components/tabs/tabs.d.ts +1 -1
  79. package/dist/components/tabs/tabs.js +2 -2
  80. package/dist/components/tabs/tabs.js.map +1 -1
  81. package/dist/components/tabs/types.d.ts +3 -3
  82. package/dist/components/text-field/text-field.d.ts +5 -4
  83. package/dist/components/text-field/types.d.ts +1 -1
  84. package/dist/components/textarea/textarea.css.d.ts +1 -1
  85. package/dist/components/textarea/textarea.d.ts +4 -4
  86. package/dist/components/textarea/textarea.js +5 -5
  87. package/dist/components/textarea/textarea.js.map +1 -1
  88. package/dist/components/textarea/types.d.ts +2 -2
  89. package/dist/components/tooltip/tooltip.d.ts +2 -2
  90. package/dist/components/tooltip/tooltip.js +3 -3
  91. package/dist/components/tooltip/tooltip.js.map +1 -1
  92. package/dist/components/tooltip/types.d.ts +1 -1
  93. package/dist/components/tree/tree.css.d.ts +1 -0
  94. package/dist/components/tree/tree.css.js +2 -2
  95. package/dist/components/tree/tree.css.js.map +1 -1
  96. package/dist/components/tree/tree.d.ts +1 -1
  97. package/dist/components/tree/tree.js +5 -2
  98. package/dist/components/tree/tree.js.map +1 -1
  99. package/dist/components/tree/types.d.ts +4 -4
  100. package/dist/components/tree/utils.js.map +1 -1
  101. package/dist/hooks/use-collection-render/use-collection-render.js +1 -0
  102. package/dist/hooks/use-collection-render/use-collection-render.js.map +1 -1
  103. package/dist/hooks/use-defaults/use-defaults.d.ts +1 -1
  104. package/dist/hooks/use-slot/use-slot.js +3 -3
  105. package/dist/hooks/use-slot/use-slot.js.map +1 -1
  106. package/dist/hooks/use-theme/types.d.ts +1 -1
  107. package/dist/hooks/use-theme/use-theme.d.ts +18 -1
  108. package/dist/hooks/use-theme/use-theme.js.map +1 -1
  109. package/dist/hooks/use-tree/index.d.ts +1 -1
  110. package/dist/hooks/use-tree/use-tree.d.ts +1 -1
  111. package/dist/hooks/use-tree/use-tree.js +10 -5
  112. package/dist/hooks/use-tree/use-tree.js.map +1 -1
  113. package/dist/hooks/use-tree/utils.d.ts +1 -1
  114. package/dist/hooks/use-tree/utils.js +3 -4
  115. package/dist/hooks/use-tree/utils.js.map +1 -1
  116. package/dist/index.css +34 -31
  117. package/dist/ladle/actions.js.map +1 -1
  118. package/dist/test/setup.js +347 -331
  119. package/dist/test/setup.js.map +1 -1
  120. package/dist/types/index.d.ts +1 -1
  121. package/dist/types/react-aria.d.ts +1 -1
  122. package/dist/types/react.d.d.ts +16 -0
  123. package/dist/types/use-tree.d.ts +2 -1
  124. package/dist/utils/css.d.ts +2 -2
  125. package/dist/utils/css.js +5 -5
  126. package/dist/utils/css.js.map +1 -1
  127. package/dist/utils/props.js +5 -6
  128. package/dist/utils/props.js.map +1 -1
  129. package/dist/utils/validators.d.ts +2 -2
  130. package/dist/utils/validators.js.map +1 -1
  131. package/package.json +59 -56
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import * as react_aria_components from 'react-aria-components';
3
3
  import { ContextValue } from 'react-aria-components';
4
4
  import { RenderPropsChildren } from '../../types/react-aria.js';
5
- import { PopoverProps, PopoverRenderProps, PopoverClassNames, PopoverMapping } from './types.js';
5
+ import { PopoverRenderProps, PopoverClassNames, PopoverMapping, PopoverProps } from './types.js';
6
6
  import '@react-stately/overlays';
7
7
  import 'type-fest';
8
8
  import '../../types/generic.js';
@@ -1,7 +1,7 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
2
  import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
- import { useContextProps, DEFAULT_SLOT, Provider, Dialog, Popover as Popover$1 } from 'react-aria-components';
4
- import { useDefaultProps, useTheme, useSlot } from '../../hooks/index.js';
3
+ import { DEFAULT_SLOT, Provider, Dialog, Popover as Popover$1 } from 'react-aria-components';
4
+ import { useContextProps, useDefaultProps, useTheme, useSlot } from '../../hooks/index.js';
5
5
  import { headings } from '../../styles/index.js';
6
6
  import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
7
7
  import { AriaHeadingContext } from '../aria/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/popover/popover.tsx"],"names":["Popover","RACDialog","RACPopover"],"mappings":"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","file":"popover.js","sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n type ForwardedRef,\n type HTMLAttributes,\n} from 'react';\nimport {\n DEFAULT_SLOT,\n Dialog as RACDialog,\n Provider,\n Popover as RACPopover,\n useContextProps,\n type ContextValue,\n type PopoverRenderProps as RACPopoverRenderProps,\n} from 'react-aria-components';\nimport { useDefaultProps, useSlot, useTheme } from '../../hooks';\nimport { headings } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport { AriaHeadingContext } from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { ElementContext, type ElementProps } from '../element';\nimport { GroupContext, type GroupProps } from '../group';\nimport { popoverClassNames, popoverStateVars } from './popover.css';\nimport type { PopoverMapping, PopoverProps } from './types';\n\nconst defaultMapping: PopoverMapping = {\n heading: headings.v4,\n actions: {\n context: ButtonContext,\n orientation: 'horizontal',\n reverse: true,\n },\n primary: {\n size: 'sm',\n },\n secondary: { size: 'sm', variant: 'bare' },\n};\n\nexport const PopoverContext =\n createContext<ContextValue<PopoverProps, HTMLElement>>(null);\n\nexport const Popover = forwardRef(function Popover(\n props: PopoverProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n [props, ref] = useContextProps(props, ref, PopoverContext);\n props = useDefaultProps(props, 'Popover');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({ ...defaultMapping, ...mappingProp }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(popoverClassNames, theme.Popover, classNamesProp, {\n popover: {\n container: theme.className, // required to consume global theme within Popover\n },\n }),\n [theme.className, theme.Popover, classNamesProp],\n );\n\n const [headerRef, hasHeader] = useSlot();\n\n const style = useCallback(\n (renderProps: RACPopoverRenderProps) =>\n inlineVars(popoverStateVars, {\n ...theme.style, // required to consume global styles within Popover\n ...renderProps,\n hasHeader,\n }),\n [theme.style, hasHeader],\n );\n\n const values = useMemo<\n [\n [\n typeof ElementContext,\n ContextValue<\n ElementProps<\n ContextValue<HTMLAttributes<HTMLElement>, HTMLHeadingElement>,\n ContextValue<\n GroupProps<ButtonProps, HTMLButtonElement>,\n HTMLDivElement\n >\n >,\n HTMLElement\n >,\n ],\n ]\n >(\n () => [\n [\n ElementContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n header: {\n as: 'header',\n className: classNames?.header,\n ref: headerRef,\n values: [\n [\n AriaHeadingContext,\n {\n className: mapping.heading,\n slot: 'title',\n },\n ],\n [GroupContext, null],\n ],\n },\n content: { className: classNames?.content },\n footer: {\n as: 'footer',\n className: classNames?.footer,\n values: [\n [AriaHeadingContext, null],\n [\n GroupContext,\n {\n values: {\n slots: {\n [DEFAULT_SLOT]: mapping.primary ?? {},\n secondary: mapping.secondary ?? {},\n },\n },\n ...mapping.actions,\n },\n ],\n ],\n },\n },\n },\n ],\n ],\n [\n classNames?.header,\n classNames?.content,\n classNames?.footer,\n headerRef,\n mapping.actions,\n mapping.heading,\n mapping.primary,\n mapping.secondary,\n ],\n );\n\n const children = useCallback(\n (renderProps: RACPopoverRenderProps) => (\n <Provider values={values}>\n <RACDialog className={classNames?.popover?.popover}>\n {({ close }) =>\n callRenderProps(childrenProp, {\n ...renderProps,\n close,\n defaultChildren: null,\n })\n }\n </RACDialog>\n </Provider>\n ),\n [childrenProp, classNames?.popover?.popover, values],\n );\n\n return (\n <RACPopover\n {...rest}\n ref={ref}\n className={classNames?.popover?.container}\n style={style}\n >\n {children}\n </RACPopover>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/popover/popover.tsx"],"names":["Popover","RACDialog","RACPopover"],"mappings":"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","file":"popover.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 ForwardedRef,\n type HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DEFAULT_SLOT,\n Provider,\n Dialog as RACDialog,\n Popover as RACPopover,\n type PopoverRenderProps as RACPopoverRenderProps,\n} from 'react-aria-components';\nimport {\n useContextProps,\n useDefaultProps,\n useSlot,\n useTheme,\n} from '../../hooks';\nimport { headings } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport { AriaHeadingContext } from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { ElementContext, type ElementProps } from '../element';\nimport { GroupContext, type GroupProps } from '../group';\nimport { popoverClassNames, popoverStateVars } from './popover.css';\nimport type { PopoverMapping, PopoverProps } from './types';\n\nconst defaultMapping: PopoverMapping = {\n heading: headings.v4,\n actions: {\n context: ButtonContext,\n orientation: 'horizontal',\n reverse: true,\n },\n primary: {\n size: 'sm',\n },\n secondary: { size: 'sm', variant: 'bare' },\n};\n\nexport const PopoverContext =\n createContext<ContextValue<PopoverProps, HTMLElement>>(null);\n\nexport const Popover = forwardRef(function Popover(\n props: PopoverProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n [props, ref] = useContextProps(props, ref, PopoverContext);\n props = useDefaultProps(props, 'Popover');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({ ...defaultMapping, ...mappingProp }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(popoverClassNames, theme.Popover, classNamesProp, {\n popover: {\n container: theme.className, // required to consume global theme within Popover\n },\n }),\n [theme.className, theme.Popover, classNamesProp],\n );\n\n const [headerRef, hasHeader] = useSlot();\n\n const style = useCallback(\n (renderProps: RACPopoverRenderProps) =>\n inlineVars(popoverStateVars, {\n ...theme.style, // required to consume global styles within Popover\n ...renderProps,\n hasHeader,\n }),\n [theme.style, hasHeader],\n );\n\n const values = useMemo<\n [\n [\n typeof ElementContext,\n ContextValue<\n ElementProps<\n ContextValue<HTMLAttributes<HTMLElement>, HTMLHeadingElement>,\n ContextValue<\n GroupProps<ButtonProps, HTMLButtonElement>,\n HTMLDivElement\n >\n >,\n HTMLElement\n >,\n ],\n ]\n >(\n () => [\n [\n ElementContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n header: {\n as: 'header',\n className: classNames?.header,\n ref: headerRef,\n values: [\n [\n AriaHeadingContext,\n {\n className: mapping.heading,\n slot: 'title',\n },\n ],\n [GroupContext, null],\n ],\n },\n content: { className: classNames?.content },\n footer: {\n as: 'footer',\n className: classNames?.footer,\n values: [\n [AriaHeadingContext, null],\n [\n GroupContext,\n {\n values: {\n slots: {\n [DEFAULT_SLOT]: mapping.primary ?? {},\n secondary: mapping.secondary ?? {},\n },\n },\n ...mapping.actions,\n },\n ],\n ],\n },\n },\n },\n ],\n ],\n [\n classNames?.header,\n classNames?.content,\n classNames?.footer,\n headerRef,\n mapping.actions,\n mapping.heading,\n mapping.primary,\n mapping.secondary,\n ],\n );\n\n const children = useCallback(\n (renderProps: RACPopoverRenderProps) => (\n <Provider values={values}>\n <RACDialog className={classNames?.popover?.popover}>\n {({ close }) =>\n callRenderProps(childrenProp, {\n ...renderProps,\n close,\n defaultChildren: null,\n })\n }\n </RACDialog>\n </Provider>\n ),\n [childrenProp, classNames?.popover?.popover, values],\n );\n\n return (\n <RACPopover\n {...rest}\n ref={ref}\n className={classNames?.popover?.container}\n style={style}\n >\n {children}\n </RACPopover>\n );\n});\n"]}
@@ -64,22 +64,6 @@ var typeMap = {
64
64
  reasons: ["Number must be in range."]
65
65
  })
66
66
  },
67
- f64: {
68
- inputType: "number",
69
- operators: [
70
- { name: "=", value: "=", label: "is" },
71
- { name: "<", value: "<", label: "less than" },
72
- { name: ">", value: ">", label: "greater than" },
73
- { name: "<=", value: "<=", label: "less than equal" },
74
- { name: ">=", value: ">=", label: "greater than equal" },
75
- { name: "between", value: "BETWEEN", label: "between" },
76
- { name: "in", value: "IN", label: "in" }
77
- ],
78
- validator: (rule) => ({
79
- valid: z.coerce.number().int().gte(-9007199254740991).lte(9007199254740991).safeParse(rule.value).success,
80
- reasons: ["Number must be in range."]
81
- })
82
- },
83
67
  bool: {
84
68
  operators: [{ name: "=", value: "=", label: "is" }],
85
69
  validator: (rule) => ({
@@ -175,21 +159,21 @@ var fields = [
175
159
  name: "AK_HIGH",
176
160
  label: "AK High",
177
161
  type: "i32",
178
- ...typeMap["i32"]
162
+ ...typeMap.i32
179
163
  },
180
164
  {
181
165
  id: "AK_LOW",
182
166
  name: "AK_LOW",
183
167
  label: "AK Low",
184
168
  type: "i32",
185
- ...typeMap["i32"]
169
+ ...typeMap.i32
186
170
  },
187
171
  {
188
172
  id: "COUNTRY",
189
173
  name: "COUNTRY",
190
174
  label: "Country",
191
175
  type: "str",
192
- ...typeMap["str"]
176
+ ...typeMap.str
193
177
  },
194
178
  {
195
179
  id: "ELEVATION",
@@ -204,7 +188,7 @@ var fields = [
204
188
  type: "str",
205
189
  defaultValue: false,
206
190
  operators: [{ name: "=", value: "=", label: "is" }],
207
- ...typeMap["bool"]
191
+ ...typeMap.bool
208
192
  },
209
193
  {
210
194
  id: "PRIVATEUSE",
@@ -258,28 +242,28 @@ var fields = [
258
242
  name: "NICKNAME",
259
243
  label: "Airport Nickname",
260
244
  type: "str",
261
- ...typeMap["str"]
245
+ ...typeMap.str
262
246
  },
263
247
  {
264
248
  id: "ESTABLISHED",
265
249
  name: "ESTABLISHED",
266
250
  label: "Established",
267
251
  type: "date",
268
- ...typeMap["date"]
252
+ ...typeMap.date
269
253
  },
270
254
  {
271
255
  id: "MAINTENANCE",
272
256
  name: "MAINTENANCE",
273
257
  label: "Maintenance",
274
258
  type: "datetime",
275
- ...typeMap["datetime"]
259
+ ...typeMap.datetime
276
260
  },
277
261
  {
278
262
  id: "PEAK_TRAFFIC",
279
263
  name: "PEAK_TRAFFIC",
280
264
  label: "Peak Traffic",
281
265
  type: "time",
282
- ...typeMap["time"]
266
+ ...typeMap.time
283
267
  }
284
268
  ];
285
269
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/dataset-sample.ts"],"names":[],"mappings":"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","file":"dataset-sample.js","sourcesContent":["import type {\n Field,\n Option,\n OptionGroup,\n RuleType,\n ValidationResult,\n ValueEditorType,\n} from 'react-querybuilder';\nimport { z } from 'zod';\n\n// Example of an options with grouping\nexport const serviceCityOptions: OptionGroup[] = [\n {\n label: 'Alaska',\n options: [\n { name: 'Anchorage', label: 'Anchorage', value: 'Anchorage' },\n { name: 'Juneau', label: 'Juneau', value: 'Juneau' },\n {\n name: 'Fairbanks',\n label: 'Fairbanks',\n value: 'Fairbanks',\n },\n { name: 'Sitka', label: 'Sitka', value: 'Sitka' },\n ],\n },\n {\n label: 'Alabama',\n options: [\n { name: 'Montgomery', label: 'Montgomery', value: 'Montgomery' },\n { name: 'Birmingham', label: 'Birmingham', value: 'Birmingham' },\n {\n name: 'Huntsville',\n label: 'Huntsville',\n value: 'Huntsville',\n },\n { name: 'Mobile', label: 'Mobile', value: 'Mobile' },\n ],\n },\n];\n\n// Example of options\nexport const airportUseOptions: Option[] = [\n { name: 'Private', label: 'Private', value: 'Private' },\n { name: 'Public', label: 'Public', value: 'Public' },\n { name: 'Mixed', label: 'Mixed', value: 'Mixed' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n];\n\n// Example of radio options\nexport const airportTypeOptions: Option[] = [\n { name: 'Heliport', label: 'Heliport', value: 'Heliport' },\n { name: 'Aerodrome', label: 'Aerodrome', value: 'Aerodrome' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n];\n\ntype FieldTypes = 'bool' | 'i32' | 'str' | 'f64' | 'date' | 'datetime' | 'time';\ntype FieldConfig = Partial<{\n inputType: 'text' | 'number' | 'date' | 'datetime-local' | 'time';\n operators: Option[];\n validator: (rule: RuleType) => ValidationResult;\n valueEditorType: ValueEditorType;\n}>;\n\nconst typeMap: Record<FieldTypes, FieldConfig> = {\n i32: {\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n f64: {\n inputType: 'number',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'BETWEEN', label: 'between' } as const,\n { name: 'in', value: 'IN', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z.coerce\n .number()\n .int()\n .gte(-9_007_199_254_740_991)\n .lte(9_007_199_254_740_991)\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n bool: {\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n validator: (rule) => ({\n valid: z.coerce.boolean().safeParse(rule.value).success,\n reasons: ['Value is required'],\n }),\n valueEditorType: 'checkbox',\n },\n str: {\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n inputType: 'text',\n validator: (rule) => ({\n valid: z.string().min(1).safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n date: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'date',\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n datetime: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'datetime-local', // mm/dd/yyyy hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n time: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'time', // hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n};\n\nexport const fields = [\n {\n id: 'AK_HIGH',\n name: 'AK_HIGH',\n label: 'AK High',\n type: 'i32',\n ...typeMap['i32'],\n },\n {\n id: 'AK_LOW',\n name: 'AK_LOW',\n label: 'AK Low',\n type: 'i32',\n ...typeMap['i32'],\n },\n {\n id: 'COUNTRY',\n name: 'COUNTRY',\n label: 'Country',\n type: 'str',\n ...typeMap['str'],\n },\n {\n id: 'ELEVATION',\n name: 'ELEVATION',\n label: 'Elevation',\n type: 'f64',\n },\n {\n id: 'OPERSTATUS',\n name: 'OPERSTATUS',\n label: 'Is Operational',\n type: 'str',\n defaultValue: false,\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n ...typeMap['bool'],\n },\n {\n id: 'PRIVATEUSE',\n name: 'PRIVATEUSE',\n label: 'Private Use',\n type: 'str',\n valueEditorType: 'multiselect',\n values: airportUseOptions,\n operators: [{ name: 'in', value: 'in', label: 'in' } as const],\n },\n {\n id: 'DONUTS',\n name: 'DONUTS',\n label: 'Has Donuts',\n type: 'bool',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'switch',\n },\n {\n id: 'SERVCITY',\n name: 'SERVCITY',\n valueEditorType: 'select',\n values: serviceCityOptions,\n label: 'Service City',\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n ],\n },\n {\n id: 'TYPE_CODE',\n name: 'TYPE_CODE',\n label: 'Type Code',\n type: 'str',\n valueEditorType: 'radio',\n values: airportTypeOptions,\n defaultValue: 'Aerodrome',\n },\n {\n id: 'NOTES',\n name: 'NOTES',\n label: 'Operator Notes',\n type: 'str',\n valueEditorType: 'textarea',\n },\n {\n id: 'NICKNAME',\n name: 'NICKNAME',\n label: 'Airport Nickname',\n type: 'str',\n ...typeMap['str'],\n },\n {\n id: 'ESTABLISHED',\n name: 'ESTABLISHED',\n label: 'Established',\n type: 'date',\n ...typeMap['date'],\n },\n {\n id: 'MAINTENANCE',\n name: 'MAINTENANCE',\n label: 'Maintenance',\n type: 'datetime',\n ...typeMap['datetime'],\n },\n {\n id: 'PEAK_TRAFFIC',\n name: 'PEAK_TRAFFIC',\n label: 'Peak Traffic',\n type: 'time',\n ...typeMap['time'],\n },\n] satisfies Field[];\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/dataset-sample.ts"],"names":[],"mappings":"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","file":"dataset-sample.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 {\n Field,\n Option,\n OptionGroup,\n RuleType,\n ValidationResult,\n ValueEditorType,\n} from 'react-querybuilder';\nimport { z } from 'zod';\n\n// Example of an options with grouping\nexport const serviceCityOptions: OptionGroup[] = [\n {\n label: 'Alaska',\n options: [\n { name: 'Anchorage', label: 'Anchorage', value: 'Anchorage' },\n { name: 'Juneau', label: 'Juneau', value: 'Juneau' },\n {\n name: 'Fairbanks',\n label: 'Fairbanks',\n value: 'Fairbanks',\n },\n { name: 'Sitka', label: 'Sitka', value: 'Sitka' },\n ],\n },\n {\n label: 'Alabama',\n options: [\n { name: 'Montgomery', label: 'Montgomery', value: 'Montgomery' },\n { name: 'Birmingham', label: 'Birmingham', value: 'Birmingham' },\n {\n name: 'Huntsville',\n label: 'Huntsville',\n value: 'Huntsville',\n },\n { name: 'Mobile', label: 'Mobile', value: 'Mobile' },\n ],\n },\n];\n\n// Example of options\nexport const airportUseOptions: Option[] = [\n { name: 'Private', label: 'Private', value: 'Private' },\n { name: 'Public', label: 'Public', value: 'Public' },\n { name: 'Mixed', label: 'Mixed', value: 'Mixed' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n];\n\n// Example of radio options\nexport const airportTypeOptions: Option[] = [\n { name: 'Heliport', label: 'Heliport', value: 'Heliport' },\n { name: 'Aerodrome', label: 'Aerodrome', value: 'Aerodrome' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n];\n\ntype FieldTypes = 'bool' | 'i32' | 'str' | 'f64' | 'date' | 'datetime' | 'time';\ntype FieldConfig = Partial<{\n inputType: 'text' | 'number' | 'date' | 'datetime-local' | 'time';\n operators: Option[];\n validator: (rule: RuleType) => ValidationResult;\n valueEditorType: ValueEditorType;\n}>;\n\nconst typeMap: Record<FieldTypes, FieldConfig> = {\n i32: {\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n f64: {\n inputType: 'number',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'BETWEEN', label: 'between' } as const,\n { name: 'in', value: 'IN', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z.coerce\n .number()\n .int()\n .gte(-9_007_199_254_740_991)\n .lte(9_007_199_254_740_991)\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n bool: {\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n validator: (rule) => ({\n valid: z.coerce.boolean().safeParse(rule.value).success,\n reasons: ['Value is required'],\n }),\n valueEditorType: 'checkbox',\n },\n str: {\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n inputType: 'text',\n validator: (rule) => ({\n valid: z.string().min(1).safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n date: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'date',\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n datetime: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'datetime-local', // mm/dd/yyyy hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n time: {\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'time', // hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n};\n\nexport const fields = [\n {\n id: 'AK_HIGH',\n name: 'AK_HIGH',\n label: 'AK High',\n type: 'i32',\n ...typeMap.i32,\n },\n {\n id: 'AK_LOW',\n name: 'AK_LOW',\n label: 'AK Low',\n type: 'i32',\n ...typeMap.i32,\n },\n {\n id: 'COUNTRY',\n name: 'COUNTRY',\n label: 'Country',\n type: 'str',\n ...typeMap.str,\n },\n {\n id: 'ELEVATION',\n name: 'ELEVATION',\n label: 'Elevation',\n type: 'f64',\n },\n {\n id: 'OPERSTATUS',\n name: 'OPERSTATUS',\n label: 'Is Operational',\n type: 'str',\n defaultValue: false,\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n ...typeMap.bool,\n },\n {\n id: 'PRIVATEUSE',\n name: 'PRIVATEUSE',\n label: 'Private Use',\n type: 'str',\n valueEditorType: 'multiselect',\n values: airportUseOptions,\n operators: [{ name: 'in', value: 'in', label: 'in' } as const],\n },\n {\n id: 'DONUTS',\n name: 'DONUTS',\n label: 'Has Donuts',\n type: 'bool',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'switch',\n },\n {\n id: 'SERVCITY',\n name: 'SERVCITY',\n valueEditorType: 'select',\n values: serviceCityOptions,\n label: 'Service City',\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n ],\n },\n {\n id: 'TYPE_CODE',\n name: 'TYPE_CODE',\n label: 'Type Code',\n type: 'str',\n valueEditorType: 'radio',\n values: airportTypeOptions,\n defaultValue: 'Aerodrome',\n },\n {\n id: 'NOTES',\n name: 'NOTES',\n label: 'Operator Notes',\n type: 'str',\n valueEditorType: 'textarea',\n },\n {\n id: 'NICKNAME',\n name: 'NICKNAME',\n label: 'Airport Nickname',\n type: 'str',\n ...typeMap.str,\n },\n {\n id: 'ESTABLISHED',\n name: 'ESTABLISHED',\n label: 'Established',\n type: 'date',\n ...typeMap.date,\n },\n {\n id: 'MAINTENANCE',\n name: 'MAINTENANCE',\n label: 'Maintenance',\n type: 'datetime',\n ...typeMap.datetime,\n },\n {\n id: 'PEAK_TRAFFIC',\n name: 'PEAK_TRAFFIC',\n label: 'Peak Traffic',\n type: 'time',\n ...typeMap.time,\n },\n] satisfies Field[];\n"]}
@@ -178,7 +178,7 @@ function RuleGroupHeaderComponents(ruleGroup) {
178
178
  },
179
179
  TestID.dragHandle
180
180
  ) }),
181
- !ruleGroup.schema.showCombinatorsBetweenRules && !ruleGroup.schema.independentCombinators && /* @__PURE__ */ jsx("div", { className: classNames?.group?.combinator, children: /* @__PURE__ */ jsx(
181
+ !(ruleGroup.schema.showCombinatorsBetweenRules || ruleGroup.schema.independentCombinators) && /* @__PURE__ */ jsx("div", { className: classNames?.group?.combinator, children: /* @__PURE__ */ jsx(
182
182
  CombinatorSelectorControlElement,
183
183
  {
184
184
  testID: TestID.combinators,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/group.tsx"],"names":["Fragment"],"mappings":"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","file":"group.js","sourcesContent":["import { Fragment, useContext, useMemo } from 'react';\nimport {\n type RuleGroupArray,\n type RuleGroupICArray,\n type RuleGroupProps,\n TestID,\n isRuleGroup,\n isRuleGroupType,\n pathsAreEqual,\n useRuleGroup,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport { inlineVars } from '../../utils';\nimport { QueryBuilderContext } from './constants';\nimport { queryBuilderGroupStateVars } from './query-builder.css';\nimport type { RuleGroupElementsProps } from './types';\n\n/**\n * Rules have 5 non-optional functional pieces:\n * - Field\n * - Operator (conditional)\n * - Value Source (conditional)\n * - Value (conditional)\n * - Remove\n */\nconst HORZ_CORE_COLUMNS_COUNT = 5;\n// When layout == column, Field, Operator, Value Source & Value are grouped into a single column\nconst VERT_CORE_COLUMNS_COUNT = 2;\n\nexport function RuleGroup(props: RuleGroupProps) {\n const {\n classNames,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyElements,\n ruleGroupFooterElements: RuleGroupFooterElements,\n ruleGroupHeaderElements: RuleGroupHeaderElements,\n },\n orientation,\n } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n enableDragAndDrop,\n showCloneButtons,\n showLockButtons,\n showShiftActions,\n },\n } = props;\n\n const after = useMemo(\n () =>\n [showCloneButtons, showLockButtons].reduce(\n (acc, flag) => acc + (flag ? 1 : 0),\n 0,\n ),\n [showCloneButtons, showLockButtons],\n );\n\n const before = useMemo(\n () =>\n [enableDragAndDrop, showShiftActions].reduce(\n (acc, flag) => acc + (flag ? 1 : 0),\n 0,\n ),\n [enableDragAndDrop, showShiftActions],\n );\n\n const columns = useMemo(\n () =>\n (orientation === 'horizontal'\n ? HORZ_CORE_COLUMNS_COUNT\n : VERT_CORE_COLUMNS_COUNT) +\n before +\n after,\n [orientation, after, before],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderGroupStateVars, {\n after,\n before,\n columns,\n orientation,\n isDisabled: false,\n }),\n [after, before, columns, orientation],\n );\n\n const group = useRuleGroup(props);\n const addRule = useStopEventPropagation(group.addRule);\n const addGroup = useStopEventPropagation(group.addGroup);\n const cloneGroup = useStopEventPropagation(group.cloneGroup);\n const toggleLockGroup = useStopEventPropagation(group.toggleLockGroup);\n const removeGroup = useStopEventPropagation(group.removeGroup);\n const shiftGroupUp = useStopEventPropagation(group.shiftGroupUp);\n const shiftGroupDown = useStopEventPropagation(group.shiftGroupDown);\n\n const elementProps = useMemo(\n () => ({\n ...(group as RuleGroupElementsProps),\n addGroup,\n addRule,\n cloneGroup,\n removeGroup,\n shiftGroupDown,\n shiftGroupUp,\n toggleLockGroup,\n }),\n [\n addGroup,\n addRule,\n cloneGroup,\n group,\n removeGroup,\n shiftGroupDown,\n shiftGroupUp,\n toggleLockGroup,\n ],\n );\n\n return (\n <div className={classNames?.group?.container} style={style}>\n <div\n ref={group.previewRef}\n className={group.outerClassName}\n data-dragmonitorid={group.dragMonitorId}\n data-dropmonitorid={group.dropMonitorId}\n data-level={group.path.length}\n data-path={JSON.stringify(group.path)}\n data-rule-group-id={group.id}\n data-testid={TestID.ruleGroup}\n >\n <div ref={group.dropRef} className={group.classNames.header}>\n <RuleGroupHeaderElements {...elementProps} />\n </div>\n <div className={group.classNames.body}>\n <RuleGroupBodyElements {...elementProps} />\n </div>\n <div className={classNames?.group?.footer}>\n <RuleGroupFooterElements {...elementProps} />\n </div>\n </div>\n </div>\n );\n}\n\nexport function RuleGroupHeaderComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const { classNames } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n controls: {\n shiftActions: ShiftActionsControlElement,\n dragHandle: DragHandleControlElement,\n combinatorSelector: CombinatorSelectorControlElement,\n notToggle: NotToggleControlElement,\n cloneGroupAction: CloneGroupActionControlElement,\n lockGroupAction: LockGroupActionControlElement,\n removeGroupAction: RemoveGroupActionControlElement,\n },\n },\n } = ruleGroup;\n\n const titles = useMemo(\n () => ({\n shiftUp: ruleGroup.translations.shiftActionUp.title,\n shiftDown: ruleGroup.translations.shiftActionDown.title,\n }),\n [\n ruleGroup.translations.shiftActionDown.title,\n ruleGroup.translations.shiftActionUp.title,\n ],\n );\n\n const labels = useMemo(\n () => ({\n shiftUp: ruleGroup.translations.shiftActionUp.label,\n shiftDown: ruleGroup.translations.shiftActionDown.label,\n }),\n [\n ruleGroup.translations.shiftActionDown.label,\n ruleGroup.translations.shiftActionUp.label,\n ],\n );\n\n return (\n <>\n {ruleGroup.schema.showShiftActions && ruleGroup.path.length > 0 && (\n <div className={classNames?.group?.shift}>\n <ShiftActionsControlElement\n key={TestID.shiftActions}\n testID={TestID.shiftActions}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n titles={titles}\n labels={labels}\n className={ruleGroup.classNames.shiftActions}\n disabled={ruleGroup.disabled}\n shiftUp={ruleGroup.shiftGroupUp}\n shiftDown={ruleGroup.shiftGroupDown}\n shiftUpDisabled={ruleGroup.shiftUpDisabled}\n shiftDownDisabled={ruleGroup.shiftDownDisabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleOrGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {ruleGroup.path.length > 0 && ruleGroup.schema.enableDragAndDrop && (\n <div className={classNames?.group?.drag}>\n <DragHandleControlElement\n key={TestID.dragHandle}\n testID={TestID.dragHandle}\n ref={ruleGroup.dragRef}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n title={ruleGroup.translations.dragHandle.title}\n label={ruleGroup.translations.dragHandle.label}\n className={ruleGroup.classNames.dragHandle}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleOrGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {!ruleGroup.schema.showCombinatorsBetweenRules &&\n !ruleGroup.schema.independentCombinators && (\n <div className={classNames?.group?.combinator}>\n <CombinatorSelectorControlElement\n key={TestID.combinators}\n testID={TestID.combinators}\n options={ruleGroup.schema.combinators}\n value={ruleGroup.combinator}\n title={ruleGroup.translations.combinators.title}\n className={ruleGroup.classNames.combinators}\n handleOnChange={ruleGroup.onCombinatorChange}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.schema.showNotToggle && (\n <div className={classNames?.group?.toggle}>\n <NotToggleControlElement\n key={TestID.notToggle}\n testID={TestID.notToggle}\n className={ruleGroup.classNames.notToggle}\n title={ruleGroup.translations.notToggle.title}\n label={ruleGroup.translations.notToggle.label}\n checked={ruleGroup.ruleGroup.not}\n handleOnChange={ruleGroup.onNotToggleChange}\n level={ruleGroup.path.length}\n disabled={ruleGroup.disabled}\n path={ruleGroup.path}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {ruleGroup.schema.showCloneButtons && ruleGroup.path.length >= 1 && (\n <div className={classNames?.group?.clone}>\n <CloneGroupActionControlElement\n key={TestID.cloneGroup}\n testID={TestID.cloneGroup}\n label={ruleGroup.translations.cloneRuleGroup.label}\n title={ruleGroup.translations.cloneRuleGroup.title}\n className={ruleGroup.classNames.cloneGroup}\n handleOnClick={ruleGroup.cloneGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.schema.showLockButtons && (\n <div className={classNames?.group?.lock}>\n <LockGroupActionControlElement\n key={TestID.lockGroup}\n testID={TestID.lockGroup}\n label={ruleGroup.translations.lockGroup.label}\n title={ruleGroup.translations.lockGroup.title}\n className={ruleGroup.classNames.lockGroup}\n handleOnClick={ruleGroup.toggleLockGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n disabledTranslation={\n ruleGroup.parentDisabled\n ? undefined\n : ruleGroup.translations.lockGroupDisabled\n }\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.path.length > 0 && (\n <div className={classNames?.group?.remove}>\n <RemoveGroupActionControlElement\n key={TestID.removeGroup}\n testID={TestID.removeGroup}\n label={ruleGroup.translations.removeGroup.label}\n title={ruleGroup.translations.removeGroup.title}\n className={ruleGroup.classNames.removeGroup}\n handleOnClick={ruleGroup.removeGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n </>\n );\n}\n\nexport function RuleGroupBodyComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const {\n schema: {\n controls: {\n ruleGroup: RuleGroupControlElement,\n rule: RuleControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n {(ruleGroup.ruleGroup.rules as RuleGroupICArray | RuleGroupArray).map(\n (rule, idx, { length: ruleArrayLength }) => {\n const thisPathMemo = ruleGroup.pathsMemo[idx];\n const thisPath = thisPathMemo?.path ?? [];\n\n const thisPathDisabled =\n !thisPathMemo ||\n thisPathMemo.disabled ||\n (typeof rule !== 'string' && rule.disabled);\n\n const shiftUpDisabled = pathsAreEqual([0], thisPath);\n\n const shiftDownDisabled =\n ruleGroup.path.length === 0 && idx === ruleArrayLength - 1;\n\n const key =\n typeof rule === 'string' ? [...thisPath, rule].join('-') : rule.id;\n\n return (\n <Fragment key={key}>\n {isRuleGroup(rule) && (\n <RuleGroupControlElement\n key={TestID.ruleGroup}\n id={rule.id}\n schema={ruleGroup.schema}\n actions={ruleGroup.actions}\n path={thisPath}\n translations={ruleGroup.translations}\n ruleGroup={rule}\n rules={rule.rules}\n combinator={\n isRuleGroupType(rule) ? rule.combinator : undefined\n }\n not={!!rule.not}\n disabled={thisPathDisabled}\n parentDisabled={\n ruleGroup.parentDisabled || ruleGroup.disabled\n }\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={ruleGroup.context}\n />\n )}\n {typeof rule !== 'string' && !isRuleGroup(rule) && (\n <RuleControlElement\n key={TestID.rule}\n id={rule.id!}\n rule={rule}\n field={rule.field}\n operator={rule.operator}\n value={rule.value}\n valueSource={rule.valueSource}\n schema={ruleGroup.schema}\n actions={ruleGroup.actions}\n path={thisPath}\n disabled={thisPathDisabled}\n parentDisabled={\n ruleGroup.parentDisabled || ruleGroup.disabled\n }\n translations={ruleGroup.translations}\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={ruleGroup.context}\n />\n )}\n </Fragment>\n );\n },\n )}\n </>\n );\n}\n\nexport function RuleGroupFooterComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const { classNames } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n controls: {\n addGroupAction: AddGroupActionControlElement,\n addRuleAction: AddRuleActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n <div className={classNames?.rule?.add}>\n <AddRuleActionControlElement\n key={TestID.addRule}\n testID={TestID.addRule}\n label={ruleGroup.translations.addRule.label}\n title={ruleGroup.translations.addRule.title}\n className={ruleGroup.classNames.addRule}\n handleOnClick={ruleGroup.addRule}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n <div className={classNames?.group?.add}>\n <AddGroupActionControlElement\n key={TestID.addGroup}\n testID={TestID.addGroup}\n label={ruleGroup.translations.addGroup.label}\n title={ruleGroup.translations.addGroup.title}\n className={ruleGroup.classNames.addGroup}\n handleOnClick={ruleGroup.addGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/group.tsx"],"names":["Fragment"],"mappings":"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","file":"group.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 { Fragment, useContext, useMemo } from 'react';\nimport {\n type RuleGroupArray,\n type RuleGroupICArray,\n type RuleGroupProps,\n TestID,\n isRuleGroup,\n isRuleGroupType,\n pathsAreEqual,\n useRuleGroup,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport { inlineVars } from '../../utils';\nimport { QueryBuilderContext } from './constants';\nimport { queryBuilderGroupStateVars } from './query-builder.css';\nimport type { RuleGroupElementsProps } from './types';\n\n/**\n * Rules have 5 non-optional functional pieces:\n * - Field\n * - Operator (conditional)\n * - Value Source (conditional)\n * - Value (conditional)\n * - Remove\n */\nconst HORZ_CORE_COLUMNS_COUNT = 5;\n// When layout == column, Field, Operator, Value Source & Value are grouped into a single column\nconst VERT_CORE_COLUMNS_COUNT = 2;\n\nexport function RuleGroup(props: RuleGroupProps) {\n const {\n classNames,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyElements,\n ruleGroupFooterElements: RuleGroupFooterElements,\n ruleGroupHeaderElements: RuleGroupHeaderElements,\n },\n orientation,\n } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n enableDragAndDrop,\n showCloneButtons,\n showLockButtons,\n showShiftActions,\n },\n } = props;\n\n const after = useMemo(\n () =>\n [showCloneButtons, showLockButtons].reduce(\n (acc, flag) => acc + (flag ? 1 : 0),\n 0,\n ),\n [showCloneButtons, showLockButtons],\n );\n\n const before = useMemo(\n () =>\n [enableDragAndDrop, showShiftActions].reduce(\n (acc, flag) => acc + (flag ? 1 : 0),\n 0,\n ),\n [enableDragAndDrop, showShiftActions],\n );\n\n const columns = useMemo(\n () =>\n (orientation === 'horizontal'\n ? HORZ_CORE_COLUMNS_COUNT\n : VERT_CORE_COLUMNS_COUNT) +\n before +\n after,\n [orientation, after, before],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderGroupStateVars, {\n after,\n before,\n columns,\n orientation,\n isDisabled: false,\n }),\n [after, before, columns, orientation],\n );\n\n const group = useRuleGroup(props);\n const addRule = useStopEventPropagation(group.addRule);\n const addGroup = useStopEventPropagation(group.addGroup);\n const cloneGroup = useStopEventPropagation(group.cloneGroup);\n const toggleLockGroup = useStopEventPropagation(group.toggleLockGroup);\n const removeGroup = useStopEventPropagation(group.removeGroup);\n const shiftGroupUp = useStopEventPropagation(group.shiftGroupUp);\n const shiftGroupDown = useStopEventPropagation(group.shiftGroupDown);\n\n const elementProps = useMemo(\n () => ({\n ...(group as RuleGroupElementsProps),\n addGroup,\n addRule,\n cloneGroup,\n removeGroup,\n shiftGroupDown,\n shiftGroupUp,\n toggleLockGroup,\n }),\n [\n addGroup,\n addRule,\n cloneGroup,\n group,\n removeGroup,\n shiftGroupDown,\n shiftGroupUp,\n toggleLockGroup,\n ],\n );\n\n return (\n <div className={classNames?.group?.container} style={style}>\n <div\n ref={group.previewRef}\n className={group.outerClassName}\n data-dragmonitorid={group.dragMonitorId}\n data-dropmonitorid={group.dropMonitorId}\n data-level={group.path.length}\n data-path={JSON.stringify(group.path)}\n data-rule-group-id={group.id}\n data-testid={TestID.ruleGroup}\n >\n <div ref={group.dropRef} className={group.classNames.header}>\n <RuleGroupHeaderElements {...elementProps} />\n </div>\n <div className={group.classNames.body}>\n <RuleGroupBodyElements {...elementProps} />\n </div>\n <div className={classNames?.group?.footer}>\n <RuleGroupFooterElements {...elementProps} />\n </div>\n </div>\n </div>\n );\n}\n\nexport function RuleGroupHeaderComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const { classNames } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n controls: {\n shiftActions: ShiftActionsControlElement,\n dragHandle: DragHandleControlElement,\n combinatorSelector: CombinatorSelectorControlElement,\n notToggle: NotToggleControlElement,\n cloneGroupAction: CloneGroupActionControlElement,\n lockGroupAction: LockGroupActionControlElement,\n removeGroupAction: RemoveGroupActionControlElement,\n },\n },\n } = ruleGroup;\n\n const titles = useMemo(\n () => ({\n shiftUp: ruleGroup.translations.shiftActionUp.title,\n shiftDown: ruleGroup.translations.shiftActionDown.title,\n }),\n [\n ruleGroup.translations.shiftActionDown.title,\n ruleGroup.translations.shiftActionUp.title,\n ],\n );\n\n const labels = useMemo(\n () => ({\n shiftUp: ruleGroup.translations.shiftActionUp.label,\n shiftDown: ruleGroup.translations.shiftActionDown.label,\n }),\n [\n ruleGroup.translations.shiftActionDown.label,\n ruleGroup.translations.shiftActionUp.label,\n ],\n );\n\n return (\n <>\n {ruleGroup.schema.showShiftActions && ruleGroup.path.length > 0 && (\n <div className={classNames?.group?.shift}>\n <ShiftActionsControlElement\n key={TestID.shiftActions}\n testID={TestID.shiftActions}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n titles={titles}\n labels={labels}\n className={ruleGroup.classNames.shiftActions}\n disabled={ruleGroup.disabled}\n shiftUp={ruleGroup.shiftGroupUp}\n shiftDown={ruleGroup.shiftGroupDown}\n shiftUpDisabled={ruleGroup.shiftUpDisabled}\n shiftDownDisabled={ruleGroup.shiftDownDisabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleOrGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {ruleGroup.path.length > 0 && ruleGroup.schema.enableDragAndDrop && (\n <div className={classNames?.group?.drag}>\n <DragHandleControlElement\n key={TestID.dragHandle}\n testID={TestID.dragHandle}\n ref={ruleGroup.dragRef}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n title={ruleGroup.translations.dragHandle.title}\n label={ruleGroup.translations.dragHandle.label}\n className={ruleGroup.classNames.dragHandle}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleOrGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {!(\n ruleGroup.schema.showCombinatorsBetweenRules ||\n ruleGroup.schema.independentCombinators\n ) && (\n <div className={classNames?.group?.combinator}>\n <CombinatorSelectorControlElement\n key={TestID.combinators}\n testID={TestID.combinators}\n options={ruleGroup.schema.combinators}\n value={ruleGroup.combinator}\n title={ruleGroup.translations.combinators.title}\n className={ruleGroup.classNames.combinators}\n handleOnChange={ruleGroup.onCombinatorChange}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.schema.showNotToggle && (\n <div className={classNames?.group?.toggle}>\n <NotToggleControlElement\n key={TestID.notToggle}\n testID={TestID.notToggle}\n className={ruleGroup.classNames.notToggle}\n title={ruleGroup.translations.notToggle.title}\n label={ruleGroup.translations.notToggle.label}\n checked={ruleGroup.ruleGroup.not}\n handleOnChange={ruleGroup.onNotToggleChange}\n level={ruleGroup.path.length}\n disabled={ruleGroup.disabled}\n path={ruleGroup.path}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n ruleGroup={ruleGroup.ruleGroup}\n />\n </div>\n )}\n {ruleGroup.schema.showCloneButtons && ruleGroup.path.length >= 1 && (\n <div className={classNames?.group?.clone}>\n <CloneGroupActionControlElement\n key={TestID.cloneGroup}\n testID={TestID.cloneGroup}\n label={ruleGroup.translations.cloneRuleGroup.label}\n title={ruleGroup.translations.cloneRuleGroup.title}\n className={ruleGroup.classNames.cloneGroup}\n handleOnClick={ruleGroup.cloneGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.schema.showLockButtons && (\n <div className={classNames?.group?.lock}>\n <LockGroupActionControlElement\n key={TestID.lockGroup}\n testID={TestID.lockGroup}\n label={ruleGroup.translations.lockGroup.label}\n title={ruleGroup.translations.lockGroup.title}\n className={ruleGroup.classNames.lockGroup}\n handleOnClick={ruleGroup.toggleLockGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n disabledTranslation={\n ruleGroup.parentDisabled\n ? undefined\n : ruleGroup.translations.lockGroupDisabled\n }\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n {ruleGroup.path.length > 0 && (\n <div className={classNames?.group?.remove}>\n <RemoveGroupActionControlElement\n key={TestID.removeGroup}\n testID={TestID.removeGroup}\n label={ruleGroup.translations.removeGroup.label}\n title={ruleGroup.translations.removeGroup.title}\n className={ruleGroup.classNames.removeGroup}\n handleOnClick={ruleGroup.removeGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n )}\n </>\n );\n}\n\nexport function RuleGroupBodyComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const {\n schema: {\n controls: {\n ruleGroup: RuleGroupControlElement,\n rule: RuleControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n {(ruleGroup.ruleGroup.rules as RuleGroupICArray | RuleGroupArray).map(\n (rule, idx, { length: ruleArrayLength }) => {\n const thisPathMemo = ruleGroup.pathsMemo[idx];\n const thisPath = thisPathMemo?.path ?? [];\n\n const thisPathDisabled =\n !thisPathMemo ||\n thisPathMemo.disabled ||\n (typeof rule !== 'string' && rule.disabled);\n\n const shiftUpDisabled = pathsAreEqual([0], thisPath);\n\n const shiftDownDisabled =\n ruleGroup.path.length === 0 && idx === ruleArrayLength - 1;\n\n const key =\n typeof rule === 'string' ? [...thisPath, rule].join('-') : rule.id;\n\n return (\n <Fragment key={key}>\n {isRuleGroup(rule) && (\n <RuleGroupControlElement\n key={TestID.ruleGroup}\n id={rule.id}\n schema={ruleGroup.schema}\n actions={ruleGroup.actions}\n path={thisPath}\n translations={ruleGroup.translations}\n ruleGroup={rule}\n rules={rule.rules}\n combinator={\n isRuleGroupType(rule) ? rule.combinator : undefined\n }\n not={!!rule.not}\n disabled={thisPathDisabled}\n parentDisabled={\n ruleGroup.parentDisabled || ruleGroup.disabled\n }\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={ruleGroup.context}\n />\n )}\n {typeof rule !== 'string' && !isRuleGroup(rule) && (\n <RuleControlElement\n key={TestID.rule}\n // biome-ignore lint/style/noNonNullAssertion: intentional\n id={rule.id!}\n rule={rule}\n field={rule.field}\n operator={rule.operator}\n value={rule.value}\n valueSource={rule.valueSource}\n schema={ruleGroup.schema}\n actions={ruleGroup.actions}\n path={thisPath}\n disabled={thisPathDisabled}\n parentDisabled={\n ruleGroup.parentDisabled || ruleGroup.disabled\n }\n translations={ruleGroup.translations}\n shiftUpDisabled={shiftUpDisabled}\n shiftDownDisabled={shiftDownDisabled}\n context={ruleGroup.context}\n />\n )}\n </Fragment>\n );\n },\n )}\n </>\n );\n}\n\nexport function RuleGroupFooterComponents(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const { classNames } = useContext(QueryBuilderContext);\n\n const {\n schema: {\n controls: {\n addGroupAction: AddGroupActionControlElement,\n addRuleAction: AddRuleActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n <div className={classNames?.rule?.add}>\n <AddRuleActionControlElement\n key={TestID.addRule}\n testID={TestID.addRule}\n label={ruleGroup.translations.addRule.label}\n title={ruleGroup.translations.addRule.title}\n className={ruleGroup.classNames.addRule}\n handleOnClick={ruleGroup.addRule}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n <div className={classNames?.group?.add}>\n <AddGroupActionControlElement\n key={TestID.addGroup}\n testID={TestID.addGroup}\n label={ruleGroup.translations.addGroup.label}\n title={ruleGroup.translations.addGroup.title}\n className={ruleGroup.classNames.addGroup}\n handleOnClick={ruleGroup.addGroup}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n ruleOrGroup={ruleGroup.ruleGroup}\n schema={ruleGroup.schema}\n />\n </div>\n </>\n );\n}\n"]}
@@ -13,8 +13,8 @@ import { SelectContext } from '../select/index.js';
13
13
  import { SwitchContext } from '../switch/index.js';
14
14
  import { TextAreaContext } from '../textarea/index.js';
15
15
  import { ActionElement } from './action-element.js';
16
- import { QueryBuilderContext, defaultOrientation, defaultSize } from './constants.js';
17
- import { RuleGroup, RuleGroupBodyComponents, RuleGroupFooterComponents, RuleGroupHeaderComponents } from './group.js';
16
+ import { defaultSize, QueryBuilderContext, defaultOrientation } from './constants.js';
17
+ import { RuleGroup, RuleGroupHeaderComponents, RuleGroupFooterComponents, RuleGroupBodyComponents } from './group.js';
18
18
  import { queryBuilderClassNames, queryBuilderStateVars } from './query-builder.css.js';
19
19
  import { Rule } from './rule.js';
20
20
  import { ValueEditor, defaultValueEditors } from './value-editor.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/query-builder.tsx"],"names":["RQBuilder"],"mappings":"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","file":"query-builder.js","sourcesContent":["import { useMemo } from 'react';\nimport { Provider } from 'react-aria-components';\nimport { QueryBuilder as RQBuilder } from 'react-querybuilder';\nimport { useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { inlineVars, mergeClassNames } from '../../utils';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { CheckboxContext, type CheckboxProps } from '../checkbox';\nimport { InputContext, type InputProps } from '../input';\nimport { RadioGroupContext, type RadioGroupProps } from '../radio';\nimport { SelectContext, type SelectProps } from '../select';\nimport { SwitchContext, type SwitchProps } from '../switch';\nimport { TextAreaContext, type TextAreaProps } from '../textarea';\nimport { ActionElement } from './action-element';\nimport {\n defaultSize,\n defaultOrientation,\n QueryBuilderContext,\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 { defaultValueEditors, ValueEditor } 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 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 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 size,\n valueEditors,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderStateVars, {\n isDisabled: typeof disabled === 'boolean' ? disabled : false,\n }),\n [disabled],\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
+ {"version":3,"sources":["../../../src/components/query-builder/query-builder.tsx"],"names":["RQBuilder"],"mappings":"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","file":"query-builder.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';\nimport { bodies } from '../../styles';\nimport { inlineVars, mergeClassNames } from '../../utils';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { CheckboxContext, type CheckboxProps } from '../checkbox';\nimport { InputContext, type InputProps } from '../input';\nimport { RadioGroupContext, type RadioGroupProps } from '../radio';\nimport { SelectContext, type SelectProps } from '../select';\nimport { SwitchContext, type SwitchProps } from '../switch';\nimport { TextAreaContext, type TextAreaProps } from '../textarea';\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 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 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 size,\n valueEditors,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderStateVars, {\n isDisabled: typeof disabled === 'boolean' ? disabled : false,\n }),\n [disabled],\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/rule.tsx"],"names":[],"mappings":"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","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":";;;;;;;;;;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"]}