@react-querybuilder/bootstrap 8.20.1 → 8.21.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.
@@ -1,41 +1,33 @@
1
1
  import { Classnames, ControlElementsProp, FullField, NotToggleProps, QueryBuilderContextProvider, Translations, ValueEditorProps } from "react-querybuilder";
2
2
  import * as React from "react";
3
-
4
3
  //#region src/BootstrapNotToggle.d.ts
5
4
  /**
6
- * @group Components
7
- */
8
- declare const BootstrapNotToggle: ({
9
- className,
10
- handleOnChange,
11
- title,
12
- label,
13
- checked,
14
- disabled
15
- }: NotToggleProps) => React.JSX.Element;
5
+ * @group Components
6
+ */
7
+ declare const BootstrapNotToggle: ({ className, handleOnChange, title, label, checked, disabled }: NotToggleProps) => React.JSX.Element;
16
8
  //#endregion
17
9
  //#region src/BootstrapValueEditor.d.ts
18
10
  /**
19
- * @group Components
20
- */
11
+ * @group Components
12
+ */
21
13
  declare const BootstrapValueEditor: (props: ValueEditorProps) => React.JSX.Element | null;
22
14
  //#endregion
23
15
  //#region src/index.d.ts
24
16
  /**
25
- * @group Props
26
- */
17
+ * @group Props
18
+ */
27
19
  declare const bootstrapControlElements: ControlElementsProp<FullField, string>;
28
20
  /**
29
- * @group Props
30
- */
21
+ * @group Props
22
+ */
31
23
  declare const bootstrapControlClassnames: Partial<Classnames>;
32
24
  /**
33
- * @group Props
34
- */
25
+ * @group Props
26
+ */
35
27
  declare const bootstrapTranslations: Partial<Translations>;
36
28
  /**
37
- * @group Components
38
- */
29
+ * @group Components
30
+ */
39
31
  declare const QueryBuilderBootstrap: QueryBuilderContextProvider;
40
32
  //#endregion
41
33
  export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
@@ -1,41 +1,33 @@
1
1
  import { Classnames, ControlElementsProp, FullField, NotToggleProps, QueryBuilderContextProvider, Translations, ValueEditorProps } from "react-querybuilder";
2
2
  import * as React from "react";
3
-
4
3
  //#region src/BootstrapNotToggle.d.ts
5
4
  /**
6
- * @group Components
7
- */
8
- declare const BootstrapNotToggle: ({
9
- className,
10
- handleOnChange,
11
- title,
12
- label,
13
- checked,
14
- disabled
15
- }: NotToggleProps) => React.JSX.Element;
5
+ * @group Components
6
+ */
7
+ declare const BootstrapNotToggle: ({ className, handleOnChange, title, label, checked, disabled }: NotToggleProps) => React.JSX.Element;
16
8
  //#endregion
17
9
  //#region src/BootstrapValueEditor.d.ts
18
10
  /**
19
- * @group Components
20
- */
11
+ * @group Components
12
+ */
21
13
  declare const BootstrapValueEditor: (props: ValueEditorProps) => React.JSX.Element | null;
22
14
  //#endregion
23
15
  //#region src/index.d.ts
24
16
  /**
25
- * @group Props
26
- */
17
+ * @group Props
18
+ */
27
19
  declare const bootstrapControlElements: ControlElementsProp<FullField, string>;
28
20
  /**
29
- * @group Props
30
- */
21
+ * @group Props
22
+ */
31
23
  declare const bootstrapControlClassnames: Partial<Classnames>;
32
24
  /**
33
- * @group Props
34
- */
25
+ * @group Props
26
+ */
35
27
  declare const bootstrapTranslations: Partial<Translations>;
36
28
  /**
37
- * @group Components
38
- */
29
+ * @group Components
30
+ */
39
31
  declare const QueryBuilderBootstrap: QueryBuilderContextProvider;
40
32
  //#endregion
41
33
  export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
@@ -1,41 +1,33 @@
1
1
  import * as React from "react";
