@accelint/design-system 1.1.2 → 1.1.4

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 (79) hide show
  1. package/dist/components/aria/index.js.map +1 -1
  2. package/dist/components/button/index.js.map +1 -1
  3. package/dist/components/checkbox/index.js.map +1 -1
  4. package/dist/components/chip/index.js.map +1 -1
  5. package/dist/components/collection/index.d.ts +1 -1
  6. package/dist/components/collection/index.js.map +1 -1
  7. package/dist/components/combo-box/index.js +9 -5
  8. package/dist/components/combo-box/index.js.map +1 -1
  9. package/dist/components/date-field/index.js +8 -4
  10. package/dist/components/date-field/index.js.map +1 -1
  11. package/dist/components/date-input/index.js +15 -7
  12. package/dist/components/date-input/index.js.map +1 -1
  13. package/dist/components/dialog/index.js +7 -5
  14. package/dist/components/dialog/index.js.map +1 -1
  15. package/dist/components/drawer/index.js +21 -8
  16. package/dist/components/drawer/index.js.map +1 -1
  17. package/dist/components/element/index.d.ts +1 -1
  18. package/dist/components/element/index.js +7 -3
  19. package/dist/components/element/index.js.map +1 -1
  20. package/dist/components/element/types.d.ts +2 -0
  21. package/dist/components/group/index.js +6 -6
  22. package/dist/components/group/index.js.map +1 -1
  23. package/dist/components/icon/index.js +4 -4
  24. package/dist/components/icon/index.js.map +1 -1
  25. package/dist/components/index.d.ts +34 -34
  26. package/dist/components/input/index.js +17 -8
  27. package/dist/components/input/index.js.map +1 -1
  28. package/dist/components/menu/index.js.map +1 -1
  29. package/dist/components/merge-provider/index.js.map +1 -1
  30. package/dist/components/merge-provider/types.d.ts +2 -0
  31. package/dist/components/number-field/index.js +8 -4
  32. package/dist/components/number-field/index.js.map +1 -1
  33. package/dist/components/options/index.js.map +1 -1
  34. package/dist/components/picker/index.js.map +1 -1
  35. package/dist/components/popover/index.js +8 -4
  36. package/dist/components/popover/index.js.map +1 -1
  37. package/dist/components/query-builder/action-element.js.map +1 -1
  38. package/dist/components/query-builder/dataset-sample.js.map +1 -1
  39. package/dist/components/query-builder/group.js.map +1 -1
  40. package/dist/components/query-builder/index.js.map +1 -1
  41. package/dist/components/query-builder/value-editor.js.map +1 -1
  42. package/dist/components/query-builder/value-selector.js.map +1 -1
  43. package/dist/components/radio/index.js +12 -8
  44. package/dist/components/radio/index.js.map +1 -1
  45. package/dist/components/search-field/index.js +9 -5
  46. package/dist/components/search-field/index.js.map +1 -1
  47. package/dist/components/select/index.js +5 -5
  48. package/dist/components/select/index.js.map +1 -1
  49. package/dist/components/slider/index.js +48 -20
  50. package/dist/components/slider/index.js.map +1 -1
  51. package/dist/components/switch/index.js +4 -4
  52. package/dist/components/switch/index.js.map +1 -1
  53. package/dist/components/tabs/index.js +32 -20
  54. package/dist/components/tabs/index.js.map +1 -1
  55. package/dist/components/text-field/index.js +8 -4
  56. package/dist/components/text-field/index.js.map +1 -1
  57. package/dist/components/textarea/index.js +16 -7
  58. package/dist/components/textarea/index.js.map +1 -1
  59. package/dist/components/time-field/index.js +8 -4
  60. package/dist/components/time-field/index.js.map +1 -1
  61. package/dist/components/tooltip/index.js +17 -9
  62. package/dist/components/tooltip/index.js.map +1 -1
  63. package/dist/components/tree/index.js.map +1 -1
  64. package/dist/components/tree/utils.js +3 -1
  65. package/dist/components/tree/utils.js.map +1 -1
  66. package/dist/hooks/index.d.ts +4 -4
  67. package/dist/hooks/use-theme/index.d.ts +1 -1
  68. package/dist/hooks/use-theme/index.js.map +1 -1
  69. package/dist/hooks/use-tree/index.js.map +1 -1
  70. package/dist/hooks/use-update-effect/index.js.map +1 -1
  71. package/dist/index.d.ts +34 -34
  72. package/dist/ladle/actions.js.map +1 -1
  73. package/dist/test/setup.js +10 -10
  74. package/dist/test/setup.js.map +1 -1
  75. package/dist/utils/css/index.js.map +1 -1
  76. package/dist/utils/props/index.js +1 -2
  77. package/dist/utils/props/index.js.map +1 -1
  78. package/dist/vanilla.d.ts +29 -29
  79. package/package.json +15 -14
