@react-querybuilder/bootstrap 6.0.0-alpha.2 → 6.0.0-alpha.3
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 +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +56 -57
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react-querybuilder"),t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react-querybuilder"),t=require("react/jsx-runtime"),h=require("react"),d=h.forwardRef(({className:e,title:n},r)=>t.jsx("span",{ref:r,className:e,title:n,children:t.jsx("i",{className:"bi bi-grip-vertical"})}));d.displayName="BootstrapDragHandle";const u=({className:e,handleOnChange:n,title:r,label:c,checked:m,disabled:a})=>{const l=h.useId();return t.jsxs("div",{className:`form-check-inline form-switch ${e}`,children:[t.jsx("input",{id:l,className:"form-check-input",type:"checkbox",onChange:o=>n(o.target.checked),checked:!!m,disabled:a}),t.jsx("label",{title:r,htmlFor:l,className:"form-check-label",children:c})]})};u.displayName="BootstrapNotToggle";const b=e=>{const{valArray:n,betweenValueHandler:r}=s.useValueEditor({handleOnChange:e.handleOnChange,inputType:e.inputType,operator:e.operator,value:e.value,type:e.type,listsAsArrays:e.listsAsArrays,parseNumbers:e.parseNumbers,values:e.values}),{selectorComponent:c=s.ValueSelector}=e;if(e.operator==="null"||e.operator==="notNull")return null;const m=e.fieldData?.placeholder??"";if((e.operator==="between"||e.operator==="notBetween")&&(e.type==="select"||e.type==="text")){const a=["from","to"].map((l,o)=>e.type==="text"?t.jsx("input",{type:e.inputType||"text",placeholder:m,value:n[o]??"",className:`${s.standardClassnames.valueListItem} form-control form-control-sm`,disabled:e.disabled,onChange:i=>r(i.target.value,o)},l):t.jsx(c,{...e,className:`${s.standardClassnames.valueListItem} form-select form-select-sm`,handleOnChange:i=>r(i,o),disabled:e.disabled,value:n[o]??s.getFirstOption(e.values),options:e.values??[],listsAsArrays:e.listsAsArrays},l));return t.jsxs("span",{"data-testid":e.testID,className:s.standardClassnames.value,title:e.title,children:[a[0],e.separator,a[1]]})}switch(e.type){case"select":case"multiselect":return t.jsx(s.ValueEditor,{skipHook:!0,...e,className:`${e.className} form-select form-select-sm`});case"switch":return t.jsx("span",{className:`custom-control custom-switch ${e.className}`,children:t.jsx("input",{type:"checkbox",className:"form-check-input custom-control-input",title:e.title,disabled:e.disabled,onChange:a=>e.handleOnChange(a.target.checked),checked:!!e.value})});case"checkbox":return t.jsx(s.ValueEditor,{skipHook:!0,...e,className:`form-check-input ${e.className}`});case"radio":return t.jsx("span",{title:e.title,className:s.standardClassnames.value,children:e.values?.map(a=>t.jsxs("div",{className:"form-check form-check-inline",children:[t.jsx("input",{className:"form-check-input",type:"radio",id:a.name,value:a.name,checked:e.value===a.name,disabled:e.disabled,onChange:l=>e.handleOnChange(l.target.value)}),t.jsx("label",{className:"form-check-label",htmlFor:a.name,children:a.label})]},a.name))})}return t.jsx(s.ValueEditor,{skipHook:!0,...e})};b.displayName="BootstrapValueEditor";const f={dragHandle:d,notToggle:u,valueEditor:b},y={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"},g=s.getCompatContextProvider({key:"bootstrap",controlClassnames:y,controlElements:f});exports.BootstrapDragHandle=d;exports.BootstrapNotToggle=u;exports.BootstrapValueEditor=b;exports.QueryBuilderBootstrap=g;exports.bootstrapControlClassnames=y;exports.bootstrapControlElements=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import type { DragHandleProps } from '@react-querybuilder/ts';\nimport { forwardRef } from 'react';\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 type { NotToggleProps } from '@react-querybuilder/ts';\nimport { useId } from 'react';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useId();\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id}\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} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import type { ValueEditorProps } from 'react-querybuilder';\nimport {\n getFirstOption,\n standardClassnames,\n useValueEditor,\n ValueEditor,\n ValueSelector,\n} from 'react-querybuilder';\n\nexport const BootstrapValueEditor = (props: ValueEditorProps) => {\n const { valArray, betweenValueHandler } = useValueEditor({\n handleOnChange: props.handleOnChange,\n inputType: props.inputType,\n operator: props.operator,\n value: props.value,\n type: props.type,\n listsAsArrays: props.listsAsArrays,\n parseNumbers: props.parseNumbers,\n values: props.values,\n });\n\n const { selectorComponent: SelectorComponent = ValueSelector } = props;\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = props.fieldData?.placeholder ?? '';\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const editors = ['from', 'to'].map((key, i) => {\n if (props.type === 'text') {\n return (\n <input\n key={key}\n type={props.inputType || 'text'}\n placeholder={placeHolderText}\n value={valArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => betweenValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n key={key}\n {...props}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => betweenValueHandler(v, i)}\n disabled={props.disabled}\n value={valArray[i] ?? getFirstOption(props.values)}\n options={props.values ?? []}\n listsAsArrays={props.listsAsArrays}\n />\n );\n });\n\n return (\n <span data-testid={props.testID} className={standardClassnames.value} title={props.title}>\n {editors[0]}\n {props.separator}\n {editors[1]}\n </span>\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n skipHook\n {...props}\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${props.className}`}>\n <input\n type=\"checkbox\"\n className=\"form-check-input custom-control-input\"\n title={props.title}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.checked)}\n checked={!!props.value}\n />\n </span>\n );\n\n case 'checkbox':\n return <ValueEditor skipHook {...props} className={`form-check-input ${props.className}`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.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={props.value === v.name}\n disabled={props.disabled}\n onChange={e => props.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 <ValueEditor skipHook {...props} />;\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from '@react-querybuilder/ts';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\nexport { BootstrapDragHandle, BootstrapNotToggle, 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n"],"names":["BootstrapDragHandle","forwardRef","className","title","dragRef","jsx","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useId","jsxs","e","BootstrapValueEditor","props","valArray","betweenValueHandler","useValueEditor","SelectorComponent","ValueSelector","placeHolderText","_a","editors","key","i","standardClassnames","v","getFirstOption","ValueEditor","_b","bootstrapControlElements","bootstrapControlClassnames","QueryBuilderBootstrap","getCompatContextProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import type { DragHandleProps } from '@react-querybuilder/ts';\nimport { forwardRef } from 'react';\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 type { NotToggleProps } from '@react-querybuilder/ts';\nimport { useId } from 'react';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useId();\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id}\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} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import type { ValueEditorProps } from 'react-querybuilder';\nimport {\n getFirstOption,\n standardClassnames,\n useValueEditor,\n ValueEditor,\n ValueSelector,\n} from 'react-querybuilder';\n\nexport const BootstrapValueEditor = (props: ValueEditorProps) => {\n const { valArray, betweenValueHandler } = useValueEditor({\n handleOnChange: props.handleOnChange,\n inputType: props.inputType,\n operator: props.operator,\n value: props.value,\n type: props.type,\n listsAsArrays: props.listsAsArrays,\n parseNumbers: props.parseNumbers,\n values: props.values,\n });\n\n const { selectorComponent: SelectorComponent = ValueSelector } = props;\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = props.fieldData?.placeholder ?? '';\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const editors = ['from', 'to'].map((key, i) => {\n if (props.type === 'text') {\n return (\n <input\n key={key}\n type={props.inputType || 'text'}\n placeholder={placeHolderText}\n value={valArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => betweenValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n key={key}\n {...props}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => betweenValueHandler(v, i)}\n disabled={props.disabled}\n value={valArray[i] ?? getFirstOption(props.values)}\n options={props.values ?? []}\n listsAsArrays={props.listsAsArrays}\n />\n );\n });\n\n return (\n <span data-testid={props.testID} className={standardClassnames.value} title={props.title}>\n {editors[0]}\n {props.separator}\n {editors[1]}\n </span>\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n skipHook\n {...props}\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${props.className}`}>\n <input\n type=\"checkbox\"\n className=\"form-check-input custom-control-input\"\n title={props.title}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.checked)}\n checked={!!props.value}\n />\n </span>\n );\n\n case 'checkbox':\n return <ValueEditor skipHook {...props} className={`form-check-input ${props.className}`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.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={props.value === v.name}\n disabled={props.disabled}\n onChange={e => props.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 <ValueEditor skipHook {...props} />;\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from '@react-querybuilder/ts';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\nexport { BootstrapDragHandle, BootstrapNotToggle, 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n"],"names":["BootstrapDragHandle","forwardRef","className","title","dragRef","jsx","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useId","jsxs","e","BootstrapValueEditor","props","valArray","betweenValueHandler","useValueEditor","SelectorComponent","ValueSelector","placeHolderText","editors","key","i","standardClassnames","v","getFirstOption","ValueEditor","bootstrapControlElements","bootstrapControlClassnames","QueryBuilderBootstrap","getCompatContextProvider"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,38 +1,37 @@
|
|
|
1
|
-
import { useValueEditor as
|
|
2
|
-
import { jsx as t, jsxs as
|
|
3
|
-
import { forwardRef as
|
|
4
|
-
const
|
|
5
|
-
({ className: e, title:
|
|
1
|
+
import { useValueEditor as y, standardClassnames as r, getFirstOption as g, ValueEditor as d, ValueSelector as N, getCompatContextProvider as k } from "react-querybuilder";
|
|
2
|
+
import { jsx as t, jsxs as u } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as v, useId as C } from "react";
|
|
4
|
+
const b = v(
|
|
5
|
+
({ className: e, title: n }, s) => /* @__PURE__ */ t("span", { ref: s, className: e, title: n, children: /* @__PURE__ */ t("i", { className: "bi bi-grip-vertical" }) })
|
|
6
6
|
);
|
|
7
|
-
|
|
8
|
-
const
|
|
7
|
+
b.displayName = "BootstrapDragHandle";
|
|
8
|
+
const h = ({
|
|
9
9
|
className: e,
|
|
10
|
-
handleOnChange:
|
|
11
|
-
title:
|
|
12
|
-
label:
|
|
13
|
-
checked:
|
|
14
|
-
disabled:
|
|
10
|
+
handleOnChange: n,
|
|
11
|
+
title: s,
|
|
12
|
+
label: c,
|
|
13
|
+
checked: m,
|
|
14
|
+
disabled: a
|
|
15
15
|
}) => {
|
|
16
|
-
const
|
|
17
|
-
return /* @__PURE__ */
|
|
16
|
+
const l = C();
|
|
17
|
+
return /* @__PURE__ */ u("div", { className: `form-check-inline form-switch ${e}`, children: [
|
|
18
18
|
/* @__PURE__ */ t(
|
|
19
19
|
"input",
|
|
20
20
|
{
|
|
21
|
-
id:
|
|
21
|
+
id: l,
|
|
22
22
|
className: "form-check-input",
|
|
23
23
|
type: "checkbox",
|
|
24
|
-
onChange: (
|
|
25
|
-
checked: !!
|
|
26
|
-
disabled:
|
|
24
|
+
onChange: (o) => n(o.target.checked),
|
|
25
|
+
checked: !!m,
|
|
26
|
+
disabled: a
|
|
27
27
|
}
|
|
28
28
|
),
|
|
29
|
-
/* @__PURE__ */ t("label", { title:
|
|
29
|
+
/* @__PURE__ */ t("label", { title: s, htmlFor: l, className: "form-check-label", children: c })
|
|
30
30
|
] });
|
|
31
31
|
};
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const { valArray: l, betweenValueHandler: n } = N({
|
|
32
|
+
h.displayName = "BootstrapNotToggle";
|
|
33
|
+
const f = (e) => {
|
|
34
|
+
const { valArray: n, betweenValueHandler: s } = y({
|
|
36
35
|
handleOnChange: e.handleOnChange,
|
|
37
36
|
inputType: e.inputType,
|
|
38
37
|
operator: e.operator,
|
|
@@ -41,36 +40,36 @@ const g = (e) => {
|
|
|
41
40
|
listsAsArrays: e.listsAsArrays,
|
|
42
41
|
parseNumbers: e.parseNumbers,
|
|
43
42
|
values: e.values
|
|
44
|
-
}), { selectorComponent:
|
|
43
|
+
}), { selectorComponent: c = N } = e;
|
|
45
44
|
if (e.operator === "null" || e.operator === "notNull")
|
|
46
45
|
return null;
|
|
47
|
-
const
|
|
46
|
+
const m = e.fieldData?.placeholder ?? "";
|
|
48
47
|
if ((e.operator === "between" || e.operator === "notBetween") && (e.type === "select" || e.type === "text")) {
|
|
49
|
-
const a = ["from", "to"].map((
|
|
48
|
+
const a = ["from", "to"].map((l, o) => e.type === "text" ? /* @__PURE__ */ t(
|
|
50
49
|
"input",
|
|
51
50
|
{
|
|
52
51
|
type: e.inputType || "text",
|
|
53
|
-
placeholder:
|
|
54
|
-
value:
|
|
55
|
-
className: `${
|
|
52
|
+
placeholder: m,
|
|
53
|
+
value: n[o] ?? "",
|
|
54
|
+
className: `${r.valueListItem} form-control form-control-sm`,
|
|
56
55
|
disabled: e.disabled,
|
|
57
|
-
onChange: (
|
|
56
|
+
onChange: (i) => s(i.target.value, o)
|
|
58
57
|
},
|
|
59
|
-
|
|
58
|
+
l
|
|
60
59
|
) : /* @__PURE__ */ t(
|
|
61
|
-
|
|
60
|
+
c,
|
|
62
61
|
{
|
|
63
62
|
...e,
|
|
64
|
-
className: `${
|
|
65
|
-
handleOnChange: (
|
|
63
|
+
className: `${r.valueListItem} form-select form-select-sm`,
|
|
64
|
+
handleOnChange: (i) => s(i, o),
|
|
66
65
|
disabled: e.disabled,
|
|
67
|
-
value:
|
|
66
|
+
value: n[o] ?? g(e.values),
|
|
68
67
|
options: e.values ?? [],
|
|
69
68
|
listsAsArrays: e.listsAsArrays
|
|
70
69
|
},
|
|
71
|
-
|
|
70
|
+
l
|
|
72
71
|
));
|
|
73
|
-
return /* @__PURE__ */
|
|
72
|
+
return /* @__PURE__ */ u("span", { "data-testid": e.testID, className: r.value, title: e.title, children: [
|
|
74
73
|
a[0],
|
|
75
74
|
e.separator,
|
|
76
75
|
a[1]
|
|
@@ -80,7 +79,7 @@ const g = (e) => {
|
|
|
80
79
|
case "select":
|
|
81
80
|
case "multiselect":
|
|
82
81
|
return /* @__PURE__ */ t(
|
|
83
|
-
|
|
82
|
+
d,
|
|
84
83
|
{
|
|
85
84
|
skipHook: !0,
|
|
86
85
|
...e,
|
|
@@ -100,9 +99,9 @@ const g = (e) => {
|
|
|
100
99
|
}
|
|
101
100
|
) });
|
|
102
101
|
case "checkbox":
|
|
103
|
-
return /* @__PURE__ */ t(
|
|
102
|
+
return /* @__PURE__ */ t(d, { skipHook: !0, ...e, className: `form-check-input ${e.className}` });
|
|
104
103
|
case "radio":
|
|
105
|
-
return /* @__PURE__ */ t("span", { title: e.title, className:
|
|
104
|
+
return /* @__PURE__ */ t("span", { title: e.title, className: r.value, children: e.values?.map((a) => /* @__PURE__ */ u("div", { className: "form-check form-check-inline", children: [
|
|
106
105
|
/* @__PURE__ */ t(
|
|
107
106
|
"input",
|
|
108
107
|
{
|
|
@@ -112,20 +111,20 @@ const g = (e) => {
|
|
|
112
111
|
value: a.name,
|
|
113
112
|
checked: e.value === a.name,
|
|
114
113
|
disabled: e.disabled,
|
|
115
|
-
onChange: (
|
|
114
|
+
onChange: (l) => e.handleOnChange(l.target.value)
|
|
116
115
|
}
|
|
117
116
|
),
|
|
118
117
|
/* @__PURE__ */ t("label", { className: "form-check-label", htmlFor: a.name, children: a.label })
|
|
119
118
|
] }, a.name)) });
|
|
120
119
|
}
|
|
121
|
-
return /* @__PURE__ */ t(
|
|
120
|
+
return /* @__PURE__ */ t(d, { skipHook: !0, ...e });
|
|
122
121
|
};
|
|
123
|
-
|
|
124
|
-
const
|
|
125
|
-
dragHandle:
|
|
126
|
-
notToggle:
|
|
127
|
-
valueEditor:
|
|
128
|
-
},
|
|
122
|
+
f.displayName = "BootstrapValueEditor";
|
|
123
|
+
const x = {
|
|
124
|
+
dragHandle: b,
|
|
125
|
+
notToggle: h,
|
|
126
|
+
valueEditor: f
|
|
127
|
+
}, A = {
|
|
129
128
|
addGroup: "btn btn-secondary btn-sm",
|
|
130
129
|
addRule: "btn btn-primary btn-sm",
|
|
131
130
|
cloneGroup: "btn btn-secondary btn-sm",
|
|
@@ -139,17 +138,17 @@ const B = {
|
|
|
139
138
|
operators: "form-select form-select-sm",
|
|
140
139
|
value: "form-control form-control-sm",
|
|
141
140
|
valueSource: "form-select form-select-sm"
|
|
142
|
-
},
|
|
141
|
+
}, E = k({
|
|
143
142
|
key: "bootstrap",
|
|
144
|
-
controlClassnames:
|
|
145
|
-
controlElements:
|
|
143
|
+
controlClassnames: A,
|
|
144
|
+
controlElements: x
|
|
146
145
|
});
|
|
147
146
|
export {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
147
|
+
b as BootstrapDragHandle,
|
|
148
|
+
h as BootstrapNotToggle,
|
|
149
|
+
f as BootstrapValueEditor,
|
|
150
|
+
E as QueryBuilderBootstrap,
|
|
151
|
+
A as bootstrapControlClassnames,
|
|
152
|
+
x as bootstrapControlElements
|
|
154
153
|
};
|
|
155
154
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import type { DragHandleProps } from '@react-querybuilder/ts';\nimport { forwardRef } from 'react';\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 type { NotToggleProps } from '@react-querybuilder/ts';\nimport { useId } from 'react';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useId();\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id}\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} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import type { ValueEditorProps } from 'react-querybuilder';\nimport {\n getFirstOption,\n standardClassnames,\n useValueEditor,\n ValueEditor,\n ValueSelector,\n} from 'react-querybuilder';\n\nexport const BootstrapValueEditor = (props: ValueEditorProps) => {\n const { valArray, betweenValueHandler } = useValueEditor({\n handleOnChange: props.handleOnChange,\n inputType: props.inputType,\n operator: props.operator,\n value: props.value,\n type: props.type,\n listsAsArrays: props.listsAsArrays,\n parseNumbers: props.parseNumbers,\n values: props.values,\n });\n\n const { selectorComponent: SelectorComponent = ValueSelector } = props;\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = props.fieldData?.placeholder ?? '';\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const editors = ['from', 'to'].map((key, i) => {\n if (props.type === 'text') {\n return (\n <input\n key={key}\n type={props.inputType || 'text'}\n placeholder={placeHolderText}\n value={valArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => betweenValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n key={key}\n {...props}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => betweenValueHandler(v, i)}\n disabled={props.disabled}\n value={valArray[i] ?? getFirstOption(props.values)}\n options={props.values ?? []}\n listsAsArrays={props.listsAsArrays}\n />\n );\n });\n\n return (\n <span data-testid={props.testID} className={standardClassnames.value} title={props.title}>\n {editors[0]}\n {props.separator}\n {editors[1]}\n </span>\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n skipHook\n {...props}\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${props.className}`}>\n <input\n type=\"checkbox\"\n className=\"form-check-input custom-control-input\"\n title={props.title}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.checked)}\n checked={!!props.value}\n />\n </span>\n );\n\n case 'checkbox':\n return <ValueEditor skipHook {...props} className={`form-check-input ${props.className}`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.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={props.value === v.name}\n disabled={props.disabled}\n onChange={e => props.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 <ValueEditor skipHook {...props} />;\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from '@react-querybuilder/ts';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\nexport { BootstrapDragHandle, BootstrapNotToggle, 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n"],"names":["BootstrapDragHandle","forwardRef","className","title","dragRef","jsx","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useId","jsxs","e","BootstrapValueEditor","props","valArray","betweenValueHandler","useValueEditor","SelectorComponent","ValueSelector","placeHolderText","_a","editors","key","i","standardClassnames","v","getFirstOption","ValueEditor","_b","bootstrapControlElements","bootstrapControlClassnames","QueryBuilderBootstrap","getCompatContextProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/BootstrapDragHandle.tsx","../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.ts"],"sourcesContent":["import type { DragHandleProps } from '@react-querybuilder/ts';\nimport { forwardRef } from 'react';\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 type { NotToggleProps } from '@react-querybuilder/ts';\nimport { useId } from 'react';\n\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps) => {\n const id = useId();\n\n return (\n <div className={`form-check-inline form-switch ${className}`}>\n <input\n id={id}\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} className=\"form-check-label\">\n {label}\n </label>\n </div>\n );\n};\n\nBootstrapNotToggle.displayName = 'BootstrapNotToggle';\n","import type { ValueEditorProps } from 'react-querybuilder';\nimport {\n getFirstOption,\n standardClassnames,\n useValueEditor,\n ValueEditor,\n ValueSelector,\n} from 'react-querybuilder';\n\nexport const BootstrapValueEditor = (props: ValueEditorProps) => {\n const { valArray, betweenValueHandler } = useValueEditor({\n handleOnChange: props.handleOnChange,\n inputType: props.inputType,\n operator: props.operator,\n value: props.value,\n type: props.type,\n listsAsArrays: props.listsAsArrays,\n parseNumbers: props.parseNumbers,\n values: props.values,\n });\n\n const { selectorComponent: SelectorComponent = ValueSelector } = props;\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = props.fieldData?.placeholder ?? '';\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const editors = ['from', 'to'].map((key, i) => {\n if (props.type === 'text') {\n return (\n <input\n key={key}\n type={props.inputType || 'text'}\n placeholder={placeHolderText}\n value={valArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => betweenValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n key={key}\n {...props}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => betweenValueHandler(v, i)}\n disabled={props.disabled}\n value={valArray[i] ?? getFirstOption(props.values)}\n options={props.values ?? []}\n listsAsArrays={props.listsAsArrays}\n />\n );\n });\n\n return (\n <span data-testid={props.testID} className={standardClassnames.value} title={props.title}>\n {editors[0]}\n {props.separator}\n {editors[1]}\n </span>\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n skipHook\n {...props}\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`custom-control custom-switch ${props.className}`}>\n <input\n type=\"checkbox\"\n className=\"form-check-input custom-control-input\"\n title={props.title}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.checked)}\n checked={!!props.value}\n />\n </span>\n );\n\n case 'checkbox':\n return <ValueEditor skipHook {...props} className={`form-check-input ${props.className}`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.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={props.value === v.name}\n disabled={props.disabled}\n onChange={e => props.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 <ValueEditor skipHook {...props} />;\n};\n\nBootstrapValueEditor.displayName = 'BootstrapValueEditor';\n","import type { Classnames, Controls } from '@react-querybuilder/ts';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\nexport { BootstrapDragHandle, BootstrapNotToggle, 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n"],"names":["BootstrapDragHandle","forwardRef","className","title","dragRef","jsx","BootstrapNotToggle","handleOnChange","label","checked","disabled","id","useId","jsxs","e","BootstrapValueEditor","props","valArray","betweenValueHandler","useValueEditor","SelectorComponent","ValueSelector","placeHolderText","editors","key","i","standardClassnames","v","getFirstOption","ValueEditor","bootstrapControlElements","bootstrapControlClassnames","QueryBuilderBootstrap","getCompatContextProvider"],"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": "6.0.0-alpha.
|
|
4
|
+
"version": "6.0.0-alpha.3",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@popperjs/core": "^2.11.6",
|
|
43
|
-
"@react-querybuilder/ts": "^6.0.0-alpha.
|
|
43
|
+
"@react-querybuilder/ts": "^6.0.0-alpha.3",
|
|
44
44
|
"@testing-library/react": "^13.4.0",
|
|
45
45
|
"@types/react": "^18.0.27",
|
|
46
46
|
"@vitejs/plugin-react-swc": "^3.1.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"bootstrap-icons": "^1.10.3",
|
|
49
49
|
"react": "^18.2.0",
|
|
50
50
|
"react-dom": "^18.2.0",
|
|
51
|
-
"react-querybuilder": "^6.0.0-alpha.
|
|
51
|
+
"react-querybuilder": "^6.0.0-alpha.3",
|
|
52
52
|
"rollup-plugin-visualizer": "^5.9.0",
|
|
53
53
|
"typescript": "^4.9.4",
|
|
54
54
|
"vite": "^4.0.4"
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"bootstrap-icons": ">=1.7.0",
|
|
59
59
|
"react": ">=16.8.0"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "a68dc4bdf227a96cf55cc333bf5956fdda079089"
|
|
62
62
|
}
|