2
2
  import { Classnames, ControlElementsProp, FullField, NotToggleProps, QueryBuilderContextProvider, Translations, ValueEditorProps } from "react-querybuilder";
3
-
4
3
  //#region src/BootstrapNotToggle.d.ts
5
4
  /**
6
- * @group Components
7
- */
8
- declare const BootstrapNotToggle: ({
9
- className,
10
- handleOnChange,
11
- title,
12
- label,
13
- checked,
14
- disabled
15
- }: NotToggleProps) => React.JSX.Element;
5
+ * @group Components
6
+ */
7
+ declare const BootstrapNotToggle: ({ className, handleOnChange, title, label, checked, disabled }: NotToggleProps) => React.JSX.Element;
16
8
  //#endregion
17
9
  //#region src/BootstrapValueEditor.d.ts
18
10
  /**
19
- * @group Components
20
- */
11
+ * @group Components
12
+ */
21
13
  declare const BootstrapValueEditor: (props: ValueEditorProps) => React.JSX.Element | null;
22
14
  //#endregion
23
15
  //#region src/index.d.ts
24
16
  /**
25
- * @group Props
26
- */
17
+ * @group Props
18
+ */
27
19
  declare const bootstrapControlElements: ControlElementsProp<FullField, string>;
28
20
  /**
29
- * @group Props
30
- */
21
+ * @group Props
22
+ */
31
23
  declare const bootstrapControlClassnames: Partial<Classnames>;
32
24
  /**
33
- * @group Props
34
- */
25
+ * @group Props
26
+ */
35
27
  declare const bootstrapTranslations: Partial<Translations>;
36
28
  /**
37
- * @group Components
38
- */
29
+ * @group Components
30
+ */
39
31
  declare const QueryBuilderBootstrap: QueryBuilderContextProvider;
40
32
  //#endregion
41
33
  export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
@@ -1,41 +1,33 @@
1
1
  import * as React from "react";
2
2
  import { Classnames, ControlElementsProp, FullField, NotToggleProps, QueryBuilderContextProvider, Translations, ValueEditorProps } from "react-querybuilder";
3
-
4
3
  //#region src/BootstrapNotToggle.d.ts
5
4
  /**
6
- * @group Components
7
- */
8
- declare const BootstrapNotToggle: ({
9
- className,
10
- handleOnChange,
11
- title,
12
- label,
13
- checked,
14
- disabled
15
- }: NotToggleProps) => React.JSX.Element;
5
+ * @group Components
6
+ */
7
+ declare const BootstrapNotToggle: ({ className, handleOnChange, title, label, checked, disabled }: NotToggleProps) => React.JSX.Element;
16
8
  //#endregion
17
9
  //#region src/BootstrapValueEditor.d.ts
18
10
  /**
19
- * @group Components
20
- */
11
+ * @group Components
12
+ */
21
13
  declare const BootstrapValueEditor: (props: ValueEditorProps) => React.JSX.Element | null;
22
14
  //#endregion
23
15
  //#region src/index.d.ts
24
16
  /**
25
- * @group Props
26
- */
17
+ * @group Props
18
+ */
27
19
  declare const bootstrapControlElements: ControlElementsProp<FullField, string>;
28
20
  /**
29
- * @group Props
30
- */
21
+ * @group Props
22
+ */
31
23
  declare const bootstrapControlClassnames: Partial<Classnames>;
32
24
  /**
33
- * @group Props
34
- */
25
+ * @group Props
26
+ */
35
27
  declare const bootstrapTranslations: Partial<Translations>;
36
28
  /**
37
- * @group Components
38
- */
29
+ * @group Components
30
+ */
39
31
  declare const QueryBuilderBootstrap: QueryBuilderContextProvider;
40
32
  //#endregion
41
33
  export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
@@ -21,7 +21,7 @@ const BootstrapNotToggle = ({ className, handleOnChange, title, label, checked,
21
21
  }, label));
22
22
  };
23
23
  //#endregion
24
- //#region \0@oxc-project+runtime@0.135.0/helpers/esm/typeof.js
24
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
25
25
  function _typeof(o) {
26
26
  "@babel/helpers - typeof";
27
27
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -31,7 +31,7 @@ function _typeof(o) {
31
31
  }, _typeof(o);
32
32
  }
