@react-querybuilder/bootstrap 6.5.3 → 7.0.0-alpha.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/dist/cjs/react-querybuilder_bootstrap.cjs.development.d.ts +3 -4
- 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 +3 -4
- 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 +3 -4
- package/dist/react-querybuilder_bootstrap.legacy-esm.d.mts +3 -4
- 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 +3 -4
- package/dist/react-querybuilder_bootstrap.production.mjs +1 -1
- package/dist/react-querybuilder_bootstrap.production.mjs.map +1 -1
- package/package.json +10 -10
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps, Controls, Classnames, Translations } 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;
|
|
@@ -16,6 +14,7 @@ declare const BootstrapValueEditor: {
|
|
|
16
14
|
|
|
17
15
|
declare const bootstrapControlElements: Partial<Controls>;
|
|
18
16
|
declare const bootstrapControlClassnames: Partial<Classnames>;
|
|
17
|
+
declare const bootstrapTranslations: Partial<Translations>;
|
|
19
18
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
19
|
|
|
21
|
-
export {
|
|
20
|
+
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';\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","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: Partial<Controls> = {\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 bootstrapTranslations: Partial<Translations> = {\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};\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, Controls, Classnames, Translations } 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;
|
|
@@ -16,6 +14,7 @@ declare const BootstrapValueEditor: {
|
|
|
16
14
|
|
|
17
15
|
declare const bootstrapControlElements: Partial<Controls>;
|
|
18
16
|
declare const bootstrapControlClassnames: Partial<Classnames>;
|
|
17
|
+
declare const bootstrapTranslations: Partial<Translations>;
|
|
19
18
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
19
|
|
|
21
|
-
export {
|
|
20
|
+
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';\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","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: Partial<Controls> = {\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 bootstrapTranslations: Partial<Translations> = {\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};\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, Controls, Classnames, Translations } 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;
|
|
@@ -16,6 +14,7 @@ declare const BootstrapValueEditor: {
|
|
|
16
14
|
|
|
17
15
|
declare const bootstrapControlElements: Partial<Controls>;
|
|
18
16
|
declare const bootstrapControlClassnames: Partial<Classnames>;
|
|
17
|
+
declare const bootstrapTranslations: Partial<Translations>;
|
|
19
18
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
19
|
|
|
21
|
-
export {
|
|
20
|
+
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, Controls, Classnames, Translations } 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;
|
|
@@ -16,6 +14,7 @@ declare const BootstrapValueEditor: {
|
|
|
16
14
|
|
|
17
15
|
declare const bootstrapControlElements: Partial<Controls>;
|
|
18
16
|
declare const bootstrapControlClassnames: Partial<Classnames>;
|
|
17
|
+
declare const bootstrapTranslations: Partial<Translations>;
|
|
19
18
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
19
|
|
|
21
|
-
export {
|
|
20
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|
|
@@ -18,19 +18,12 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
|
|
21
|
-
// src/index.
|
|
21
|
+
// src/index.tsx
|
|
22
|
+
import * as React3 from "react";
|
|
22
23
|
import { getCompatContextProvider } from "react-querybuilder";
|
|
23
24
|
|
|
24
|
-
// src/BootstrapDragHandle.tsx
|
|
25
|
-
import * as React from "react";
|
|
26
|
-
import { forwardRef } from "react";
|
|
27
|
-
var BootstrapDragHandle = forwardRef(
|
|
28
|
-
({ className, title }, dragRef) => /* @__PURE__ */ React.createElement("span", { ref: dragRef, className, title }, /* @__PURE__ */ React.createElement("i", { className: "bi bi-grip-vertical" }))
|
|
29
|
-
);
|
|
30
|
-
BootstrapDragHandle.displayName = "BootstrapDragHandle";
|
|
31
|
-
|
|
32
25
|
// src/BootstrapNotToggle.tsx
|
|
33
|
-
import * as
|
|
26
|
+
import * as React from "react";
|
|
34
27
|
import { useId } from "react";
|
|
35
28
|
var BootstrapNotToggle = ({
|
|
36
29
|
className,
|
|
@@ -41,7 +34,7 @@ var BootstrapNotToggle = ({
|
|
|
41
34
|
disabled
|
|
42
35
|
}) => {
|
|
43
36
|
const id = useId();
|
|
44
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ React.createElement("div", { className: `form-check-inline form-switch ${className}` }, /* @__PURE__ */ React.createElement(
|
|
45
38
|
"input",
|
|
46
39
|
{
|
|
47
40
|
id,
|
|
@@ -51,12 +44,12 @@ var BootstrapNotToggle = ({
|
|
|
51
44
|
checked: !!checked,
|
|
52
45
|
disabled
|
|
53
46
|
}
|
|
54
|
-
), /* @__PURE__ */
|
|
47
|
+
), /* @__PURE__ */ React.createElement("label", { title, htmlFor: id, className: "form-check-label" }, label));
|
|
55
48
|
};
|
|
56
49
|
BootstrapNotToggle.displayName = "BootstrapNotToggle";
|
|
57
50
|
|
|
58
51
|
// src/BootstrapValueEditor.tsx
|
|
59
|
-
import * as
|
|
52
|
+
import * as React2 from "react";
|
|
60
53
|
import {
|
|
61
54
|
getFirstOption,
|
|
62
55
|
standardClassnames,
|
|
@@ -85,7 +78,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
85
78
|
const editors = ["from", "to"].map((key, i) => {
|
|
86
79
|
var _a2, _b2, _c2;
|
|
87
80
|
if (props.type === "text") {
|
|
88
|
-
return /* @__PURE__ */
|
|
81
|
+
return /* @__PURE__ */ React2.createElement(
|
|
89
82
|
"input",
|
|
90
83
|
{
|
|
91
84
|
key,
|
|
@@ -98,7 +91,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
98
91
|
}
|
|
99
92
|
);
|
|
100
93
|
}
|
|
101
|
-
return /* @__PURE__ */
|
|
94
|
+
return /* @__PURE__ */ React2.createElement(
|
|
102
95
|
SelectorComponent,
|
|
103
96
|
__spreadProps(__spreadValues({}, props), {
|
|
104
97
|
key,
|
|
@@ -111,12 +104,12 @@ var BootstrapValueEditor = (props) => {
|
|
|
111
104
|
})
|
|
112
105
|
);
|
|
113
106
|
});
|
|
114
|
-
return /* @__PURE__ */
|
|
107
|
+
return /* @__PURE__ */ React2.createElement("span", { "data-testid": props.testID, className: standardClassnames.value, title: props.title }, editors[0], props.separator, editors[1]);
|
|
115
108
|
}
|
|
116
109
|
switch (props.type) {
|
|
117
110
|
case "select":
|
|
118
111
|
case "multiselect":
|
|
119
|
-
return /* @__PURE__ */
|
|
112
|
+
return /* @__PURE__ */ React2.createElement(
|
|
120
113
|
ValueEditor,
|
|
121
114
|
__spreadProps(__spreadValues({
|
|
122
115
|
skipHook: true
|
|
@@ -125,7 +118,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
125
118
|
})
|
|
126
119
|
);
|
|
127
120
|
case "switch":
|
|
128
|
-
return /* @__PURE__ */
|
|
121
|
+
return /* @__PURE__ */ React2.createElement("span", { className: `custom-control custom-switch ${props.className}` }, /* @__PURE__ */ React2.createElement(
|
|
129
122
|
"input",
|
|
130
123
|
{
|
|
131
124
|
type: "checkbox",
|
|
@@ -137,9 +130,9 @@ var BootstrapValueEditor = (props) => {
|
|
|
137
130
|
}
|
|
138
131
|
));
|
|
139
132
|
case "checkbox":
|
|
140
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ React2.createElement(ValueEditor, __spreadProps(__spreadValues({ skipHook: true }, props), { className: `form-check-input ${props.className}` }));
|
|
141
134
|
case "radio":
|
|
142
|
-
return /* @__PURE__ */
|
|
135
|
+
return /* @__PURE__ */ React2.createElement("span", { title: props.title, className: standardClassnames.value }, (_c = props.values) == null ? void 0 : _c.map((v) => /* @__PURE__ */ React2.createElement("div", { key: v.name, className: "form-check form-check-inline" }, /* @__PURE__ */ React2.createElement(
|
|
143
136
|
"input",
|
|
144
137
|
{
|
|
145
138
|
className: "form-check-input",
|
|
@@ -150,15 +143,14 @@ var BootstrapValueEditor = (props) => {
|
|
|
150
143
|
disabled: props.disabled,
|
|
151
144
|
onChange: (e) => props.handleOnChange(e.target.value)
|
|
152
145
|
}
|
|
153
|
-
), /* @__PURE__ */
|
|
146
|
+
), /* @__PURE__ */ React2.createElement("label", { className: "form-check-label", htmlFor: v.name }, v.label))));
|
|
154
147
|
}
|
|
155
|
-
return /* @__PURE__ */
|
|
148
|
+
return /* @__PURE__ */ React2.createElement(ValueEditor, __spreadValues({ skipHook: true }, props));
|
|
156
149
|
};
|
|
157
150
|
BootstrapValueEditor.displayName = "BootstrapValueEditor";
|
|
158
151
|
|
|
159
|
-
// src/index.
|
|
152
|
+
// src/index.tsx
|
|
160
153
|
var bootstrapControlElements = {
|
|
161
|
-
dragHandle: BootstrapDragHandle,
|
|
162
154
|
notToggle: BootstrapNotToggle,
|
|
163
155
|
valueEditor: BootstrapValueEditor
|
|
164
156
|
};
|
|
@@ -177,17 +169,31 @@ var bootstrapControlClassnames = {
|
|
|
177
169
|
value: "form-control form-control-sm",
|
|
178
170
|
valueSource: "form-select form-select-sm"
|
|
179
171
|
};
|
|
172
|
+
var bootstrapTranslations = {
|
|
173
|
+
removeGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
174
|
+
removeRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
175
|
+
cloneRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
176
|
+
cloneRuleGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
177
|
+
dragHandle: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-grip-vertical" }) },
|
|
178
|
+
lockGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
179
|
+
lockRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
180
|
+
lockGroupDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
181
|
+
lockRuleDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
182
|
+
shiftActionUp: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-up" }) },
|
|
183
|
+
shiftActionDown: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-down" }) }
|
|
184
|
+
};
|
|
180
185
|
var QueryBuilderBootstrap = getCompatContextProvider({
|
|
181
186
|
key: "bootstrap",
|
|
182
187
|
controlClassnames: bootstrapControlClassnames,
|
|
183
|
-
controlElements: bootstrapControlElements
|
|
188
|
+
controlElements: bootstrapControlElements,
|
|
189
|
+
translations: bootstrapTranslations
|
|
184
190
|
});
|
|
185
191
|
export {
|
|
186
|
-
BootstrapDragHandle,
|
|
187
192
|
BootstrapNotToggle,
|
|
188
193
|
BootstrapValueEditor,
|
|
189
194
|
QueryBuilderBootstrap,
|
|
190
195
|
bootstrapControlClassnames,
|
|
191
|
-
bootstrapControlElements
|
|
196
|
+
bootstrapControlElements,
|
|
197
|
+
bootstrapTranslations
|
|
192
198
|
};
|
|
193
199
|
//# sourceMappingURL=react-querybuilder_bootstrap.legacy-esm.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';\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","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":["React","React","_a","_b","_c"]}
|
|
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: Partial<Controls> = {\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 bootstrapTranslations: Partial<Translations> = {\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};\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","React","_a","_b","_c"]}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
// src/index.
|
|
1
|
+
// src/index.tsx
|
|
2
|
+
import * as React3 from "react";
|
|
2
3
|
import { getCompatContextProvider } from "react-querybuilder";
|
|
3
4
|
|
|
4
|
-
// src/BootstrapDragHandle.tsx
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { forwardRef } from "react";
|
|
7
|
-
var BootstrapDragHandle = forwardRef(
|
|
8
|
-
({ className, title }, dragRef) => /* @__PURE__ */ React.createElement("span", { ref: dragRef, className, title }, /* @__PURE__ */ React.createElement("i", { className: "bi bi-grip-vertical" }))
|
|
9
|
-
);
|
|
10
|
-
BootstrapDragHandle.displayName = "BootstrapDragHandle";
|
|
11
|
-
|
|
12
5
|
// src/BootstrapNotToggle.tsx
|
|
13
|
-
import * as
|
|
6
|
+
import * as React from "react";
|
|
14
7
|
import { useId } from "react";
|
|
15
8
|
var BootstrapNotToggle = ({
|
|
16
9
|
className,
|
|
@@ -21,7 +14,7 @@ var BootstrapNotToggle = ({
|
|
|
21
14
|
disabled
|
|
22
15
|
}) => {
|
|
23
16
|
const id = useId();
|
|
24
|
-
return /* @__PURE__ */
|
|
17
|
+
return /* @__PURE__ */ React.createElement("div", { className: `form-check-inline form-switch ${className}` }, /* @__PURE__ */ React.createElement(
|
|
25
18
|
"input",
|
|
26
19
|
{
|
|
27
20
|
id,
|
|
@@ -31,12 +24,12 @@ var BootstrapNotToggle = ({
|
|
|
31
24
|
checked: !!checked,
|
|
32
25
|
disabled
|
|
33
26
|
}
|
|
34
|
-
), /* @__PURE__ */
|
|
27
|
+
), /* @__PURE__ */ React.createElement("label", { title, htmlFor: id, className: "form-check-label" }, label));
|
|
35
28
|
};
|
|
36
29
|
BootstrapNotToggle.displayName = "BootstrapNotToggle";
|
|
37
30
|
|
|
38
31
|
// src/BootstrapValueEditor.tsx
|
|
39
|
-
import * as
|
|
32
|
+
import * as React2 from "react";
|
|
40
33
|
import {
|
|
41
34
|
getFirstOption,
|
|
42
35
|
standardClassnames,
|
|
@@ -63,7 +56,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
63
56
|
if ((props.operator === "between" || props.operator === "notBetween") && (props.type === "select" || props.type === "text")) {
|
|
64
57
|
const editors = ["from", "to"].map((key, i) => {
|
|
65
58
|
if (props.type === "text") {
|
|
66
|
-
return /* @__PURE__ */
|
|
59
|
+
return /* @__PURE__ */ React2.createElement(
|
|
67
60
|
"input",
|
|
68
61
|
{
|
|
69
62
|
key,
|
|
@@ -76,7 +69,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
76
69
|
}
|
|
77
70
|
);
|
|
78
71
|
}
|
|
79
|
-
return /* @__PURE__ */
|
|
72
|
+
return /* @__PURE__ */ React2.createElement(
|
|
80
73
|
SelectorComponent,
|
|
81
74
|
{
|
|
82
75
|
...props,
|
|
@@ -90,12 +83,12 @@ var BootstrapValueEditor = (props) => {
|
|
|
90
83
|
}
|
|
91
84
|
);
|
|
92
85
|
});
|
|
93
|
-
return /* @__PURE__ */
|
|
86
|
+
return /* @__PURE__ */ React2.createElement("span", { "data-testid": props.testID, className: standardClassnames.value, title: props.title }, editors[0], props.separator, editors[1]);
|
|
94
87
|
}
|
|
95
88
|
switch (props.type) {
|
|
96
89
|
case "select":
|
|
97
90
|
case "multiselect":
|
|
98
|
-
return /* @__PURE__ */
|
|
91
|
+
return /* @__PURE__ */ React2.createElement(
|
|
99
92
|
ValueEditor,
|
|
100
93
|
{
|
|
101
94
|
skipHook: true,
|
|
@@ -104,7 +97,7 @@ var BootstrapValueEditor = (props) => {
|
|
|
104
97
|
}
|
|
105
98
|
);
|
|
106
99
|
case "switch":
|
|
107
|
-
return /* @__PURE__ */
|
|
100
|
+
return /* @__PURE__ */ React2.createElement("span", { className: `custom-control custom-switch ${props.className}` }, /* @__PURE__ */ React2.createElement(
|
|
108
101
|
"input",
|
|
109
102
|
{
|
|
110
103
|
type: "checkbox",
|
|
@@ -116,9 +109,9 @@ var BootstrapValueEditor = (props) => {
|
|
|
116
109
|
}
|
|
117
110
|
));
|
|
118
111
|
case "checkbox":
|
|
119
|
-
return /* @__PURE__ */
|
|
112
|
+
return /* @__PURE__ */ React2.createElement(ValueEditor, { skipHook: true, ...props, className: `form-check-input ${props.className}` });
|
|
120
113
|
case "radio":
|
|
121
|
-
return /* @__PURE__ */
|
|
114
|
+
return /* @__PURE__ */ React2.createElement("span", { title: props.title, className: standardClassnames.value }, props.values?.map((v) => /* @__PURE__ */ React2.createElement("div", { key: v.name, className: "form-check form-check-inline" }, /* @__PURE__ */ React2.createElement(
|
|
122
115
|
"input",
|
|
123
116
|
{
|
|
124
117
|
className: "form-check-input",
|
|
@@ -129,15 +122,14 @@ var BootstrapValueEditor = (props) => {
|
|
|
129
122
|
disabled: props.disabled,
|
|
130
123
|
onChange: (e) => props.handleOnChange(e.target.value)
|
|
131
124
|
}
|
|
132
|
-
), /* @__PURE__ */
|
|
125
|
+
), /* @__PURE__ */ React2.createElement("label", { className: "form-check-label", htmlFor: v.name }, v.label))));
|
|
133
126
|
}
|
|
134
|
-
return /* @__PURE__ */
|
|
127
|
+
return /* @__PURE__ */ React2.createElement(ValueEditor, { skipHook: true, ...props });
|
|
135
128
|
};
|
|
136
129
|
BootstrapValueEditor.displayName = "BootstrapValueEditor";
|
|
137
130
|
|
|
138
|
-
// src/index.
|
|
131
|
+
// src/index.tsx
|
|
139
132
|
var bootstrapControlElements = {
|
|
140
|
-
dragHandle: BootstrapDragHandle,
|
|
141
133
|
notToggle: BootstrapNotToggle,
|
|
142
134
|
valueEditor: BootstrapValueEditor
|
|
143
135
|
};
|
|
@@ -156,17 +148,31 @@ var bootstrapControlClassnames = {
|
|
|
156
148
|
value: "form-control form-control-sm",
|
|
157
149
|
valueSource: "form-select form-select-sm"
|
|
158
150
|
};
|
|
151
|
+
var bootstrapTranslations = {
|
|
152
|
+
removeGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
153
|
+
removeRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-x" }) },
|
|
154
|
+
cloneRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
155
|
+
cloneRuleGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-copy" }) },
|
|
156
|
+
dragHandle: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-grip-vertical" }) },
|
|
157
|
+
lockGroup: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
158
|
+
lockRule: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-unlock" }) },
|
|
159
|
+
lockGroupDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
160
|
+
lockRuleDisabled: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-lock" }) },
|
|
161
|
+
shiftActionUp: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-up" }) },
|
|
162
|
+
shiftActionDown: { label: /* @__PURE__ */ React3.createElement("i", { className: "bi bi-chevron-compact-down" }) }
|
|
163
|
+
};
|
|
159
164
|
var QueryBuilderBootstrap = getCompatContextProvider({
|
|
160
165
|
key: "bootstrap",
|
|
161
166
|
controlClassnames: bootstrapControlClassnames,
|
|
162
|
-
controlElements: bootstrapControlElements
|
|
167
|
+
controlElements: bootstrapControlElements,
|
|
168
|
+
translations: bootstrapTranslations
|
|
163
169
|
});
|
|
164
170
|
export {
|
|
165
|
-
BootstrapDragHandle,
|
|
166
171
|
BootstrapNotToggle,
|
|
167
172
|
BootstrapValueEditor,
|
|
168
173
|
QueryBuilderBootstrap,
|
|
169
174
|
bootstrapControlClassnames,
|
|
170
|
-
bootstrapControlElements
|
|
175
|
+
bootstrapControlElements,
|
|
176
|
+
bootstrapTranslations
|
|
171
177
|
};
|
|
172
178
|
//# sourceMappingURL=react-querybuilder_bootstrap.mjs.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';\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","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":["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: Partial<Controls> = {\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 bootstrapTranslations: Partial<Translations> = {\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};\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","React"]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as react_querybuilder from 'react-querybuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { NotToggleProps, ValueEditorProps, Controls, Classnames, Translations } 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;
|
|
@@ -16,6 +14,7 @@ declare const BootstrapValueEditor: {
|
|
|
16
14
|
|
|
17
15
|
declare const bootstrapControlElements: Partial<Controls>;
|
|
18
16
|
declare const bootstrapControlClassnames: Partial<Classnames>;
|
|
17
|
+
declare const bootstrapTranslations: Partial<Translations>;
|
|
19
18
|
declare const QueryBuilderBootstrap: react_querybuilder.QueryBuilderContextProvider<Record<string, any>>;
|
|
20
19
|
|
|
21
|
-
export {
|
|
20
|
+
export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as l from"react";import{getCompatContextProvider as v}from"react-querybuilder";import*as c from"react";import{useId as y}from"react";var d=({className:e,handleOnChange:r,title:n,label:m,checked:u,disabled:t})=>{let o=y();return c.createElement("div",{className:`form-check-inline form-switch ${e}`},c.createElement("input",{id:o,className:"form-check-input",type:"checkbox",onChange:s=>r(s.target.checked),checked:!!u,disabled:t}),c.createElement("label",{title:n,htmlFor:o,className:"form-check-label"},m))};d.displayName="BootstrapNotToggle";import*as a from"react";import{getFirstOption as N,standardClassnames as i,useValueEditor as k,ValueEditor as f,ValueSelector as g}from"react-querybuilder";var h=e=>{let{valueAsArray:r,multiValueHandler:n}=k({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:m=g}=e;if(e.operator==="null"||e.operator==="notNull")return null;let u=e.fieldData?.placeholder??"";if((e.operator==="between"||e.operator==="notBetween")&&(e.type==="select"||e.type==="text")){let t=["from","to"].map((o,s)=>e.type==="text"?a.createElement("input",{key:o,type:e.inputType||"text",placeholder:u,value:r[s]??"",className:`${i.valueListItem} form-control form-control-sm`,disabled:e.disabled,onChange:b=>n(b.target.value,s)}):a.createElement(m,{...e,key:o,className:`${i.valueListItem} form-select form-select-sm`,handleOnChange:b=>n(b,s),disabled:e.disabled,value:r[s]??N(e.values),options:e.values??[],listsAsArrays:e.listsAsArrays}));return a.createElement("span",{"data-testid":e.testID,className:i.value,title:e.title},t[0],e.separator,t[1])}switch(e.type){case"select":case"multiselect":return a.createElement(f,{skipHook:!0,...e,className:`${e.className} form-select form-select-sm`});case"switch":return a.createElement("span",{className:`custom-control custom-switch ${e.className}`},a.createElement("input",{type:"checkbox",className:"form-check-input custom-control-input",title:e.title,disabled:e.disabled,onChange:t=>e.handleOnChange(t.target.checked),checked:!!e.value}));case"checkbox":return a.createElement(f,{skipHook:!0,...e,className:`form-check-input ${e.className}`});case"radio":return a.createElement("span",{title:e.title,className:i.value},e.values?.map(t=>a.createElement("div",{key:t.name,className:"form-check form-check-inline"},a.createElement("input",{className:"form-check-input",type:"radio",id:t.name,value:t.name,checked:e.value===t.name,disabled:e.disabled,onChange:o=>e.handleOnChange(o.target.value)}),a.createElement("label",{className:"form-check-label",htmlFor:t.name},t.label))))}return a.createElement(f,{skipHook:!0,...e})};h.displayName="BootstrapValueEditor";var p={notToggle:d,valueEditor:h},C={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"},x={removeGroup:{label:l.createElement("i",{className:"bi bi-x"})},removeRule:{label:l.createElement("i",{className:"bi bi-x"})},cloneRule:{label:l.createElement("i",{className:"bi bi-copy"})},cloneRuleGroup:{label:l.createElement("i",{className:"bi bi-copy"})},dragHandle:{label:l.createElement("i",{className:"bi bi-grip-vertical"})},lockGroup:{label:l.createElement("i",{className:"bi bi-unlock"})},lockRule:{label:l.createElement("i",{className:"bi bi-unlock"})},lockGroupDisabled:{label:l.createElement("i",{className:"bi bi-lock"})},lockRuleDisabled:{label:l.createElement("i",{className:"bi bi-lock"})},shiftActionUp:{label:l.createElement("i",{className:"bi bi-chevron-compact-up"})},shiftActionDown:{label:l.createElement("i",{className:"bi bi-chevron-compact-down"})}},G=v({key:"bootstrap",controlClassnames:C,controlElements:p,translations:x});export{d as BootstrapNotToggle,h as BootstrapValueEditor,G as QueryBuilderBootstrap,C as bootstrapControlClassnames,p as bootstrapControlElements,x as bootstrapTranslations};
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_bootstrap.production.mjs.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';\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","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":["getCompatContextProvider","React","forwardRef","BootstrapDragHandle","className","title","dragRef","React","useId","BootstrapNotToggle","className","handleOnChange","title","label","checked","disabled","id","e","React","getFirstOption","standardClassnames","useValueEditor","ValueEditor","ValueSelector","BootstrapValueEditor","props","valueAsArray","multiValueHandler","SelectorComponent","placeHolderText","editors","key","i","e","v","bootstrapControlElements","BootstrapDragHandle","BootstrapNotToggle","BootstrapValueEditor","bootstrapControlClassnames","QueryBuilderBootstrap","getCompatContextProvider"]}
|
|
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: Partial<Controls> = {\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 bootstrapTranslations: Partial<Translations> = {\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};\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","getCompatContextProvider","React","useId","BootstrapNotToggle","className","handleOnChange","title","label","checked","disabled","id","e","React","getFirstOption","standardClassnames","useValueEditor","ValueEditor","ValueSelector","BootstrapValueEditor","props","valueAsArray","multiValueHandler","SelectorComponent","placeHolderText","editors","key","i","e","v","bootstrapControlElements","BootstrapNotToggle","BootstrapValueEditor","bootstrapControlClassnames","bootstrapTranslations","QueryBuilderBootstrap","getCompatContextProvider"]}
|
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
|
+
"version": "7.0.0-alpha.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -40,22 +40,22 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@popperjs/core": "^2.11.8",
|
|
42
42
|
"@testing-library/react": "^14.0.0",
|
|
43
|
-
"@types/react": "^18.2.
|
|
44
|
-
"@vitejs/plugin-react-swc": "^3.
|
|
45
|
-
"bootstrap": "^5.3.
|
|
46
|
-
"bootstrap-icons": "^1.
|
|
43
|
+
"@types/react": "^18.2.31",
|
|
44
|
+
"@vitejs/plugin-react-swc": "^3.4.0",
|
|
45
|
+
"bootstrap": "^5.3.2",
|
|
46
|
+
"bootstrap-icons": "^1.11.1",
|
|
47
47
|
"react": "^18.2.0",
|
|
48
48
|
"react-dom": "^18.2.0",
|
|
49
|
-
"react-querybuilder": "^
|
|
49
|
+
"react-querybuilder": "^7.0.0-alpha.0",
|
|
50
50
|
"rollup-plugin-visualizer": "^5.9.2",
|
|
51
|
-
"typescript": "^5.
|
|
52
|
-
"vite": "^4.
|
|
51
|
+
"typescript": "^5.2.2",
|
|
52
|
+
"vite": "^4.5.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"bootstrap": ">=5",
|
|
56
56
|
"bootstrap-icons": ">=1.7.0",
|
|
57
57
|
"react": ">=16.8.0",
|
|
58
|
-
"react-querybuilder": "^
|
|
58
|
+
"react-querybuilder": "^7.0.0-alpha.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "1ba3a219a05b23e406b253ff6f2bf501e3397fcf"
|
|
61
61
|
}
|