@react-querybuilder/bootstrap 6.6.0-alpha.0 → 7.0.0-alpha.1
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 +2 -3
- package/dist/cjs/react-querybuilder_bootstrap.cjs.development.d.ts +62 -6
- package/dist/cjs/react-querybuilder_bootstrap.cjs.development.js +36 -30
- package/dist/cjs/react-querybuilder_bootstrap.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_bootstrap.cjs.production.d.ts +62 -6
- package/dist/cjs/react-querybuilder_bootstrap.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_bootstrap.cjs.production.js.map +1 -1
- package/dist/react-querybuilder_bootstrap.d.mts +62 -6
- package/dist/react-querybuilder_bootstrap.legacy-esm.d.mts +62 -6
- package/dist/react-querybuilder_bootstrap.legacy-esm.js +33 -27
- package/dist/react-querybuilder_bootstrap.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_bootstrap.mjs +33 -27
- package/dist/react-querybuilder_bootstrap.mjs.map +1 -1
- package/dist/react-querybuilder_bootstrap.production.d.mts +62 -6
- package/dist/react-querybuilder_bootstrap.production.mjs +1 -1
- package/dist/react-querybuilder_bootstrap.production.mjs.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -9,9 +9,8 @@ To see them in action, check out the [`react-querybuilder` demo](https://react-q
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm i
|
|
13
|
-
# OR
|
|
14
|
-
yarn add react-querybuilder @react-querybuilder/bootstrap bootstrap bootstrap-icons
|
|
12
|
+
npm i react-querybuilder @react-querybuilder/bootstrap bootstrap bootstrap-icons
|
|
13
|
+
# OR yarn add / pnpm add / bun add
|
|
15
14
|
```
|
|
16
15
|
|
|
17
16
|
## Usage
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps } from 'react-querybuilder';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
|
-
declare const BootstrapDragHandle: React.ForwardRefExoticComponent<DragHandleProps & React.RefAttributes<HTMLSpanElement>>;
|
|
6
|
-
|
|
7
5
|
declare const BootstrapNotToggle: {
|
|
8
6
|
({ className, handleOnChange, title, label, checked, disabled, }: NotToggleProps): React.JSX.Element;
|
|
9
7
|
displayName: string;
|
|
@@ -14,8 +12,66 @@ declare const BootstrapValueEditor: {
|
|
|
14
12
|
displayName: string;
|
|
15
13
|
};
|
|
16
14
|
|
|
17
|
-
declare const bootstrapControlElements:
|
|
18
|
-
|
|
15
|
+
declare const bootstrapControlElements: {
|
|
16
|
+
notToggle: {
|
|
17
|
+
({ className, handleOnChange, title, label, checked, disabled, }: react_querybuilder.NotToggleProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
valueEditor: {
|
|
21
|
+
(props: react_querybuilder.ValueEditorProps<react_querybuilder.Field<string, string, string, react_querybuilder.Option<string>, react_querybuilder.Option<string>>, string>): React.JSX.Element | null;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
declare const bootstrapControlClassnames: {
|
|
26
|
+
addGroup: string;
|
|
27
|
+
addRule: string;
|
|
28
|
+
cloneGroup: string;
|
|
29
|
+
cloneRule: string;
|
|
30
|
+
lockGroup: string;
|
|
31
|
+
lockRule: string;
|
|
32
|
+
removeGroup: string;
|
|
33
|
+
removeRule: string;
|
|
34
|
+
combinators: string;
|
|
35
|
+
fields: string;
|
|
36
|
+
operators: string;
|
|
37
|
+
value: string;
|
|
38
|
+
valueSource: string;
|
|
39
|
+
};
|
|
40
|
+
declare const bootstrapTranslations: {
|
|
41
|
+
removeGroup: {
|
|
42
|
+
label: React.JSX.Element;
|
|
43
|
+
};
|
|
44
|
+
removeRule: {
|
|
45
|
+
label: React.JSX.Element;
|
|
46
|
+
};
|
|
47
|
+
cloneRule: {
|
|
48
|
+
label: React.JSX.Element;
|
|
49
|
+
};
|
|
50
|
+
cloneRuleGroup: {
|
|
51
|
+
label: React.JSX.Element;
|
|
52
|
+
};
|
|
53
|
+
dragHandle: {
|
|
54
|
+
label: React.JSX.Element;
|
|
55
|
+
};
|
|
56
|
+
lockGroup: {
|
|
57
|
+
label: React.JSX.Element;
|
|
58
|
+
};
|
|
59
|
+
lockRule: {
|
|
60
|
+
label: React.JSX.Element;
|
|
61
|
+
};
|
|
62
|
+
lockGroupDisabled: {
|
|
63
|
+
label: React.JSX.Element;
|
|
64
|
+
};
|
|
65
|
+
lockRuleDisabled: {
|
|
66
|
+
label: React.JSX.Element;
|
|
67
|
+
};
|
|
68
|
+
shiftActionUp: {
|
|
69
|
+
label: React.JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
shiftActionDown: {
|
|
72
|
+
label: React.JSX.Element;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
19
75
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
76
|
|
|
21
|
-
export {
|
|
77
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|
|
@@ -27,30 +27,23 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/index.
|
|
30
|
+
// src/index.tsx
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
-
BootstrapDragHandle: () => BootstrapDragHandle,
|
|
34
33
|
BootstrapNotToggle: () => BootstrapNotToggle,
|
|
35
34
|
BootstrapValueEditor: () => BootstrapValueEditor,
|
|
36
35
|
QueryBuilderBootstrap: () => QueryBuilderBootstrap,
|
|
37
36
|
bootstrapControlClassnames: () => bootstrapControlClassnames,
|
|
38
|
-
bootstrapControlElements: () => bootstrapControlElements
|
|
37
|
+
bootstrapControlElements: () => bootstrapControlElements,
|
|
38
|
+
bootstrapTranslations: () => bootstrapTranslations
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(src_exports);
|
|
41
|
+
var React3 = __toESM(require("react"));
|
|
41
42
|
var import_react_querybuilder2 = require("react-querybuilder");
|
|
42
43
|
|
|
43
|
-
// src/
|
|
44
|
+
// src/BootstrapNotToggle.tsx
|
|
44
45
|
var React = __toESM(require("react"));
|
|
45
46
|
var import_react = require("react");
|
|
46
|
-
var BootstrapDragHandle = (0, import_react.forwardRef)(
|
|
47
|
-
({ className, title }, dragRef) => /* @__PURE__ */ React.createElement("span", { ref: dragRef, className, title }, /* @__PURE__ */ React.createElement("i", { className: "bi bi-grip-vertical" }))
|
|
48
|
-
);
|
|
49
|
-
BootstrapDragHandle.displayName = "BootstrapDragHandle";
|
|
50
|
-
|
|
51
|
-
// src/BootstrapNotToggle.tsx
|
|
52
|
-
var React2 = __toESM(require("react"));
|
|
53
|
-
var import_react2 = require("react");
|
|
54
47
|
var BootstrapNotToggle = ({
|
|
55
48
|
className,
|
|
56
49
|
handleOnChange,
|
|
@@ -59,8 +52,8 @@ var BootstrapNotToggle = ({
|
|
|
59
52
|
checked,
|
|
60
53
|
disabled
|
|
61
54
|
}) => {
|
|
62
|
-
const id = (0,
|
|
63
|
-
return /* @__PURE__ */
|
|
55
|
+
const id = (0, import_react.useId)();
|
|
56
|
+
return /* @__PURE__ */ React.createElement("div", { className: `form-check-inline form-switch ${className}` }, /* @__PURE__ */ React.createElement(
|
|
64
57
|
"input",
|
|
65
58
|
{
|
|
66
59
|
id,
|
|
@@ -70,12 +63,12 @@ var BootstrapNotToggle = ({
|
|
|
70
63
|
checked: !!checked,
|
|
71
64
|
disabled
|
|
72
65
|
}
|
|
73
|
-
), /* @__PURE__ */
|
|
66
|
+
), /* @__PURE__ */ React.createElement("label", { title, htmlFor: id, className: "form-check-label" }, label));
|
|
74
67
|
};
|
|
75
68
|
BootstrapNotToggle.displayName = "BootstrapNotToggle";
|
|
76
69
|
|
|
77
70
|
// src/BootstrapValueEditor.tsx
|
|
78
|
-
var
|
|
71
|
+
var React2 = __toESM(require("react"));
|
|
79
72
|
var import_react_querybuilder = require("react-querybuilder");
|
|
80
73
|
var BootstrapValueEditor = (props) => {
|
|
81
74
|
const { valueAsArray, multiValueHandler } = (0, import_react_querybuilder.useValueEditor)({
|
|
@@ -96,7 +89,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
96
89
|
if ((props.operator === "between" || props.operator === "notBetween") && (props.type === "select" || props.type === "text")) {
|
|
97
90
|
const editors = ["from", "to"].map((key, i) => {
|
|
98
91
|
if (props.type === "text") {
|
|
99
|
-
return /* @__PURE__ */
|
|
92
|
+
return /* @__PURE__ */ React2.createElement(
|
|
100
93
|
"input",
|
|
101
94
|
{
|
|
102
95
|
key,
|
|
@@ -109,7 +102,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
109
102
|
}
|
|
110
103
|
);
|
|
111
104
|
}
|
|
112
|
-
return /* @__PURE__ */
|
|
105
|
+
return /* @__PURE__ */ React2.createElement(
|
|
113
106
|
SelectorComponent,
|
|
114
107
|
{
|
|
115
108
|
...props,
|
|
@@ -123,12 +116,12 @@ var BootstrapValueEditor = (props) => {
|
|
|
123
116
|
}
|
|
124
117
|
);
|
|
125
118
|
});
|
|
126
|
-
return /* @__PURE__ */
|
|
119
|
+
return /* @__PURE__ */ React2.createElement("span", { "data-testid": props.testID, className: import_react_querybuilder.standardClassnames.value, title: props.title }, editors[0], props.separator, editors[1]);
|
|
127
120
|
}
|
|
128
121
|
switch (props.type) {
|
|
129
122
|
case "select":
|
|
130
123
|
case "multiselect":
|
|
131
|
-
return /* @__PURE__ */
|
|
124
|
+
return /* @__PURE__ */ React2.createElement(
|
|
132
125
|
import_react_querybuilder.ValueEditor,
|
|
133
126
|
{
|
|
134
127
|
skipHook: true,
|
|
@@ -137,7 +130,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
137
130
|
}
|
|
138
131
|
);
|
|
139
132
|
case "switch":
|
|
140
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ React2.createElement("span", { className: `custom-control custom-switch ${props.className}` }, /* @__PURE__ */ React2.createElement(
|
|
141
134
|
"input",
|
|
142
135
|
{
|
|
143
136
|
type: "checkbox",
|
|
@@ -149,9 +142,9 @@ var BootstrapValueEditor = (props) => {
|
|
|
149
142
|
}
|
|
150
143
|
));
|
|
151
144
|
case "checkbox":
|
|
152
|
-
return /* @__PURE__ */
|
|
145
|
+
return /* @__PURE__ */ React2.createElement(import_react_querybuilder.ValueEditor, { skipHook: true, ...props, className: `form-check-input ${props.className}` });
|
|
153
146
|
case "radio":
|
|
154
|
-
return /* @__PURE__ */
|
|
147
|
+
return /* @__PURE__ */ React2.createElement("span", { title: props.title, className: import_react_querybuilder.standardClassnames.value }, props.values?.map((v) => /* @__PURE__ */ React2.createElement("div", { key: v.name, className: "form-check form-check-inline" }, /* @__PURE__ */ React2.createElement(
|
|
155
148
|
"input",
|
|
156
149
|
{
|
|
157
150
|
className: "form-check-input",
|
|
@@ -162,15 +155,14 @@ var BootstrapValueEditor = (props) => {
|
|
|
162
155
|
disabled: props.disabled,
|
|
163
156
|
onChange: (e) => props.handleOnChange(e.target.value)
|
|
164
157
|
}
|
|
165
|
-
), /* @__PURE__ */
|
|
158
|
+
), /* @__PURE__ */ React2.createElement("label", { className: "form-check-label", htmlFor: v.name }, v.label))));
|
|
166
159
|
}
|
|
167
|
-
return /* @__PURE__ */
|
|
160
|
+
return /* @__PURE__ */ React2.createElement(import_react_querybuilder.ValueEditor, { skipHook: true, ...props });
|
|
168
161
|
};
|
|
169
162
|
BootstrapValueEditor.displayName = "BootstrapValueEditor";
|
|
170
163
|
|
|
171
|
-
// src/index.
|
|
164
|
+
// src/index.tsx
|
|
172
165
|
var bootstrapControlElements = {
|
|
173
|
-
dragHandle: BootstrapDragHandle,
|
|
174
166
|
notToggle: BootstrapNotToggle,
|
|
175
167
|
valueEditor: BootstrapValueEditor
|
|
176
168
|
};
|
|
@@ -189,18 +181,32 @@ var bootstrapControlClassnames = {
|
|
|
189
181
|
value: "form-control form-control-sm",
|
|
190
182
|
valueSource: "form-select form-select-sm"
|
|
191
183
|
};
|
|
184
|
+
var bootstrapTranslations = {
|
|
185
|
+
removeGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
186
|
+
removeRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
187
|
+
cloneRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
188
|
+
cloneRuleGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
189
|
+
dragHandle: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-grip-vertical" }) },
|
|
190
|
+
lockGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
191
|
+
lockRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
192
|
+
lockGroupDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
193
|
+
lockRuleDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
194
|
+
shiftActionUp: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-up" }) },
|
|
195
|
+
shiftActionDown: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-down" }) }
|
|
196
|
+
};
|
|
192
197
|
var QueryBuilderBootstrap = (0, import_react_querybuilder2.getCompatContextProvider)({
|
|
193
198
|
key: "bootstrap",
|
|
194
199
|
controlClassnames: bootstrapControlClassnames,
|
|
195
|
-
controlElements: bootstrapControlElements
|
|
200
|
+
controlElements: bootstrapControlElements,
|
|
201
|
+
translations: bootstrapTranslations
|
|
196
202
|
});
|
|
197
203
|
// Annotate the CommonJS export names for ESM import in node:
|
|
198
204
|
0 && (module.exports = {
|
|
199
|
-
BootstrapDragHandle,
|
|
200
205
|
BootstrapNotToggle,
|
|
201
206
|
BootstrapValueEditor,
|
|
202
207
|
QueryBuilderBootstrap,
|
|
203
208
|
bootstrapControlClassnames,
|
|
204
|
-
bootstrapControlElements
|
|
209
|
+
bootstrapControlElements,
|
|
210
|
+
bootstrapTranslations
|
|
205
211
|
});
|
|
206
212
|
//# sourceMappingURL=react-querybuilder_bootstrap.cjs.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/BootstrapDragHandle.tsx","../../src/BootstrapNotToggle.tsx","../../src/BootstrapValueEditor.tsx"],"sourcesContent":["import type { Classnames, Controls } from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapDragHandle';\nexport * from './BootstrapNotToggle';\nexport * 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n","import * as React from 'react';\nimport { 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 * as React from 'react';\nimport { useId } 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 = 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 * as React from 'react';\nimport 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 { valueAsArray, multiValueHandler } = 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={valueAsArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => multiValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n {...props}\n key={key}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => multiValueHandler(v, i)}\n disabled={props.disabled}\n value={valueAsArray[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"],"mappings":"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","names":["import_react_querybuilder","React","import_react","React"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.tsx","../../src/BootstrapNotToggle.tsx","../../src/BootstrapValueEditor.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Classnames, Controls, Translations } from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapNotToggle';\nexport * from './BootstrapValueEditor';\n\nexport const bootstrapControlElements = {\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n} satisfies Partial<Controls>;\n\nexport const bootstrapControlClassnames = {\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} satisfies Partial<Classnames>;\n\nexport const bootstrapTranslations = {\n removeGroup: { label: <i className=\"bi bi-x\" /> },\n removeRule: { label: <i className=\"bi bi-x\" /> },\n cloneRule: { label: <i className=\"bi bi-copy\" /> },\n cloneRuleGroup: { label: <i className=\"bi bi-copy\" /> },\n dragHandle: { label: <i className=\"bi bi-grip-vertical\" /> },\n lockGroup: { label: <i className=\"bi bi-unlock\" /> },\n lockRule: { label: <i className=\"bi bi-unlock\" /> },\n lockGroupDisabled: { label: <i className=\"bi bi-lock\" /> },\n lockRuleDisabled: { label: <i className=\"bi bi-lock\" /> },\n shiftActionUp: { label: <i className=\"bi bi-chevron-compact-up\" /> },\n shiftActionDown: { label: <i className=\"bi bi-chevron-compact-down\" /> },\n} satisfies Partial<Translations>;\n\nexport const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n translations: bootstrapTranslations,\n});\n","import * as React from 'react';\nimport { useId } 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 = 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 * as React from 'react';\nimport 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 { valueAsArray, multiValueHandler } = 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={valueAsArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => multiValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n {...props}\n key={key}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => multiValueHandler(v, i)}\n disabled={props.disabled}\n value={valueAsArray[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"],"mappings":"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","names":["React","import_react_querybuilder","React"]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps } from 'react-querybuilder';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
|
-
declare const BootstrapDragHandle: React.ForwardRefExoticComponent<DragHandleProps & React.RefAttributes<HTMLSpanElement>>;
|
|
6
|
-
|
|
7
5
|
declare const BootstrapNotToggle: {
|
|
8
6
|
({ className, handleOnChange, title, label, checked, disabled, }: NotToggleProps): React.JSX.Element;
|
|
9
7
|
displayName: string;
|
|
@@ -14,8 +12,66 @@ declare const BootstrapValueEditor: {
|
|
|
14
12
|
displayName: string;
|
|
15
13
|
};
|
|
16
14
|
|
|
17
|
-
declare const bootstrapControlElements:
|
|
18
|
-
|
|
15
|
+
declare const bootstrapControlElements: {
|
|
16
|
+
notToggle: {
|
|
17
|
+
({ className, handleOnChange, title, label, checked, disabled, }: react_querybuilder.NotToggleProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
valueEditor: {
|
|
21
|
+
(props: react_querybuilder.ValueEditorProps<react_querybuilder.Field<string, string, string, react_querybuilder.Option<string>, react_querybuilder.Option<string>>, string>): React.JSX.Element | null;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
declare const bootstrapControlClassnames: {
|
|
26
|
+
addGroup: string;
|
|
27
|
+
addRule: string;
|
|
28
|
+
cloneGroup: string;
|
|
29
|
+
cloneRule: string;
|
|
30
|
+
lockGroup: string;
|
|
31
|
+
lockRule: string;
|
|
32
|
+
removeGroup: string;
|
|
33
|
+
removeRule: string;
|
|
34
|
+
combinators: string;
|
|
35
|
+
fields: string;
|
|
36
|
+
operators: string;
|
|
37
|
+
value: string;
|
|
38
|
+
valueSource: string;
|
|
39
|
+
};
|
|
40
|
+
declare const bootstrapTranslations: {
|
|
41
|
+
removeGroup: {
|
|
42
|
+
label: React.JSX.Element;
|
|
43
|
+
};
|
|
44
|
+
removeRule: {
|
|
45
|
+
label: React.JSX.Element;
|
|
46
|
+
};
|
|
47
|
+
cloneRule: {
|
|
48
|
+
label: React.JSX.Element;
|
|
49
|
+
};
|
|
50
|
+
cloneRuleGroup: {
|
|
51
|
+
label: React.JSX.Element;
|
|
52
|
+
};
|
|
53
|
+
dragHandle: {
|
|
54
|
+
label: React.JSX.Element;
|
|
55
|
+
};
|
|
56
|
+
lockGroup: {
|
|
57
|
+
label: React.JSX.Element;
|
|
58
|
+
};
|
|
59
|
+
lockRule: {
|
|
60
|
+
label: React.JSX.Element;
|
|
61
|
+
};
|
|
62
|
+
lockGroupDisabled: {
|
|
63
|
+
label: React.JSX.Element;
|
|
64
|
+
};
|
|
65
|
+
lockRuleDisabled: {
|
|
66
|
+
label: React.JSX.Element;
|
|
67
|
+
};
|
|
68
|
+
shiftActionUp: {
|
|
69
|
+
label: React.JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
shiftActionDown: {
|
|
72
|
+
label: React.JSX.Element;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
19
75
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
76
|
|
|
21
|
-
export {
|
|
77
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var x=Object.create;var u=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var l in t)u(e,l,{get:t[l],enumerable:!0})},N=(e,t,l,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of A(t))!E.call(e,n)&&n!==l&&u(e,n,{get:()=>t[n],enumerable:!(i=T(t,n))||i.enumerable});return e};var y=(e,t,l)=>(l=e!=null?x(R(e)):{},N(t||!e||!e.__esModule?u(l,"default",{value:e,enumerable:!0}):l,e)),V=e=>N(u({},"__esModule",{value:!0}),e);var G={};B(G,{BootstrapNotToggle:()=>d,BootstrapValueEditor:()=>f,QueryBuilderBootstrap:()=>w,bootstrapControlClassnames:()=>p,bootstrapControlElements:()=>v,bootstrapTranslations:()=>C});module.exports=V(G);var r=y(require("react")),g=require("react-querybuilder");var b=y(require("react")),k=require("react"),d=({className:e,handleOnChange:t,title:l,label:i,checked:n,disabled:o})=>{let c=(0,k.useId)();return b.createElement("div",{className:`form-check-inline form-switch ${e}`},b.createElement("input",{id:c,className:"form-check-input",type:"checkbox",onChange:m=>t(m.target.checked),checked:!!n,disabled:o}),b.createElement("label",{title:l,htmlFor:c,className:"form-check-label"},i))};d.displayName="BootstrapNotToggle";var s=y(require("react")),a=require("react-querybuilder"),f=e=>{let{valueAsArray:t,multiValueHandler:l}=(0,a.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:i=a.ValueSelector}=e;if(e.operator==="null"||e.operator==="notNull")return null;let n=e.fieldData?.placeholder??"";if((e.operator==="between"||e.operator==="notBetween")&&(e.type==="select"||e.type==="text")){let o=["from","to"].map((c,m)=>e.type==="text"?s.createElement("input",{key:c,type:e.inputType||"text",placeholder:n,value:t[m]??"",className:`${a.standardClassnames.valueListItem} form-control form-control-sm`,disabled:e.disabled,onChange:h=>l(h.target.value,m)}):s.createElement(i,{...e,key:c,className:`${a.standardClassnames.valueListItem} form-select form-select-sm`,handleOnChange:h=>l(h,m),disabled:e.disabled,value:t[m]??(0,a.getFirstOption)(e.values),options:e.values??[],listsAsArrays:e.listsAsArrays}));return s.createElement("span",{"data-testid":e.testID,className:a.standardClassnames.value,title:e.title},o[0],e.separator,o[1])}switch(e.type){case"select":case"multiselect":return s.createElement(a.ValueEditor,{skipHook:!0,...e,className:`${e.className} form-select form-select-sm`});case"switch":return s.createElement("span",{className:`custom-control custom-switch ${e.className}`},s.createElement("input",{type:"checkbox",className:"form-check-input custom-control-input",title:e.title,disabled:e.disabled,onChange:o=>e.handleOnChange(o.target.checked),checked:!!e.value}));case"checkbox":return s.createElement(a.ValueEditor,{skipHook:!0,...e,className:`form-check-input ${e.className}`});case"radio":return s.createElement("span",{title:e.title,className:a.standardClassnames.value},e.values?.map(o=>s.createElement("div",{key:o.name,className:"form-check form-check-inline"},s.createElement("input",{className:"form-check-input",type:"radio",id:o.name,value:o.name,checked:e.value===o.name,disabled:e.disabled,onChange:c=>e.handleOnChange(c.target.value)}),s.createElement("label",{className:"form-check-label",htmlFor:o.name},o.label))))}return s.createElement(a.ValueEditor,{skipHook:!0,...e})};f.displayName="BootstrapValueEditor";var v={notToggle:d,valueEditor:f},p={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"},C={removeGroup:{label:r.createElement("i",{className:"bi bi-x"})},removeRule:{label:r.createElement("i",{className:"bi bi-x"})},cloneRule:{label:r.createElement("i",{className:"bi bi-copy"})},cloneRuleGroup:{label:r.createElement("i",{className:"bi bi-copy"})},dragHandle:{label:r.createElement("i",{className:"bi bi-grip-vertical"})},lockGroup:{label:r.createElement("i",{className:"bi bi-unlock"})},lockRule:{label:r.createElement("i",{className:"bi bi-unlock"})},lockGroupDisabled:{label:r.createElement("i",{className:"bi bi-lock"})},lockRuleDisabled:{label:r.createElement("i",{className:"bi bi-lock"})},shiftActionUp:{label:r.createElement("i",{className:"bi bi-chevron-compact-up"})},shiftActionDown:{label:r.createElement("i",{className:"bi bi-chevron-compact-down"})}},w=(0,g.getCompatContextProvider)({key:"bootstrap",controlClassnames:p,controlElements:v,translations:C});0&&(module.exports={BootstrapNotToggle,BootstrapValueEditor,QueryBuilderBootstrap,bootstrapControlClassnames,bootstrapControlElements,bootstrapTranslations});
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_bootstrap.cjs.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/BootstrapDragHandle.tsx","../../src/BootstrapNotToggle.tsx","../../src/BootstrapValueEditor.tsx"],"sourcesContent":["import type { Classnames, Controls } from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapDragHandle } from './BootstrapDragHandle';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapDragHandle';\nexport * from './BootstrapNotToggle';\nexport * 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 const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n});\n","import * as React from 'react';\nimport { 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 * as React from 'react';\nimport { useId } 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 = 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 * as React from 'react';\nimport 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 { valueAsArray, multiValueHandler } = 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={valueAsArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => multiValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n {...props}\n key={key}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => multiValueHandler(v, i)}\n disabled={props.disabled}\n value={valueAsArray[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"],"mappings":"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","names":["src_exports","__export","BootstrapDragHandle","BootstrapNotToggle","BootstrapValueEditor","QueryBuilderBootstrap","bootstrapControlClassnames","bootstrapControlElements","__toCommonJS","import_react_querybuilder","React","import_react","BootstrapDragHandle","className","title","dragRef","React","import_react","BootstrapNotToggle","className","handleOnChange","title","label","checked","disabled","id","e","React","import_react_querybuilder","BootstrapValueEditor","props","valueAsArray","multiValueHandler","SelectorComponent","placeHolderText","editors","key","i","e","v","bootstrapControlElements","BootstrapDragHandle","BootstrapNotToggle","BootstrapValueEditor","bootstrapControlClassnames","QueryBuilderBootstrap"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.tsx","../../src/BootstrapNotToggle.tsx","../../src/BootstrapValueEditor.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Classnames, Controls, Translations } from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapNotToggle';\nexport * from './BootstrapValueEditor';\n\nexport const bootstrapControlElements = {\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n} satisfies Partial<Controls>;\n\nexport const bootstrapControlClassnames = {\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} satisfies Partial<Classnames>;\n\nexport const bootstrapTranslations = {\n removeGroup: { label: <i className=\"bi bi-x\" /> },\n removeRule: { label: <i className=\"bi bi-x\" /> },\n cloneRule: { label: <i className=\"bi bi-copy\" /> },\n cloneRuleGroup: { label: <i className=\"bi bi-copy\" /> },\n dragHandle: { label: <i className=\"bi bi-grip-vertical\" /> },\n lockGroup: { label: <i className=\"bi bi-unlock\" /> },\n lockRule: { label: <i className=\"bi bi-unlock\" /> },\n lockGroupDisabled: { label: <i className=\"bi bi-lock\" /> },\n lockRuleDisabled: { label: <i className=\"bi bi-lock\" /> },\n shiftActionUp: { label: <i className=\"bi bi-chevron-compact-up\" /> },\n shiftActionDown: { label: <i className=\"bi bi-chevron-compact-down\" /> },\n} satisfies Partial<Translations>;\n\nexport const QueryBuilderBootstrap = getCompatContextProvider({\n key: 'bootstrap',\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n translations: bootstrapTranslations,\n});\n","import * as React from 'react';\nimport { useId } 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 = 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 * as React from 'react';\nimport 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 { valueAsArray, multiValueHandler } = 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={valueAsArray[i] ?? ''}\n className={`${standardClassnames.valueListItem} form-control form-control-sm`}\n disabled={props.disabled}\n onChange={e => multiValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n {...props}\n key={key}\n className={`${standardClassnames.valueListItem} form-select form-select-sm`}\n handleOnChange={v => multiValueHandler(v, i)}\n disabled={props.disabled}\n value={valueAsArray[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"],"mappings":"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","names":["src_exports","__export","BootstrapNotToggle","BootstrapValueEditor","QueryBuilderBootstrap","bootstrapControlClassnames","bootstrapControlElements","bootstrapTranslations","__toCommonJS","React","import_react_querybuilder","React","import_react","BootstrapNotToggle","className","handleOnChange","title","label","checked","disabled","id","e","React","import_react_querybuilder","BootstrapValueEditor","props","valueAsArray","multiValueHandler","SelectorComponent","placeHolderText","editors","key","i","e","v","bootstrapControlElements","BootstrapNotToggle","BootstrapValueEditor","bootstrapControlClassnames","bootstrapTranslations","QueryBuilderBootstrap"]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps } from 'react-querybuilder';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
|
-
declare const BootstrapDragHandle: React.ForwardRefExoticComponent<DragHandleProps & React.RefAttributes<HTMLSpanElement>>;
|
|
6
|
-
|
|
7
5
|
declare const BootstrapNotToggle: {
|
|
8
6
|
({ className, handleOnChange, title, label, checked, disabled, }: NotToggleProps): React.JSX.Element;
|
|
9
7
|
displayName: string;
|
|
@@ -14,8 +12,66 @@ declare const BootstrapValueEditor: {
|
|
|
14
12
|
displayName: string;
|
|
15
13
|
};
|
|
16
14
|
|
|
17
|
-
declare const bootstrapControlElements:
|
|
18
|
-
|
|
15
|
+
declare const bootstrapControlElements: {
|
|
16
|
+
notToggle: {
|
|
17
|
+
({ className, handleOnChange, title, label, checked, disabled, }: react_querybuilder.NotToggleProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
valueEditor: {
|
|
21
|
+
(props: react_querybuilder.ValueEditorProps<react_querybuilder.Field<string, string, string, react_querybuilder.Option<string>, react_querybuilder.Option<string>>, string>): React.JSX.Element | null;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
declare const bootstrapControlClassnames: {
|
|
26
|
+
addGroup: string;
|
|
27
|
+
addRule: string;
|
|
28
|
+
cloneGroup: string;
|
|
29
|
+
cloneRule: string;
|
|
30
|
+
lockGroup: string;
|
|
31
|
+
lockRule: string;
|
|
32
|
+
removeGroup: string;
|
|
33
|
+
removeRule: string;
|
|
34
|
+
combinators: string;
|
|
35
|
+
fields: string;
|
|
36
|
+
operators: string;
|
|
37
|
+
value: string;
|
|
38
|
+
valueSource: string;
|
|
39
|
+
};
|
|
40
|
+
declare const bootstrapTranslations: {
|
|
41
|
+
removeGroup: {
|
|
42
|
+
label: React.JSX.Element;
|
|
43
|
+
};
|
|
44
|
+
removeRule: {
|
|
45
|
+
label: React.JSX.Element;
|
|
46
|
+
};
|
|
47
|
+
cloneRule: {
|
|
48
|
+
label: React.JSX.Element;
|
|
49
|
+
};
|
|
50
|
+
cloneRuleGroup: {
|
|
51
|
+
label: React.JSX.Element;
|
|
52
|
+
};
|
|
53
|
+
dragHandle: {
|
|
54
|
+
label: React.JSX.Element;
|
|
55
|
+
};
|
|
56
|
+
lockGroup: {
|
|
57
|
+
label: React.JSX.Element;
|
|
58
|
+
};
|
|
59
|
+
lockRule: {
|
|
60
|
+
label: React.JSX.Element;
|
|
61
|
+
};
|
|
62
|
+
lockGroupDisabled: {
|
|
63
|
+
label: React.JSX.Element;
|
|
64
|
+
};
|
|
65
|
+
lockRuleDisabled: {
|
|
66
|
+
label: React.JSX.Element;
|
|
67
|
+
};
|
|
68
|
+
shiftActionUp: {
|
|
69
|
+
label: React.JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
shiftActionDown: {
|
|
72
|
+
label: React.JSX.Element;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
19
75
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
76
|
|
|
21
|
-
export {
|
|
77
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps } from 'react-querybuilder';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
|
-
declare const BootstrapDragHandle: React.ForwardRefExoticComponent<DragHandleProps & React.RefAttributes<HTMLSpanElement>>;
|
|
6
|
-
|
|
7
5
|
declare const BootstrapNotToggle: {
|
|
8
6
|
({ className, handleOnChange, title, label, checked, disabled, }: NotToggleProps): React.JSX.Element;
|
|
9
7
|
displayName: string;
|
|
@@ -14,8 +12,66 @@ declare const BootstrapValueEditor: {
|
|
|
14
12
|
displayName: string;
|
|
15
13
|
};
|
|
16
14
|
|
|
17
|
-
declare const bootstrapControlElements:
|
|
18
|
-
|
|
15
|
+
declare const bootstrapControlElements: {
|
|
16
|
+
notToggle: {
|
|
17
|
+
({ className, handleOnChange, title, label, checked, disabled, }: react_querybuilder.NotToggleProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
valueEditor: {
|
|
21
|
+
(props: react_querybuilder.ValueEditorProps<react_querybuilder.Field<string, string, string, react_querybuilder.Option<string>, react_querybuilder.Option<string>>, string>): React.JSX.Element | null;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
declare const bootstrapControlClassnames: {
|
|
26
|
+
addGroup: string;
|
|
27
|
+
addRule: string;
|
|
28
|
+
cloneGroup: string;
|
|
29
|
+
cloneRule: string;
|
|
30
|
+
lockGroup: string;
|
|
31
|
+
lockRule: string;
|
|
32
|
+
removeGroup: string;
|
|
33
|
+
removeRule: string;
|
|
34
|
+
combinators: string;
|
|
35
|
+
fields: string;
|
|
36
|
+
operators: string;
|
|
37
|
+
value: string;
|
|
38
|
+
valueSource: string;
|
|
39
|
+
};
|
|
40
|
+
declare const bootstrapTranslations: {
|
|
41
|
+
removeGroup: {
|
|
42
|
+
label: React.JSX.Element;
|
|
43
|
+
};
|
|
44
|
+
removeRule: {
|
|
45
|
+
label: React.JSX.Element;
|
|
46
|
+
};
|
|
47
|
+
cloneRule: {
|
|
48
|
+
label: React.JSX.Element;
|
|
49
|
+
};
|
|
50
|
+
cloneRuleGroup: {
|
|
51
|
+
label: React.JSX.Element;
|
|
52
|
+
};
|
|
53
|
+
dragHandle: {
|
|
54
|
+
label: React.JSX.Element;
|
|
55
|
+
};
|
|
56
|
+
lockGroup: {
|
|
57
|
+
label: React.JSX.Element;
|
|
58
|
+
};
|
|
59
|
+
lockRule: {
|
|
60
|
+
label: React.JSX.Element;
|
|
61
|
+
};
|
|
62
|
+
lockGroupDisabled: {
|
|
63
|
+
label: React.JSX.Element;
|
|
64
|
+
};
|
|
65
|
+
lockRuleDisabled: {
|
|
66
|
+
label: React.JSX.Element;
|
|
67
|
+
};
|
|
68
|
+
shiftActionUp: {
|
|
69
|
+
label: React.JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
shiftActionDown: {
|
|
72
|
+
label: React.JSX.Element;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
19
75
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
76
|
|
|
21
|
-
export {
|
|
77
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|