@accelint/design-toolkit 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +16 -7
  2. package/dist/components/accordion/index.d.ts +21 -30
  3. package/dist/components/accordion/index.js +1 -1
  4. package/dist/components/accordion/index.js.map +1 -1
  5. package/dist/components/accordion/styles.d.ts +96 -0
  6. package/dist/components/accordion/styles.js +2 -0
  7. package/dist/components/accordion/styles.js.map +1 -0
  8. package/dist/components/accordion/types.d.ts +20 -0
  9. package/dist/components/avatar/index.js.map +1 -1
  10. package/dist/components/badge/index.js.map +1 -1
  11. package/dist/components/box/index.js.map +1 -1
  12. package/dist/components/button/index.js +1 -1
  13. package/dist/components/button/index.js.map +1 -1
  14. package/dist/components/checkbox/index.js +1 -1
  15. package/dist/components/checkbox/index.js.map +1 -1
  16. package/dist/components/chip/index.js +1 -1
  17. package/dist/components/chip/index.js.map +1 -1
  18. package/dist/components/classification-badge/index.js.map +1 -1
  19. package/dist/components/classification-banner/index.js.map +1 -1
  20. package/dist/components/color-picker/index.js.map +1 -1
  21. package/dist/components/combobox/index.d.ts +7 -16
  22. package/dist/components/combobox/index.js +1 -1
  23. package/dist/components/combobox/index.js.map +1 -1
  24. package/dist/components/date-field/index.js.map +1 -1
  25. package/dist/components/dialog/index.js +1 -1
  26. package/dist/components/dialog/index.js.map +1 -1
  27. package/dist/components/floating-button/index.js.map +1 -1
  28. package/dist/components/icon/index.d.ts +15 -15
  29. package/dist/components/icon/index.js +1 -1
  30. package/dist/components/icon/index.js.map +1 -1
  31. package/dist/components/icon/styles.d.ts +34 -0
  32. package/dist/components/icon/styles.js +2 -0
  33. package/dist/components/icon/styles.js.map +1 -0
  34. package/dist/components/icon/types.d.ts +10 -0
  35. package/dist/components/icon/types.js +2 -0
  36. package/dist/components/icon/types.js.map +1 -0
  37. package/dist/components/icon-button/index.js +1 -1
  38. package/dist/components/icon-button/index.js.map +1 -1
  39. package/dist/components/label/index.js.map +1 -1
  40. package/dist/components/options/index.d.ts +32 -0
  41. package/dist/components/options/index.js +2 -0
  42. package/dist/components/options/index.js.map +1 -0
  43. package/dist/components/options-item/index.d.ts +30 -0
  44. package/dist/components/options-item/index.js +2 -0
  45. package/dist/components/options-item/index.js.map +1 -0
  46. package/dist/components/query-builder/action-element.js.map +1 -1
  47. package/dist/components/query-builder/constants.js.map +1 -1
  48. package/dist/components/query-builder/example-configuration.js.map +1 -1
  49. package/dist/components/query-builder/group.js.map +1 -1
  50. package/dist/components/query-builder/index.js.map +1 -1
  51. package/dist/components/query-builder/rule.js.map +1 -1
  52. package/dist/components/query-builder/utils.js.map +1 -1
  53. package/dist/components/query-builder/value-editor.js.map +1 -1
  54. package/dist/components/query-builder/value-selector.js.map +1 -1
  55. package/dist/components/radio/index.js +1 -1
  56. package/dist/components/radio/index.js.map +1 -1
  57. package/dist/components/search-field/index.js +1 -1
  58. package/dist/components/search-field/index.js.map +1 -1
  59. package/dist/components/slider/index.d.ts +23 -0
  60. package/dist/components/slider/index.js +2 -0
  61. package/dist/components/slider/index.js.map +1 -0
  62. package/dist/components/switch/index.js +1 -1
  63. package/dist/components/switch/index.js.map +1 -1
  64. package/dist/components/tabs/index.js +1 -1
  65. package/dist/components/tabs/index.js.map +1 -1
  66. package/dist/components/text-area/index.js.map +1 -1
  67. package/dist/components/text-field/index.js +1 -1
  68. package/dist/components/text-field/index.js.map +1 -1
  69. package/dist/components/toggle-icon-button/index.js +1 -1
  70. package/dist/components/toggle-icon-button/index.js.map +1 -1
  71. package/dist/components/tooltip/index.js.map +1 -1
  72. package/dist/icons/catalog.js.map +1 -1
  73. package/dist/index.css +6 -6
  74. package/dist/index.d.ts +14 -6
  75. package/dist/index.js +1 -1
  76. package/dist/lib/react.js.map +1 -1
  77. package/dist/lib/types.d.ts +29 -0
  78. package/dist/lib/types.js +2 -0
  79. package/dist/lib/types.js.map +1 -0
  80. package/dist/lib/utils.d.ts +15 -1
  81. package/dist/lib/utils.js +1 -1
  82. package/dist/lib/utils.js.map +1 -1
  83. package/dist/metafile-esm.json +1 -1
  84. package/dist/styles.css +311 -158
  85. package/package.json +14 -11
  86. package/dist/types/types.d.ts +0 -11
  87. /package/dist/{types → components/accordion}/types.js +0 -0
  88. /package/dist/{types → components/accordion}/types.js.map +0 -0
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren, RefAttributes } from 'react';
2
+ import { IconStyleVariants } from './styles.js';
3
+ import 'tailwind-variants';
4
+
5
+ type IconProps = PropsWithChildren<RefAttributes<HTMLSpanElement> & IconStyleVariants & {
6
+ className?: string;
7
+ }>;
8
+ type IconProviderProps = PropsWithChildren<IconStyleVariants>;
9
+
10
+ export type { IconProps, IconProviderProps };
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -1,2 +1,2 @@
1
- import {expectsIconWrapper}from'./../../lib/react.js';import {cn}from'./../../lib/utils.js';import {cva}from'cva';import {Button,composeRenderProps}from'react-aria-components';import {jsx}from'react/jsx-runtime';var o=cva("inline-flex cursor-pointer items-center justify-center ai-pressed:bg-interactive-hover-dark bg-transparent outline-none hover:bg-interactive-hover-dark focus:bg-interactive-hover-dark",{variants:{variant:{primary:"icon-default-light",secondary:"icon-default-dark hover:icon-default-light ai-pressed:icon-default-light focus:icon-default-light",child:"ai-pressed:bg-transparent bg-transparent hover:bg-transparent focus:bg-default-light/5"},size:{medium:"size-[28px] rounded-medium [--icon-size:var(--spacing-xl)]",small:"size-[20px] rounded-small [--icon-size:var(--spacing-l)]"},isDisabled:{true:"icon-disabled fg-disabled hover:fg-disabled focus:fg-disabled cursor-not-allowed ai-pressed:bg-transparent bg-transparent hover:bg-transparent focus:bg-transparent",false:""}},compoundVariants:[{isDisabled:true,variant:"child",className:"cursor-default"}],defaultVariants:{isDisabled:false,size:"medium",variant:"primary"}}),r=({className:e,size:t="medium",variant:s="primary",isDisabled:a,...i})=>(expectsIconWrapper({children:i.children,componentName:r.displayName}),jsx(Button,{className:composeRenderProps(e,d=>cn(o({isDisabled:a,size:t,variant:s,className:d}))),isDisabled:a,...i}));r.displayName="IconButton";r.as=(e,t)=>cn(o({...e,className:t}));export{r as IconButton};//# sourceMappingURL=index.js.map
1
+ import {expectsIconWrapper}from'./../../lib/react.js';import {cn}from'./../../lib/utils.js';import {cva}from'cva';import {Button,composeRenderProps}from'react-aria-components';import {jsx}from'react/jsx-runtime';var o=cva("inline-flex cursor-pointer items-center justify-center bg-transparent dtk-pressed:bg-interactive-hover-dark outline-none hover:bg-interactive-hover-dark focus:bg-interactive-hover-dark",{variants:{variant:{primary:"icon-default-light",secondary:"icon-default-dark hover:icon-default-light dtk-pressed:icon-default-light focus:icon-default-light",child:"bg-transparent dtk-pressed:bg-transparent hover:bg-transparent focus:bg-default-light/5"},size:{medium:"size-[28px] rounded-medium [--icon-size:var(--spacing-xl)]",small:"size-[20px] rounded-small [--icon-size:var(--spacing-l)]"},isDisabled:{true:"icon-disabled fg-disabled hover:fg-disabled focus:fg-disabled cursor-not-allowed bg-transparent dtk-pressed:bg-transparent hover:bg-transparent focus:bg-transparent",false:""}},compoundVariants:[{isDisabled:true,variant:"child",className:"cursor-default"}],defaultVariants:{isDisabled:false,size:"medium",variant:"primary"}}),r=({className:e,size:t="medium",variant:s="primary",isDisabled:a,...n})=>(expectsIconWrapper({children:n.children,componentName:r.displayName}),jsx(Button,{className:composeRenderProps(e,d=>cn(o({isDisabled:a,size:t,variant:s,className:d}))),isDisabled:a,...n}));r.displayName="IconButton";r.as=(e,t)=>cn(o({...e,className:t}));export{r as IconButton};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/icon-button/index.tsx"],"names":["c","IconButton","className","size","isDisabled","props","l","jsx","composeRenderProps","iconButtonStyles"],"mappings":"oNAuBE,IAAA,CAAA,CAAAA,GAAA,CAAA,yLAEa,CAAA,CAAA,QACE,CAAA,CAAA,OAAA,CAAA,CAAA,OAAA,CAAA,oBAGT,CAAA,SAAA,CAAA,mGAEF,CAAA,KAAA,CAAA,wFAEU,CAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,4DAEV,CAAA,KAAA,CAAA,0DAEE,CAAM,CAAA,UAAA,CAAA,CAAA,IAAA,CAAA,qKAIV,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,gBAEgB,CAAA,CAAA,CACZ,UAAS,CAAA,IAAA,CAAA,eAEX,CAAA,SAAA,CAAA,gBAEF,CAAA,CAAA,CAAA,eACc,CAAA,CACZ,UAAM,CAAA,KAAA,CACN,aACF,CAAA,OAUSC,CAAa,SACxB,CAAA,CAAA,CAAA,CAAAC,EACA,CAAAC,CAAAA,SACA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,QAAU,CAAA,OACVC,CAAAA,CAAAA,CAAAA,SACA,WAEmB,CACjB,CAAUC,CAAAA,GAAAA,CAAAA,CAAAA,IAAMC,kBAChB,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,QAAA,CAAeL,aACjB,CAAC,CAGCM,CAAAA,WACaC,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,MAAmBN,EAAYA,SAGpCE,CAAAA,kBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,CAAAA,CACA,CAAAD,iBAEA,CAAA,CAAA,CAAA,OACF,CAAC,CACH,CACF,SACA,CAAA,CAAA,CAAA,CAAYC,EACX,CAAGC,UAKe,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,WACzBJ,CAAW,YAGHQ,CAAAA,CAAAA,CAAiB,EAAKJ,CAAAA,CAAAA,CAAAA,CAAO,CAAAH,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAW,CAAC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA","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 { expectsIconWrapper } from '@/lib/react';\nimport { cn } from '@/lib/utils';\nimport { type VariantProps, cva } from 'cva';\nimport {\n Button as AriaButton,\n type ButtonProps as AriaButtonProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nconst iconButtonStyles = cva(\n 'inline-flex cursor-pointer items-center justify-center ai-pressed:bg-interactive-hover-dark bg-transparent outline-none hover:bg-interactive-hover-dark focus:bg-interactive-hover-dark',\n {\n variants: {\n variant: {\n primary: 'icon-default-light',\n secondary:\n 'icon-default-dark hover:icon-default-light ai-pressed:icon-default-light focus:icon-default-light',\n child:\n 'ai-pressed:bg-transparent bg-transparent hover:bg-transparent focus:bg-default-light/5',\n },\n size: {\n medium: 'size-[28px] rounded-medium [--icon-size:var(--spacing-xl)]',\n small: 'size-[20px] rounded-small [--icon-size:var(--spacing-l)]',\n },\n isDisabled: {\n true: 'icon-disabled fg-disabled hover:fg-disabled focus:fg-disabled cursor-not-allowed ai-pressed:bg-transparent bg-transparent hover:bg-transparent focus:bg-transparent',\n false: '',\n },\n },\n compoundVariants: [\n {\n isDisabled: true,\n variant: 'child',\n className: 'cursor-default',\n },\n ],\n defaultVariants: {\n isDisabled: false,\n size: 'medium',\n variant: 'primary',\n },\n },\n);\n\nexport interface IconButtonProps\n extends Omit<AriaButtonProps, 'isDisabled'>,\n VariantProps<typeof iconButtonStyles> {\n isDisabled?: boolean;\n}\n\nexport const IconButton = ({\n className,\n size = 'medium',\n variant = 'primary',\n isDisabled,\n ...props\n}: IconButtonProps) => {\n expectsIconWrapper({\n children: props.children,\n componentName: IconButton.displayName,\n });\n\n return (\n <AriaButton\n className={composeRenderProps(className, (className) =>\n cn(\n iconButtonStyles({\n isDisabled,\n size,\n variant,\n className,\n }),\n ),\n )}\n isDisabled={isDisabled}\n {...props}\n />\n );\n};\n\nIconButton.displayName = 'IconButton';\nIconButton.as = (\n props: VariantProps<typeof iconButtonStyles>,\n className?: string | string[],\n) => cn(iconButtonStyles({ ...props, className }));\n"]}
1
+ {"version":3,"sources":["../../../src/components/icon-button/index.tsx"],"names":["c","IconButton","className","l","jsx","m","composeRenderProps","u","i","isDisabled","cn","iconButtonStyles","props"],"mappings":"oNAsBE,IAAA,CAAA,CAAAA,GAAA,CAAA,0LAGI,CAAA,CAAA,QACE,CAAA,CAAA,OAAS,CAAA,CAAA,OAAA,CAAA,oBAEP,CAAA,SAAA,CAAA,oGAEA,CAAA,KAAA,CAAA,yFAGF,CAAQ,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,4DACD,CAAA,KAAA,CAAA,0DAGP,CAAA,CAAA,UAAM,CAAA,CAAA,IAAA,CAAA,sKAIV,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,gBAEgB,CAAA,CAAA,CACZ,UAAS,CAAA,IAAA,CAAA,eACE,CAAA,SAAA,CAAA,gBAGf,CAAA,CAAA,CAAA,eACc,CAAA,CACZ,UAAM,CAAA,KAAA,CACN,aAAS,CAAA,OAWFC,CAAAA,SACX,CAAA,CAAA,CAAA,CAAAC,EACA,CAAA,CAAA,SAAO,CAAA,CAAA,CAAA,IACP,CAAA,CAAA,CAAA,QAAU,CAAA,OACV,CAAA,CAAA,CAAA,SACA,WAEmB,CACjB,CAAA,CAAA,GAAA,CAAA,CAAA,IAAgBC,kBAAA,CAAA,CAAA,QAChB,CAAA,CAAA,CAAA,QAAA,CAAeF,aACjB,CAAC,CAAA,CAGCG,WACE,CAAA,CAAA,CAAAC,GAAWC,CAAAA,MAAmBJ,EAAYA,SAGpC,CAAAK,kBAAA,CAAA,CAAA,CAAA,CAAA,EAAAC,EAAA,CAAAC,CAAAA,CACA,CAAA,iBAEA,CAAA,CAAA,CAAA,OACF,CAAC,CACH,CACF,SACA,CAAA,CAAA,CAAA,CAAYA,EACX,CAAA,UAKI,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,WACzBR,CAAAA,YAGKS,CAAGC,CAAAA,CAAiB,EAAE,CAAA,CAAGC,CAAAA,CAAO,CAAA,GAAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA","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 { expectsIconWrapper } from '@/lib/react';\nimport { cn } from '@/lib/utils';\nimport { type VariantProps, cva } from 'cva';\nimport {\n Button as AriaButton,\n type ButtonProps as AriaButtonProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nconst iconButtonStyles = cva(\n 'inline-flex cursor-pointer items-center justify-center bg-transparent dtk-pressed:bg-interactive-hover-dark outline-none hover:bg-interactive-hover-dark focus:bg-interactive-hover-dark',\n {\n variants: {\n variant: {\n primary: 'icon-default-light',\n secondary:\n 'icon-default-dark hover:icon-default-light dtk-pressed:icon-default-light focus:icon-default-light',\n child:\n 'bg-transparent dtk-pressed:bg-transparent hover:bg-transparent focus:bg-default-light/5',\n },\n size: {\n medium: 'size-[28px] rounded-medium [--icon-size:var(--spacing-xl)]',\n small: 'size-[20px] rounded-small [--icon-size:var(--spacing-l)]',\n },\n isDisabled: {\n true: 'icon-disabled fg-disabled hover:fg-disabled focus:fg-disabled cursor-not-allowed bg-transparent dtk-pressed:bg-transparent hover:bg-transparent focus:bg-transparent',\n false: '',\n },\n },\n compoundVariants: [\n {\n isDisabled: true,\n variant: 'child',\n className: 'cursor-default',\n },\n ],\n defaultVariants: {\n isDisabled: false,\n size: 'medium',\n variant: 'primary',\n },\n },\n);\n\nexport interface IconButtonProps\n extends Omit<AriaButtonProps, 'isDisabled'>,\n VariantProps<typeof iconButtonStyles> {\n isDisabled?: boolean;\n}\n\nexport const IconButton = ({\n className,\n size = 'medium',\n variant = 'primary',\n isDisabled,\n ...props\n}: IconButtonProps) => {\n expectsIconWrapper({\n children: props.children,\n componentName: IconButton.displayName,\n });\n\n return (\n <AriaButton\n className={composeRenderProps(className, (className) =>\n cn(\n iconButtonStyles({\n isDisabled,\n size,\n variant,\n className,\n }),\n ),\n )}\n isDisabled={isDisabled}\n {...props}\n />\n );\n};\n\nIconButton.displayName = 'IconButton';\nIconButton.as = (\n props: VariantProps<typeof iconButtonStyles>,\n className?: string | string[],\n) => cn(iconButtonStyles({ ...props, className }));\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/label/index.tsx"],"names":["cva","className","isDisabled","jsxs","props","isOptional","cn","labelStyles"],"mappings":"2IAmBoBA,mEAGhB,CAAA,CAAA,QACE,CAAA,CAAA,UACQ,CAAA,CAAA,IAAA,CAAA,aACC,CACT,KAAA,CAAA,kBAEe,CAAA,CAAA,CAAA,2BAWd,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SACL,CAAA,CAAA,CAAA,QACAC,CAAAA,CAAAA,CAAAA,SACAC,CAAAA,CAAAA,CAAAA,uBAGF,CAAe,CAAA,CACb,OACEC,OACMC,IAAAA,CAAAA,KACJ,gBAA4BF,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,oCAElB,CAAEG,GAAc,GAC5B,CAAA,CAAA,EAAA,YAGE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBACwCC,CAAGC,EAAAA,CAAY,CAAE,EAAAN,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAY,CAAA,CAAA,CAAA,CAAA,CAAA","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 { cn } from '@/lib/utils';\nimport { cva } from 'cva';\nimport {\n Label as AriaLabel,\n type LabelProps as AriaLabelProps,\n} from 'react-aria-components';\n\nconst labelStyles = cva(\n 'fg-default-light flex items-center gap-xs text-header-s',\n {\n variants: {\n isDisabled: {\n true: 'fg-disabled',\n false: 'fg-default-light',\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n },\n);\n\ninterface LabelProps extends AriaLabelProps {\n isDisabled?: boolean;\n isOptional?: boolean;\n}\n\nexport function Label({\n children,\n className,\n isDisabled,\n isOptional,\n ...props\n}: LabelProps) {\n return (\n <AriaLabel\n {...props}\n className={cn(labelStyles({ isDisabled, className }))}\n >\n {children} {isOptional && '(optional)'}\n </AriaLabel>\n );\n}\nLabel.displayName = 'Label';\nLabel.as = (className?: string | string[]) => cn(labelStyles({ className }));\n"]}
1
+ {"version":3,"sources":["../../../src/components/label/index.tsx"],"names":["cva","jsxs","f","props","e","isOptional","cn","labelStyles"],"mappings":"2IAmBoBA,mEAGhB,CAAA,CAAA,QACE,CAAA,CAAA,UACQ,CAAA,CAAA,IAAA,CAAA,aACC,CAAA,KAAA,CAAA,kBAGX,CAAA,CAAA,CAAA,2BAWG,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SACL,CAAA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,uBAGF,CAAA,CAAe,CACb,OACEC,OACGC,IAAGC,CAAAA,KACJ,gBAA4B,CAAAC,EAAA,CAAA,CAAA,CAAA,CAAA,oCAElB,CAAEC,GAAc,GAAA,CAAA,CAAA,EAAA,YAI1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBACwCC,CAAAA,EAAGC,CAAY,CAAE,EAAAH,EAAA,CAAA,CAAA,CAAA,CAAA,SAAY,CAAA,CAAA,CAAA,CAAA,CAAA","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 { cn } from '@/lib/utils';\nimport { cva } from 'cva';\nimport {\n Label as AriaLabel,\n type LabelProps as AriaLabelProps,\n} from 'react-aria-components';\n\nconst labelStyles = cva(\n 'fg-default-light flex items-center gap-xs text-header-s',\n {\n variants: {\n isDisabled: {\n true: 'fg-disabled',\n false: 'fg-default-light',\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n },\n);\n\ninterface LabelProps extends AriaLabelProps {\n isDisabled?: boolean;\n isOptional?: boolean;\n}\n\nexport function Label({\n children,\n className,\n isDisabled,\n isOptional,\n ...props\n}: LabelProps) {\n return (\n <AriaLabel\n {...props}\n className={cn(labelStyles({ isDisabled, className }))}\n >\n {children} {isOptional && '(optional)'}\n </AriaLabel>\n );\n}\nLabel.displayName = 'Label';\nLabel.as = (className?: string | string[]) => cn(labelStyles({ className }));\n"]}
@@ -0,0 +1,32 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { ListBoxProps, ListBoxSectionProps } from 'react-aria-components';
4
+ import { IOptionsItem, OptionsItemProps, OptionsItem } from '../options-item/index.js';
5
+ import 'cva/types';
6
+ import 'cva';
7
+
8
+ interface OptionsProps<T extends IOptionsItem> extends ListBoxProps<T> {
9
+ className?: string;
10
+ description?: string;
11
+ errorMessage?: string;
12
+ label?: string;
13
+ placeholder?: string;
14
+ size?: OptionsItemProps<T>['size'];
15
+ type?: OptionsItemProps<T>['type'];
16
+ }
17
+ declare const OptionsContext: React.Context<Pick<OptionsProps<IOptionsItem>, "size" | "type">>;
18
+ declare function Options<T extends IOptionsItem>({ children, className, description, errorMessage, label, placeholder, size, type, ...props }: OptionsProps<T>): react_jsx_runtime.JSX.Element;
19
+ declare namespace Options {
20
+ var displayName: string;
21
+ var Item: typeof OptionsItem;
22
+ var Section: typeof OptionsSection;
23
+ }
24
+ interface OptionsSectionProps<T extends IOptionsItem> extends ListBoxSectionProps<T> {
25
+ header?: string;
26
+ }
27
+ declare function OptionsSection<T extends IOptionsItem>({ children, header, items, }: OptionsSectionProps<T>): react_jsx_runtime.JSX.Element;
28
+ declare namespace OptionsSection {
29
+ var displayName: string;
30
+ }
31
+
32
+ export { Options, OptionsContext, type OptionsProps, OptionsSection };
@@ -0,0 +1,2 @@
1
+ import'client-only';import {createContext}from'react';import {ListBox,ListBoxSection,Header,Collection}from'react-aria-components';import {OptionsItem}from'../options-item/index.js';import {jsx,jsxs}from'react/jsx-runtime';var I=createContext({size:"large",type:"default"});function s({children:e,className:o,description:i,errorMessage:f,label:y,placeholder:B,size:n,type:a,...p}){return jsx(I.Provider,{value:{size:n,type:a},children:jsx(ListBox,{className:"max-h-[200px] overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static-light",...p,children:e})})}s.displayName="Options";s.Item=OptionsItem;function r({children:e,header:o,items:i}){return jsxs(ListBoxSection,{id:o,className:"mt-s border-default-dark border-t first:border-none",children:[jsx(Header,{className:"m-xs my-s text-default-dark text-header-xs",children:o}),jsx(Collection,{items:i,children:e})]})}r.displayName="Options.Section";s.Section=r;export{s as Options,I as OptionsContext,r as OptionsSection};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/options/index.tsx"],"names":["OptionsContext","createContext","Options","children","className","description","errorMessage","label","placeholder","size","type","jsx","AriaListBox","props","OptionsItem","OptionsSection","header","items","jsxs","AriaListBoxSection","AriaHeader","AriaListBoxCollection"],"mappings":"+NAuCaA,IAAAA,CAAiBC,CAAAA,aAE5B,CACA,KAAM,CAAA,OACN,CAAA,IAAM,CAAA,SACP,CAAA,EAEM,SAASC,CAAgC,CAC9C,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAAC,CAAAA,CACA,CAAA,WAAAC,CAAAA,CACA,CAAA,YAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,CAAA,WAAAC,CAAAA,CACA,CAAA,IAAAC,CAAAA,CACA,CAAA,IAAAC,CAAAA,CACA,CAAA,GACF,CAAA,CAAoB,CAClB,CAAA,OACEC,GAACX,CAAAA,CAAe,CAAA,QAAf,CAAwB,MAAO,CAAE,CAAA,IAAAS,CAAAA,CAAM,CAAA,IAAAC,CAAK,CAAA,CAC3C,CAAA,QAAAC,CAAAA,GAACC,CAAAA,OAAA,CACC,CAAA,SAAU,CAAA,uIACT,CAAA,GAAGC,CAEH,CAAA,QAAAV,CAAAA,CACH,CAAA,CACF,CAEJ,CACAD,CAAAA,CAAQ,CAAA,WAAc,CAAA,SAEtBA,CAAAA,CAAQ,CAAA,IAAOY,CAAAA,WAOR,CAAA,SAASC,CAAuC,CACrD,CAAA,QAAAZ,CAAAA,CACA,CAAA,MAAAa,CAAAA,CACA,MAAAC,CACF,CAAA,CAA2B,CACzB,CAAA,OACEC,IAACC,CAAAA,cAAA,CACC,CAAA,EAAIH,CAAAA,CACJ,CAAA,SAAU,CAAA,qDAEV,CAAA,QAAA,CAAAL,CAAAA,GAACS,CAAAA,MAAA,CAAW,CAAA,SAAU,6CACnB,CAAA,QAAAJ,CAAAA,CACH,CAAA,CACAL,CAAAA,GAACU,CAAAA,UAAA,CAAsB,CAAA,KAAOJ,CAAAA,CAAQ,CAAA,QAAAd,CAAAA,CAAS,CAAA,CAAA,CACjD,CAEJ,CACAY,CAAAA,CAAe,CAAA,WAAc,CAAA,iBAC7Bb,EAAQ,CAAA,OAAUa,CAAAA,CAAAA","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 'client-only';\nimport { createContext } from 'react';\nimport {\n Header as AriaHeader,\n ListBox as AriaListBox,\n Collection as AriaListBoxCollection,\n type ListBoxProps as AriaListBoxProps,\n ListBoxSection as AriaListBoxSection,\n type ListBoxSectionProps as AriaListBoxSectionProps,\n} from 'react-aria-components';\nimport {\n type IOptionsItem,\n OptionsItem,\n type OptionsItemProps,\n} from '../options-item';\n\nexport interface OptionsProps<T extends IOptionsItem>\n extends AriaListBoxProps<T> {\n className?: string;\n description?: string;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n size?: OptionsItemProps<T>['size'];\n type?: OptionsItemProps<T>['type'];\n}\n\nexport const OptionsContext = createContext<\n Pick<OptionsProps<IOptionsItem>, 'size' | 'type'>\n>({\n size: 'large',\n type: 'default',\n});\n\nexport function Options<T extends IOptionsItem>({\n children,\n className,\n description,\n errorMessage,\n label,\n placeholder,\n size,\n type,\n ...props\n}: OptionsProps<T>) {\n return (\n <OptionsContext.Provider value={{ size, type }}>\n <AriaListBox<T>\n className='max-h-[200px] overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static-light'\n {...props}\n >\n {children}\n </AriaListBox>\n </OptionsContext.Provider>\n );\n}\nOptions.displayName = 'Options';\n\nOptions.Item = OptionsItem;\n\ninterface OptionsSectionProps<T extends IOptionsItem>\n extends AriaListBoxSectionProps<T> {\n header?: string;\n}\n\nexport function OptionsSection<T extends IOptionsItem>({\n children,\n header,\n items,\n}: OptionsSectionProps<T>) {\n return (\n <AriaListBoxSection\n id={header}\n className='mt-s border-default-dark border-t first:border-none'\n >\n <AriaHeader className='m-xs my-s text-default-dark text-header-xs'>\n {header}\n </AriaHeader>\n <AriaListBoxCollection items={items}>{children}</AriaListBoxCollection>\n </AriaListBoxSection>\n );\n}\nOptionsSection.displayName = 'Options.Section';\nOptions.Section = OptionsSection;\n"]}
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as cva_types from 'cva/types';
3
+ import { VariantProps } from 'cva';
4
+ import { ReactNode } from 'react';
5
+ import { ListBoxItemProps } from 'react-aria-components';
6
+
7
+ declare const optionsItemStyles: (props?: ({
8
+ type?: "default" | "destructive" | null | undefined;
9
+ size?: "small" | "large" | null | undefined;
10
+ } & cva_types.ClassProp) | undefined) => string;
11
+ interface IOptionsItem {
12
+ children?: IOptionsItem[];
13
+ description?: string;
14
+ prefixIcon?: ReactNode;
15
+ suffixIcon?: ReactNode;
16
+ id?: string | number;
17
+ name: string;
18
+ }
19
+ interface OptionsItemProps<T extends IOptionsItem> extends VariantProps<typeof optionsItemStyles>, ListBoxItemProps<T> {
20
+ description?: string;
21
+ prefixIcon?: ReactNode;
22
+ suffixIcon?: ReactNode;
23
+ name: string;
24
+ }
25
+ declare function OptionsItem<T extends IOptionsItem>({ children, className, description, prefixIcon, suffixIcon, name, type: typeProp, size: sizeProp, ...props }: OptionsItemProps<T>): react_jsx_runtime.JSX.Element;
26
+ declare namespace OptionsItem {
27
+ var displayName: string;
28
+ }
29
+
30
+ export { type IOptionsItem, OptionsItem, type OptionsItemProps };
@@ -0,0 +1,2 @@
1
+ import'client-only';import {mergeProps}from'@react-aria/utils';import {cva}from'cva';import {useContext,useMemo}from'react';import {ListBoxItem,Text}from'react-aria-components';import {Icon}from'../icon/index.js';import {OptionsContext}from'../options/index.js';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var k=cva(["fg-default-light flex items-center gap-s p-s text-body-s ","**:data-[slot=description]:fg-default-dark **:data-[slot=description]:text-body-xs","hover:fg-inverse-light hover:**:data-[slot=description]:fg-inverse-light","dtk-focus:fg-inverse-light dtk-focus:**:data-[slot=description]:fg-inverse-light ","dtk-disabled:fg-disabled dtk-disabled:**:data-[slot=description]:fg-disabled dtk-disabled:bg-transparent","dtk-focus:bg-highlight-bold hover:bg-highlight-bold"],{variants:{type:{destructive:"dtk-focus:bg-serious-bold hover:bg-serious-bold",default:"dtk-focus:bg-highlight-bold hover:bg-highlight-bold"},size:{large:"pt-s pb-s",small:"pt-xs pb-xs"}},defaultVariants:{size:"large"}});function O({children:e,className:c,description:s,prefixIcon:o,suffixIcon:i,name:a,type:r,size:n,...f}){let p=useContext(OptionsContext)??{},{size:g,type:x}=useMemo(()=>mergeProps(p,{size:n,type:r}),[p,n,r]);return jsx(ListBoxItem,{textValue:a,...f,className:k({type:x,size:g,className:c}),children:I=>typeof e=="function"?e(I):jsxs(Fragment,{children:[jsx("span",{className:"flex w-[16px] items-center",children:o&&jsx(Icon,{children:o})}),jsxs("div",{className:"flex min-w-0 flex-auto flex-col gap-xxs",children:[jsx(Text,{className:"truncate",slot:"label",children:a}),s&&jsx(Text,{className:"truncate","data-slot":"description",slot:"description",children:s})]}),jsx("span",{className:"flex w-[16px] items-center",children:i&&jsx(Icon,{size:"small",children:i})})]})})}O.displayName="OptionsItem";export{O as OptionsItem};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/options-item/index.tsx"],"names":["cva","u","children","className","prefixIcon","suffixIcon","name","typeProp","sizeProp","useContext","OptionsContext","N","size","useMemo","v","optionsContext","AriaListBoxItem","y","optionsItemStyles","type","renderProps","jsxs","Fragment","T","jsx","t","Icon","l","m","AriaText","d","description","OptionsItem"],"mappings":"wTAwBA,IAA0BA,CAAAA,CACxBC,GACE,CAAA,CAAA,2DACA,CAAA,oFACA,CAAA,0EACA,CAAA,mFACA,CAAA,0GACA,CAAA,qDAEF,CACE,CAAA,CAAA,QACE,CAAA,CAAA,IACE,CAAA,CAAA,6DACA,CAAA,OAAS,CAAA,qDAEX,CAAA,CAAA,IACE,OAAO,CAAA,WACP,CAAA,KAAO,CAAA,aAEX,CACA,CAAA,CAAA,eACE,CAAA,CAAA,IAAM,CAAA,OAGZ,CAAA,CAoBO,CAAA,CAAA,SAA6C,CAClD,CAAA,CAAA,QAAAC,CACA,CAAA,CAAA,SAAAC,CACA,CAAA,CAAA,YACA,CAAA,CAAA,UAAAC,CACA,CAAA,CAAA,UAAAC,CACA,CAAA,CAAA,IAAAC,CACA,MAAMC,CACN,CAAA,CAAA,IAAMC,CACN,CAAA,CAAA,GACF,CAAwB,CACtB,CAAA,CAAA,IAAuBC,CAAAA,CAAWC,UAAc,CAAAC,cAAA,CAAK,IAE7C,CAAA,CAAA,IAAAC,CAAM,CAAA,CAAA,IAAK,CAAA,CAAIC,EACrBC,OAAA,CAAA,IACaC,WAAgB,CACzB,CAAA,CAAA,KACA,CAAA,CAAA,IACF,CAAC,CAAA,CACH,CAACA,CAAAA,CAAgBP,EAAUD,CAAQ,CACrC,CAAA,CAEA,CAAA,CAAA,OACGS,GAAAA,CAAAC,WACC,CAAA,CAAA,SAAWX,CACV,CAAA,CAAA,GACD,CAAA,CAAA,SAAWY,CAAkB,CAAE,CAAA,CAAA,IAAAC,CAAM,CAAA,CAAA,IAAAP,CAAM,CAAA,CAAA,SAAU,CAAC,CAAA,CAErD,CAAA,CAAA,QAACQ,CAAAA,CACI,EAAA,OAAOlB,CAAa,EAAA,WACNkB,CAAW,CAAA,CAI3BC,CAAAA,CAAAC,IAAAA,CAAAC,QACE,CAAA,CAAA,QAAAC,EAACC,GAAA,CAAA,MAAK,CAAA,CAAA,SAAU,CAAA,4BACb,CAAA,QAAArB,CAAAA,CAAcoB,EAACE,IAAAC,IAAM,CAAA,CAAA,QAAAvB,CAAW,CAAA,CACnC,CAAA,CAEAiB,CAAAA,CAACO,UAAI,CAAA,CAAA,SAAU,CAAA,yCACb,CAAA,QAAAJ,CAAAA,CAACK,GAAAA,CAAAC,IAAS,WAAU,CAAA,UAAW,CAAA,IAAK,CAAA,OACjC,CAAA,QAAAxB,CACH,CAAA,CACCyB,GACCP,EAACK,GAAAA,CAAAC,IACC,CAAA,CAAA,SAAU,CAAA,UACV,CAAA,yBACA,CAAA,IAAK,CAAA,aAEJ,CAAA,QAAAC,CACH,CAAA,CAAA,CAEJ,CAAA,CACAP,EAACC,GAAA,CAAA,MAAK,CAAA,CAAA,SAAU,CAAA,4BACb,CAAA,QAAApB,CAAAA,CAAcmB,EAACE,IAAAC,IAAK,CAAA,CAAA,IAAK,CAAA,OAAS,CAAA,QAAAtB,CAAW,CAAA,CAChD,GACF,CAAA,CAGN,CAEJ,CACA2B,CAAAA,CAAY,CAAA,CAAA,WAAc,CAAA,aAAA","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 'client-only';\nimport { mergeProps } from '@react-aria/utils';\nimport { type VariantProps, cva } from 'cva';\nimport { type ReactNode, useContext, useMemo } from 'react';\nimport {\n ListBoxItem as AriaListBoxItem,\n type ListBoxItemProps as AriaListBoxItemProps,\n Text as AriaText,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { OptionsContext } from '../options';\n\nconst optionsItemStyles = cva(\n [\n 'fg-default-light flex items-center gap-s p-s text-body-s ',\n '**:data-[slot=description]:fg-default-dark **:data-[slot=description]:text-body-xs',\n 'hover:fg-inverse-light hover:**:data-[slot=description]:fg-inverse-light',\n 'dtk-focus:fg-inverse-light dtk-focus:**:data-[slot=description]:fg-inverse-light ',\n 'dtk-disabled:fg-disabled dtk-disabled:**:data-[slot=description]:fg-disabled dtk-disabled:bg-transparent',\n 'dtk-focus:bg-highlight-bold hover:bg-highlight-bold',\n ],\n {\n variants: {\n type: {\n destructive: 'dtk-focus:bg-serious-bold hover:bg-serious-bold',\n default: 'dtk-focus:bg-highlight-bold hover:bg-highlight-bold',\n },\n size: {\n large: 'pt-s pb-s',\n small: 'pt-xs pb-xs',\n },\n },\n defaultVariants: {\n size: 'large',\n },\n },\n);\n\nexport interface IOptionsItem {\n children?: IOptionsItem[];\n description?: string;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n id?: string | number;\n name: string;\n}\n\nexport interface OptionsItemProps<T extends IOptionsItem>\n extends VariantProps<typeof optionsItemStyles>,\n AriaListBoxItemProps<T> {\n description?: string;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n name: string;\n}\n\nexport function OptionsItem<T extends IOptionsItem>({\n children,\n className,\n description,\n prefixIcon,\n suffixIcon,\n name,\n type: typeProp,\n size: sizeProp,\n ...props\n}: OptionsItemProps<T>) {\n const optionsContext = useContext(OptionsContext) ?? {};\n\n const { size, type } = useMemo(\n () =>\n mergeProps(optionsContext, {\n size: sizeProp,\n type: typeProp,\n }),\n [optionsContext, sizeProp, typeProp],\n );\n\n return (\n <AriaListBoxItem<T>\n textValue={name}\n {...props}\n className={optionsItemStyles({ type, size, className })}\n >\n {(renderProps) => {\n if (typeof children === 'function') {\n return children(renderProps);\n }\n\n return (\n <>\n <span className='flex w-[16px] items-center'>\n {prefixIcon && <Icon>{prefixIcon}</Icon>}\n </span>\n\n <div className='flex min-w-0 flex-auto flex-col gap-xxs'>\n <AriaText className='truncate' slot='label'>\n {name}\n </AriaText>\n {description && (\n <AriaText\n className='truncate'\n data-slot='description'\n slot='description'\n >\n {description}\n </AriaText>\n )}\n </div>\n <span className='flex w-[16px] items-center'>\n {suffixIcon && <Icon size='small'>{suffixIcon}</Icon>}\n </span>\n </>\n );\n }}\n </AriaListBoxItem>\n );\n}\nOptionsItem.displayName = 'OptionsItem';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/action-element.tsx"],"names":["handleOnClick","useCallback","event","pressToMouseEvent","title","useMemo","n","disabledTranslation","disabled","titleProp","Button","u","handlePress"],"mappings":"+JAmBO,SAAuB,CAC5B,UACA,CAAA,CAAA,CAAA,mBACA,CAAA,CAAA,CAAA,MACA,CAAAA,CAAAA,aACF,CAAgB,CAAA,CAEd,MAAoBC,CAAAA,CACjBC,WAAsBF,CAAAA,CAAAA,EAAcG,EAAkBD,iBAAK,CAAC,CAC7D,CAAA,CAACF,CAAa,CAChB,CAEMI,CAAAA,CAAAA,CAAQC,EACZC,OACEC,CAAAA,IAAAA,CAAqB,EAASC,KAAAA,EAC1BD,EAAoB,CACpBE,CAAAA,KAAAA,CACN,CAACF,CAAAA,CAAAA,CAAqB,OAAiBE,CAAAA,CAAS,CAClD,CAAA,CAEA,SACGC,GAAAA,CAAAC,MACC,CAAA,CAAA,YAAwB,EAACJ,CACzB,CAASK,CAAAA,OAAAA,CACT,MACA,CAAA,OAAA,CAAA,OAEC,CAAA,SAAA,CAAA,SACH,CAEJ,CAAA,CAAA","file":"action-element.js","sourcesContent":["// __private-exports\n/*\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 { PressEvent } from '@react-types/shared';\nimport { useCallback, useMemo } from 'react';\nimport type { ActionProps } from 'react-querybuilder';\nimport { Button } from '../button';\nimport { pressToMouseEvent } from './utils';\n\nexport function ActionElement({\n disabled,\n disabledTranslation,\n title: titleProp,\n handleOnClick,\n}: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n const title = useMemo(\n () =>\n disabledTranslation?.title && disabled\n ? disabledTranslation.title\n : titleProp,\n [disabledTranslation?.title, disabled, titleProp],\n );\n\n return (\n <Button\n isDisabled={disabled && !disabledTranslation}\n onPress={handlePress}\n size='small'\n variant='outline'\n >\n {title}\n </Button>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/action-element.tsx"],"names":["disabled","disabledTranslation","useCallback","event","handleOnClick","pressToMouseEvent","title","useMemo","n","titleProp","Button","u","handlePress"],"mappings":"+JAmBO,SAAuB,CAC5B,UAAAA,CACA,CAAA,CAAA,mBAAAC,CACA,CAAA,CAAA,MACA,CAAA,CAAA,aACF,CAAA,CAAgB,CAEd,MAAoBC,CAAAA,CACjBC,WAAAA,CAAAA,CAAsBC,EAAcC,EAAkBF,iBAAK,CAAC,CAAA,CAC7D,CAACC,CAAa,CAChB,CAAA,CAEME,CAAAA,CAAQC,EACZC,OAAA,CAAA,IACEP,CAAqB,EAAA,KAASD,EAC1BC,EAAoB,CAAA,CAAA,KACpBQ,CACN,CAACR,CAAAA,CAAAA,CAAqB,OAAOD,CAAUS,CAAS,CAClD,CAAA,CAEA,SACGC,GAAAA,CAAAC,MACC,CAAA,CAAA,YAAwB,EAACV,CACzB,CAAA,CAAA,OAASW,CACT,MAAK,CAAA,OACL,CAAA,OAAQ,CAAA,SAEP,CAAA,SACH,CAEJ,CAAA,CAAA","file":"action-element.js","sourcesContent":["// __private-exports\n/*\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 { PressEvent } from '@react-types/shared';\nimport { useCallback, useMemo } from 'react';\nimport type { ActionProps } from 'react-querybuilder';\nimport { Button } from '../button';\nimport { pressToMouseEvent } from './utils';\n\nexport function ActionElement({\n disabled,\n disabledTranslation,\n title: titleProp,\n handleOnClick,\n}: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n const title = useMemo(\n () =>\n disabledTranslation?.title && disabled\n ? disabledTranslation.title\n : titleProp,\n [disabledTranslation?.title, disabled, titleProp],\n );\n\n return (\n <Button\n isDisabled={disabled && !disabledTranslation}\n onPress={handlePress}\n size='small'\n variant='outline'\n >\n {title}\n </Button>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/constants.ts"],"names":["multiValueOperators"],"mappings":"AAaO,IAAMA,EAAsB,CACjC,SAAA,CACA,YACA,CAAA,QAAA,CACA,aACA,UACF","file":"constants.js","sourcesContent":["// __private-exports\n/*\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\nexport const multiValueOperators = [\n 'between',\n 'notBetween',\n 'during',\n 'overlapped',\n 'overlaps',\n];\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/constants.ts"],"names":["multiValueOperators"],"mappings":"AAaO,IAAMA,EAAsB,CACjC,SAAA,CACA,YAAA,CACA,QAAA,CACA,aACA,UACF","file":"constants.js","sourcesContent":["// __private-exports\n/*\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\nexport const multiValueOperators = [\n 'between',\n 'notBetween',\n 'during',\n 'overlapped',\n 'overlaps',\n];\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/example-configuration.ts"],"names":["fields","rule","z","defaultQuery"],"mappings":"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","file":"example-configuration.js","sourcesContent":["// __private-exports\n/*\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 { Field } from 'react-querybuilder';\nimport { z } from 'zod';\n\n/**\n * Represents sample field types and data for building a query.\n * These fields and their validators are for demonstration of capability and are not required for implementation.\n *\n */\nexport const fields: Field[] = [\n {\n name: 'AK_HIGH',\n label: 'AK High',\n type: 'i32',\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n {\n name: 'AK_LOW',\n label: 'AK Low',\n type: 'i32',\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n {\n name: 'COUNTRY',\n label: 'Country',\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n inputType: 'text',\n validator: (rule) => ({\n valid: z.string().min(1).safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'NOTES',\n label: 'Operator Notes',\n type: 'str',\n valueEditorType: 'textarea',\n },\n {\n name: 'OPERSTATUS',\n label: 'Is Operational',\n type: 'bool',\n defaultValue: false,\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'checkbox',\n },\n {\n name: 'DONUTS',\n label: 'Has Donuts',\n type: 'bool',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'switch',\n },\n {\n name: 'SERVCITY',\n label: 'Service City',\n valueEditorType: 'select',\n values: [\n { name: 'Anchorage', label: 'Anchorage', value: 'Anchorage' },\n { name: 'Juneau', label: 'Juneau', value: 'Juneau' },\n {\n name: 'Fairbanks',\n label: 'Fairbanks',\n value: 'Fairbanks',\n },\n { name: 'Sitka', label: 'Sitka', value: 'Sitka' },\n { name: 'Montgomery', label: 'Montgomery', value: 'Montgomery' },\n { name: 'Birmingham', label: 'Birmingham', value: 'Birmingham' },\n {\n name: 'Huntsville',\n label: 'Huntsville',\n value: 'Huntsville',\n },\n { name: 'Mobile', label: 'Mobile', value: 'Mobile' },\n ],\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n ],\n },\n {\n name: 'TYPE_CODE',\n label: 'Type Code',\n type: 'str',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'radio',\n values: [\n { name: 'Heliport', label: 'Heliport', value: 'Heliport' },\n { name: 'Aerodrome', label: 'Aerodrome', value: 'Aerodrome' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n ],\n defaultValue: 'Aerodrome',\n },\n {\n name: 'ESTABLISHED',\n label: 'Established',\n type: 'date',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'date',\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'MAINTENANCE',\n label: 'Maintenance',\n type: 'datetime',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'datetime-local', // mm/dd/yyyy hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'PEAK_TRAFFIC',\n label: 'Peak Traffic',\n type: 'time',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'time', // hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n] satisfies Field[];\n\n/**\n * Represents an initial query to populate the rulesets\n * to illustrate examples.\n */\nexport const defaultQuery = {\n combinator: 'AND',\n rules: [\n { field: 'AK_HIGH', operator: '>', value: '10000' }, // i32\n { field: 'AK_LOW', operator: 'between', value: ['1000', '5000'] }, // between\n { field: 'COUNTRY', operator: 'like', value: 'Canada' }, //text\n { field: 'NOTES', operator: 'contains', value: 'Clear skies...' }, // textarea\n { field: 'SERVCITY', operator: 'like', value: 'Anchorage' }, // options with headers\n { field: 'OPERSTATUS', operator: '=', value: false }, // bool\n { field: 'DONUTS', operator: '=', value: true }, // switch\n { field: 'TYPE_CODE', operator: '=', value: 'Aerodrome' }, // radio\n {\n field: 'ESTABLISHED',\n operator: 'during',\n value: ['2024-10-01', '2024-11-01'],\n }, // date\n {\n field: 'PEAK_TRAFFIC',\n operator: 'overlaps',\n value: ['18:22:54', '19:22:54'],\n }, // time\n {\n field: 'MAINTENANCE',\n operator: 'overlapped',\n value: ['2024-10-01T18:22:54', '2024-11-01T18:22:54'],\n }, // datetime\n ],\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/example-configuration.ts"],"names":["fields","rule","z","defaultQuery"],"mappings":"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","file":"example-configuration.js","sourcesContent":["// __private-exports\n/*\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 { Field } from 'react-querybuilder';\nimport { z } from 'zod';\n\n/**\n * Represents sample field types and data for building a query.\n * These fields and their validators are for demonstration of capability and are not required for implementation.\n *\n */\nexport const fields: Field[] = [\n {\n name: 'AK_HIGH',\n label: 'AK High',\n type: 'i32',\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n {\n name: 'AK_LOW',\n label: 'AK Low',\n type: 'i32',\n inputType: 'number', // as in HTML input type <input type=\"number\">\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: '<', value: '<', label: 'less than' } as const,\n { name: '>', value: '>', label: 'greater than' } as const,\n { name: '<=', value: '<=', label: 'less than equal' } as const,\n { name: '>=', value: '>=', label: 'greater than equal' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n validator: (rule) => ({\n valid: z\n .union([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.tuple([\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n z.coerce.number().int().gte(-2_147_483_648).lte(2_147_483_647),\n ]),\n ])\n .safeParse(rule.value).success,\n reasons: ['Number must be in range.'],\n }),\n },\n {\n name: 'COUNTRY',\n label: 'Country',\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n ],\n inputType: 'text',\n validator: (rule) => ({\n valid: z.string().min(1).safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'NOTES',\n label: 'Operator Notes',\n type: 'str',\n valueEditorType: 'textarea',\n },\n {\n name: 'OPERSTATUS',\n label: 'Is Operational',\n type: 'bool',\n defaultValue: false,\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'checkbox',\n },\n {\n name: 'DONUTS',\n label: 'Has Donuts',\n type: 'bool',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'switch',\n },\n {\n name: 'SERVCITY',\n label: 'Service City',\n valueEditorType: 'select',\n values: [\n { name: 'Anchorage', label: 'Anchorage', value: 'Anchorage' },\n { name: 'Juneau', label: 'Juneau', value: 'Juneau' },\n {\n name: 'Fairbanks',\n label: 'Fairbanks',\n value: 'Fairbanks',\n },\n { name: 'Sitka', label: 'Sitka', value: 'Sitka' },\n { name: 'Montgomery', label: 'Montgomery', value: 'Montgomery' },\n { name: 'Birmingham', label: 'Birmingham', value: 'Birmingham' },\n {\n name: 'Huntsville',\n label: 'Huntsville',\n value: 'Huntsville',\n },\n { name: 'Mobile', label: 'Mobile', value: 'Mobile' },\n ],\n type: 'str',\n operators: [\n { name: '=', value: '=', label: 'is' } as const,\n { name: 'like', value: 'like', label: 'like' } as const,\n { name: 'in', value: 'in', label: 'in' } as const,\n { name: 'between', value: 'between', label: 'between' } as const,\n ],\n },\n {\n name: 'TYPE_CODE',\n label: 'Type Code',\n type: 'str',\n operators: [{ name: '=', value: '=', label: 'is' } as const],\n valueEditorType: 'radio',\n values: [\n { name: 'Heliport', label: 'Heliport', value: 'Heliport' },\n { name: 'Aerodrome', label: 'Aerodrome', value: 'Aerodrome' },\n { name: 'Unknown', label: 'Unknown', value: 'Unknown' },\n ],\n defaultValue: 'Aerodrome',\n },\n {\n name: 'ESTABLISHED',\n label: 'Established',\n type: 'date',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'date',\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'MAINTENANCE',\n label: 'Maintenance',\n type: 'datetime',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'datetime-local', // mm/dd/yyyy hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n {\n name: 'PEAK_TRAFFIC',\n label: 'Peak Traffic',\n type: 'time',\n operators: [\n { name: 'equals', value: 'tequals', label: 'is' } as const,\n { name: 'during', value: 'during', label: 'occurs between' } as const,\n { name: 'before', value: 'before', label: 'ends before' } as const,\n { name: 'after', value: 'after', label: 'starts after' } as const,\n {\n name: 'overlapped',\n value: 'overlappedby',\n label: 'starts during',\n } as const,\n { name: 'overlaps', value: 'toverlaps', label: 'ends during' } as const,\n ],\n inputType: 'time', // hh:mm a\n validator: (rule) => ({\n valid: z\n .union([\n z.string().min(1),\n z.tuple([z.string().min(1), z.string().min(1)]),\n ])\n .safeParse(rule.value).success,\n reasons: ['At least one character is required.'],\n }),\n },\n] satisfies Field[];\n\n/**\n * Represents an initial query to populate the rulesets\n * to illustrate examples.\n */\nexport const defaultQuery = {\n combinator: 'AND',\n rules: [\n { field: 'AK_HIGH', operator: '>', value: '10000' }, // i32\n { field: 'AK_LOW', operator: 'between', value: ['1000', '5000'] }, // between\n { field: 'COUNTRY', operator: 'like', value: 'Canada' }, //text\n { field: 'NOTES', operator: 'contains', value: 'Clear skies...' }, // textarea\n { field: 'SERVCITY', operator: 'like', value: 'Anchorage' }, // options with headers\n { field: 'OPERSTATUS', operator: '=', value: false }, // bool\n { field: 'DONUTS', operator: '=', value: true }, // switch\n { field: 'TYPE_CODE', operator: '=', value: 'Aerodrome' }, // radio\n {\n field: 'ESTABLISHED',\n operator: 'during',\n value: ['2024-10-01', '2024-11-01'],\n }, // date\n {\n field: 'PEAK_TRAFFIC',\n operator: 'overlaps',\n value: ['18:22:54', '19:22:54'],\n }, // time\n {\n field: 'MAINTENANCE',\n operator: 'overlapped',\n value: ['2024-10-01T18:22:54', '2024-11-01T18:22:54'],\n }, // datetime\n ],\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/group.tsx"],"names":["group","useRuleGroup","C","RuleGroupBodyElements","addRule","useStopEventPropagation","l","k","cloneGroup","removeGroup","toggleLockGroup","jsxs","b","cn","h","e","jsx","elementProps","shouldShowLock","ruleGroup","isNotRoot","RemoveGroupActionControlElement","R","TestID","o","RuleGroupFooterComponent","AddRuleActionControlElement"],"mappings":"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","file":"group.js","sourcesContent":["// __private-exports\n/*\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 { cn } from '@/lib/utils';\nimport { useMemo } from 'react';\nimport {\n type RuleGroupProps,\n TestID,\n useRuleGroup,\n useStopEventPropagation,\n} from 'react-querybuilder';\n\nexport function RuleGroup(props: RuleGroupProps) {\n const group = useRuleGroup(props);\n\n const {\n schema: {\n controls: { ruleGroupBodyElements: RuleGroupBodyElements },\n },\n } = group;\n\n const {\n schema: { classNames },\n } = props;\n\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\n const elementProps = useMemo(\n () => ({\n ...group,\n addGroup,\n addRule,\n cloneGroup,\n removeGroup,\n toggleLockGroup,\n }),\n [addGroup, addRule, cloneGroup, group, removeGroup, toggleLockGroup],\n );\n\n return (\n <div className={cn(classNames.ruleGroup)}>\n <div className={cn(classNames.header)}>\n <RuleGroupHeaderComponent {...elementProps} />\n </div>\n <div className={cn(classNames.body)}>\n <RuleGroupBodyElements {...elementProps} />\n </div>\n <div className={cn(classNames.header)}>\n <RuleGroupFooterComponent {...elementProps} />\n </div>\n </div>\n );\n}\n\nexport function RuleGroupHeaderComponent(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const shouldShowLock = ruleGroup.schema.showLockButtons;\n const isNotRoot = ruleGroup.path.length > 0;\n const shouldShowClone = ruleGroup.schema.showCloneButtons && isNotRoot;\n\n const {\n schema: {\n controls: {\n combinatorSelector: CombinatorSelectorControlElement,\n cloneGroupAction: CloneGroupActionControlElement,\n lockGroupAction: LockGroupActionControlElement,\n removeGroupAction: RemoveGroupActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n <CombinatorSelectorControlElement\n key={TestID.combinators}\n testID={TestID.combinators}\n options={ruleGroup.schema.combinators}\n value={ruleGroup.combinator}\n title={ruleGroup.translations.combinators.title}\n className={ruleGroup.classNames.combinators}\n handleOnChange={ruleGroup.onCombinatorChange}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n />\n {shouldShowClone && (\n <div>\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 {shouldShowLock && (\n <div>\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 {isNotRoot && (\n <div>\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 RuleGroupFooterComponent(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const {\n schema: {\n controls: {\n addGroupAction: AddGroupActionControlElement,\n addRuleAction: AddRuleActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\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 <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 </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/group.tsx"],"names":["group","useRuleGroup","C","addRule","useStopEventPropagation","l","k","addGroup","cloneGroup","removeGroup","toggleLockGroup","jsxs","b","h","e","elementProps","jsx","shouldShowLock","ruleGroup","R","TestID","o"],"mappings":"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","file":"group.js","sourcesContent":["// __private-exports\n/*\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 { cn } from '@/lib/utils';\nimport { useMemo } from 'react';\nimport {\n type RuleGroupProps,\n TestID,\n useRuleGroup,\n useStopEventPropagation,\n} from 'react-querybuilder';\n\nexport function RuleGroup(props: RuleGroupProps) {\n const group = useRuleGroup(props);\n\n const {\n schema: {\n controls: { ruleGroupBodyElements: RuleGroupBodyElements },\n },\n } = group;\n\n const {\n schema: { classNames },\n } = props;\n\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\n const elementProps = useMemo(\n () => ({\n ...group,\n addGroup,\n addRule,\n cloneGroup,\n removeGroup,\n toggleLockGroup,\n }),\n [addGroup, addRule, cloneGroup, group, removeGroup, toggleLockGroup],\n );\n\n return (\n <div className={cn(classNames.ruleGroup)}>\n <div className={cn(classNames.header)}>\n <RuleGroupHeaderComponent {...elementProps} />\n </div>\n <div className={cn(classNames.body)}>\n <RuleGroupBodyElements {...elementProps} />\n </div>\n <div className={cn(classNames.header)}>\n <RuleGroupFooterComponent {...elementProps} />\n </div>\n </div>\n );\n}\n\nexport function RuleGroupHeaderComponent(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const shouldShowLock = ruleGroup.schema.showLockButtons;\n const isNotRoot = ruleGroup.path.length > 0;\n const shouldShowClone = ruleGroup.schema.showCloneButtons && isNotRoot;\n\n const {\n schema: {\n controls: {\n combinatorSelector: CombinatorSelectorControlElement,\n cloneGroupAction: CloneGroupActionControlElement,\n lockGroupAction: LockGroupActionControlElement,\n removeGroupAction: RemoveGroupActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\n <CombinatorSelectorControlElement\n key={TestID.combinators}\n testID={TestID.combinators}\n options={ruleGroup.schema.combinators}\n value={ruleGroup.combinator}\n title={ruleGroup.translations.combinators.title}\n className={ruleGroup.classNames.combinators}\n handleOnChange={ruleGroup.onCombinatorChange}\n rules={ruleGroup.ruleGroup.rules}\n level={ruleGroup.path.length}\n path={ruleGroup.path}\n disabled={ruleGroup.disabled}\n context={ruleGroup.context}\n validation={ruleGroup.validationResult}\n schema={ruleGroup.schema}\n />\n {shouldShowClone && (\n <div>\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 {shouldShowLock && (\n <div>\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 {isNotRoot && (\n <div>\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 RuleGroupFooterComponent(\n ruleGroup: RuleGroupProps & ReturnType<typeof useRuleGroup>,\n) {\n const {\n schema: {\n controls: {\n addGroupAction: AddGroupActionControlElement,\n addRuleAction: AddRuleActionControlElement,\n },\n },\n } = ruleGroup;\n\n return (\n <>\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 <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 </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/index.tsx"],"names":["CombinatorSelector","jsxs","Radio","value","handleOnChange","jsx","Label","e","V","option","Tooltip","a","RemoveRuleAction","className","handlePress","useCallback","event","handleOnClick","m","IconButton","d","Icon","Delete","w","LockAction","pressToMouseEvent","f","LockFill","CloneAction","Duplicate","QueryBuilder","orientation","mergedElements","s","RuleGroup","B","P","b","A","ValueEditor","h","defaultClassnames","useMemo","showRuleLines","mergedClassnames","controlClassnames","createContext","D","RQBBuilder","S","QueryBuilderContext","RuleGroupHeaderComponent","L","getValidationResult","k","ValueSelector"],"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 { Duplicate, LockFill } from '@accelint/icons';\nimport { Delete } from '@accelint/icons';\nimport type { PressEvent } from '@react-types/shared';\nimport { type ReactElement, createContext, useCallback, useMemo } from 'react';\nimport {\n type ActionProps,\n type Classnames,\n type CombinatorSelectorProps,\n type FullCombinator,\n type FullField,\n type FullOperator,\n QueryBuilder as RQBBuilder,\n type Classnames as RQBClassnames,\n type Field as RQBField,\n type QueryBuilderProps as RQBProps,\n type RuleGroupType as RQBRuleGroupType,\n type ValueEditorProps,\n} from 'react-querybuilder';\nimport type { LiteralUnion } from 'type-fest';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\nimport { Label } from '../label';\nimport { Radio } from '../radio';\nimport { Tooltip } from '../tooltip';\nimport { ActionElement } from './action-element';\nimport {\n RuleGroup,\n RuleGroupFooterComponent,\n RuleGroupHeaderComponent,\n} from './group';\nimport { Rule } from './rule';\nimport { getValidationResult, pressToMouseEvent } from './utils';\nimport { ValueEditor } from './value-editor';\nimport { ValueSelector } from './value-selector';\n\nexport type RuleGroupType = RQBRuleGroupType;\nexport type Field = RQBField;\n\nexport type DefaultRQBProps = RQBProps<\n RuleGroupType,\n FullField,\n FullOperator,\n FullCombinator\n>;\n\n// TODO: need to add multiselect back in when we have a compatible component\nexport type QueryBuilderValueEditors = Record<\n LiteralUnion<\n Exclude<ValueEditorProps['type'], null | undefined | 'multiselect'>,\n string\n >,\n (props: ValueEditorProps) => ReactElement\n>;\n\n/**\n * Omitted props are currently unsupported functionality\n */\nexport type QueryBuilderProps = Partial<\n Omit<\n DefaultRQBProps,\n | 'showCombinatorsBetweenRules'\n | 'independentCombinators'\n | 'listsAsArrays'\n | 'enableDragAndDrop'\n | 'showNotToggle'\n | 'showShiftActions'\n > & {\n orientation?: 'horizontal' | 'vertical';\n showRuleLines?: boolean;\n }\n>;\n\n/**\n * Omitted classnames are for unsupported features\n */\nexport type ClassNames = Omit<\n RQBClassnames,\n | 'betweenRules'\n | 'branches'\n | 'dndDragging'\n | 'dndOver'\n | 'dndCopy'\n | 'dndGroup'\n | 'dragHandle'\n | 'shiftActions'\n | 'notToggle'\n>;\n\nexport type QueryBuilderContextType = Pick<\n QueryBuilderProps,\n 'showRuleLines' | 'orientation'\n>;\n\nconst operatorDescriptions: Record<string, string> = {\n // biome-ignore lint/style/useNamingConvention: set by the library\n AND: 'All rules below must be true for a match',\n // biome-ignore lint/style/useNamingConvention: set by the library\n OR: 'One of the rules below must be true for a match',\n};\n\nfunction CombinatorSelector({\n options,\n value,\n handleOnChange,\n}: CombinatorSelectorProps) {\n return (\n <Radio.Group\n value={value}\n onChange={handleOnChange}\n orientation='horizontal'\n >\n <Label>Combinator</Label>\n {options.map((option) => (\n <Radio key={option.label} value={option.label}>\n <Tooltip>\n <Tooltip.Trigger>\n <span>{option.label}</span>\n </Tooltip.Trigger>\n <Tooltip.Body placement='top'>\n {operatorDescriptions[option.label]}\n </Tooltip.Body>\n </Tooltip>\n </Radio>\n ))}\n </Radio.Group>\n );\n}\n\nfunction RemoveRuleAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size='small'\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <Delete />\n </Icon>\n </IconButton>\n );\n}\n\nfunction LockAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size={'small'}\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <LockFill />\n </Icon>\n </IconButton>\n );\n}\n\nfunction CloneAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size={'small'}\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <Duplicate />\n </Icon>\n </IconButton>\n );\n}\n\nexport function QueryBuilder({\n controlClassnames,\n controlElements,\n orientation = 'horizontal',\n showRuleLines = true,\n ...rest\n}: QueryBuilderProps) {\n /**\n * Represents the list of available controls that the component can use as a custom\n * component override.Passed in as a map of our custom defaults, but can be\n * overridden by using the controlElements prop\n */\n const mergedElements = useMemo(\n () => ({\n combinatorSelector: CombinatorSelector,\n cloneGroupAction: CloneAction,\n cloneRuleAction: CloneAction,\n removeRuleAction: RemoveRuleAction,\n lockGroupAction: LockAction,\n lockRuleAction: LockAction,\n ruleGroup: RuleGroup,\n rule: Rule,\n actionElement: ActionElement,\n valueSelector: ValueSelector,\n valueEditor: ValueEditor,\n ...controlElements,\n }),\n [controlElements],\n );\n\n /**\n * Represents the list of available classnames that the component will recognize.\n * Passed in as a map as all the default styling, but can be overridden by using the\n * controlClassnames prop\n */\n const defaultClassnames: Partial<Classnames> = useMemo(\n () => ({\n queryBuilder: 'border border-transparent',\n ruleGroup:\n 'group col-span-full flex flex-col gap-s p-s border border-info rounded-medium',\n header: 'flex gap-s',\n body: cn(\n 'group grid gap-x-s empty:hidden',\n showRuleLines\n ? 'grid-cols-[10px_minmax(100px,_1fr)_min-content]'\n : 'grid-cols-[minmax(100px,_1fr)_min-content]',\n ),\n combinators: 'my-s',\n addRule: '',\n addGroup: '',\n cloneRule: 'fg-interactive hover:fg-interactive-hover',\n cloneGroup: 'fg-interactive hover:fg-interactive-hover',\n removeGroup: '',\n rule: cn(\n 'flex gap-xs py-s',\n orientation === 'vertical'\n ? 'flex-col'\n : 'min-height-[50px] items-start',\n ),\n fields: 'w-full',\n operators: '',\n value: 'w-full',\n removeRule: '',\n valid: '',\n invalid: '',\n disabled: '',\n lockRule: 'fg-interactive hover:fg-interactive-hover',\n lockGroup: 'fg-interactive hover:fg-interactive-hover',\n valueSource: '',\n valueListItem: '',\n }),\n [orientation, showRuleLines],\n );\n\n const mergedClassnames = useMemo(() => {\n return {\n ...defaultClassnames,\n ...controlClassnames,\n };\n }, [controlClassnames, defaultClassnames]);\n\n const QueryBuilderContext = createContext<QueryBuilderContextType>({\n orientation,\n showRuleLines,\n });\n\n return (\n <RQBBuilder\n showNotToggle={false}\n showShiftActions={false}\n enableDragAndDrop={false}\n controlClassnames={mergedClassnames}\n controlElements={mergedElements}\n context={QueryBuilderContext}\n listsAsArrays\n {...rest}\n />\n );\n}\n\nQueryBuilder.CombinatorSelector = CombinatorSelector;\nQueryBuilder.RemoveRuleAction = RemoveRuleAction;\nQueryBuilder.LockAction = LockAction;\nQueryBuilder.CloneAction = CloneAction;\nQueryBuilder.ActionElement = ActionElement;\nQueryBuilder.Rule = Rule;\nQueryBuilder.RuleGroup = RuleGroup;\nQueryBuilder.RuleGroupHeaderComponent = RuleGroupHeaderComponent;\nQueryBuilder.RuleGroupFooterComponent = RuleGroupFooterComponent;\nQueryBuilder.getValidationResult = getValidationResult;\nQueryBuilder.ValueEditor = ValueEditor;\nQueryBuilder.ValueSelector = ValueSelector;\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/index.tsx"],"names":["CombinatorSelector","options","jsxs","Radio","v","g","handleOnChange","jsx","Label","e","V","option","Tooltip","a","RemoveRuleAction","className","handlePress","event","handleOnClick","m","f","IconButton","d","Icon","Delete","w","LockAction","LockFill","F","CloneAction","Duplicate","T","QueryBuilder","orientation","mergedElements","s","RuleGroup","B","P","b","A","ValueEditor","h","defaultClassnames","useMemo","R","mergedClassnames","QueryBuilderContext","createContext","D","RQBBuilder","S","L","I","k","ValueSelector"],"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 { Duplicate, LockFill } from '@accelint/icons';\nimport { Delete } from '@accelint/icons';\nimport type { PressEvent } from '@react-types/shared';\nimport { type ReactElement, createContext, useCallback, useMemo } from 'react';\nimport {\n type ActionProps,\n type Classnames,\n type CombinatorSelectorProps,\n type FullCombinator,\n type FullField,\n type FullOperator,\n QueryBuilder as RQBBuilder,\n type Classnames as RQBClassnames,\n type Field as RQBField,\n type QueryBuilderProps as RQBProps,\n type RuleGroupType as RQBRuleGroupType,\n type ValueEditorProps,\n} from 'react-querybuilder';\nimport type { LiteralUnion } from 'type-fest';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\nimport { Label } from '../label';\nimport { Radio } from '../radio';\nimport { Tooltip } from '../tooltip';\nimport { ActionElement } from './action-element';\nimport {\n RuleGroup,\n RuleGroupFooterComponent,\n RuleGroupHeaderComponent,\n} from './group';\nimport { Rule } from './rule';\nimport { getValidationResult, pressToMouseEvent } from './utils';\nimport { ValueEditor } from './value-editor';\nimport { ValueSelector } from './value-selector';\n\nexport type RuleGroupType = RQBRuleGroupType;\nexport type Field = RQBField;\n\nexport type DefaultRQBProps = RQBProps<\n RuleGroupType,\n FullField,\n FullOperator,\n FullCombinator\n>;\n\n// TODO: need to add multiselect back in when we have a compatible component\nexport type QueryBuilderValueEditors = Record<\n LiteralUnion<\n Exclude<ValueEditorProps['type'], null | undefined | 'multiselect'>,\n string\n >,\n (props: ValueEditorProps) => ReactElement\n>;\n\n/**\n * Omitted props are currently unsupported functionality\n */\nexport type QueryBuilderProps = Partial<\n Omit<\n DefaultRQBProps,\n | 'showCombinatorsBetweenRules'\n | 'independentCombinators'\n | 'listsAsArrays'\n | 'enableDragAndDrop'\n | 'showNotToggle'\n | 'showShiftActions'\n > & {\n orientation?: 'horizontal' | 'vertical';\n showRuleLines?: boolean;\n }\n>;\n\n/**\n * Omitted classnames are for unsupported features\n */\nexport type ClassNames = Omit<\n RQBClassnames,\n | 'betweenRules'\n | 'branches'\n | 'dndDragging'\n | 'dndOver'\n | 'dndCopy'\n | 'dndGroup'\n | 'dragHandle'\n | 'shiftActions'\n | 'notToggle'\n>;\n\nexport type QueryBuilderContextType = Pick<\n QueryBuilderProps,\n 'showRuleLines' | 'orientation'\n>;\n\nconst operatorDescriptions: Record<string, string> = {\n AND: 'All rules below must be true for a match',\n OR: 'One of the rules below must be true for a match',\n};\n\nfunction CombinatorSelector({\n options,\n value,\n handleOnChange,\n}: CombinatorSelectorProps) {\n return (\n <Radio.Group\n value={value}\n onChange={handleOnChange}\n orientation='horizontal'\n >\n <Label>Combinator</Label>\n {options.map((option) => (\n <Radio key={option.label} value={option.label}>\n <Tooltip>\n <Tooltip.Trigger>\n <span>{option.label}</span>\n </Tooltip.Trigger>\n <Tooltip.Body placement='top'>\n {operatorDescriptions[option.label]}\n </Tooltip.Body>\n </Tooltip>\n </Radio>\n ))}\n </Radio.Group>\n );\n}\n\nfunction RemoveRuleAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size='small'\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <Delete />\n </Icon>\n </IconButton>\n );\n}\n\nfunction LockAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size={'small'}\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <LockFill />\n </Icon>\n </IconButton>\n );\n}\n\nfunction CloneAction({ handleOnClick, className, ...rest }: ActionProps) {\n // TODO: remove pressToMouseEvent when design-system is removed\n const handlePress = useCallback(\n (event: PressEvent) => handleOnClick(pressToMouseEvent(event)),\n [handleOnClick],\n );\n\n return (\n <IconButton\n size={'small'}\n onPress={handlePress}\n className={className}\n {...rest}\n >\n <Icon>\n <Duplicate />\n </Icon>\n </IconButton>\n );\n}\n\nexport function QueryBuilder({\n controlClassnames,\n controlElements,\n orientation = 'horizontal',\n showRuleLines = true,\n ...rest\n}: QueryBuilderProps) {\n /**\n * Represents the list of available controls that the component can use as a custom\n * component override.Passed in as a map of our custom defaults, but can be\n * overridden by using the controlElements prop\n */\n const mergedElements = useMemo(\n () => ({\n combinatorSelector: CombinatorSelector,\n cloneGroupAction: CloneAction,\n cloneRuleAction: CloneAction,\n removeRuleAction: RemoveRuleAction,\n lockGroupAction: LockAction,\n lockRuleAction: LockAction,\n ruleGroup: RuleGroup,\n rule: Rule,\n actionElement: ActionElement,\n valueSelector: ValueSelector,\n valueEditor: ValueEditor,\n ...controlElements,\n }),\n [controlElements],\n );\n\n /**\n * Represents the list of available classnames that the component will recognize.\n * Passed in as a map as all the default styling, but can be overridden by using the\n * controlClassnames prop\n */\n const defaultClassnames: Partial<Classnames> = useMemo(\n () => ({\n queryBuilder: 'border border-transparent',\n ruleGroup:\n 'group col-span-full flex flex-col gap-s p-s border border-info rounded-medium',\n header: 'flex gap-s',\n body: cn(\n 'group grid gap-x-s empty:hidden',\n showRuleLines\n ? 'grid-cols-[10px_minmax(100px,_1fr)_min-content]'\n : 'grid-cols-[minmax(100px,_1fr)_min-content]',\n ),\n combinators: 'my-s',\n addRule: '',\n addGroup: '',\n cloneRule: 'fg-interactive hover:fg-interactive-hover',\n cloneGroup: 'fg-interactive hover:fg-interactive-hover',\n removeGroup: '',\n rule: cn(\n 'flex gap-xs py-s',\n orientation === 'vertical'\n ? 'flex-col'\n : 'min-height-[50px] items-start',\n ),\n fields: 'w-full',\n operators: '',\n value: 'w-full',\n removeRule: '',\n valid: '',\n invalid: '',\n disabled: '',\n lockRule: 'fg-interactive hover:fg-interactive-hover',\n lockGroup: 'fg-interactive hover:fg-interactive-hover',\n valueSource: '',\n valueListItem: '',\n }),\n [orientation, showRuleLines],\n );\n\n const mergedClassnames = useMemo(() => {\n return {\n ...defaultClassnames,\n ...controlClassnames,\n };\n }, [controlClassnames, defaultClassnames]);\n\n const QueryBuilderContext = createContext<QueryBuilderContextType>({\n orientation,\n showRuleLines,\n });\n\n return (\n <RQBBuilder\n showNotToggle={false}\n showShiftActions={false}\n enableDragAndDrop={false}\n controlClassnames={mergedClassnames}\n controlElements={mergedElements}\n context={QueryBuilderContext}\n listsAsArrays\n {...rest}\n />\n );\n}\n\nQueryBuilder.CombinatorSelector = CombinatorSelector;\nQueryBuilder.RemoveRuleAction = RemoveRuleAction;\nQueryBuilder.LockAction = LockAction;\nQueryBuilder.CloneAction = CloneAction;\nQueryBuilder.ActionElement = ActionElement;\nQueryBuilder.Rule = Rule;\nQueryBuilder.RuleGroup = RuleGroup;\nQueryBuilder.RuleGroupHeaderComponent = RuleGroupHeaderComponent;\nQueryBuilder.RuleGroupFooterComponent = RuleGroupFooterComponent;\nQueryBuilder.getValidationResult = getValidationResult;\nQueryBuilder.ValueEditor = ValueEditor;\nQueryBuilder.ValueSelector = ValueSelector;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":["Rule","props","rule","useRule","context","useContext","classNames","disabled","operators","outerClassName","field","operator","value","valueSource","FieldSelectorControlElement","OperatorSelectorControlElement","ValueSourceSelectorControlElement","ValueEditorControlElement","CloneRuleActionControlElement","LockRuleActionControlElement","RemoveRuleActionControlElement","fields","listsAsArrays","parseNumbers","showCloneButtons","showLockButtons","fieldData","generateOnChangeHandler","inputType","parentDisabled","path","translations","valueEditorType","valueEditorSeparator","values","valueSources","valueSourceOptions","validationResult","cloneRule","useStopEventPropagation","toggleLockRule","removeRule","coreRuleProps","renderValueSources","jsxs","Fragment","jsx","TestID"],"mappings":"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","file":"rule.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useContext } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport type { QueryBuilderContextType } from './';\n\nexport function Rule(props: RuleProps) {\n const rule = useRule(props);\n const context: QueryBuilderContextType = useContext(props.context);\n\n const {\n classNames,\n disabled,\n operators,\n outerClassName,\n rule: { field, operator, value, valueSource },\n schema: {\n controls: {\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n fields,\n listsAsArrays,\n parseNumbers,\n showCloneButtons,\n showLockButtons,\n },\n fieldData,\n generateOnChangeHandler,\n inputType,\n parentDisabled,\n path,\n translations,\n valueEditorType,\n valueEditorSeparator,\n values,\n valueSources,\n valueSourceOptions,\n validationResult,\n } = rule;\n\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n\n const coreRuleProps = {\n context,\n disabled,\n level: path.length,\n path,\n schema: rule.schema,\n validation: validationResult,\n };\n\n const renderValueSources =\n !['null', 'notNull'].includes(operator) && valueSources.length > 1;\n\n return (\n <>\n {context.showRuleLines && <span className='rule-lines relative' />}\n <div className={outerClassName}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={fields}\n title={translations.fields.title}\n value={field}\n operator={operator}\n className={classNames.fields}\n handleOnChange={generateOnChangeHandler('field')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={field}\n fieldData={rule.fieldData}\n title={rule.translations.operators.title}\n options={operators}\n value={operator}\n className={rule.classNames.operators}\n handleOnChange={rule.generateOnChangeHandler('operator')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={operator}\n value={value}\n valueSource={valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={listsAsArrays}\n parseNumbers={parseNumbers}\n separator={valueEditorSeparator}\n className={classNames.value}\n handleOnChange={generateOnChangeHandler('value')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n {renderValueSources && (\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={valueSource ?? 'value'}\n className={classNames.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n <div className={outerClassName}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label ?? 'remove'}\n title={translations.removeRule.title ?? 'remove'}\n className={classNames.removeRule}\n handleOnClick={removeRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n {showCloneButtons && (\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label ?? 'clone'}\n title={translations.cloneRule.title ?? 'clone'}\n className={classNames.cloneRule}\n handleOnClick={cloneRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n {showLockButtons && (\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label ?? 'lock'}\n title={translations.lockRule.title ?? 'lock'}\n className={classNames.lockRule}\n handleOnClick={toggleLockRule}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":["Rule","props","rule","useRule","context","useContext","classNames","disabled","operators","outerClassName","field","operator","value","valueSource","FieldSelectorControlElement","OperatorSelectorControlElement","ValueSourceSelectorControlElement","ValueEditorControlElement","CloneRuleActionControlElement","LockRuleActionControlElement","RemoveRuleActionControlElement","fields","listsAsArrays","parseNumbers","showCloneButtons","showLockButtons","fieldData","generateOnChangeHandler","inputType","parentDisabled","path","translations","valueEditorType","valueEditorSeparator","values","valueSources","valueSourceOptions","validationResult","cloneRule","useStopEventPropagation","toggleLockRule","removeRule","coreRuleProps","renderValueSources","jsxs","Fragment","jsx","TestID"],"mappings":"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","file":"rule.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useContext } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport type { QueryBuilderContextType } from './';\n\nexport function Rule(props: RuleProps) {\n const rule = useRule(props);\n const context: QueryBuilderContextType = useContext(props.context);\n\n const {\n classNames,\n disabled,\n operators,\n outerClassName,\n rule: { field, operator, value, valueSource },\n schema: {\n controls: {\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n fields,\n listsAsArrays,\n parseNumbers,\n showCloneButtons,\n showLockButtons,\n },\n fieldData,\n generateOnChangeHandler,\n inputType,\n parentDisabled,\n path,\n translations,\n valueEditorType,\n valueEditorSeparator,\n values,\n valueSources,\n valueSourceOptions,\n validationResult,\n } = rule;\n\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n\n const coreRuleProps = {\n context,\n disabled,\n level: path.length,\n path,\n schema: rule.schema,\n validation: validationResult,\n };\n\n const renderValueSources =\n !['null', 'notNull'].includes(operator) && valueSources.length > 1;\n\n return (\n <>\n {context.showRuleLines && <span className='rule-lines relative' />}\n <div className={outerClassName}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={fields}\n title={translations.fields.title}\n value={field}\n operator={operator}\n className={classNames.fields}\n handleOnChange={generateOnChangeHandler('field')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={field}\n fieldData={rule.fieldData}\n title={rule.translations.operators.title}\n options={operators}\n value={operator}\n className={rule.classNames.operators}\n handleOnChange={rule.generateOnChangeHandler('operator')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={operator}\n value={value}\n valueSource={valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={listsAsArrays}\n parseNumbers={parseNumbers}\n separator={valueEditorSeparator}\n className={classNames.value}\n handleOnChange={generateOnChangeHandler('value')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n {renderValueSources && (\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={valueSource ?? 'value'}\n className={classNames.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n <div className={outerClassName}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label ?? 'remove'}\n title={translations.removeRule.title ?? 'remove'}\n className={classNames.removeRule}\n handleOnClick={removeRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n {showCloneButtons && (\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label ?? 'clone'}\n title={translations.cloneRule.title ?? 'clone'}\n className={classNames.cloneRule}\n handleOnClick={cloneRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n {showLockButtons && (\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label ?? 'lock'}\n title={translations.lockRule.title ?? 'lock'}\n className={classNames.lockRule}\n handleOnClick={toggleLockRule}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":["getValidationResult","rule","validator","result","pressToMouseEvent","event","noop"],"mappings":"kCAsBO,IAAMA,EAAsB,CACjCC,CAAAA,CACAC,CACqB,GAAA,CACrB,GAAI,CAACA,EACH,OAAO,CAAE,KAAO,CAAA,IAAK,CAGvB,CAAA,IAAMC,EAASD,CAAUD,CAAAA,CAAI,CAE7B,CAAA,OAAI,OAAOE,CAAAA,EAAW,UACb,CAAE,KAAA,CAAOA,CAAO,CAAA,CAGlB,CACL,KAAA,CAAOA,EAAO,KACd,CAAA,OAAA,CAASA,CAAO,CAAA,KAAA,CAAQ,EAAC,CAAIA,EAAO,OACtC,CACF,CAQaC,CAAAA,CAAAA,CAAqBC,CAC/B,GAAA,CACC,GAAGA,CACH,CAAA,cAAA,CAAgBC,IAChB,CAAA,eAAA,CAAiBA,IACnB,CAAA","file":"utils.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { noop } from '@accelint/core';\nimport type { PressEvent } from '@react-types/shared';\nimport type { MouseEvent } from 'react';\nimport type {\n RuleType,\n RuleValidator,\n ValidationResult,\n} from 'react-querybuilder';\n\nexport const getValidationResult = (\n rule: RuleType,\n validator?: RuleValidator,\n): ValidationResult => {\n if (!validator) {\n return { valid: true };\n }\n\n const result = validator(rule);\n\n if (typeof result === 'boolean') {\n return { valid: result };\n }\n\n return {\n valid: result.valid,\n reasons: result.valid ? [] : result.reasons,\n };\n};\n\n/**\n * This is required because the design system Button supports an onPress event but\n * QueryBuilder provides a callback that expects a MouseEvent and will error\n * out if preventDefault is not available as a method.\n * @param event\n */\nexport const pressToMouseEvent = (event: PressEvent) =>\n ({\n ...event,\n preventDefault: noop,\n stopPropagation: noop,\n }) as unknown as MouseEvent;\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":["getValidationResult","rule","validator","result","pressToMouseEvent","event","noop"],"mappings":"kCAsBO,IAAMA,EAAsB,CACjCC,CAAAA,CACAC,CAAAA,GACqB,CACrB,GAAI,CAACA,EACH,OAAO,CAAE,KAAA,CAAO,IAAK,CAAA,CAGvB,IAAMC,EAASD,CAAAA,CAAUD,CAAI,CAAA,CAE7B,OAAI,OAAOE,CAAAA,EAAW,UACb,CAAE,KAAA,CAAOA,CAAO,CAAA,CAGlB,CACL,KAAA,CAAOA,EAAO,KAAA,CACd,OAAA,CAASA,CAAAA,CAAO,KAAA,CAAQ,EAAC,CAAIA,EAAO,OACtC,CACF,CAAA,CAQaC,CAAAA,CAAqBC,CAAAA,GAC/B,CACC,GAAGA,CAAAA,CACH,cAAA,CAAgBC,IAAAA,CAChB,eAAA,CAAiBA,IACnB,CAAA","file":"utils.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { noop } from '@accelint/core';\nimport type { PressEvent } from '@react-types/shared';\nimport type { MouseEvent } from 'react';\nimport type {\n RuleType,\n RuleValidator,\n ValidationResult,\n} from 'react-querybuilder';\n\nexport const getValidationResult = (\n rule: RuleType,\n validator?: RuleValidator,\n): ValidationResult => {\n if (!validator) {\n return { valid: true };\n }\n\n const result = validator(rule);\n\n if (typeof result === 'boolean') {\n return { valid: result };\n }\n\n return {\n valid: result.valid,\n reasons: result.valid ? [] : result.reasons,\n };\n};\n\n/**\n * This is required because the design system Button supports an onPress event but\n * QueryBuilder provides a callback that expects a MouseEvent and will error\n * out if preventDefault is not available as a method.\n * @param event\n */\nexport const pressToMouseEvent = (event: PressEvent) =>\n ({\n ...event,\n preventDefault: noop,\n stopPropagation: noop,\n }) as unknown as MouseEvent;\n"]}