@react-querybuilder/bootstrap 4.2.5 → 4.4.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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Official [react-querybuilder](https://npmjs.com/package/react-querybuilder) components for [Bootstrap](https://getbootstrap.com/).
4
4
 
5
- To see them in action, check out the [`react-querybuilder` demo](https://react-querybuilder.js.org/react-querybuilder/) and choose "Bootstrap" from the Style drop-down.
5
+ To see them in action, check out the [`react-querybuilder` demo](https://react-querybuilder.js.org/react-querybuilder/#style=bootstrap) or [load the example in CodeSandbox](https://codesandbox.io/s/github/react-querybuilder/react-querybuilder/tree/main/examples/bootstrap).
6
6
 
7
7
  ## Installation
8
8
 
@@ -15,11 +15,12 @@ yarn add react-querybuilder @react-querybuilder/bootstrap bootstrap bootstrap-ic
15
15
  ## Usage
16
16
 
17
17
  ```tsx
18
- import QueryBuilder, { RuleGroupType } from 'react-querybuilder';
19
18
  import {
20
19
  bootstrapControlClassnames,
21
20
  bootstrapControlElements,
22
21
  } from '@react-querybuilder/bootstrap';
22
+ import { QueryBuilder, RuleGroupType } from 'react-querybuilder';
23
+ import 'bootstrap/scss/bootstrap.scss';
23
24
 
24
25
  const fields = [
25
26
  { name: 'firstName', label: 'First Name' },
@@ -41,20 +42,11 @@ const App = () => {
41
42
  };
42
43
  ```
43
44
 
44
- To apply the Bootstrap styles, you can add the following SCSS to your app:
45
+ Some additional styling may be necessary, e.g.:
45
46
 
46
- ```scss
47
- @import 'bootstrap/scss/functions';
48
- @import 'bootstrap/scss/variables';
49
- @import 'bootstrap/scss/mixins';
50
- @import 'bootstrap/scss/reboot';
51
- @import 'bootstrap/scss/type';
52
- @import 'bootstrap/scss/forms';
53
- @import 'bootstrap/scss/buttons';
54
- @import 'bootstrap/scss/dropdown';
55
-
56
- .form-control,
57
- .form-select {
47
+ ```css
48
+ .queryBuilder .form-control,
49
+ .queryBuilder .form-select {
58
50
  display: inline-block;
59
51
  width: auto;
60
52
  }
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,10 @@
1
- "use strict";var _=Object.defineProperty,$=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var y=(e,r,t)=>r in e?_(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,w=(e,r)=>{for(var t in r||(r={}))N.call(r,t)&&y(e,t,r[t]);if(d)for(var t of d(r))B.call(r,t)&&y(e,t,r[t]);return e},x=(e,r)=>$(e,G(r));var R=(e,r)=>{var t={};for(var o in e)N.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&d)for(var o of d(e))r.indexOf(o)<0&&B.call(e,o)&&(t[o]=e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var f=require("react"),S=require("react-querybuilder");function V(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var c=V(f);const i=f.forwardRef(({className:e,title:r},t)=>c.default.createElement("span",{ref:t,className:e,title:r},c.default.createElement("i",{className:"bi bi-grip-vertical"})));i.displayName="BootstrapDragHandle";const p=({className:e,handleOnChange:r,title:t,label:o,checked:a,disabled:l})=>{const m=f.useRef(`notToggle-${Math.random()}`);return c.default.createElement("div",{className:`form-check-inline form-switch ${e}`},c.default.createElement("input",{id:m.current,className:"form-check-input",type:"checkbox",onChange:u=>r(u.target.checked),checked:!!a,disabled:l}),c.default.createElement("label",{title:t,htmlFor:m.current,className:"form-check-label"},o))};p.displayName="BootstrapNotToggle";const b=M=>{var k=M,{fieldData:e,operator:r,value:t,handleOnChange:o,title:a,className:l,type:m,inputType:u,values:g,disabled:s}=k,C=R(k,["fieldData","operator","value","handleOnChange","title","className","type","inputType","values","disabled"]);var E;if(f.useEffect(()=>{u==="number"&&!["between","notBetween","in","notIn"].includes(r)&&typeof t=="string"&&t.includes(",")&&o("")},[u,r,t,o]),r==="null"||r==="notNull")return null;const h=(E=e==null?void 0:e.placeholder)!=null?E:"",T=["between","notBetween","in","notIn"].includes(r)?"text":u||"text";switch(m){case"select":case"multiselect":return c.default.createElement(S.ValueSelector,x(w({},C),{className:`${l} form-select form-select-sm`,title:a,handleOnChange:o,value:t,disabled:s,multiple:m==="multiselect",options:g}));case"textarea":return c.default.createElement("textarea",{value:t,title:a,className:l,disabled:s,placeholder:h,onChange:n=>o(n.target.value)});case"switch":return c.default.createElement("span",{className:`custom-control custom-switch ${l}`},c.default.createElement("input",{type:"checkbox",className:"form-check-input custom-control-input",title:a,disabled:s,onChange:n=>o(n.target.checked),checked:!!t}));case"checkbox":return c.default.createElement("input",{type:"checkbox",className:`form-check-input ${l}`,title:a,disabled:s,onChange:n=>o(n.target.checked),checked:!!t});case"radio":return c.default.createElement("span",{title:a},g.map(n=>c.default.createElement("div",{key:n.name,className:"form-check form-check-inline"},c.default.createElement("input",{className:"form-check-input",type:"radio",id:n.name,value:n.name,checked:t===n.name,disabled:s,onChange:H=>o(H.target.value)}),c.default.createElement("label",{className:"form-check-label",htmlFor:n.name},n.label))))}return c.default.createElement("input",{type:T,value:t,title:a,className:l,disabled:s,placeholder:h,onChange:n=>o(n.target.value)})};b.displayName="BootstrapValueEditor";const q={dragHandle:i,notToggle:p,valueEditor:b},v={addGroup:"btn btn-secondary btn-sm",addRule:"btn btn-primary btn-sm",cloneGroup:"btn btn-secondary btn-sm",cloneRule:"btn btn-secondary btn-sm",lockGroup:"btn btn-secondary btn-sm",lockRule:"btn btn-secondary btn-sm",removeGroup:"btn btn-danger btn-sm",removeRule:"btn btn-danger btn-sm",combinators:"form-select form-select-sm",fields:"form-select form-select-sm",operators:"form-select form-select-sm",value:"form-control form-control-sm",valueSource:"form-select form-select-sm"};exports.BootstrapDragHandle=i;exports.BootstrapNotToggle=p;exports.BootstrapValueEditor=b;exports.bootstrapControlClassnames=v;exports.bootstrapControlElements=q;
1
+ "use strict";var q=Object.defineProperty,H=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var i=Object.getOwnPropertySymbols;var w=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var N=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))w.call(t,r)&&N(e,r,t[r]);if(i)for(var r of i(t))E.call(t,r)&&N(e,r,t[r]);return e},B=(e,t)=>H(e,I(t));var v=(e,t)=>{var r={};for(var o in e)w.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&i)for(var o of i(e))t.indexOf(o)<0&&E.call(e,o)&&(r[o]=e[o]);return r};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var p=require("react"),P=require("react-querybuilder");function F(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var G=F(p),d={exports:{}},f={};/**
2
+ * @license React
3
+ * react-jsx-runtime.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var L=G.default,V=Symbol.for("react.element"),M=Symbol.for("react.fragment"),D=Object.prototype.hasOwnProperty,O=L.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,U={key:!0,ref:!0,__self:!0,__source:!0};function $(e,t,r){var o,c={},l=null,a=null;r!==void 0&&(l=""+r),t.key!==void 0&&(l=""+t.key),t.ref!==void 0&&(a=t.ref);for(o in t)D.call(t,o)&&!U.hasOwnProperty(o)&&(c[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)c[o]===void 0&&(c[o]=t[o]);return{$$typeof:V,type:e,key:l,ref:a,props:c,_owner:O.current}}f.Fragment=M;f.jsx=$;f.jsxs=$;d.exports=f;const s=d.exports.jsx,j=d.exports.jsxs,b=p.forwardRef(({className:e,title:t},r)=>s("span",{ref:r,className:e,title:t,children:s("i",{className:"bi bi-grip-vertical"})}));b.displayName="BootstrapDragHandle";const h=({className:e,handleOnChange:t,title:r,label:o,checked:c,disabled:l})=>{const a=p.useRef(`notToggle-${Math.random()}`);return j("div",{className:`form-check-inline form-switch ${e}`,children:[s("input",{id:a.current,className:"form-check-input",type:"checkbox",onChange:u=>t(u.target.checked),checked:!!c,disabled:l}),s("label",{title:r,htmlFor:a.current,className:"form-check-label",children:o})]})};h.displayName="BootstrapNotToggle";const y=Q=>{var k=Q,{fieldData:e,operator:t,value:r,handleOnChange:o,title:c,className:l,type:a,inputType:u,values:g,disabled:m}=k,S=v(k,["fieldData","operator","value","handleOnChange","title","className","type","inputType","values","disabled"]);var x;if(p.useEffect(()=>{u==="number"&&!["between","notBetween","in","notIn"].includes(t)&&typeof r=="string"&&r.includes(",")&&o("")},[u,t,r,o]),t==="null"||t==="notNull")return null;const _=(x=e==null?void 0:e.placeholder)!=null?x:"",T=["between","notBetween","in","notIn"].includes(t)?"text":u||"text";switch(a){case"select":case"multiselect":return s(P.ValueSelector,B(R({},S),{className:`${l} form-select form-select-sm`,title:c,handleOnChange:o,value:r,disabled:m,multiple:a==="multiselect",options:g}));case"textarea":return s("textarea",{value:r,title:c,className:l,disabled:m,placeholder:_,onChange:n=>o(n.target.value)});case"switch":return s("span",{className:`custom-control custom-switch ${l}`,children:s("input",{type:"checkbox",className:"form-check-input custom-control-input",title:c,disabled:m,onChange:n=>o(n.target.checked),checked:!!r})});case"checkbox":return s("input",{type:"checkbox",className:`form-check-input ${l}`,title:c,disabled:m,onChange:n=>o(n.target.checked),checked:!!r});case"radio":return s("span",{title:c,children:g.map(n=>j("div",{className:"form-check form-check-inline",children:[s("input",{className:"form-check-input",type:"radio",id:n.name,value:n.name,checked:r===n.name,disabled:m,onChange:C=>o(C.target.value)}),s("label",{className:"form-check-label",htmlFor:n.name,children:n.label})]},n.name))})}return s("input",{type:T,value:r,title:c,className:l,disabled:m,placeholder:_,onChange:n=>o(n.target.value)})};y.displayName="BootstrapValueEditor";const A={dragHandle:b,notToggle:h,valueEditor:y},J={addGroup:"btn btn-secondary btn-sm",addRule:"btn btn-primary btn-sm",cloneGroup:"btn btn-secondary btn-sm",cloneRule:"btn btn-secondary btn-sm",lockGroup:"btn btn-secondary btn-sm",lockRule:"btn btn-secondary btn-sm",removeGroup:"btn btn-danger btn-sm",removeRule:"btn btn-danger btn-sm",combinators:"form-select form-select-sm",fields:"form-select form-select-sm",operators:"form-select form-select-sm",value:"form-control form-control-sm",valueSource:"form-select form-select-sm"};exports.BootstrapDragHandle=b;exports.BootstrapNotToggle=h;exports.BootstrapValueEditor=y;exports.bootstrapControlClassnames=J;exports.bootstrapControlElements=A;
2
10
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\nexport const BootstrapDragHandle = forwardRef<HTMLSpanElement, DragHandleProps>(\n ({ className, title }, dragRef) => (\n <span ref={dragRef} className={className} title={title}>\n <i className=\"bi bi-grip-vertical\"></i>\n </span>\n )\n);\n\nBootstrapDragHandle.displayName = 'BootstrapDragHandle';\n","import { useRef } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useRef(`notToggle-${Math.random()}`);\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id.current}\n className=\"form-check-input\"\n type=\"checkbox\"\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!checked}\n disabled={disabled}\n />\n <label title={title} htmlFor={id.current} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import { useEffect } from 'react';\nimport { ValueEditorProps, ValueSelector } from 'react-querybuilder';\n\nexport const BootstrapValueEditor = ({\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values,\n disabled,\n ...props\n}: ValueEditorProps) => {\n useEffect(() => {\n if (\n inputType === 'number' &&\n !['between', 'notBetween', 'in', 'notIn'].includes(operator) &&\n typeof value === 'string' &&\n value.includes(',')\n ) {\n handleOnChange('');\n }\n }, [inputType, operator, value, handleOnChange]);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n const inputTypeCoerced = ['between', 'notBetween', 'in', 'notIn'].includes(operator)\n ? 'text'\n : inputType || 'text';\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueSelector\n {...props}\n className={`${className} form-select form-select-sm`}\n title={title}\n handleOnChange={handleOnChange}\n value={value}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values!}\n />\n );\n\n case 'textarea':\n return (\n <textarea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${className}`}>\n <input\n type=\"checkbox\"\n className={`form-check-input custom-control-input`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n </span>\n );\n\n case 'checkbox':\n return (\n <input\n type=\"checkbox\"\n className={`form-check-input ${className}`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n );\n\n case 'radio':\n return (\n <span title={title}>\n {values!.map(v => (\n <div key={v.name} className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={v.name}>\n {v.label}\n </label>\n </div>\n ))}\n </span>\n );\n }\n\n return (\n <input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport const bootstrapControlElements: Partial<Controls> = {\n dragHandle: BootstrapDragHandle,\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n addGroup: 'btn btn-secondary btn-sm',\n addRule: 'btn btn-primary btn-sm',\n cloneGroup: 'btn btn-secondary btn-sm',\n cloneRule: 'btn btn-secondary btn-sm',\n lockGroup: 'btn btn-secondary btn-sm',\n lockRule: 'btn btn-secondary btn-sm',\n removeGroup: 'btn btn-danger btn-sm',\n removeRule: 'btn btn-danger btn-sm',\n combinators: 'form-select form-select-sm',\n fields: 'form-select form-select-sm',\n operators: 'form-select form-select-sm',\n value: 'form-control form-control-sm',\n valueSource: 'form-select form-select-sm',\n};\n\nexport { BootstrapDragHandle, BootstrapNotToggle, BootstrapValueEditor };\n"],"names":["forwardRef","React","useRef","useEffect","ValueSelector"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../react/jsx-runtime","../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import * as jsxRuntime from \"/Users/jake/git/react-querybuilder/node_modules/react/jsx-runtime.js\"\nexport const jsx = jsxRuntime.jsx\nexport const jsxs = jsxRuntime.jsxs\nexport const Fragment = jsxRuntime.Fragment","import { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\nexport const BootstrapDragHandle = forwardRef<HTMLSpanElement, DragHandleProps>(\n ({ className, title }, dragRef) => (\n <span ref={dragRef} className={className} title={title}>\n <i className=\"bi bi-grip-vertical\"></i>\n </span>\n )\n);\n\nBootstrapDragHandle.displayName = 'BootstrapDragHandle';\n","import { useRef } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useRef(`notToggle-${Math.random()}`);\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id.current}\n className=\"form-check-input\"\n type=\"checkbox\"\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!checked}\n disabled={disabled}\n />\n <label title={title} htmlFor={id.current} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import { useEffect } from 'react';\nimport { ValueEditorProps, ValueSelector } from 'react-querybuilder';\n\nexport const BootstrapValueEditor = ({\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values,\n disabled,\n ...props\n}: ValueEditorProps) => {\n useEffect(() => {\n if (\n inputType === 'number' &&\n !['between', 'notBetween', 'in', 'notIn'].includes(operator) &&\n typeof value === 'string' &&\n value.includes(',')\n ) {\n handleOnChange('');\n }\n }, [inputType, operator, value, handleOnChange]);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n const inputTypeCoerced = ['between', 'notBetween', 'in', 'notIn'].includes(operator)\n ? 'text'\n : inputType || 'text';\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueSelector\n {...props}\n className={`${className} form-select form-select-sm`}\n title={title}\n handleOnChange={handleOnChange}\n value={value}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values!}\n />\n );\n\n case 'textarea':\n return (\n <textarea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${className}`}>\n <input\n type=\"checkbox\"\n className={`form-check-input custom-control-input`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n </span>\n );\n\n case 'checkbox':\n return (\n <input\n type=\"checkbox\"\n className={`form-check-input ${className}`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n );\n\n case 'radio':\n return (\n <span title={title}>\n {values!.map(v => (\n <div key={v.name} className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={v.name}>\n {v.label}\n </label>\n </div>\n ))}\n </span>\n );\n }\n\n return (\n <input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport const bootstrapControlElements: Partial<Controls> = {\n dragHandle: BootstrapDragHandle,\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n addGroup: 'btn btn-secondary btn-sm',\n addRule: 'btn btn-primary btn-sm',\n cloneGroup: 'btn btn-secondary btn-sm',\n cloneRule: 'btn btn-secondary btn-sm',\n lockGroup: 'btn btn-secondary btn-sm',\n lockRule: 'btn btn-secondary btn-sm',\n removeGroup: 'btn btn-danger btn-sm',\n removeRule: 'btn btn-danger btn-sm',\n combinators: 'form-select form-select-sm',\n fields: 'form-select form-select-sm',\n operators: 'form-select form-select-sm',\n value: 'form-control form-control-sm',\n valueSource: 'form-select form-select-sm',\n};\n\nexport { BootstrapDragHandle, BootstrapNotToggle, BootstrapValueEditor };\n"],"names":["require$$0","jsxRuntimeModule","jsxRuntime.jsx","jsxRuntime.jsxs","BootstrapDragHandle","forwardRef","className","title","dragRef","displayName","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useRef","Math","random","_jsx","current","e","target","BootstrapValueEditor","fieldData","operator","value","type","inputType","values","props","useEffect","includes","placeHolderText","placeholder","inputTypeCoerced","ValueSelector","map","v","name"],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -29,15 +29,51 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import React, { forwardRef, useRef, useEffect } from "react";
32
+ import require$$0, { forwardRef, useRef, useEffect } from "react";
33
33
  import { ValueSelector } from "react-querybuilder";
34
- const BootstrapDragHandle = forwardRef(({ className, title }, dragRef) => /* @__PURE__ */ React.createElement("span", {
35
- ref: dragRef,
34
+ var jsxRuntime = { exports: {} };
35
+ var reactJsxRuntime_production_min = {};
36
+ /**
37
+ * @license React
38
+ * react-jsx-runtime.production.min.js
39
+ *
40
+ * Copyright (c) Facebook, Inc. and its affiliates.
41
+ *
42
+ * This source code is licensed under the MIT license found in the
43
+ * LICENSE file in the root directory of this source tree.
44
+ */
45
+ var f = require$$0, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: true, ref: true, __self: true, __source: true };
46
+ function q(c, a, g) {
47
+ var b, d = {}, e = null, h = null;
48
+ g !== void 0 && (e = "" + g);
49
+ a.key !== void 0 && (e = "" + a.key);
50
+ a.ref !== void 0 && (h = a.ref);
51
+ for (b in a)
52
+ m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
53
+ if (c && c.defaultProps)
54
+ for (b in a = c.defaultProps, a)
55
+ d[b] === void 0 && (d[b] = a[b]);
56
+ return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
57
+ }
58
+ reactJsxRuntime_production_min.Fragment = l;
59
+ reactJsxRuntime_production_min.jsx = q;
60
+ reactJsxRuntime_production_min.jsxs = q;
61
+ {
62
+ jsxRuntime.exports = reactJsxRuntime_production_min;
63
+ }
64
+ const jsx = jsxRuntime.exports.jsx;
65
+ const jsxs = jsxRuntime.exports.jsxs;
66
+ const BootstrapDragHandle = forwardRef(({
36
67
  className,
37
68
  title
38
- }, /* @__PURE__ */ React.createElement("i", {
39
- className: "bi bi-grip-vertical"
40
- })));
69
+ }, dragRef) => /* @__PURE__ */ jsx("span", {
70
+ ref: dragRef,
71
+ className,
72
+ title,
73
+ children: /* @__PURE__ */ jsx("i", {
74
+ className: "bi bi-grip-vertical"
75
+ })
76
+ }));
41
77
  BootstrapDragHandle.displayName = "BootstrapDragHandle";
42
78
  const BootstrapNotToggle = ({
43
79
  className,
@@ -48,20 +84,22 @@ const BootstrapNotToggle = ({
48
84
  disabled
49
85
  }) => {
50
86
  const id = useRef(`notToggle-${Math.random()}`);
51
- return /* @__PURE__ */ React.createElement("div", {
52
- className: `form-check-inline form-switch ${className}`
53
- }, /* @__PURE__ */ React.createElement("input", {
54
- id: id.current,
55
- className: "form-check-input",
56
- type: "checkbox",
57
- onChange: (e) => handleOnChange(e.target.checked),
58
- checked: !!checked,
59
- disabled
60
- }), /* @__PURE__ */ React.createElement("label", {
61
- title,
62
- htmlFor: id.current,
63
- className: "form-check-label"
64
- }, label));
87
+ return /* @__PURE__ */ jsxs("div", {
88
+ className: `form-check-inline form-switch ${className}`,
89
+ children: [/* @__PURE__ */ jsx("input", {
90
+ id: id.current,
91
+ className: "form-check-input",
92
+ type: "checkbox",
93
+ onChange: (e) => handleOnChange(e.target.checked),
94
+ checked: !!checked,
95
+ disabled
96
+ }), /* @__PURE__ */ jsx("label", {
97
+ title,
98
+ htmlFor: id.current,
99
+ className: "form-check-label",
100
+ children: label
101
+ })]
102
+ });
65
103
  };
66
104
  BootstrapNotToggle.displayName = "BootstrapNotToggle";
67
105
  const BootstrapValueEditor = (_a) => {
@@ -102,7 +140,7 @@ const BootstrapValueEditor = (_a) => {
102
140
  switch (type) {
103
141
  case "select":
104
142
  case "multiselect":
105
- return /* @__PURE__ */ React.createElement(ValueSelector, __spreadProps(__spreadValues({}, props), {
143
+ return /* @__PURE__ */ jsx(ValueSelector, __spreadProps(__spreadValues({}, props), {
106
144
  className: `${className} form-select form-select-sm`,
107
145
  title,
108
146
  handleOnChange,
@@ -112,7 +150,7 @@ const BootstrapValueEditor = (_a) => {
112
150
  options: values
113
151
  }));
114
152
  case "textarea":
115
- return /* @__PURE__ */ React.createElement("textarea", {
153
+ return /* @__PURE__ */ jsx("textarea", {
116
154
  value,
117
155
  title,
118
156
  className,
@@ -121,18 +159,19 @@ const BootstrapValueEditor = (_a) => {
121
159
  onChange: (e) => handleOnChange(e.target.value)
122
160
  });
123
161
  case "switch":
124
- return /* @__PURE__ */ React.createElement("span", {
125
- className: `custom-control custom-switch ${className}`
126
- }, /* @__PURE__ */ React.createElement("input", {
127
- type: "checkbox",
128
- className: `form-check-input custom-control-input`,
129
- title,
130
- disabled,
131
- onChange: (e) => handleOnChange(e.target.checked),
132
- checked: !!value
133
- }));
162
+ return /* @__PURE__ */ jsx("span", {
163
+ className: `custom-control custom-switch ${className}`,
164
+ children: /* @__PURE__ */ jsx("input", {
165
+ type: "checkbox",
166
+ className: `form-check-input custom-control-input`,
167
+ title,
168
+ disabled,
169
+ onChange: (e) => handleOnChange(e.target.checked),
170
+ checked: !!value
171
+ })
172
+ });
134
173
  case "checkbox":
135
- return /* @__PURE__ */ React.createElement("input", {
174
+ return /* @__PURE__ */ jsx("input", {
136
175
  type: "checkbox",
137
176
  className: `form-check-input ${className}`,
138
177
  title,
@@ -141,25 +180,27 @@ const BootstrapValueEditor = (_a) => {
141
180
  checked: !!value
142
181
  });
143
182
  case "radio":
144
- return /* @__PURE__ */ React.createElement("span", {
145
- title
146
- }, values.map((v) => /* @__PURE__ */ React.createElement("div", {
147
- key: v.name,
148
- className: "form-check form-check-inline"
149
- }, /* @__PURE__ */ React.createElement("input", {
150
- className: "form-check-input",
151
- type: "radio",
152
- id: v.name,
153
- value: v.name,
154
- checked: value === v.name,
155
- disabled,
156
- onChange: (e) => handleOnChange(e.target.value)
157
- }), /* @__PURE__ */ React.createElement("label", {
158
- className: "form-check-label",
159
- htmlFor: v.name
160
- }, v.label))));
183
+ return /* @__PURE__ */ jsx("span", {
184
+ title,
185
+ children: values.map((v) => /* @__PURE__ */ jsxs("div", {
186
+ className: "form-check form-check-inline",
187
+ children: [/* @__PURE__ */ jsx("input", {
188
+ className: "form-check-input",
189
+ type: "radio",
190
+ id: v.name,
191
+ value: v.name,
192
+ checked: value === v.name,
193
+ disabled,
194
+ onChange: (e) => handleOnChange(e.target.value)
195
+ }), /* @__PURE__ */ jsx("label", {
196
+ className: "form-check-label",
197
+ htmlFor: v.name,
198
+ children: v.label
199
+ })]
200
+ }, v.name))
201
+ });
161
202
  }
162
- return /* @__PURE__ */ React.createElement("input", {
203
+ return /* @__PURE__ */ jsx("input", {
163
204
  type: inputTypeCoerced,
164
205
  value,
165
206
  title,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\nexport const BootstrapDragHandle = forwardRef<HTMLSpanElement, DragHandleProps>(\n ({ className, title }, dragRef) => (\n <span ref={dragRef} className={className} title={title}>\n <i className=\"bi bi-grip-vertical\"></i>\n </span>\n )\n);\n\nBootstrapDragHandle.displayName = 'BootstrapDragHandle';\n","import { useRef } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useRef(`notToggle-${Math.random()}`);\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id.current}\n className=\"form-check-input\"\n type=\"checkbox\"\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!checked}\n disabled={disabled}\n />\n <label title={title} htmlFor={id.current} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import { useEffect } from 'react';\nimport { ValueEditorProps, ValueSelector } from 'react-querybuilder';\n\nexport const BootstrapValueEditor = ({\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values,\n disabled,\n ...props\n}: ValueEditorProps) => {\n useEffect(() => {\n if (\n inputType === 'number' &&\n !['between', 'notBetween', 'in', 'notIn'].includes(operator) &&\n typeof value === 'string' &&\n value.includes(',')\n ) {\n handleOnChange('');\n }\n }, [inputType, operator, value, handleOnChange]);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n const inputTypeCoerced = ['between', 'notBetween', 'in', 'notIn'].includes(operator)\n ? 'text'\n : inputType || 'text';\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueSelector\n {...props}\n className={`${className} form-select form-select-sm`}\n title={title}\n handleOnChange={handleOnChange}\n value={value}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values!}\n />\n );\n\n case 'textarea':\n return (\n <textarea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${className}`}>\n <input\n type=\"checkbox\"\n className={`form-check-input custom-control-input`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n </span>\n );\n\n case 'checkbox':\n return (\n <input\n type=\"checkbox\"\n className={`form-check-input ${className}`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n );\n\n case 'radio':\n return (\n <span title={title}>\n {values!.map(v => (\n <div key={v.name} className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={v.name}>\n {v.label}\n </label>\n </div>\n ))}\n </span>\n );\n }\n\n return (\n <input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport const bootstrapControlElements: Partial<Controls> = {\n dragHandle: BootstrapDragHandle,\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n addGroup: 'btn btn-secondary btn-sm',\n addRule: 'btn btn-primary btn-sm',\n cloneGroup: 'btn btn-secondary btn-sm',\n cloneRule: 'btn btn-secondary btn-sm',\n lockGroup: 'btn btn-secondary btn-sm',\n lockRule: 'btn btn-secondary btn-sm',\n removeGroup: 'btn btn-danger btn-sm',\n removeRule: 'btn btn-danger btn-sm',\n combinators: 'form-select form-select-sm',\n fields: 'form-select form-select-sm',\n operators: 'form-select form-select-sm',\n value: 'form-control form-control-sm',\n valueSource: 'form-select form-select-sm',\n};\n\nexport { BootstrapDragHandle, BootstrapNotToggle, BootstrapValueEditor };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../react/jsx-runtime","../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import * as jsxRuntime from \"/Users/jake/git/react-querybuilder/node_modules/react/jsx-runtime.js\"\nexport const jsx = jsxRuntime.jsx\nexport const jsxs = jsxRuntime.jsxs\nexport const Fragment = jsxRuntime.Fragment","import { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\nexport const BootstrapDragHandle = forwardRef<HTMLSpanElement, DragHandleProps>(\n ({ className, title }, dragRef) => (\n <span ref={dragRef} className={className} title={title}>\n <i className=\"bi bi-grip-vertical\"></i>\n </span>\n )\n);\n\nBootstrapDragHandle.displayName = 'BootstrapDragHandle';\n","import { useRef } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useRef(`notToggle-${Math.random()}`);\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id.current}\n className=\"form-check-input\"\n type=\"checkbox\"\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!checked}\n disabled={disabled}\n />\n <label title={title} htmlFor={id.current} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import { useEffect } from 'react';\nimport { ValueEditorProps, ValueSelector } from 'react-querybuilder';\n\nexport const BootstrapValueEditor = ({\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values,\n disabled,\n ...props\n}: ValueEditorProps) => {\n useEffect(() => {\n if (\n inputType === 'number' &&\n !['between', 'notBetween', 'in', 'notIn'].includes(operator) &&\n typeof value === 'string' &&\n value.includes(',')\n ) {\n handleOnChange('');\n }\n }, [inputType, operator, value, handleOnChange]);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n const inputTypeCoerced = ['between', 'notBetween', 'in', 'notIn'].includes(operator)\n ? 'text'\n : inputType || 'text';\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueSelector\n {...props}\n className={`${className} form-select form-select-sm`}\n title={title}\n handleOnChange={handleOnChange}\n value={value}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values!}\n />\n );\n\n case 'textarea':\n return (\n <textarea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${className}`}>\n <input\n type=\"checkbox\"\n className={`form-check-input custom-control-input`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n </span>\n );\n\n case 'checkbox':\n return (\n <input\n type=\"checkbox\"\n className={`form-check-input ${className}`}\n title={title}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n );\n\n case 'radio':\n return (\n <span title={title}>\n {values!.map(v => (\n <div key={v.name} className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={v.name}>\n {v.label}\n </label>\n </div>\n ))}\n </span>\n );\n }\n\n return (\n <input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport const bootstrapControlElements: Partial<Controls> = {\n dragHandle: BootstrapDragHandle,\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n addGroup: 'btn btn-secondary btn-sm',\n addRule: 'btn btn-primary btn-sm',\n cloneGroup: 'btn btn-secondary btn-sm',\n cloneRule: 'btn btn-secondary btn-sm',\n lockGroup: 'btn btn-secondary btn-sm',\n lockRule: 'btn btn-secondary btn-sm',\n removeGroup: 'btn btn-danger btn-sm',\n removeRule: 'btn btn-danger btn-sm',\n combinators: 'form-select form-select-sm',\n fields: 'form-select form-select-sm',\n operators: 'form-select form-select-sm',\n value: 'form-control form-control-sm',\n valueSource: 'form-select form-select-sm',\n};\n\nexport { BootstrapDragHandle, BootstrapNotToggle, BootstrapValueEditor };\n"],"names":["jsxRuntimeModule","require$$0","jsxRuntime.jsx","jsxRuntime.jsxs","BootstrapDragHandle","forwardRef","className","title","dragRef","displayName","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useRef","Math","random","_jsx","current","e","target","BootstrapValueEditor","fieldData","operator","value","type","inputType","values","props","useEffect","includes","placeHolderText","placeholder","inputTypeCoerced","map","v","name"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-querybuilder/bootstrap",
3
3
  "description": "Custom Bootstrap components for react-querybuilder",
4
- "version": "4.2.5",
4
+ "version": "4.4.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -19,15 +19,17 @@
19
19
  "license": "MIT",
20
20
  "homepage": "https://react-querybuilder.js.org/",
21
21
  "scripts": {
22
+ "start": "vite",
22
23
  "build": "vite build && tsc --emitDeclarationOnly",
23
24
  "type-check": "tsc --noEmit",
24
25
  "type-check:watch": "yarn type-check --watch"
25
26
  },
26
27
  "devDependencies": {
27
- "@types/react": "^17.0.0",
28
+ "@types/react": "^18.0.0",
29
+ "@vitejs/plugin-react": "^1.3.0",
28
30
  "bootstrap-icons": "^1.7.0",
29
- "react": "^17.0.1",
30
- "react-querybuilder": "^4.2.5",
31
+ "react": "^18.1.0",
32
+ "react-querybuilder": "^4.4.0",
31
33
  "typescript": "^4.5.0"
32
34
  },
33
35
  "peerDependencies": {
@@ -36,5 +38,5 @@
36
38
  "react": ">=16.8.0",
37
39
  "react-querybuilder": ">=4"
38
40
  },
39
- "gitHead": "5b1471d08454d1a5cefb666ceea6cc468ffc32e1"
41
+ "gitHead": "3f95f2782b129276b14231546fafee35b465bd08"
40
42
  }