@react-querybuilder/bootstrap 8.8.4 → 8.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=s(require(`react`)),l=s(require(`react-querybuilder`)),u=({className:e,handleOnChange:t,title:n,label:r,checked:i,disabled:a})=>{let o=(0,c.useId)();return c.createElement(`div`,{className:`form-check-inline form-switch ${e}`},c.createElement(`input`,{id:o,className:`form-check-input`,type:`checkbox`,onChange:e=>t(e.target.checked),checked:!!i,disabled:a}),c.createElement(`label`,{title:n,htmlFor:o,className:`form-check-label`},r))},d=e=>{let t=c.useId();return c.createElement(`div`,{className:`form-check form-check-inline`},c.createElement(`input`,{className:`form-check-input`,type:`radio`,id:t,value:e.name,checked:e.checked,disabled:e.disabled,onChange:t=>e.handleOnChange(t.target.value)}),c.createElement(`label`,{className:`form-check-label`,htmlFor:t},e.label))},f=e=>{let{valueListItemClassName:t}=(0,l.useValueEditor)(e);if(e.operator===`null`||e.operator===`notNull`)return null;if((e.operator===`between`||e.operator===`notBetween`)&&(e.type===`select`||e.type===`text`)){let n=e.type===`text`?`form-control form-control-sm`:`form-select form-select-sm`;return c.createElement(l.ValueEditor,{...e,skipHook:!0,schema:{...e.schema,classNames:{...e.schema.classNames,valueListItem:`${t} ${n}`}}})}switch(e.type){case`select`:case`multiselect`:return c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-select form-select-sm`});case`switch`:return c.createElement(`span`,{className:`${e.className} custom-control custom-switch`},c.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 c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-check-input`});case`radio`:return c.createElement(`span`,{title:e.title,className:l.standardClassnames.value},e.values?.map(t=>c.createElement(d,{key:t.name,name:t.name,disabled:e.disabled,checked:e.value===t.name,handleOnChange:e.handleOnChange,label:t.label})))}return c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-control form-control-sm`})},p={notToggle:u,valueEditor:f},m={actionElement:`btn btn-sm`,addGroup:`btn-secondary`,addRule:`btn-primary`,cloneGroup:`btn-secondary`,cloneRule:`btn-secondary`,lockGroup:`btn-secondary`,lockRule:`btn-secondary`,removeGroup:`btn-danger`,removeRule:`btn-danger`,valueSelector:`form-select form-select-sm`},h={removeGroup:{label:c.createElement(`i`,{className:`bi bi-x`})},removeRule:{label:c.createElement(`i`,{className:`bi bi-x`})},cloneRule:{label:c.createElement(`i`,{className:`bi bi-copy`})},cloneRuleGroup:{label:c.createElement(`i`,{className:`bi bi-copy`})},dragHandle:{label:c.createElement(`i`,{className:`bi bi-grip-vertical`})},lockGroup:{label:c.createElement(`i`,{className:`bi bi-unlock`})},lockRule:{label:c.createElement(`i`,{className:`bi bi-unlock`})},lockGroupDisabled:{label:c.createElement(`i`,{className:`bi bi-lock`})},lockRuleDisabled:{label:c.createElement(`i`,{className:`bi bi-lock`})},shiftActionUp:{label:c.createElement(`i`,{className:`bi bi-chevron-compact-up`})},shiftActionDown:{label:c.createElement(`i`,{className:`bi bi-chevron-compact-down`})}},g=(0,l.getCompatContextProvider)({controlClassnames:m,controlElements:p,translations:h});exports.BootstrapNotToggle=u,exports.BootstrapValueEditor=f,exports.QueryBuilderBootstrap=g,exports.bootstrapControlClassnames=m,exports.bootstrapControlElements=p,exports.bootstrapTranslations=h;
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`react-querybuilder`);l=s(l);const u=({className:e,handleOnChange:t,title:n,label:r,checked:i,disabled:a})=>{let o=(0,c.useId)();return c.createElement(`div`,{className:`form-check-inline form-switch ${e}`},c.createElement(`input`,{id:o,className:`form-check-input`,type:`checkbox`,onChange:e=>t(e.target.checked),checked:!!i,disabled:a}),c.createElement(`label`,{title:n,htmlFor:o,className:`form-check-label`},r))},d=e=>{let t=c.useId();return c.createElement(`div`,{className:`form-check form-check-inline`},c.createElement(`input`,{className:`form-check-input`,type:`radio`,id:t,value:e.name,checked:e.checked,disabled:e.disabled,onChange:t=>e.handleOnChange(t.target.value)}),c.createElement(`label`,{className:`form-check-label`,htmlFor:t},e.label))},f=e=>{let{valueListItemClassName:t}=(0,l.useValueEditor)(e);if(e.operator===`null`||e.operator===`notNull`)return null;if((e.operator===`between`||e.operator===`notBetween`)&&(e.type===`select`||e.type===`text`)){let n=e.type===`text`?`form-control form-control-sm`:`form-select form-select-sm`;return c.createElement(l.ValueEditor,{...e,skipHook:!0,schema:{...e.schema,classNames:{...e.schema.classNames,valueListItem:`${t} ${n}`}}})}switch(e.type){case`select`:case`multiselect`:return c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-select form-select-sm`});case`switch`:return c.createElement(`span`,{className:`${e.className} custom-control custom-switch`},c.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 c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-check-input`});case`radio`:return c.createElement(`span`,{title:e.title,className:l.standardClassnames.value},e.values?.map(t=>c.createElement(d,{key:t.name,name:t.name,disabled:e.disabled,checked:e.value===t.name,handleOnChange:e.handleOnChange,label:t.label})))}return c.createElement(l.ValueEditor,{...e,skipHook:!0,className:`${e.className} form-control form-control-sm`})},p={notToggle:u,valueEditor:f},m={actionElement:`btn btn-sm`,addGroup:`btn-secondary`,addRule:`btn-primary`,cloneGroup:`btn-secondary`,cloneRule:`btn-secondary`,lockGroup:`btn-secondary`,lockRule:`btn-secondary`,removeGroup:`btn-danger`,removeRule:`btn-danger`,valueSelector:`form-select form-select-sm`},h={removeGroup:{label:c.createElement(`i`,{className:`bi bi-x`})},removeRule:{label:c.createElement(`i`,{className:`bi bi-x`})},cloneRule:{label:c.createElement(`i`,{className:`bi bi-copy`})},cloneRuleGroup:{label:c.createElement(`i`,{className:`bi bi-copy`})},dragHandle:{label:c.createElement(`i`,{className:`bi bi-grip-vertical`})},lockGroup:{label:c.createElement(`i`,{className:`bi bi-unlock`})},lockRule:{label:c.createElement(`i`,{className:`bi bi-unlock`})},lockGroupDisabled:{label:c.createElement(`i`,{className:`bi bi-lock`})},lockRuleDisabled:{label:c.createElement(`i`,{className:`bi bi-lock`})},shiftActionUp:{label:c.createElement(`i`,{className:`bi bi-chevron-compact-up`})},shiftActionDown:{label:c.createElement(`i`,{className:`bi bi-chevron-compact-down`})}},g=(0,l.getCompatContextProvider)({controlClassnames:m,controlElements:p,translations:h});exports.BootstrapNotToggle=u,exports.BootstrapValueEditor=f,exports.QueryBuilderBootstrap=g,exports.bootstrapControlClassnames=m,exports.bootstrapControlElements=p,exports.bootstrapTranslations=h;
2
2
  //# sourceMappingURL=react-querybuilder_bootstrap.cjs.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_bootstrap.cjs.production.js","names":["React","ValueEditor","standardClassnames","bootstrapControlElements: ControlElementsProp<FullField, string>","bootstrapControlClassnames: Partial<Classnames>","bootstrapTranslations: Partial<Translations>","QueryBuilderBootstrap: QueryBuilderContextProvider"],"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.cjs.production.js","names":["React","ValueEditor","standardClassnames","bootstrapControlElements: ControlElementsProp<FullField, string>","bootstrapControlClassnames: Partial<Classnames>","bootstrapTranslations: Partial<Translations>","QueryBuilderBootstrap: QueryBuilderContextProvider"],"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":"uiBAOA,MAAa,GAAsB,CACjC,YACA,iBACA,QACA,QACA,UACA,cACuC,CACvC,IAAM,GAAA,EAAA,EAAA,QAAY,CAElB,OACE,EAAA,cAAC,MAAA,CAAI,UAAW,iCAAiC,IAAA,CAC/C,EAAA,cAAC,QAAA,CACK,KACJ,UAAU,mBACV,KAAK,WACL,SAAU,GAAK,EAAe,EAAE,OAAO,QAAQ,CAC/C,QAAS,CAAC,CAAC,EACD,YACV,CACF,EAAA,cAAC,QAAA,CAAa,QAAO,QAAS,EAAI,UAAU,oBACzC,EACK,CACJ,ECzBJ,EAAe,GAMf,CACJ,IAAM,EAAKA,EAAM,OAAO,CACxB,OACE,EAAA,cAAC,MAAA,CAAI,UAAU,+BAAA,CACb,EAAA,cAAC,QAAA,CACC,UAAU,mBACV,KAAK,QACD,KACJ,MAAO,EAAM,KACb,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,SAAU,GAAK,EAAM,eAAe,EAAE,OAAO,MAAM,EACnD,CACF,EAAA,cAAC,QAAA,CAAM,UAAU,mBAAmB,QAAS,GAC1C,EAAM,MACD,CACJ,EAOG,EAAwB,GAAsD,CACzF,GAAM,CAAE,2BAAA,EAAA,EAAA,gBAA0C,EAAM,CAExD,GAAI,EAAM,WAAa,QAAU,EAAM,WAAa,UAClD,OAAO,KAGT,IACG,EAAM,WAAa,WAAa,EAAM,WAAa,gBACnD,EAAM,OAAS,UAAY,EAAM,OAAS,QAC3C,CACA,IAAM,EACJ,EAAM,OAAS,OAAS,+BAAiC,6BAC3D,OACE,EAAA,cAACC,EAAAA,YAAAA,CACC,GAAI,EACJ,SAAA,GACA,OAAQ,CACN,GAAG,EAAM,OACT,WAAY,CACV,GAAG,EAAM,OAAO,WAChB,cAAe,GAAG,EAAuB,GAAG,IAC7C,CACF,EACD,CAIN,OAAQ,EAAM,KAAd,CACE,IAAK,SACL,IAAK,cACH,OACE,EAAA,cAACA,EAAAA,YAAAA,CACC,GAAI,EACJ,SAAA,GACA,UAAW,GAAG,EAAM,UAAU,8BAC9B,CAGN,IAAK,SACH,OACE,EAAA,cAAC,OAAA,CAAK,UAAW,GAAG,EAAM,UAAU,+BAAA,CAClC,EAAA,cAAC,QAAA,CACC,KAAK,WACL,UAAU,wCACV,MAAO,EAAM,MACb,SAAU,EAAM,SAChB,SAAU,GAAK,EAAM,eAAe,EAAE,OAAO,QAAQ,CACrD,QAAS,CAAC,CAAC,EAAM,OACjB,CACG,CAGX,IAAK,WACH,OAAO,EAAA,cAACA,EAAAA,YAAAA,CAAY,GAAI,EAAO,SAAA,GAAS,UAAW,GAAG,EAAM,UAAU,oBAAsB,CAE9F,IAAK,QACH,OACE,EAAA,cAAC,OAAA,CAAK,MAAO,EAAM,MAAO,UAAWC,EAAAA,mBAAmB,OACrD,EAAM,QAAQ,IAAI,GACjB,EAAA,cAAC,EAAA,CACC,IAAK,EAAE,KACP,KAAM,EAAE,KACR,SAAU,EAAM,SAChB,QAAS,EAAM,QAAU,EAAE,KAC3B,eAAgB,EAAM,eACtB,MAAO,EAAE,OACT,CACF,CACG,CAIb,OACE,EAAA,cAACD,EAAAA,YAAAA,CACC,GAAI,EACJ,SAAA,GACA,UAAW,GAAG,EAAM,UAAU,gCAC9B,EC9FOE,EAAmE,CAC9E,UAAW,EACX,YAAa,EACd,CAKYC,EAAkD,CAC7D,cAAe,aACf,SAAU,gBACV,QAAS,cACT,WAAY,gBACZ,UAAW,gBACX,UAAW,gBACX,SAAU,gBACV,YAAa,aACb,WAAY,aAGZ,cAAe,6BAChB,CAKYC,EAA+C,CAC1D,YAAa,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,UAAA,CAAY,CAAE,CACjD,WAAY,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,UAAA,CAAY,CAAE,CAChD,UAAW,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,aAAA,CAAe,CAAE,CAClD,eAAgB,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,aAAA,CAAe,CAAE,CACvD,WAAY,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,sBAAA,CAAwB,CAAE,CAC5D,UAAW,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,eAAA,CAAiB,CAAE,CACpD,SAAU,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,eAAA,CAAiB,CAAE,CACnD,kBAAmB,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,aAAA,CAAe,CAAE,CAC1D,iBAAkB,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,aAAA,CAAe,CAAE,CACzD,cAAe,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,2BAAA,CAA6B,CAAE,CACpE,gBAAiB,CAAE,MAAO,EAAA,cAAC,IAAA,CAAE,UAAU,6BAAA,CAA+B,CAAE,CACzE,CAKYC,GAAAA,EAAAA,EAAAA,0BAA8E,CACzF,kBAAmB,EACnB,gBAAiB,EACjB,aAAc,EACf,CAAC"}