@@ -1 +1 @@
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/css';\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 ruleGroup={ruleGroup.ruleGroup}\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"]}
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 isRuleGroup,\n isRuleGroupType,\n pathsAreEqual,\n type RuleGroupArray,\n type RuleGroupICArray,\n type RuleGroupProps,\n TestID,\n useRuleGroup,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport { inlineVars } from '../../utils/css';\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 ruleGroup={ruleGroup.ruleGroup}\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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/index.tsx"],"names":["RQBuilder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAM,cAAA,GAAsC;AAAA,EAC1C,MAAA,EAAQ;AAAA,IACN,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAM,SAAS,OAAA,EAAQ;AAAA,IACnC,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAM,SAAS,OAAA;AAAQ,GACrC;AAAA,EACA,KAAA,EAAO;AAAA,IACL,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAK;AAAA,IACjB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA;AAAK,GACnB;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAK;AAAA,IACjB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA;AAAK,GACnB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAK;AAAA,IACjB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA;AAAK,GACnB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAI,MAAA,CAAO,EAAA;AAAA,IACX,IAAI,MAAA,CAAO;AAAA;AAEf,CAAA;AAEO,SAAS,YAAA,CAAa;AAAA,EAC3B,UAAA,EAAY,cAAA;AAAA,EACZ,iBAAA,GAAoB,IAAA;AAAA,EACpB,eAAA,EAAiB,mBAAA;AAAA,EACjB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,EAAS,WAAA;AAAA,EACT,WAAA,GAAc,kBAAA;AAAA,EACd,aAAA,GAAgB,IAAA;AAAA,EAChB,IAAA,GAAO,WAAA;AAAA,EACP,YAAA,EAAc,gBAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAsB;AACpB,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACd,OAAO;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG;AAAA,KACL,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,UAAA,GAAa,OAAA;AAAA,IACjB,MACE,eAAA;AAAA,MACE,sBAAA;AAAA,MACA,KAAA,CAAM,YAAA;AAAA,MACN,cAAA;AAAA,MACA;AAAA,QACE,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,GAAQ,IAAI,CAAA;AAAE;AACxC,KACF;AAAA,IACF,CAAC,OAAA,EAAS,KAAA,EAAO,IAAA,EAAM,KAAA,CAAM,cAAc,cAAc;AAAA,GAC3D;AAEA,EAAA,MAAM,iBAAA,GAAoB,QAAQ,MAAM;AACtC,IAAA,MAAM;AAAA,MACJ,QAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,KACF,GAAI,cAAc,EAAC;AAEnB,IAAA,OAAO;AAAA,MACL,QAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAc,YAAA,EAAc,YAAA;AAAA,MAC5B,WAAW,KAAA,EAAO,KAAA;AAAA,MAClB,QAAQ,KAAA,EAAO,MAAA;AAAA,MACf,MAAM,KAAA,EAAO,IAAA;AAAA,MACb,MAAM,IAAA,EAAM;AAAA,KACd;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,eAAA,GAAkB,OAAA;AAAA,IACtB,OAAO;AAAA,MACL,aAAA,EAAe,aAAA;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,SAAA,EAAW,SAAA;AAAA,MACX,WAAA,EAAa,WAAA;AAAA,MACb,aAAA,EAAe,aAAA;AAAA,MACf,GAAG;AAAA,KACL,CAAA;AAAA,IACA,CAAC,mBAAmB;AAAA,GACtB;AAEA,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,OAAO;AAAA,MACL,GAAG,mBAAA;AAAA,MACH,GAAG;AAAA,KACL,CAAA;AAAA,IACA,CAAC,gBAAgB;AAAA,GACnB;AAEA,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IAYd,MAAM;AAAA,MACJ;AAAA,QACE,mBAAA;AAAA,QACA;AAAA,UACE,UAAA;AAAA,UACA,iBAAA;AAAA,UACA,eAAA,EAAiB;AAAA,YACf,qBAAA,EAAuB,uBAAA;AAAA,YACvB,uBAAA,EAAyB,yBAAA;AAAA,YACzB,uBAAA,EAAyB;AAAA,WAC3B;AAAA,UACA,KAAA;AAAA,UACA,OAAA;AAAA,UACA,WAAA;AAAA,UACA,aAAA;AAAA,UACA,IAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA,MACA;AAAA,QACE,aAAA;AAAA,QACA,EAAE,GAAG,OAAA,EAAS,MAAA,GAAS,IAAI,CAAA,EAAG,UAAA,EAAY,YAAY,MAAA;AAAO,OAC/D;AAAA,MACA,CAAC,eAAA,EAAiB,EAAE,UAAA,EAAY,UAAA,EAAY,UAAU,CAAA;AAAA,MACtD;AAAA,QACE,YAAA;AAAA,QACA,EAAE,GAAG,OAAA,EAAS,KAAA,GAAQ,IAAI,CAAA,EAAG,UAAA,EAAY,YAAY,KAAA;AAAM,OAC7D;AAAA,MACA,CAAC,iBAAA,EAAmB,EAAE,UAAA,EAAY,UAAA,EAAY,OAAO,CAAA;AAAA,MACrD;AAAA,QACE,aAAA;AAAA,QACA,EAAE,GAAG,OAAA,EAAS,MAAA,GAAS,IAAI,CAAA,EAAG,UAAA,EAAY,YAAY,MAAA;AAAO,OAC/D;AAAA,MACA,CAAC,aAAA,EAAe,EAAE,UAAA,EAAY,UAAA,EAAY,QAAQ,CAAA;AAAA,MAClD;AAAA,QACE,eAAA;AAAA,QACA,EAAE,GAAG,OAAA,EAAS,QAAA,GAAW,IAAI,CAAA,EAAG,UAAA,EAAY,YAAY,QAAA;AAAS;AACnE,KACF;AAAA,IACA;AAAA,MACE,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,MACE,WAAW,qBAAA,EAAuB;AAAA,MAChC,UAAA,EAAY,OAAO,QAAA,KAAa,SAAA,GAAY,QAAA,GAAW,KAAA;AAAA,MACvD;AAAA,KACD,CAAA;AAAA,IACH,CAAC,UAAU,aAAa;AAAA,GAC1B;AAEA,EAAA,uBACE,GAAA,CAAC,QAAA,EAAA,EAAS,MAAA,EAAQ,OAAA,EAChB,QAAA,kBAAA,GAAA,CAAC,SAAI,SAAA,EAAW,UAAA,EAAY,YAAA,EAAc,SAAA,EAAW,KAAA,EACnD,QAAA,kBAAA,GAAA;AAAA,IAACA,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,eAAA;AAAA,MACA,iBAAA,EAAmB,iBAAA;AAAA,MACnB,QAAA;AAAA,MACA,aAAA,EAAa;AAAA;AAAA,KAEjB,CAAA,EACF,CAAA;AAEJ","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useMemo } from 'react';\nimport { Provider } from 'react-aria-components';\nimport { QueryBuilder as RQBuilder } from 'react-querybuilder';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { mergeClassNames } from '../../utils/props';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { CheckboxContext } from '../checkbox';\nimport type { CheckboxProps } from '../checkbox/types';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport { RadioGroupContext } from '../radio';\nimport type { RadioGroupProps } from '../radio/types';\nimport { SelectContext } from '../select';\nimport type { SelectProps } from '../select/types';\nimport { SwitchContext } from '../switch';\nimport type { SwitchProps } from '../switch/types';\nimport { TextAreaContext } from '../textarea';\nimport type { TextAreaProps } from '../textarea/types';\nimport { ActionElement } from './action-element';\nimport {\n QueryBuilderContext,\n defaultOrientation,\n defaultSize,\n} from './constants';\nimport {\n RuleGroup,\n RuleGroupBodyComponents,\n RuleGroupFooterComponents,\n RuleGroupHeaderComponents,\n} from './group';\nimport {\n queryBuilderClassNames,\n queryBuilderStateVars,\n} from './query-builder.css';\nimport { Rule } from './rule';\nimport type {\n QueryBuilderContextValue,\n QueryBuilderMapping,\n QueryBuilderProps,\n} from './types';\nimport { ValueEditor, defaultValueEditors } from './value-editor';\nimport { ValueSelector } from './value-selector';\n\nconst defaultMapping: QueryBuilderMapping = {\n button: {\n sm: { size: 'sm', variant: 'solid' },\n lg: { size: 'md', variant: 'solid' },\n },\n input: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n select: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n textarea: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nexport function QueryBuilder({\n classNames: classNamesProp,\n consistentColumns = true,\n controlElements: controlElementsProp,\n disabled,\n icons,\n mapping: mappingProp,\n orientation = defaultOrientation,\n showRuleLines = true,\n size = defaultSize,\n valueEditors: valueEditorsProp,\n ...rest\n}: QueryBuilderProps) {\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(\n queryBuilderClassNames,\n theme.QueryBuilder,\n classNamesProp,\n {\n rule: { error: mapping?.error?.[size] },\n },\n ),\n [mapping?.error, size, theme.QueryBuilder, classNamesProp],\n );\n\n const controlClassNames = useMemo(() => {\n const {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder,\n group,\n rule,\n } = classNames ?? {};\n\n return {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder: queryBuilder?.queryBuilder,\n ruleGroup: group?.group,\n header: group?.header,\n body: group?.body,\n rule: rule?.rule,\n };\n }, [classNames]);\n\n const controlElements = useMemo(\n () => ({\n actionElement: ActionElement,\n rule: Rule,\n ruleGroup: RuleGroup,\n valueEditor: ValueEditor,\n valueSelector: ValueSelector,\n ...controlElementsProp,\n }),\n [controlElementsProp],\n );\n\n const valueEditors = useMemo(\n () => ({\n ...defaultValueEditors,\n ...valueEditorsProp,\n }),\n [valueEditorsProp],\n );\n\n const context = useMemo<\n [\n [typeof QueryBuilderContext, QueryBuilderContextValue],\n [typeof ButtonContext, ButtonProps],\n [typeof CheckboxContext, CheckboxProps],\n [typeof InputContext, InputProps],\n [typeof RadioGroupContext, RadioGroupProps],\n [typeof SelectContext, SelectProps<object>],\n [typeof SwitchContext, SwitchProps],\n [typeof TextAreaContext, TextAreaProps],\n ]\n >(\n () => [\n [\n QueryBuilderContext,\n {\n classNames,\n consistentColumns,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyComponents,\n ruleGroupFooterElements: RuleGroupFooterComponents,\n ruleGroupHeaderElements: RuleGroupHeaderComponents,\n },\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n },\n ],\n [\n ButtonContext,\n { ...mapping?.button?.[size], classNames: classNames?.button },\n ],\n [CheckboxContext, { classNames: classNames?.checkbox }],\n [\n InputContext,\n { ...mapping?.input?.[size], classNames: classNames?.input },\n ],\n [RadioGroupContext, { classNames: classNames?.radio }],\n [\n SelectContext,\n { ...mapping?.select?.[size], classNames: classNames?.select },\n ],\n [SwitchContext, { classNames: classNames?.switch }],\n [\n TextAreaContext,\n { ...mapping?.textarea?.[size], classNames: classNames?.textarea },\n ],\n ],\n [\n classNames,\n consistentColumns,\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderStateVars, {\n isDisabled: typeof disabled === 'boolean' ? disabled : false,\n showRuleLines,\n }),\n [disabled, showRuleLines],\n );\n\n return (\n <Provider values={context}>\n <div className={classNames?.queryBuilder?.container} style={style}>\n <RQBuilder\n {...rest}\n controlElements={controlElements}\n controlClassnames={controlClassNames}\n disabled={disabled}\n listsAsArrays\n />\n </div>\n </Provider>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/index.tsx"],"names":["RQBuilder"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useMemo } from 'react';\nimport { Provider } from 'react-aria-components';\nimport { QueryBuilder as RQBuilder } from 'react-querybuilder';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { mergeClassNames } from '../../utils/props';\nimport { ButtonContext } from '../button';\nimport { CheckboxContext } from '../checkbox';\nimport { InputContext } from '../input';\nimport { RadioGroupContext } from '../radio';\nimport { SelectContext } from '../select';\nimport { SwitchContext } from '../switch';\nimport { TextAreaContext } from '../textarea';\nimport { ActionElement } from './action-element';\nimport {\n defaultOrientation,\n defaultSize,\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 { defaultValueEditors, ValueEditor } from './value-editor';\nimport { ValueSelector } from './value-selector';\nimport type { ButtonProps } from '../button/types';\nimport type { CheckboxProps } from '../checkbox/types';\nimport type { InputProps } from '../input/types';\nimport type { RadioGroupProps } from '../radio/types';\nimport type { SelectProps } from '../select/types';\nimport type { SwitchProps } from '../switch/types';\nimport type { TextAreaProps } from '../textarea/types';\nimport type {\n QueryBuilderContextValue,\n QueryBuilderMapping,\n QueryBuilderProps,\n} from './types';\n\nconst defaultMapping: QueryBuilderMapping = {\n button: {\n sm: { size: 'sm', variant: 'solid' },\n lg: { size: 'md', variant: 'solid' },\n },\n input: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n select: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n textarea: {\n sm: { size: 'sm' },\n lg: { size: 'lg' },\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nexport function QueryBuilder({\n classNames: classNamesProp,\n consistentColumns = true,\n controlElements: controlElementsProp,\n disabled,\n icons,\n mapping: mappingProp,\n orientation = defaultOrientation,\n showRuleLines = true,\n size = defaultSize,\n valueEditors: valueEditorsProp,\n ...rest\n}: QueryBuilderProps) {\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(\n queryBuilderClassNames,\n theme.QueryBuilder,\n classNamesProp,\n {\n rule: { error: mapping?.error?.[size] },\n },\n ),\n [mapping?.error, size, theme.QueryBuilder, classNamesProp],\n );\n\n const controlClassNames = useMemo(() => {\n const {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder,\n group,\n rule,\n } = classNames ?? {};\n\n return {\n addGroup,\n addRule,\n cloneGroup,\n cloneRule,\n dragHandle,\n lockGroup,\n lockRule,\n removeGroup,\n removeRule,\n queryBuilder: queryBuilder?.queryBuilder,\n ruleGroup: group?.group,\n header: group?.header,\n body: group?.body,\n rule: rule?.rule,\n };\n }, [classNames]);\n\n const controlElements = useMemo(\n () => ({\n actionElement: ActionElement,\n rule: Rule,\n ruleGroup: RuleGroup,\n valueEditor: ValueEditor,\n valueSelector: ValueSelector,\n ...controlElementsProp,\n }),\n [controlElementsProp],\n );\n\n const valueEditors = useMemo(\n () => ({\n ...defaultValueEditors,\n ...valueEditorsProp,\n }),\n [valueEditorsProp],\n );\n\n const context = useMemo<\n [\n [typeof QueryBuilderContext, QueryBuilderContextValue],\n [typeof ButtonContext, ButtonProps],\n [typeof CheckboxContext, CheckboxProps],\n [typeof InputContext, InputProps],\n [typeof RadioGroupContext, RadioGroupProps],\n [typeof SelectContext, SelectProps<object>],\n [typeof SwitchContext, SwitchProps],\n [typeof TextAreaContext, TextAreaProps],\n ]\n >(\n () => [\n [\n QueryBuilderContext,\n {\n classNames,\n consistentColumns,\n controlElements: {\n ruleGroupBodyElements: RuleGroupBodyComponents,\n ruleGroupFooterElements: RuleGroupFooterComponents,\n ruleGroupHeaderElements: RuleGroupHeaderComponents,\n },\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n },\n ],\n [\n ButtonContext,\n { ...mapping?.button?.[size], classNames: classNames?.button },\n ],\n [CheckboxContext, { classNames: classNames?.checkbox }],\n [\n InputContext,\n { ...mapping?.input?.[size], classNames: classNames?.input },\n ],\n [RadioGroupContext, { classNames: classNames?.radio }],\n [\n SelectContext,\n { ...mapping?.select?.[size], classNames: classNames?.select },\n ],\n [SwitchContext, { classNames: classNames?.switch }],\n [\n TextAreaContext,\n { ...mapping?.textarea?.[size], classNames: classNames?.textarea },\n ],\n ],\n [\n classNames,\n consistentColumns,\n icons,\n mapping,\n orientation,\n showRuleLines,\n size,\n valueEditors,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(queryBuilderStateVars, {\n isDisabled: typeof disabled === 'boolean' ? disabled : false,\n showRuleLines,\n }),\n [disabled, showRuleLines],\n );\n\n return (\n <Provider values={context}>\n <div className={classNames?.queryBuilder?.container} style={style}>\n <RQBuilder\n {...rest}\n controlElements={controlElements}\n controlClassnames={controlClassNames}\n disabled={disabled}\n listsAsArrays\n />\n </div>\n </Provider>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AA8BA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,EAC7B,cAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,UAAA,CAAW,mBAAmB,CAAA;AAChD,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,KAAA;AAAA,MACZ,QAAA,EAAU,cAAA;AAAA,MACV,gBAAc,CAAC,KAAA;AAAA,MACf,YAAA,EAAY,IAAA;AAAA,MAEX,QAAA,EAAA,KAAA,EAAO;AAAA;AAAA,GACV;AAEJ;AAEA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,EAC7B,cAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,QAAA,EAAU,cAAA;AAAA,MACV,gBAAc,CAAC,KAAA;AAAA,MACf,YAAA,EAAY,IAAA;AAAA,MAEX,QAAA,EAAA,MAAA,EAAQ,GAAA,CAAI,CAAC,MAAA,qBACZ,GAAA,CAAC,KAAA,EAAA,EAAwB,KAAA,EAAO,MAAA,CAAO,KAAA,EACpC,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADE,MAAA,CAAO,IAEnB,CACD;AAAA;AAAA,GACH;AAEJ;AAEA,IAAM,iBAA4B,EAAC;AAEnC,SAAS,iBAAA,CAAkB;AAAA,EACzB,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,EAC7B,cAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA,GAAS,cAAA;AAAA,EACT,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,QAAA;AAAA,MACA,UAAU,IAAA,KAAS,aAAA;AAAA,MACnB,OAAA,EAAS,MAAA;AAAA,MACT,KAAA,EAAO,IAAA;AAAA,MACP,YAAY,CAAC,KAAA;AAAA,MACb,KAAA;AAAA,MACA;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,EAC7B,cAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,QAAQ,KAAK,CAAA;AAAA,MACzB,QAAA,EAAU,cAAA;AAAA,MACV,gBAAc,CAAC,KAAA;AAAA,MACf,YAAA,EAAY;AAAA;AAAA,GACd;AAEJ;AAEA,SAAS,eAAA,CAAgB;AAAA,EACvB,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,WAAA,EAAa,SAAA,EAAU;AAAA,EAC1C,cAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,KAAA,KACC,cAAA,CAAe,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,IACnC,CAAC,cAAc;AAAA,GACjB;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,QAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAO,SAAA,IAA2B,MAAA;AAAA,MAClC,KAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,gBAAc,CAAC,KAAA;AAAA,MACf,YAAA,EAAY;AAAA;AAAA,GACd;AAEJ;AAEA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA,EAAW,EAAE,IAAA,EAAM,WAAA,EAAa,SAAA,EAAU;AAAA,EAC1C,cAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,mBAAA,CAAoB,MAAM,SAAS,CAAA;AAErD,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,KAAA,KACC,cAAA,CAAe,KAAA,CAAM,cAAc,WAAW,CAAA;AAAA,IAChD,CAAC,cAAc;AAAA,GACjB;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,QAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,YAAA,EAAY,IAAA;AAAA,MACZ,gBAAc,CAAC;AAAA;AAAA,GACjB;AAEJ;AAEO,IAAM,mBAAA,GAAgD;AAAA,EAC3D,QAAA,EAAU,mBAAA;AAAA,EACV,WAAA,EAAa,iBAAA;AAAA,EACb,KAAA,EAAO,qBAAA;AAAA,EACP,MAAA,EAAQ,iBAAA;AAAA,EACR,MAAA,EAAQ,iBAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,QAAA,EAAU;AACZ;AAEO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,MAAM;AAAA,IACJ,SAAA,EAAW,EAAE,EAAA,EAAI,eAAA,EAAgB;AAAA,IACjC,QAAA;AAAA,IACA,IAAA,EAAM;AAAA,GACR,GAAI,KAAA;AAEJ,EAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,WAAW,mBAAmB,CAAA;AAEnE,EAAA,MAAM,EAAE,YAAA,EAAc,iBAAA,EAAkB,GAAI,cAAA,CAAe;AAAA,IACzD,GAAG,KAAA;AAAA,IACH,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,IAAA,GAAO,WAAA;AAAA,IACX,CAAC,KAAA,MAAmB;AAAA,MAClB,GAAG,QAAA;AAAA,MACH,KAAA,EAAO,aAAa,KAAK;AAAA,KAC3B,CAAA;AAAA,IACA,CAAC,UAAU,YAAY;AAAA,GACzB;AAEA,EAAA,MAAM,sBAAA,GAAyB,WAAA;AAAA,IAC7B,CAAC,KAAA,KAAkB,iBAAA,CAAkB,KAAA,EAAO,CAAC,CAAA;AAAA,IAC7C,CAAC,iBAAiB;AAAA,GACpB;AAEA,EAAA,MAAM,oBAAA,GAAuB,WAAA;AAAA,IAC3B,CAAC,KAAA,KAAkB,iBAAA,CAAkB,KAAA,EAAO,CAAC,CAAA;AAAA,IAC7C,CAAC,iBAAiB;AAAA,GACpB;AAEA,EAAA,MAAM,QACH,OAAO,eAAA,KAAoB,aACxB,eAAA,CAAgB,QAAQ,IACxB,eAAA,KAAoB,MAAA;AAE1B,EAAA,MAAM,MAAA,GAAS,eAAe,IAAI,CAAA;AAElC,EAAA,IAAI,QAAA,KAAa,MAAA,IAAU,QAAA,KAAa,SAAA,IAAa,CAAC,MAAA,EAAQ;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,mBAAA,CAAoB,QAAA,CAAS,QAAQ,CAAA,EAAG;AAC1C,IAAA,uBACE,GAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA,CAAC,OAAA,EAAS,KAAK,EAAE,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,qBAC3B,GAAA,CAAC,KAAA,EAAA,EAA0B,SAAA,EAAW,UAAA,EAAY,MAAM,KAAA,EACtD,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACE,GAAG,KAAA;AAAA,QACJ,IAAA,EAAM,KAAK,KAAK,CAAA;AAAA,QAChB,KAAA,EAAO,aAAa,KAAK,CAAA;AAAA,QACzB,cAAA,EACE,QAAQ,oBAAA,GAAuB;AAAA;AAAA,SAN3B,CAAA,EAAG,EAAE,IAAI,IAAI,CAAA,CASvB,CACD,CAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,UAAA,EAAY,IAAA,EAAM,OAChC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAQ,GAAG,KAAA,EAAO,CAAA,EACrB,CAAA;AAEJ","file":"value-editor.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ChangeEvent,\n type FormEvent,\n useCallback,\n useContext,\n} from 'react';\nimport { type ValueEditorProps, useValueEditor } from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport { Input } from '../input';\nimport type { InputType } from '../input/types';\nimport { Radio, RadioGroup } from '../radio';\nimport { Switch } from '../switch';\nimport { TextArea } from '../textarea';\nimport { QueryBuilderContext, multiValueOperators } from './constants';\nimport type { QueryBuilderValueEditors } from './types';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { icons } = useContext(QueryBuilderContext);\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {icons?.checkbox}\n </Checkbox>\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <RadioGroup\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </RadioGroup>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(event.target.value),\n [handleOnChange],\n );\n\n return (\n <Input\n disabled={disabled}\n placeholder={placeholder}\n type={(inputType as InputType) ?? 'text'}\n value={value}\n onChange={handleChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) =>\n handleOnChange(event.currentTarget.textContent),\n [handleOnChange],\n );\n\n return (\n <TextArea\n disabled={disabled}\n placeholder={placeholder}\n value={value}\n onChange={handleChange}\n aria-label={name}\n aria-invalid={!valid}\n />\n );\n}\n\nexport const defaultValueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n multiselect: SelectValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { id, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { classNames, valueEditors } = useContext(QueryBuilderContext);\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${id}-${term}`} className={classNames?.rule?.value}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div className={classNames?.rule?.value}>\n <Editor {...props} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":[],"mappings":"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","file":"value-editor.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ChangeEvent,\n type FormEvent,\n useCallback,\n useContext,\n} from 'react';\nimport { useValueEditor, type ValueEditorProps } from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport { Input } from '../input';\nimport { Radio, RadioGroup } from '../radio';\nimport { Switch } from '../switch';\nimport { TextArea } from '../textarea';\nimport { multiValueOperators, QueryBuilderContext } from './constants';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\nimport type { InputType } from '../input/types';\nimport type { QueryBuilderValueEditors } from './types';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { icons } = useContext(QueryBuilderContext);\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {icons?.checkbox}\n </Checkbox>\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <RadioGroup\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </RadioGroup>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(event.target.value),\n [handleOnChange],\n );\n\n return (\n <Input\n disabled={disabled}\n placeholder={placeholder}\n type={(inputType as InputType) ?? 'text'}\n value={value}\n onChange={handleChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) =>\n handleOnChange(event.currentTarget.textContent),\n [handleOnChange],\n );\n\n return (\n <TextArea\n disabled={disabled}\n placeholder={placeholder}\n value={value}\n onChange={handleChange}\n aria-label={name}\n aria-invalid={!valid}\n />\n );\n}\n\nexport const defaultValueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n multiselect: SelectValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { id, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { classNames, valueEditors } = useContext(QueryBuilderContext);\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${id}-${term}`} className={classNames?.rule?.value}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div className={classNames?.rule?.value}>\n <Editor {...props} />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":";;;;;;;;;;;AA4BO,SAAS,aAAA,CAAiD;AAAA,EAC/D,cAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA,EAAS,WAAA;AAAA,EACT,QAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAK,GAAI,WAAW,mBAAmB,CAAA;AAEtD,EAAA,MAAM,EAAE,QAAA,EAAU,GAAA,EAAI,GAAI,gBAAA,CAAiB;AAAA,IACzC,cAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,qBAAA,GAAwB,WAAA;AAAA,IAC5B,CAAC,SAAA,KAA0B;AACzB,MAAA,QAAA,CAAS,SAAA,GAAY,CAAA,EAAG,SAAS,CAAA,CAAA,GAAK,EAAE,CAAA;AAAA,IAC1C,CAAA;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,uBAAA,GAA0B,WAAA;AAAA,IAC9B,CAAC,SAAoB,QAAA,CAAS,CAAC,GAAG,IAAI,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,IAClD,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACd,MACE,mBAAmB,WAAW,CAAA,GAC1B,YAAY,GAAA,CAAI,CAAC,OAAA,qBACf,IAAA,CAAC,kBAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAA,EAAA,EAAY,kBAAQ,KAAA,EAAM,CAAA;AAAA,MAC1B,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,CAAC,2BACpB,GAAA,CAAC,WAAA,EAAA,EAAY,EAAA,EAAI,MAAA,CAAO,IAAA,EACrB,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADyB,MAAA,CAAO,IAE1C,CACD;AAAA,KAAA,EAAA,EANsB,QAAQ,KAOjC,CACD,CAAA,GACD,WAAA,CAAY,IAAI,CAAC,MAAA,qBACf,GAAA,CAAC,WAAA,EAAA,EAAY,IAAI,MAAA,CAAO,IAAA,EACrB,iBAAO,KAAA,EAAA,EADyB,MAAA,CAAO,IAE1C,CACD,CAAA;AAAA,IACP,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,OAAO,QAAA,mBACL,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,YAAA,EAAc,GAAA;AAAA,MACd,aAAA,EAAc,UAAA;AAAA,MACd,IAAA;AAAA,MACA,iBAAA,EAAmB,uBAAA;AAAA,MACnB,YAAA,EAAY,KAAA;AAAA,MAEX,QAAA,EAAA;AAAA;AAAA,GACH,mBAEA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,OAAO,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,GAAI,GAAA,CAAI,CAAC,CAAA,GAAI,GAAA;AAAA,MACrC,IAAA;AAAA,MACA,SAAA,EAAW,KAAA,KAAU,OAAA,IAAW,CAAC,UAAA;AAAA,MACjC,QAAA,EAAU,qBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MAEX,QAAA,EAAA,CAAC,gCACA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,eAAA,EAAA,EACE,QAAA,EAAA,CAAC,EAAE,YAAA,OAAmB,YAAA,EACzB,CAAA;AAAA,UACC,eAAA,CAAgB,KAAA,EAAO,MAAA,EAAQ,WAAW;AAAA,SAAA,EAC7C,CAAA;AAAA,wBACA,GAAA,CAAC,OAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAa,mBAAQ,CAAA,EACxB;AAAA,OAAA,EACF;AAAA;AAAA,GAEJ;AAEJ","file":"value-selector.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useContext, useMemo } from 'react';\nimport type { Selection } from 'react-aria-components';\nimport {\n type FullOption,\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { callRenderProps } from '../../utils/props';\nimport { AriaHeader, AriaListBoxSection, AriaSelectValue } from '../aria';\nimport { Button } from '../button';\nimport { Options, OptionsItem, OptionsList } from '../options';\nimport { Select } from '../select';\nimport { QueryBuilderContext } from './constants';\n\nexport function ValueSelector<T extends FullOption = FullOption>({\n handleOnChange,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n}: ValueSelectorProps<T>) {\n const { icons, size } = useContext(QueryBuilderContext);\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key | null) => {\n onChange(selection ? `${selection}` : []);\n },\n [onChange],\n );\n\n const handleMultiSelectChange = useCallback(\n (keys: Selection) => onChange([...keys].join(', ')),\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <AriaListBoxSection key={section.label}>\n <AriaHeader>{section.label}</AriaHeader>\n {section.options.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n ))}\n </AriaListBoxSection>\n ))\n : optionsProp.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n )),\n [optionsProp],\n );\n\n return multiple ? (\n <OptionsList // TODO: Replace with ChipField when it exists\n {...rest}\n selectedKeys={val}\n selectionMode='multiple'\n size={size}\n onSelectionChange={handleMultiSelectChange}\n aria-label={title}\n >\n {options}\n </OptionsList>\n ) : (\n <Select\n {...rest}\n value={Array.isArray(val) ? val[0] : val}\n size={size}\n isInvalid={title === 'Value' && !validation}\n onChange={handleSelectionChange}\n aria-label={title}\n >\n {(renderProps) => (\n <>\n <Button>\n <AriaSelectValue>\n {({ selectedText }) => selectedText}\n </AriaSelectValue>\n {callRenderProps(icons?.select, renderProps)}\n </Button>\n <Options>\n <OptionsList>{options}</OptionsList>\n </Options>\n </>\n )}\n </Select>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":[],"mappings":"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","file":"value-selector.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useCallback, useContext, useMemo } from 'react';\nimport {\n type FullOption,\n isOptionGroupArray,\n useValueSelector,\n type ValueSelectorProps,\n} from 'react-querybuilder';\nimport { callRenderProps } from '../../utils/props';\nimport { AriaHeader, AriaListBoxSection, AriaSelectValue } from '../aria';\nimport { Button } from '../button';\nimport { Options, OptionsItem, OptionsList } from '../options';\nimport { Select } from '../select';\nimport { QueryBuilderContext } from './constants';\nimport type { Key } from '@react-types/shared';\nimport type { Selection } from 'react-aria-components';\n\nexport function ValueSelector<T extends FullOption = FullOption>({\n handleOnChange,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n}: ValueSelectorProps<T>) {\n const { icons, size } = useContext(QueryBuilderContext);\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key | null) => {\n onChange(selection ? `${selection}` : []);\n },\n [onChange],\n );\n\n const handleMultiSelectChange = useCallback(\n (keys: Selection) => onChange([...keys].join(', ')),\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <AriaListBoxSection key={section.label}>\n <AriaHeader>{section.label}</AriaHeader>\n {section.options.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n ))}\n </AriaListBoxSection>\n ))\n : optionsProp.map((option) => (\n <OptionsItem id={option.name} key={option.name}>\n {option.label}\n </OptionsItem>\n )),\n [optionsProp],\n );\n\n return multiple ? (\n <OptionsList // TODO: Replace with ChipField when it exists\n {...rest}\n selectedKeys={val}\n selectionMode='multiple'\n size={size}\n onSelectionChange={handleMultiSelectChange}\n aria-label={title}\n >\n {options}\n </OptionsList>\n ) : (\n <Select\n {...rest}\n value={Array.isArray(val) ? val[0] : val}\n size={size}\n isInvalid={title === 'Value' && !validation}\n onChange={handleSelectionChange}\n aria-label={title}\n >\n {(renderProps) => (\n <>\n <Button>\n <AriaSelectValue>\n {({ selectedText }) => selectedText}\n </AriaSelectValue>\n {callRenderProps(icons?.select, renderProps)}\n </Button>\n <Options>\n <OptionsList>{options}</OptionsList>\n </Options>\n </>\n )}\n </Select>\n );\n}\n"]}
@@ -12,14 +12,14 @@ import { jsx } from 'react/jsx-runtime';
12
12
 
