@accelint/design-system 0.1.1 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sources":["../../../src/components/query-builder/group.tsx"],"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 CORE_FUNCTIONS_COUNT = 5;\n\nexport function RuleGroup(props: RuleGroupProps) {\n const {\n classNames,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyElements,\n ruleGroupFooterElements: RuleGroupFooterElements,\n ruleGroupHeaderElements: RuleGroupHeaderElements,\n },\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 () => CORE_FUNCTIONS_COUNT + before + after,\n [after, before],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderGroupStateVars, {\n after,\n before,\n columns,\n isDisabled: false,\n }),\n [after, before, columns],\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 title={group.accessibleDescription}\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"],"names":["Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sources":["../../../src/components/query-builder/group.tsx"],"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 CORE_FUNCTIONS_COUNT = 5;\n\nexport function RuleGroup(props: RuleGroupProps) {\n const {\n classNames,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyElements,\n ruleGroupFooterElements: RuleGroupFooterElements,\n ruleGroupHeaderElements: RuleGroupHeaderElements,\n },\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 () => CORE_FUNCTIONS_COUNT + before + after,\n [after, before],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderGroupStateVars, {\n after,\n before,\n columns,\n isDisabled: false,\n }),\n [after, before, columns],\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"],"names":["Fragment"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { QueryBuilderProps } from './types';
2
- export declare function QueryBuilder({ consistentColumns, controlElements: controlElementsProp, disabled, icons, mapping: mappingProp, size, valueEditors: valueEditorsProp, ...rest }: QueryBuilderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function QueryBuilder({ classNames: classNamesProp, consistentColumns, controlElements: controlElementsProp, disabled, icons, mapping: mappingProp, size, valueEditors: valueEditorsProp, ...rest }: QueryBuilderProps): import("react/jsx-runtime").JSX.Element;
@@ -43,15 +43,15 @@ const defaultMapping = {
43
43
  lg: bodies.xs
44
44
  }
45
45
  };
46
- function QueryBuilder({ consistentColumns = true, controlElements: controlElementsProp, disabled, icons, mapping: mappingProp, size = defaultSize, valueEditors: valueEditorsProp, ...rest }) {
46
+ function QueryBuilder({ classNames: classNamesProp, consistentColumns = true, controlElements: controlElementsProp, disabled, icons, mapping: mappingProp, size = defaultSize, valueEditors: valueEditorsProp, ...rest }) {
47
47
  const theme = useTheme();
48
48
  const mapping = useMemo(() => ({
49
49
  ...defaultMapping,
50
50
  ...mappingProp
51
51
  }), [mappingProp]);
52
- const classNames = useMemo(() => mergeClassNames(queryBuilderClassNames, theme.QueryBuilder, {
52
+ const classNames = useMemo(() => mergeClassNames(queryBuilderClassNames, theme.QueryBuilder, classNamesProp, {
53
53
  rule: { error: mapping?.error?.[size] }
54
- }), [mapping?.error, size, theme.QueryBuilder]);
54
+ }), [mapping?.error, size, theme.QueryBuilder, classNamesProp]);
55
55
  const controlClassNames = useMemo(() => {
56
56
  const { addGroup, addRule, cloneGroup, cloneRule, dragHandle, lockGroup, lockRule, removeGroup, removeRule, queryBuilder, group, rule } = classNames ?? {};
57
57
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sources":["../../../src/components/query-builder/query-builder.tsx"],"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 { defaultSize, QueryBuilderContext } 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 consistentColumns = true,\n controlElements: controlElementsProp,\n disabled,\n icons,\n mapping: mappingProp,\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(queryBuilderClassNames, theme.QueryBuilder, {\n rule: { error: mapping?.error?.[size] },\n }),\n [mapping?.error, size, theme.QueryBuilder],\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 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 [classNames, consistentColumns, icons, mapping, size, valueEditors],\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"],"names":["RQBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.js","sources":["../../../src/components/query-builder/query-builder.tsx"],"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 { defaultSize, QueryBuilderContext } 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 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 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 [classNames, consistentColumns, icons, mapping, size, valueEditors],\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"],"names":["RQBuilder"],"mappings":"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"}