33
33
  //#endregion
34
- //#region \0@oxc-project+runtime@0.135.0/helpers/esm/toPrimitive.js
34
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
35
35
  function toPrimitive(t, r) {
36
36
  if ("object" != _typeof(t) || !t) return t;
37
37
  var e = t[Symbol.toPrimitive];
@@ -43,13 +43,13 @@ function toPrimitive(t, r) {
43
43
  return ("string" === r ? String : Number)(t);
44
44
  }
45
45
  //#endregion
46
- //#region \0@oxc-project+runtime@0.135.0/helpers/esm/toPropertyKey.js
46
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
47
47
  function toPropertyKey(t) {
48
48
  var i = toPrimitive(t, "string");
49
49
  return "symbol" == _typeof(i) ? i : i + "";
50
50
  }
51
51
  //#endregion
52
- //#region \0@oxc-project+runtime@0.135.0/helpers/esm/defineProperty.js
52
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
53
53
  function _defineProperty(e, r, t) {
54
54
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
55
55
  value: t,
@@ -59,7 +59,7 @@ function _defineProperty(e, r, t) {
59
59
  }) : e[r] = t, e;
60
60
  }
61
61
  //#endregion
62
- //#region \0@oxc-project+runtime@0.135.0/helpers/esm/objectSpread2.js
62
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/objectSpread2.js
63
63
  function ownKeys(e, r) {
64
64
  var t = Object.keys(e);
65
65
  if (Object.getOwnPropertySymbols) {
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_bootstrap.legacy-esm.js","names":[],"sources":["../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useId } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps): React.JSX.Element => {\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","import * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { standardClassnames, useValueEditor, ValueEditor } from 'react-querybuilder';\n\n// Extracted from callback so we can use `useId`\nconst RadioButton = (props: {\n name: string;\n disabled?: boolean;\n checked: boolean;\n handleOnChange: (v: string) => void;\n label: string;\n}) => {\n const id = React.useId();\n return (\n <div className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={id}\n value={props.name}\n checked={props.checked}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={id}>\n {props.label}\n </label>\n </div>\n );\n};\n\n/**\n * @group Components\n */\nexport const BootstrapValueEditor = (props: ValueEditorProps): React.JSX.Element | null => {\n const { valueListItemClassName } = useValueEditor(props);\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const listItemClasses =\n props.type === 'text' ? 'form-control form-control-sm' : 'form-select form-select-sm';\n return (\n <ValueEditor\n {...props}\n skipHook\n schema={{\n ...props.schema,\n classNames: {\n ...props.schema.classNames,\n valueListItem: `${valueListItemClassName} ${listItemClasses}`,\n },\n }}\n />\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n {...props}\n skipHook\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`${props.className} custom-control custom-switch`}>\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 {...props} skipHook className={`${props.className} form-check-input`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.values?.map(v => (\n <RadioButton\n key={v.name}\n name={v.name}\n disabled={props.disabled}\n checked={props.value === v.name}\n handleOnChange={props.handleOnChange}\n label={v.label}\n />\n ))}\n </span>\n );\n }\n\n return (\n <ValueEditor\n {...props}\n skipHook\n className={`${props.className} form-control form-control-sm`}\n />\n );\n};\n","import * as React from 'react';\nimport type {\n Classnames,\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapNotToggle';\nexport * from './BootstrapValueEditor';\n\n/**\n * @group Props\n */\nexport const bootstrapControlElements: ControlElementsProp<FullField, string> = {\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\n/**\n * @group Props\n */\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n actionElement: 'btn btn-sm',\n addGroup: 'btn-secondary',\n addRule: 'btn-primary',\n cloneGroup: 'btn-secondary',\n cloneRule: 'btn-secondary',\n lockGroup: 'btn-secondary',\n lockRule: 'btn-secondary',\n removeGroup: 'btn-danger',\n removeRule: 'btn-danger',\n // BootstrapValueEditor adds its own classnames\n // value: '',\n valueSelector: 'form-select form-select-sm',\n};\n\n/**\n * @group Props\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\n/**\n * @group Components\n */\nexport const QueryBuilderBootstrap: QueryBuilderContextProvider = getCompatContextProvider({\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n translations: bootstrapTranslations,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"react-querybuilder_bootstrap.legacy-esm.js","names":[],"sources":["../src/BootstrapNotToggle.tsx","../src/BootstrapValueEditor.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useId } from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const BootstrapNotToggle = ({\n className,\n handleOnChange,\n title,\n label,\n checked,\n disabled,\n}: NotToggleProps): React.JSX.Element => {\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","import * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { standardClassnames, useValueEditor, ValueEditor } from 'react-querybuilder';\n\n// Extracted from callback so we can use `useId`\nconst RadioButton = (props: {\n name: string;\n disabled?: boolean;\n checked: boolean;\n handleOnChange: (v: string) => void;\n label: string;\n}) => {\n const id = React.useId();\n return (\n <div className=\"form-check form-check-inline\">\n <input\n className=\"form-check-input\"\n type=\"radio\"\n id={id}\n value={props.name}\n checked={props.checked}\n disabled={props.disabled}\n onChange={e => props.handleOnChange(e.target.value)}\n />\n <label className=\"form-check-label\" htmlFor={id}>\n {props.label}\n </label>\n </div>\n );\n};\n\n/**\n * @group Components\n */\nexport const BootstrapValueEditor = (props: ValueEditorProps): React.JSX.Element | null => {\n const { valueListItemClassName } = useValueEditor(props);\n\n if (props.operator === 'null' || props.operator === 'notNull') {\n return null;\n }\n\n if (\n (props.operator === 'between' || props.operator === 'notBetween') &&\n (props.type === 'select' || props.type === 'text')\n ) {\n const listItemClasses =\n props.type === 'text' ? 'form-control form-control-sm' : 'form-select form-select-sm';\n return (\n <ValueEditor\n {...props}\n skipHook\n schema={{\n ...props.schema,\n classNames: {\n ...props.schema.classNames,\n valueListItem: `${valueListItemClassName} ${listItemClasses}`,\n },\n }}\n />\n );\n }\n\n switch (props.type) {\n case 'select':\n case 'multiselect':\n return (\n <ValueEditor\n {...props}\n skipHook\n className={`${props.className} form-select form-select-sm`}\n />\n );\n\n case 'switch':\n return (\n <span className={`${props.className} custom-control custom-switch`}>\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 {...props} skipHook className={`${props.className} form-check-input`} />;\n\n case 'radio':\n return (\n <span title={props.title} className={standardClassnames.value}>\n {props.values?.map(v => (\n <RadioButton\n key={v.name}\n name={v.name}\n disabled={props.disabled}\n checked={props.value === v.name}\n handleOnChange={props.handleOnChange}\n label={v.label}\n />\n ))}\n </span>\n );\n }\n\n return (\n <ValueEditor\n {...props}\n skipHook\n className={`${props.className} form-control form-control-sm`}\n />\n );\n};\n","import * as React from 'react';\nimport type {\n Classnames,\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { BootstrapNotToggle } from './BootstrapNotToggle';\nimport { BootstrapValueEditor } from './BootstrapValueEditor';\n\nexport * from './BootstrapNotToggle';\nexport * from './BootstrapValueEditor';\n\n/**\n * @group Props\n */\nexport const bootstrapControlElements: ControlElementsProp<FullField, string> = {\n notToggle: BootstrapNotToggle,\n valueEditor: BootstrapValueEditor,\n};\n\n/**\n * @group Props\n */\nexport const bootstrapControlClassnames: Partial<Classnames> = {\n actionElement: 'btn btn-sm',\n addGroup: 'btn-secondary',\n addRule: 'btn-primary',\n cloneGroup: 'btn-secondary',\n cloneRule: 'btn-secondary',\n lockGroup: 'btn-secondary',\n lockRule: 'btn-secondary',\n removeGroup: 'btn-danger',\n removeRule: 'btn-danger',\n // BootstrapValueEditor adds its own classnames\n // value: '',\n valueSelector: 'form-select form-select-sm',\n};\n\n/**\n * @group Props\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\n/**\n * @group Components\n */\nexport const QueryBuilderBootstrap: QueryBuilderContextProvider = getCompatContextProvider({\n controlClassnames: bootstrapControlClassnames,\n controlElements: bootstrapControlElements,\n translations: bootstrapTranslations,\n});\n"],"mappings":"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"}
@@ -1,41 +1,33 @@
1
1
  import * as React from "react";
2
2
  import { Classnames, ControlElementsProp, FullField, NotToggleProps, QueryBuilderContextProvider, Translations, ValueEditorProps } from "react-querybuilder";
3
-
4
3
  //#region src/BootstrapNotToggle.d.ts
5
4
  /**
6
- * @group Components
7
- */
8
- declare const BootstrapNotToggle: ({
9
- className,
10
- handleOnChange,
11
- title,
12
- label,
13
- checked,
14
- disabled
15
- }: NotToggleProps) => React.JSX.Element;
5
+ * @group Components
6
+ */
7
+ declare const BootstrapNotToggle: ({ className, handleOnChange, title, label, checked, disabled }: NotToggleProps) => React.JSX.Element;
16
8
  //#endregion
17
9
  //#region src/BootstrapValueEditor.d.ts
18
10
  /**
19
- * @group Components
20
- */
11
+ * @group Components
12
+ */
21
13
  declare const BootstrapValueEditor: (props: ValueEditorProps) => React.JSX.Element | null;
22
14
  //#endregion
23
15
  //#region src/index.d.ts
24
16
  /**
25
- * @group Props
26
- */
17
+ * @group Props
18
+ */
27
19
  declare const bootstrapControlElements: ControlElementsProp<FullField, string>;
28
20
  /**
29
- * @group Props
30
- */
21
+ * @group Props
22
+ */
31
23
  declare const bootstrapControlClassnames: Partial<Classnames>;
32
24
  /**
33
- * @group Props
34
- */
25
+ * @group Props
26
+ */
35
27
  declare const bootstrapTranslations: Partial<Translations>;
36
28
  /**
37
- * @group Components
38
- */
29
+ * @group Components
30
+ */
39
31
  declare const QueryBuilderBootstrap: QueryBuilderContextProvider;
40
32
  //#endregion
41
33
  export { BootstrapNotToggle, BootstrapValueEditor, QueryBuilderBootstrap, bootstrapControlClassnames, bootstrapControlElements, bootstrapTranslations };
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": "8.20.1",
4
+ "version": "8.21.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -55,21 +55,21 @@
55
55
  "@testing-library/dom": "^10.4.1",
56
56
  "@testing-library/react": "^16.3.2",
57
57
  "@types/react": "^19.2.17",
58
- "@vitejs/plugin-react": "^6.0.2",
58
+ "@vitejs/plugin-react": "^6.0.4",
59
59
  "bootstrap": "^5.3.8",
60
60
  "bootstrap-icons": "^1.13.1",
61
- "react": "^19.2.7",
62
- "react-dom": "^19.2.7",
63
- "react-querybuilder": "8.20.1",
61
+ "react": "^19.2.8",
62
+ "react-dom": "^19.2.8",
63
+ "react-querybuilder": "8.21.0",
64
64
  "rollup-plugin-visualizer": "^7.0.1",
65
- "typescript": "^6.0.2",
66
- "vite": "^8.0.16"
65
+ "typescript": "^7.0.2",
66
+ "vite": "^8.1.5"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "bootstrap": ">=5",
70
70
  "bootstrap-icons": ">=1.7.0",
71
71
  "react": ">=18",
72
- "react-querybuilder": "8.20.1"
72
+ "react-querybuilder": "8.21.0"
73
73
  },
74
- "gitHead": "1da99480b03e9f71eee481c3eceb786894a51bcf"
74
+ "gitHead": "30316a24a5bb5a56e32eabc28cc3c3b4cfdfdaf8"
75
75
  }