13
13
  var RadioContext = createContext(null);
14
14
  var Radio = forwardRef(function Radio2(props, ref) {
15
- [props, ref] = useContextProps(props, ref, RadioContext);
16
- props = useDefaultProps(props, "Radio");
15
+ const [contextProps, contextRef] = useContextProps(props, ref, RadioContext);
16
+ const finalProps = useDefaultProps(contextProps, "Radio");
17
17
  const {
18
18
  children: childrenProp,
19
19
  classNames: classNamesProp,
20
20
  alignInput = "end",
21
21
  ...rest
22
- } = props;
22
+ } = finalProps;
23
23
  const theme = useTheme();
24
24
  const classNames = useMemo(
25
25
  () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),
@@ -43,7 +43,7 @@ var Radio = forwardRef(function Radio2(props, ref) {
43
43
  Radio$1,
44
44
  {
45
45
  ...rest,
46
- ref,
46
+ ref: contextRef,
47
47
  style,
48
48
  className: classNames?.radio?.container,
49
49
  children
@@ -52,8 +52,12 @@ var Radio = forwardRef(function Radio2(props, ref) {
52
52
  });
53
53
  var RadioGroupContext = createContext(null);
54
54
  var RadioGroup = forwardRef(function RadioGroup2(props, ref) {
55
- [props, ref] = useContextProps(props, ref, RadioGroupContext);
56
- props = useDefaultProps(props, "RadioGroup");
55
+ const [contextProps, contextRef] = useContextProps(
56
+ props,
57
+ ref,
58
+ RadioGroupContext
59
+ );
60
+ const finalProps = useDefaultProps(contextProps, "RadioGroup");
57
61
  const theme = useTheme();
58
62
  const {
59
63
  children: childrenProp,
@@ -61,7 +65,7 @@ var RadioGroup = forwardRef(function RadioGroup2(props, ref) {
61
65
  alignInput = "end",
62
66
  orientation = "vertical",
63
67
  ...rest
64
- } = props;
68
+ } = finalProps;
65
69
  const classNames = useMemo(
66
70
  () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),
67
71
  [classNamesProp, theme.Radio]
@@ -103,7 +107,7 @@ var RadioGroup = forwardRef(function RadioGroup2(props, ref) {
103
107
  RadioGroup$1,
104
108
  {
105
109
  ...rest,
106
- ref,
110
+ ref: contextRef,
107
111
  className: classNames?.group?.container,
108
112
  style,
109
113
  orientation,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/radio/index.tsx"],"names":["Radio","RACRadio","RadioGroup","RACRadioGroup"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type LabelProps,\n Provider,\n Radio as RACRadio,\n RadioGroup as RACRadioGroup,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaLabelContext } from '../aria';\nimport {\n radioClassNames,\n radioGroupStateVars,\n radioStateVars,\n} from './radio.css';\nimport type {\n RadioContextProps,\n RadioGroupProps,\n RadioGroupRenderProps,\n RadioProps,\n RadioRenderProps,\n} from './types';\n\nexport const RadioContext =\n createContext<ContextValue<RadioContextProps, HTMLLabelElement>>(null);\n\nexport const Radio = forwardRef(function Radio(\n props: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n [props, ref] = useContextProps(props, ref, RadioContext);\n props = useDefaultProps(props, 'Radio');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioRenderProps) =>\n inlineVars(radioStateVars, {\n ...renderProps,\n alignInput,\n }),\n [alignInput],\n );\n\n const children = useCallback(\n (renderProps: RadioRenderProps) => (\n <span className={classNames?.radio?.radio}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </span>\n ),\n [childrenProp, classNames?.radio],\n );\n\n return (\n <RACRadio\n {...rest}\n ref={ref}\n style={style}\n className={classNames?.radio?.container}\n >\n {children}\n </RACRadio>\n );\n});\n\nexport const RadioGroupContext =\n createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\n\nexport const RadioGroup = forwardRef(function RadioGroup(\n props: RadioGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, RadioGroupContext);\n\n props = useDefaultProps(props, 'RadioGroup');\n\n const theme = useTheme();\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n orientation = 'vertical',\n ...rest\n } = props;\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioGroupRenderProps) =>\n inlineVars(radioGroupStateVars, {\n ...renderProps,\n alignInput,\n orientation,\n }),\n [alignInput, orientation],\n );\n\n const values = useMemo<\n [\n [typeof RadioContext, ContextValue<RadioContextProps, HTMLLabelElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n ]\n >(\n () => [\n [\n RadioContext,\n {\n classNames,\n alignInput,\n },\n ],\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n ],\n [alignInput, classNames],\n );\n\n const children = useCallback(\n (renderProps: RadioGroupRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.group?.group}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.group, values],\n );\n\n return (\n <RACRadioGroup\n {...rest}\n ref={ref}\n className={classNames?.group?.container}\n style={style}\n orientation={orientation}\n >\n {children}\n </RACRadioGroup>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/radio/index.tsx"],"names":["Radio","RACRadio","RadioGroup","RACRadioGroup"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type LabelProps,\n Provider,\n Radio as RACRadio,\n RadioGroup as RACRadioGroup,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaLabelContext } from '../aria';\nimport {\n radioClassNames,\n radioGroupStateVars,\n radioStateVars,\n} from './radio.css';\nimport type {\n RadioContextProps,\n RadioGroupProps,\n RadioGroupRenderProps,\n RadioProps,\n RadioRenderProps,\n} from './types';\n\nexport const RadioContext =\n createContext<ContextValue<RadioContextProps, HTMLLabelElement>>(null);\n\nexport const Radio = forwardRef(function Radio(\n props: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, RadioContext);\n const finalProps = useDefaultProps(contextProps, 'Radio');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioRenderProps) =>\n inlineVars(radioStateVars, {\n ...renderProps,\n alignInput,\n }),\n [alignInput],\n );\n\n const children = useCallback(\n (renderProps: RadioRenderProps) => (\n <span className={classNames?.radio?.radio}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </span>\n ),\n [childrenProp, classNames?.radio],\n );\n\n return (\n <RACRadio\n {...rest}\n ref={contextRef}\n style={style}\n className={classNames?.radio?.container}\n >\n {children}\n </RACRadio>\n );\n});\n\nexport const RadioGroupContext =\n createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\n\nexport const RadioGroup = forwardRef(function RadioGroup(\n props: RadioGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n RadioGroupContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'RadioGroup');\n\n const theme = useTheme();\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput = 'end',\n orientation = 'vertical',\n ...rest\n } = finalProps;\n\n const classNames = useMemo(\n () => mergeClassNames(radioClassNames, theme.Radio, classNamesProp),\n [classNamesProp, theme.Radio],\n );\n\n const style = useCallback(\n (renderProps: RadioGroupRenderProps) =>\n inlineVars(radioGroupStateVars, {\n ...renderProps,\n alignInput,\n orientation,\n }),\n [alignInput, orientation],\n );\n\n const values = useMemo<\n [\n [typeof RadioContext, ContextValue<RadioContextProps, HTMLLabelElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n ]\n >(\n () => [\n [\n RadioContext,\n {\n classNames,\n alignInput,\n },\n ],\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n ],\n [alignInput, classNames],\n );\n\n const children = useCallback(\n (renderProps: RadioGroupRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.group?.group}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.group, values],\n );\n\n return (\n <RACRadioGroup\n {...rest}\n ref={contextRef}\n className={classNames?.group?.container}\n style={style}\n orientation={orientation}\n >\n {children}\n </RACRadioGroup>\n );\n});\n"]}
@@ -25,8 +25,12 @@ var defaultMapping = {
25
25
  };
26
26
  var SearchFieldContext = createContext(null);
27
27
  var SearchField = forwardRef(function SearchField2(props, ref) {
28
- [props, ref] = useContextProps(props, ref, SearchFieldContext);
29
- props = useDefaultProps(props, "SearchField");
28
+ const [contextProps, contextRef] = useContextProps(
29
+ props,
30
+ ref,
31
+ SearchFieldContext
32
+ );
33
+ const finalProps = useDefaultProps(contextProps, "SearchField");
30
34
  const {
31
35
  children: childrenProp,
32
36
  classNames: classNamesProp,
@@ -35,7 +39,7 @@ var SearchField = forwardRef(function SearchField2(props, ref) {
35
39
  variant = "solid",
36
40
  isDisabled,
37
41
  isReadOnly
38
- } = props;
42
+ } = finalProps;
39
43
  const theme = useTheme();
40
44
  const mapping = useMemo(
41
45
  () => ({
@@ -81,8 +85,8 @@ var SearchField = forwardRef(function SearchField2(props, ref) {
81
85
  return /* @__PURE__ */ jsx(
82
86
  SearchField$1,
83
87
  {
84
- ...props,
85
- ref,
88
+ ...finalProps,
89
+ ref: contextRef,
86
90
  className: classNames?.container,
87
91
  style,
88
92
  children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/search-field/index.tsx"],"names":["SearchField","RACSearchField"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n type GroupProps as RACGroupProps,\n SearchField as RACSearchField,\n type SearchFieldRenderProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaGroupContext } from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { IconContext } from '../icon';\nimport type { IconProps } from '../icon/types';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport {\n searchFieldClassNames,\n searchFieldStateVars,\n} from './search-field.css';\nimport type { SearchFieldMapping, SearchFieldProps } from './types';\n\nconst defaultMapping: SearchFieldMapping = {\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'sm' },\n },\n clear: {\n sm: { size: 'xs', variant: 'icon' },\n lg: { size: 'sm', variant: 'icon' },\n },\n};\n\nexport const SearchFieldContext =\n createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nexport const SearchField = forwardRef(function SearchField(\n props: SearchFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SearchFieldContext);\n props = useDefaultProps(props, 'SearchField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n variant = 'solid',\n isDisabled,\n isReadOnly,\n } = props;\n\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(searchFieldClassNames, theme.SearchField, classNamesProp),\n [theme.SearchField, classNamesProp],\n );\n\n const values = useMemo<\n [\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof IconContext, ContextValue<IconProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n ]\n >(\n () => [\n [AriaGroupContext, { className: classNames?.group }],\n [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.clear[size],\n classNames: classNames?.clear,\n isDisabled: isDisabled ?? isReadOnly,\n },\n ],\n ],\n [classNames, mapping, isDisabled, isReadOnly, size],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: SearchFieldRenderProps) =>\n inlineVars(searchFieldStateVars, {\n ...renderProps,\n variant,\n }),\n [variant],\n );\n\n const children = useCallback(\n (renderProps: SearchFieldRenderProps) => (\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n ),\n [childrenProp, values],\n );\n\n return (\n <RACSearchField\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSearchField>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/search-field/index.tsx"],"names":["SearchField","RACSearchField"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n type GroupProps as RACGroupProps,\n SearchField as RACSearchField,\n type SearchFieldRenderProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaGroupContext } from '../aria';\nimport { ButtonContext } from '../button';\nimport { IconContext } from '../icon';\nimport { InputContext } from '../input';\nimport {\n searchFieldClassNames,\n searchFieldStateVars,\n} from './search-field.css';\nimport type { ButtonProps } from '../button/types';\nimport type { IconProps } from '../icon/types';\nimport type { InputProps } from '../input/types';\nimport type { SearchFieldMapping, SearchFieldProps } from './types';\n\nconst defaultMapping: SearchFieldMapping = {\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'sm' },\n },\n clear: {\n sm: { size: 'xs', variant: 'icon' },\n lg: { size: 'sm', variant: 'icon' },\n },\n};\n\nexport const SearchFieldContext =\n createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nexport const SearchField = forwardRef(function SearchField(\n props: SearchFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n SearchFieldContext,\n );\n const finalProps = useDefaultProps(contextProps, 'SearchField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n variant = 'solid',\n isDisabled,\n isReadOnly,\n } = finalProps;\n\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(searchFieldClassNames, theme.SearchField, classNamesProp),\n [theme.SearchField, classNamesProp],\n );\n\n const values = useMemo<\n [\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof IconContext, ContextValue<IconProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n ]\n >(\n () => [\n [AriaGroupContext, { className: classNames?.group }],\n [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.clear[size],\n classNames: classNames?.clear,\n isDisabled: isDisabled ?? isReadOnly,\n },\n ],\n ],\n [classNames, mapping, isDisabled, isReadOnly, size],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: SearchFieldRenderProps) =>\n inlineVars(searchFieldStateVars, {\n ...renderProps,\n variant,\n }),\n [variant],\n );\n\n const children = useCallback(\n (renderProps: SearchFieldRenderProps) => (\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n ),\n [childrenProp, values],\n );\n\n return (\n <RACSearchField\n {...finalProps}\n ref={contextRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSearchField>\n );\n});\n"]}
@@ -29,14 +29,14 @@ var defaultMapping = {
29
29
  };
30
30
  var SelectContext = createContext(null);
31
31
  var Select = forwardRef(function Select2(props, ref) {
32
- [props, ref] = useContextProps(props, ref, SelectContext);
33
- props = useDefaultProps(props, "Select");
32
+ const [contextProps, contextRef] = useContextProps(props, ref, SelectContext);
33
+ const finalProps = useDefaultProps(contextProps, "Select");
34
34
  const {
35
35
  children: childrenProp,
36
36
  classNames: classNamesProp,
37
37
  mapping: mappingProp,
38
38
  size = "lg"
39
- } = props;
39
+ } = finalProps;
40
40
  const theme = useTheme();
41
41
  const mapping = useMemo(
42
42
  () => ({
@@ -98,8 +98,8 @@ var Select = forwardRef(function Select2(props, ref) {
98
98
  return /* @__PURE__ */ jsx(
99
99
  Select$1,
100
100
  {
101
- ...props,
102
- ref,
101
+ ...finalProps,
102
+ ref: contextRef,
103
103
  className: classNames?.container,
104
104
  style,
105
105
  children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/select/index.tsx"],"names":["Select","RACSelect"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n Provider,\n Select as RACSelect,\n type SelectRenderProps as RACSelectRenderProps,\n type SelectValueProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n AriaLabelContext,\n AriaSelectValueContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { OptionsContext } from '../options';\nimport type { OptionsProps } from '../options/types';\nimport { selectClassNames, selectStateVars } from './select.css';\nimport type { SelectMapping, SelectProps } from './types';\n\nconst defaultMapping: SelectMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'hollow' },\n lg: { size: 'md', variant: 'hollow' },\n },\n};\n\nexport const SelectContext =\n createContext<ContextValue<SelectProps<object>, HTMLDivElement>>(null);\n\nexport const Select = forwardRef(function Select<T extends object>(\n props: SelectProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SelectContext);\n props = useDefaultProps(props, 'Select');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = props;\n\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(selectClassNames, theme.Select, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [classNamesProp, theme.Select, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [\n typeof AriaSelectValueContext,\n ContextValue<SelectValueProps<object>, HTMLSpanElement>,\n ],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [AriaLabelContext, { className: classNames?.label }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaSelectValueContext,\n {\n className: classNames?.value,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: RACSelectRenderProps) =>\n inlineVars(selectStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: RACSelectRenderProps) => (\n <div className={classNames?.select}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [childrenProp, values, classNames?.select],\n );\n\n return (\n <RACSelect\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSelect>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/select/index.tsx"],"names":["Select","RACSelect"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n Provider,\n Select as RACSelect,\n type SelectRenderProps as RACSelectRenderProps,\n type SelectValueProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n AriaLabelContext,\n AriaSelectValueContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext } from '../button';\nimport { OptionsContext } from '../options';\nimport { selectClassNames, selectStateVars } from './select.css';\nimport type { ButtonProps } from '../button/types';\nimport type { OptionsProps } from '../options/types';\nimport type { SelectMapping, SelectProps } from './types';\n\nconst defaultMapping: SelectMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'hollow' },\n lg: { size: 'md', variant: 'hollow' },\n },\n};\n\nexport const SelectContext =\n createContext<ContextValue<SelectProps<object>, HTMLDivElement>>(null);\n\nexport const Select = forwardRef(function Select<T extends object>(\n props: SelectProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, SelectContext);\n const finalProps = useDefaultProps(contextProps, 'Select');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = finalProps;\n\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(selectClassNames, theme.Select, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [classNamesProp, theme.Select, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [\n typeof AriaSelectValueContext,\n ContextValue<SelectValueProps<object>, HTMLSpanElement>,\n ],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [AriaLabelContext, { className: classNames?.label }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaSelectValueContext,\n {\n className: classNames?.value,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: RACSelectRenderProps) =>\n inlineVars(selectStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: RACSelectRenderProps) => (\n <div className={classNames?.select}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [childrenProp, values, classNames?.select],\n );\n\n return (\n <RACSelect\n {...finalProps}\n ref={contextRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSelect>\n );\n});\n"]}