@react-querybuilder/antd 4.0.0-beta.8 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var s=require("react"),d=require("antd"),b=require("@ant-design/icons");function w(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var n=w(s);const p=({className:e,handleOnClick:a,label:t,title:c,disabled:r})=>n.default.createElement(d.Button,{type:"primary",className:e,title:c,onClick:u=>a(u),disabled:r},t);p.displayName="AntDActionElement";const g=s.forwardRef(({className:e,title:a},t)=>n.default.createElement("span",{ref:t,className:e,title:a},n.default.createElement(b.HolderOutlined,null)));g.displayName="AntDDragHandle";const A=({className:e,handleOnChange:a,label:t,checked:c,title:r,disabled:u})=>n.default.createElement(d.Switch,{title:r,className:e,onChange:o=>a(o),checked:!!c,disabled:u,checkedChildren:t,unCheckedChildren:"="});A.displayName="AntDNotToggle";const{Option:C}=d.Select,y=({fieldData:e,operator:a,value:t,handleOnChange:c,title:r,className:u,type:o,inputType:m,values:i,disabled:f})=>{var E;if(s.useEffect(()=>{m==="number"&&!["between","notBetween","in","notIn"].includes(a)&&typeof t=="string"&&t.includes(",")&&c("")},[m,a,t,c]),a==="null"||a==="notNull")return null;const k=(E=e==null?void 0:e.placeholder)!=null?E:"",h=["between","notBetween","in","notIn"].includes(a)?"text":m||"text";switch(o){case"select":return n.default.createElement("span",{title:r,className:u},n.default.createElement(d.Select,{onChange:l=>c(l),value:t,disabled:f},i.map(l=>n.default.createElement(C,{key:l.name,value:l.name},l.label))));case"checkbox":return n.default.createElement("span",{title:r},n.default.createElement(d.Checkbox,{type:"checkbox",className:u,disabled:f,onChange:l=>c(l.target.checked),checked:!!t}));case"radio":return n.default.createElement("span",{className:u,title:r},i.map(l=>n.default.createElement(d.Radio,{key:l.name,value:l.name,checked:t===l.name,disabled:f,onChange:S=>c(S.target.value)},l.label)));default:return n.default.createElement(d.Input,{type:h,value:t,title:r,className:u,disabled:f,placeholder:k,onChange:l=>c(l.target.value)})}};y.displayName="AntDValueEditor";const{Option:x}=d.Select,D=({className:e,handleOnChange:a,options:t,value:c,title:r,disabled:u})=>n.default.createElement("span",{title:r,className:e},n.default.createElement(d.Select,{disabled:u,value:c,onChange:o=>a(o)},t.map(o=>{var i;const m=`key-${(i=o.id)!=null?i:o.name}`;return n.default.createElement(x,{key:m,value:o.name},o.label)})));D.displayName="AntDValueSelector";exports.AntDActionElement=p;exports.AntDDragHandle=g;exports.AntDNotToggle=A;exports.AntDValueEditor=y;exports.AntDValueSelector=D;
1
+ "use strict";var q=Object.defineProperty,B=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var m=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;var k=(e,t,n)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))g.call(t,n)&&k(e,n,t[n]);if(m)for(var n of m(t))D.call(t,n)&&k(e,n,t[n]);return e},h=(e,t)=>B(e,I(t));var S=(e,t)=>{var n={};for(var l in e)g.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(e!=null&&m)for(var l of m(e))t.indexOf(l)<0&&D.call(e,l)&&(n[l]=e[l]);return n};Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var f=require("react"),u=require("antd"),j=require("@ant-design/icons");function G(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=G(f);const w=({className:e,handleOnClick:t,label:n,title:l,disabled:c})=>a.default.createElement(u.Button,{type:"primary",className:e,title:l,onClick:r=>t(r),disabled:c},n);w.displayName="AntDActionElement";const x=f.forwardRef(({className:e,title:t},n)=>a.default.createElement("span",{ref:n,className:e,title:t},a.default.createElement(j.HolderOutlined,null)));x.displayName="AntDDragHandle";const C=({className:e,handleOnChange:t,label:n,checked:l,title:c,disabled:r})=>a.default.createElement(u.Switch,{title:c,className:e,onChange:d=>t(d),checked:!!l,disabled:r,checkedChildren:n,unCheckedChildren:"="});C.displayName="AntDNotToggle";const{OptGroup:M,Option:N}=u.Select,L=e=>Array.isArray(e)&&e.length>0&&"options"in e[0],O=e=>L(e)?e.map(t=>a.default.createElement(M,{key:t.label,label:t.label},t.options.map(n=>a.default.createElement(N,{key:n.name,value:n.name},n.label)))):Array.isArray(e)?e.map(t=>a.default.createElement(N,{key:t.name,value:t.name},t.label)):null,p=({className:e,handleOnChange:t,options:n,value:l,title:c,disabled:r})=>a.default.createElement("span",{title:c,className:e},a.default.createElement(u.Select,{disabled:r,value:l,onChange:d=>t(d)},O(n)));p.displayName="AntDValueSelector";const V=P=>{var y=P,{fieldData:e,operator:t,value:n,handleOnChange:l,title:c,className:r,type:d,inputType:s,values:A,disabled:i}=y,H=S(y,["fieldData","operator","value","handleOnChange","title","className","type","inputType","values","disabled"]);var E;if(f.useEffect(()=>{s==="number"&&!["between","notBetween","in","notIn"].includes(t)&&typeof n=="string"&&n.includes(",")&&l("")},[s,t,n,l]),t==="null"||t==="notNull")return null;const _=(E=e==null?void 0:e.placeholder)!=null?E:"",R=["between","notBetween","in","notIn"].includes(t)?"text":s||"text";switch(d){case"select":return a.default.createElement(p,h(b({},H),{className:r,handleOnChange:l,options:A,value:n,title:c,disabled:i}));case"checkbox":return a.default.createElement("span",{title:c},a.default.createElement(u.Checkbox,{type:"checkbox",className:r,disabled:i,onChange:o=>l(o.target.checked),checked:!!n}));case"radio":return a.default.createElement("span",{className:r,title:c},A.map(o=>a.default.createElement(u.Radio,{key:o.name,value:o.name,checked:n===o.name,disabled:i,onChange:T=>l(T.target.value)},o.label)));default:return a.default.createElement(u.Input,{type:R,value:n,title:c,className:r,disabled:i,placeholder:_,onChange:o=>l(o.target.value)})}};V.displayName="AntDValueEditor";exports.AntDActionElement=w;exports.AntDDragHandle=x;exports.AntDNotToggle=C;exports.AntDValueEditor=V;exports.AntDValueSelector=p;
package/dist/index.es.js CHANGED
@@ -1,5 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
1
32
  import React, { forwardRef, useEffect } from "react";
2
- import { Button, Switch, Input, Radio, Checkbox, Select } from "antd";
33
+ import { Button, Switch, Select, Input, Radio, Checkbox } from "antd";
3
34
  import { HolderOutlined } from "@ant-design/icons";
4
35
  const AntDActionElement = ({ className, handleOnClick, label, title, disabled }) => /* @__PURE__ */ React.createElement(Button, {
5
36
  type: "primary",
@@ -32,20 +63,59 @@ const AntDNotToggle = ({
32
63
  unCheckedChildren: "="
33
64
  });
34
65
  AntDNotToggle.displayName = "AntDNotToggle";
35
- const { Option: Option$1 } = Select;
36
- const AntDValueEditor = ({
37
- fieldData,
38
- operator,
39
- value,
66
+ const { OptGroup, Option } = Select;
67
+ const isOptionGroupArray = (arr) => Array.isArray(arr) && arr.length > 0 && "options" in arr[0];
68
+ const toOptions = (arr) => isOptionGroupArray(arr) ? arr.map((og) => /* @__PURE__ */ React.createElement(OptGroup, {
69
+ key: og.label,
70
+ label: og.label
71
+ }, og.options.map((opt) => /* @__PURE__ */ React.createElement(Option, {
72
+ key: opt.name,
73
+ value: opt.name
74
+ }, opt.label)))) : Array.isArray(arr) ? arr.map((opt) => /* @__PURE__ */ React.createElement(Option, {
75
+ key: opt.name,
76
+ value: opt.name
77
+ }, opt.label)) : null;
78
+ const AntDValueSelector = ({
79
+ className,
40
80
  handleOnChange,
81
+ options,
82
+ value,
41
83
  title,
42
- className,
43
- type,
44
- inputType,
45
- values,
46
84
  disabled
47
- }) => {
48
- var _a;
85
+ }) => /* @__PURE__ */ React.createElement("span", {
86
+ title,
87
+ className
88
+ }, /* @__PURE__ */ React.createElement(Select, {
89
+ disabled,
90
+ value,
91
+ onChange: (v) => handleOnChange(v)
92
+ }, toOptions(options)));
93
+ AntDValueSelector.displayName = "AntDValueSelector";
94
+ const AntDValueEditor = (_a) => {
95
+ var _b = _a, {
96
+ fieldData,
97
+ operator,
98
+ value,
99
+ handleOnChange,
100
+ title,
101
+ className,
102
+ type,
103
+ inputType,
104
+ values,
105
+ disabled
106
+ } = _b, props = __objRest(_b, [
107
+ "fieldData",
108
+ "operator",
109
+ "value",
110
+ "handleOnChange",
111
+ "title",
112
+ "className",
113
+ "type",
114
+ "inputType",
115
+ "values",
116
+ "disabled"
117
+ ]);
118
+ var _a2;
49
119
  useEffect(() => {
50
120
  if (inputType === "number" && !["between", "notBetween", "in", "notIn"].includes(operator) && typeof value === "string" && value.includes(",")) {
51
121
  handleOnChange("");
@@ -54,21 +124,18 @@ const AntDValueEditor = ({
54
124
  if (operator === "null" || operator === "notNull") {
55
125
  return null;
56
126
  }
57
- const placeHolderText = (_a = fieldData == null ? void 0 : fieldData.placeholder) != null ? _a : "";
127
+ const placeHolderText = (_a2 = fieldData == null ? void 0 : fieldData.placeholder) != null ? _a2 : "";
58
128
  const inputTypeCoerced = ["between", "notBetween", "in", "notIn"].includes(operator) ? "text" : inputType || "text";
59
129
  switch (type) {
60
130
  case "select":
61
- return /* @__PURE__ */ React.createElement("span", {
62
- title,
63
- className
64
- }, /* @__PURE__ */ React.createElement(Select, {
65
- onChange: (v) => handleOnChange(v),
131
+ return /* @__PURE__ */ React.createElement(AntDValueSelector, __spreadProps(__spreadValues({}, props), {
132
+ className,
133
+ handleOnChange,
134
+ options: values,
66
135
  value,
136
+ title,
67
137
  disabled
68
- }, values.map((v) => /* @__PURE__ */ React.createElement(Option$1, {
69
- key: v.name,
70
- value: v.name
71
- }, v.label))));
138
+ }));
72
139
  case "checkbox":
73
140
  return /* @__PURE__ */ React.createElement("span", {
74
141
  title
@@ -103,28 +170,4 @@ const AntDValueEditor = ({
103
170
  }
104
171
  };
105
172
  AntDValueEditor.displayName = "AntDValueEditor";
106
- const { Option } = Select;
107
- const AntDValueSelector = ({
108
- className,
109
- handleOnChange,
110
- options,
111
- value,
112
- title,
113
- disabled
114
- }) => /* @__PURE__ */ React.createElement("span", {
115
- title,
116
- className
117
- }, /* @__PURE__ */ React.createElement(Select, {
118
- disabled,
119
- value,
120
- onChange: (v) => handleOnChange(v)
121
- }, options.map((option) => {
122
- var _a;
123
- const key = `key-${(_a = option.id) != null ? _a : option.name}`;
124
- return /* @__PURE__ */ React.createElement(Option, {
125
- key,
126
- value: option.name
127
- }, option.label);
128
- })));
129
- AntDValueSelector.displayName = "AntDValueSelector";
130
173
  export { AntDActionElement, AntDDragHandle, AntDNotToggle, AntDValueEditor, AntDValueSelector };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { ValueEditorProps } from 'react-querybuilder';
3
3
  declare const AntDValueEditor: {
4
- ({ fieldData, operator, value, handleOnChange, title, className, type, inputType, values, disabled, }: ValueEditorProps): JSX.Element | null;
4
+ ({ fieldData, operator, value, handleOnChange, title, className, type, inputType, values, disabled, ...props }: ValueEditorProps): JSX.Element | null;
5
5
  displayName: string;
6
6
  };
7
7
  export default AntDValueEditor;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { Field, NameLabelPair, OptionGroup } from 'react-querybuilder';
3
+ export declare const isOptionGroupArray: (arr: Field['values']) => arr is OptionGroup<NameLabelPair>[];
4
+ export declare const toOptions: (arr?: NameLabelPair[] | OptionGroup<NameLabelPair>[] | undefined) => JSX.Element[] | null;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-querybuilder/antd",
3
3
  "description": "Custom Ant Design components for react-querybuilder",
4
- "version": "4.0.0-beta.8",
4
+ "version": "4.1.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -22,11 +22,11 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@ant-design/icons": "^4.7.0",
25
- "@react-querybuilder/compat": "^4.0.0-beta.8",
25
+ "@react-querybuilder/compat": "^4.1.2",
26
26
  "@types/react": "^17.0.0",
27
- "antd": "^4.10.3",
27
+ "antd": "4.17.3",
28
28
  "react": "^17.0.1",
29
- "react-querybuilder": "^4.0.0-beta.8",
29
+ "react-querybuilder": "^4.1.2",
30
30
  "typescript": "^4.5.0"
31
31
  },
32
32
  "peerDependencies": {
@@ -35,5 +35,5 @@
35
35
  "react": ">=16.8.0",
36
36
  "react-querybuilder": ">=4"
37
37
  },
38
- "gitHead": "79d0e66c09b058779e90dd5320f386e0e9fdfcd5"
38
+ "gitHead": "f630509a79b242d519efdc23fc5711b9f50384a7"
39
39
  }