@react-querybuilder/antd 8.13.0 → 8.14.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_antd.cjs.development.d.ts +17 -17
- package/dist/cjs/react-querybuilder_antd.cjs.development.js +16 -16
- package/dist/cjs/react-querybuilder_antd.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_antd.cjs.production.d.ts +17 -17
- package/dist/cjs/react-querybuilder_antd.cjs.production.js.map +1 -1
- package/dist/react-querybuilder_antd.d.mts +17 -17
- package/dist/react-querybuilder_antd.legacy-esm.d.ts +17 -17
- package/dist/react-querybuilder_antd.legacy-esm.js +11 -11
- package/dist/react-querybuilder_antd.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_antd.mjs +4 -4
- package/dist/react-querybuilder_antd.mjs.map +1 -1
- package/dist/react-querybuilder_antd.production.d.mts +17 -17
- package/dist/react-querybuilder_antd.production.mjs.map +1 -1
- package/package.json +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_antd.legacy-esm.js","names":["AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n>","noteOnce","preMessage","localeMap: IlocaleMapObject","generateConfig: GenerateConfig<Dayjs>","dayjsGenerateConfig","antdControlElements: ControlElementsProp<FullField, string>","antdTranslations: Partial<Translations>","QueryBuilderAntD: QueryBuilderContextProvider"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../../../node_modules/rc-util/lib/warning.js","../src/dayjs.ts","../src/AntDValueEditor.tsx","../src/AntDValueSelector.tsx","../src/index.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { ActionProps } from 'react-querybuilder';\n\n// TODO: This may be unnecessary. Find out if there's a way to allow\n// `data-${string}` index keys without breaking other type contraints.\ntype RemoveDataIndexKeys<T> = {\n [K in keyof T as `data-${string}` extends K ? never : K]: T[K];\n};\n\n/**\n * @group Props\n */\nexport interface AntDActionProps\n extends ActionProps, RemoveDataIndexKeys<ComponentPropsWithoutRef<typeof Button>> {}\n\n/**\n * @group Components\n */\nexport const AntDActionElement = ({\n className,\n handleOnClick,\n label,\n title,\n disabled,\n disabledTranslation,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n ruleOrGroup: _ruleOrGroup,\n schema: _schema,\n ...extraProps\n}: AntDActionProps): React.JSX.Element => (\n <Button\n type=\"primary\"\n className={className}\n title={disabledTranslation && disabled ? disabledTranslation.title : title}\n onClick={e => handleOnClick(e)}\n disabled={disabled && !disabledTranslation}\n {...extraProps}>\n {disabledTranslation && disabled ? disabledTranslation.label : label}\n </Button>\n);\n","import { HolderOutlined } from '@ant-design/icons';\nimport type { ComponentPropsWithRef } from 'react';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport type AntDDragHandleProps = DragHandleProps & { label?: any } & ComponentPropsWithRef<\n typeof HolderOutlined\n >;\n\n/**\n * @group Components\n */\nexport const AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, AntDDragHandleProps>(\n (\n {\n className,\n title,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n label: _label,\n disabled: _disabled,\n context: _context,\n validation: _validation,\n schema: _schema,\n ruleOrGroup: _ruleOrGroup,\n ...extraProps\n },\n dragRef\n ) => <HolderOutlined className={className} title={title} {...extraProps} ref={dragRef} />\n);\n","import { Switch } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport interface AntDNotToggleProps\n extends NotToggleProps, ComponentPropsWithoutRef<typeof Switch> {}\n\n/**\n * @group Components\n */\nexport const AntDNotToggle = ({\n className,\n handleOnChange,\n label,\n checked,\n title,\n disabled,\n // Props that should not be in extraProps\n path: _path,\n context: _context,\n validation: _validation,\n testID: _testID,\n schema: _schema,\n ruleGroup: _ruleGroup,\n ...extraProps\n}: AntDNotToggleProps): React.JSX.Element => (\n <Switch\n title={title}\n className={className}\n onChange={v => handleOnChange(v)}\n checked={!!checked}\n disabled={disabled}\n checkedChildren={label}\n unCheckedChildren=\"=\"\n {...extraProps}\n />\n);\n","import { Button } from 'antd';\nimport * as React from 'react';\nimport type { ShiftActionsProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const AntDShiftActions = ({\n shiftUp,\n shiftDown,\n shiftUpDisabled,\n shiftDownDisabled,\n disabled,\n className,\n labels,\n titles,\n testID,\n}: ShiftActionsProps): React.JSX.Element => (\n <div data-testid={testID} className={className}>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftUp}\n onClick={shiftUp}\n disabled={disabled || shiftUpDisabled}>\n {labels?.shiftUp}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftDown}\n onClick={shiftDown}\n disabled={disabled || shiftDownDisabled}>\n {labels?.shiftDown}\n </Button>\n </div>\n);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.call = call;\nexports.default = void 0;\nexports.note = note;\nexports.noteOnce = noteOnce;\nexports.preMessage = void 0;\nexports.resetWarned = resetWarned;\nexports.warning = warning;\nexports.warningOnce = warningOnce;\n/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nvar preMessage = exports.preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nfunction warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nfunction note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nfunction resetWarned() {\n warned = {};\n}\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nvar _default = exports.default = warningOnce;","/**\n * This file is adapted from the following sources:\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/dayjs.ts\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/index.ts\n */\n\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\nimport weekday from 'dayjs/plugin/weekday.js';\nimport { noteOnce } from 'rc-util/lib/warning';\n\ntype GenerateConfig<DateType> = {\n // Get\n getWeekDay: (value: DateType) => number;\n getMillisecond: (value: DateType) => number;\n getSecond: (value: DateType) => number;\n getMinute: (value: DateType) => number;\n getHour: (value: DateType) => number;\n getDate: (value: DateType) => number;\n getMonth: (value: DateType) => number;\n getYear: (value: DateType) => number;\n getNow: () => DateType;\n getFixedDate: (fixed: string) => DateType;\n getEndDate: (value: DateType) => DateType;\n\n // Set\n addYear: (value: DateType, diff: number) => DateType;\n addMonth: (value: DateType, diff: number) => DateType;\n addDate: (value: DateType, diff: number) => DateType;\n setYear: (value: DateType, year: number) => DateType;\n setMonth: (value: DateType, month: number) => DateType;\n setDate: (value: DateType, date: number) => DateType;\n setHour: (value: DateType, hour: number) => DateType;\n setMinute: (value: DateType, minute: number) => DateType;\n setSecond: (value: DateType, second: number) => DateType;\n setMillisecond: (value: DateType, millisecond: number) => DateType;\n\n // Compare\n isAfter: (date1: DateType, date2: DateType) => boolean;\n isValidate: (date: DateType) => boolean;\n\n locale: {\n getWeekFirstDay: (locale: string) => number;\n getWeekFirstDate: (locale: string, value: DateType) => DateType;\n getWeek: (locale: string, value: DateType) => number;\n\n format: (locale: string, date: DateType, format: string) => string;\n\n /** Should only return validate date instance */\n parse: (locale: string, text: string, formats: string[]) => DateType | null;\n\n /** A proxy for getting locale with moment or other locale library */\n getShortWeekDays?: (locale: string) => string[];\n /** A proxy for getting locale with moment or other locale library */\n getShortMonths?: (locale: string) => string[];\n };\n};\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\n\ndayjs.extend((o, c) => {\n // todo support Wo (ISO week)\n const proto = c.prototype;\n const oldFormat = proto.format;\n proto.format = function f(formatStr: string) {\n const str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\ntype IlocaleMapObject = Record<string, string>;\nconst localeMap: IlocaleMapObject = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw',\n};\n\nconst parseLocale = (locale: string) => {\n const mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nconst parseNoMatchNotice = () => {\n /* istanbul ignore next */\n noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nconst generateConfig: GenerateConfig<Dayjs> = {\n // get\n getNow: () => dayjs(),\n getFixedDate: string => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n getEndDate: date => date.endOf('month'),\n getWeekDay: date => {\n const clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: date => date.year(),\n getMonth: date => date.month(),\n getDate: date => date.date(),\n getHour: date => date.hour(),\n getMinute: date => date.minute(),\n getSecond: date => date.second(),\n getMillisecond: date => date.millisecond(),\n\n // set\n addYear: (date, diff) => date.add(diff, 'year'),\n addMonth: (date, diff) => date.add(diff, 'month'),\n addDate: (date, diff) => date.add(diff, 'day'),\n setYear: (date, year) => date.year(year),\n setMonth: (date, month) => date.month(month),\n setDate: (date, num) => date.date(num),\n setHour: (date, hour) => date.hour(hour),\n setMinute: (date, minute) => date.minute(minute),\n setSecond: (date, second) => date.second(second),\n setMillisecond: (date, milliseconds) => date.millisecond(milliseconds),\n\n // Compare\n isAfter: (date1, date2) => date1.isAfter(date2),\n isValidate: date => date.isValid(),\n\n locale: {\n getWeekFirstDay: locale => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n getShortMonths: locale => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n parse: (locale, text, formats) => {\n const localeStr = parseLocale(locale);\n for (const format of formats) {\n const formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n const year = formatText.split('-')[0];\n const weekStr = formatText.split('-')[1];\n const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (let j = 0; j <= 52; j += 1) {\n const nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n const date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n },\n },\n};\n\nexport default generateConfig;\n","import { Checkbox, Input, InputNumber, Radio, Switch } from 'antd';\nimport generatePicker from 'antd/es/date-picker/generatePicker/index.js';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { joinWith, useValueEditor, ValueEditor } from 'react-querybuilder';\nimport dayjsGenerateConfig from './dayjs';\n\n/**\n * @group Props\n */\nexport interface AntDValueEditorProps extends ValueEditorProps {\n extraProps?: Record<string, unknown>;\n}\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\n/**\n * @group Components\n */\nexport const AntDValueEditor = (allProps: AntDValueEditorProps): React.JSX.Element | null => {\n const {\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values = [],\n listsAsArrays,\n separator,\n valueSource: _vs,\n disabled,\n testID,\n selectorComponent: SelectorComponent = allProps.schema.controls.valueSelector,\n extraProps,\n parseNumbers: _parseNumbers,\n ...propsForValueSelector\n } = allProps;\n\n const {\n valueAsArray,\n multiValueHandler,\n bigIntValueHandler,\n valueListItemClassName,\n inputTypeCoerced,\n } = useValueEditor(allProps);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n\n if (\n (operator === 'between' || operator === 'notBetween') &&\n (type === 'select' || type === 'text') &&\n // Date ranges are handled differently in AntD--see below\n inputTypeCoerced !== 'date' &&\n inputTypeCoerced !== 'datetime-local'\n ) {\n if (type === 'text') {\n const editors = ['from', 'to'].map((key, i) => {\n if (inputTypeCoerced === 'time') {\n return (\n <DatePicker.TimePicker\n key={key}\n value={valueAsArray[i] ? dayjs(valueAsArray[i], 'HH:mm:ss') : null}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => multiValueHandler(d?.format('HH:mm:ss') ?? '', i)}\n {...extraProps}\n />\n );\n } else if (inputTypeCoerced === 'number') {\n return (\n <InputNumber\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={v => multiValueHandler(v, i)}\n {...extraProps}\n />\n );\n }\n return (\n <Input\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => multiValueHandler(e.target.value, i)}\n {...extraProps}\n />\n );\n });\n return (\n <span data-testid={testID} className={className} title={title}>\n {editors[0]}\n {separator}\n {editors[1]}\n </span>\n );\n }\n\n return <ValueEditor {...allProps} skipHook />;\n }\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <SelectorComponent\n {...propsForValueSelector}\n className={className}\n title={title}\n value={value}\n disabled={disabled}\n listsAsArrays={listsAsArrays}\n multiple={type === 'multiselect'}\n handleOnChange={handleOnChange}\n options={values}\n {...extraProps}\n />\n );\n\n case 'textarea':\n return (\n <Input.TextArea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n checked={!!value}\n title={title}\n className={className}\n disabled={disabled}\n onChange={v => handleOnChange(v)}\n {...extraProps}\n />\n );\n\n case 'checkbox':\n return (\n <span title={title} className={className}>\n <Checkbox\n type=\"checkbox\"\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n {...extraProps}\n />\n </span>\n );\n\n case 'radio':\n return (\n <span className={className} title={title}>\n {values.map(v => (\n <Radio\n key={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}>\n {v.label}\n </Radio>\n ))}\n </span>\n );\n }\n\n switch (inputTypeCoerced) {\n case 'date':\n case 'datetime-local': {\n if (operator === 'between' || operator === 'notBetween') {\n // oxlint-disable-next-line typescript/no-explicit-any\n const dayjsArray = valueAsArray.slice(0, 2).map((v: any) => dayjs(v)) as [Dayjs, Dayjs];\n return (\n <DatePicker.RangePicker\n value={dayjsArray.every(d => d.isValid()) ? dayjsArray : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={[placeHolderText, placeHolderText]}\n // TODO: the function below is currently untested (see the\n // \"renders a date range picker\" test in ./AntD.test.tsx)\n onChange={\n // istanbul ignore next\n dates => {\n const timeFormat = inputTypeCoerced === 'datetime-local' ? 'THH:mm:ss' : '';\n const format = `YYYY-MM-DD${timeFormat}`;\n const dateArray = dates?.map(d => (d?.isValid() ? d.format(format) : undefined));\n handleOnChange(\n dateArray ? (listsAsArrays ? dateArray : joinWith(dateArray, ',')) : dates\n );\n }\n }\n {...extraProps}\n />\n );\n }\n\n const dateValue = dayjs(value);\n return (\n <DatePicker\n value={dateValue.isValid() ? dateValue : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={(_d, dateString) => handleOnChange(dateString)}\n {...extraProps}\n />\n );\n }\n\n case 'time': {\n const dateValue = dayjs(value, 'HH:mm:ss');\n return (\n <DatePicker.TimePicker\n value={dateValue.isValid() ? dateValue : undefined}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => handleOnChange(d?.format('HH:mm:ss') ?? '')}\n {...extraProps}\n />\n );\n }\n\n case 'number': {\n return (\n <InputNumber\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={handleOnChange}\n {...extraProps}\n />\n );\n }\n }\n\n if (inputType === 'bigint') {\n return (\n <Input\n data-testid={testID}\n type={inputTypeCoerced}\n placeholder={placeHolderText}\n value={`${value}`}\n title={title}\n className={className}\n disabled={disabled}\n onChange={e => bigIntValueHandler(e.target.value)}\n {...extraProps}\n />\n );\n }\n\n return (\n <Input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n};\n","import { Select } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { VersatileSelectorProps } from 'react-querybuilder';\nimport { joinWith, useValueSelector } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport type AntDValueSelectorProps = VersatileSelectorProps &\n Omit<ComponentPropsWithoutRef<typeof Select>, 'onChange' | 'defaultValue'>;\n\n/**\n * @group Components\n */\nexport const AntDValueSelector = ({\n className,\n handleOnChange,\n options,\n value,\n title,\n disabled,\n multiple,\n listsAsArrays,\n // Props that should not be in extraProps\n testID: _testID,\n rule: _rule,\n ruleGroup: _ruleGroup,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n operator: _operator,\n field: _field,\n fieldData: _fieldData,\n schema: _schema,\n ...extraProps\n}: AntDValueSelectorProps): React.JSX.Element => {\n // Alternate onChange handler that doesn't use arrays even when `multiple` is true\n const { onChange: onChangeNoArrays } = useValueSelector({\n handleOnChange,\n listsAsArrays: false,\n multiple: false,\n value,\n });\n const { onChange: onChangeNormal, val } = useValueSelector({\n handleOnChange,\n // This forces `val` to be an array if `multiple` is true,\n // even if `listsAsArrays` is false\n listsAsArrays: multiple || listsAsArrays,\n multiple,\n value,\n });\n\n const onChange = React.useCallback(\n (v: string | string[]) => {\n if (multiple && !listsAsArrays && Array.isArray(v)) {\n // `multiple: true` means `v` is probably an array, but we don't want\n // to send an array to `handleOnChange` when `listsAsArrays` is false\n onChangeNoArrays(joinWith(v));\n } else {\n onChangeNormal(v);\n }\n },\n [listsAsArrays, multiple, onChangeNoArrays, onChangeNormal]\n );\n\n return (\n <Select\n {...(multiple ? { mode: 'multiple', allowClear: true } : {})}\n title={title}\n className={className}\n popupMatchSelectWidth={false}\n disabled={disabled}\n value={val}\n onChange={onChange}\n optionFilterProp=\"label\"\n options={options}\n {...extraProps}\n />\n );\n};\n","import {\n CloseOutlined,\n CopyOutlined,\n DownOutlined,\n LockOutlined,\n UnlockOutlined,\n UpOutlined,\n} from '@ant-design/icons';\nimport * as React from 'react';\nimport type {\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { AntDActionElement } from './AntDActionElement';\nimport { AntDDragHandle } from './AntDDragHandle';\nimport { AntDNotToggle } from './AntDNotToggle';\nimport { AntDShiftActions } from './AntDShiftActions';\nimport { AntDValueEditor } from './AntDValueEditor';\nimport { AntDValueSelector } from './AntDValueSelector';\n\nexport * from './AntDActionElement';\nexport * from './AntDDragHandle';\nexport * from './AntDNotToggle';\nexport * from './AntDShiftActions';\nexport * from './AntDValueEditor';\nexport * from './AntDValueSelector';\n\n/**\n * @group Props\n */\nexport const antdControlElements: ControlElementsProp<FullField, string> = {\n actionElement: AntDActionElement,\n dragHandle: AntDDragHandle,\n notToggle: AntDNotToggle,\n shiftActions: AntDShiftActions,\n valueEditor: AntDValueEditor,\n valueSelector: AntDValueSelector,\n};\n\n/**\n * @group Props\n */\nexport const antdTranslations: Partial<Translations> = {\n removeGroup: { label: <CloseOutlined /> },\n removeRule: { label: <CloseOutlined /> },\n cloneRule: { label: <CopyOutlined /> },\n cloneRuleGroup: { label: <CopyOutlined /> },\n lockGroup: { label: <UnlockOutlined /> },\n lockRule: { label: <UnlockOutlined /> },\n lockGroupDisabled: { label: <LockOutlined /> },\n lockRuleDisabled: { label: <LockOutlined /> },\n shiftActionUp: { label: <UpOutlined /> },\n shiftActionDown: { label: <DownOutlined /> },\n};\n\n/**\n * @group Components\n */\nexport const QueryBuilderAntD: QueryBuilderContextProvider = getCompatContextProvider({\n controlElements: antdControlElements,\n translations: antdTranslations,\n});\n"],"x_google_ignoreList":[4],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-querybuilder_antd.legacy-esm.js","names":["AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n>","localeMap: IlocaleMapObject","generateConfig: GenerateConfig<Dayjs>","dayjsGenerateConfig","antdControlElements: ControlElementsProp<FullField, string>","antdTranslations: Partial<Translations>","QueryBuilderAntD: QueryBuilderContextProvider"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../../../node_modules/rc-util/lib/warning.js","../src/dayjs.ts","../src/AntDValueEditor.tsx","../src/AntDValueSelector.tsx","../src/index.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { ActionProps } from 'react-querybuilder';\n\n// TODO: This may be unnecessary. Find out if there's a way to allow\n// `data-${string}` index keys without breaking other type contraints.\ntype RemoveDataIndexKeys<T> = {\n [K in keyof T as `data-${string}` extends K ? never : K]: T[K];\n};\n\n/**\n * @group Props\n */\nexport interface AntDActionProps\n extends ActionProps, RemoveDataIndexKeys<ComponentPropsWithoutRef<typeof Button>> {}\n\n/**\n * @group Components\n */\nexport const AntDActionElement = ({\n className,\n handleOnClick,\n label,\n title,\n disabled,\n disabledTranslation,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n ruleOrGroup: _ruleOrGroup,\n schema: _schema,\n ...extraProps\n}: AntDActionProps): React.JSX.Element => (\n <Button\n type=\"primary\"\n className={className}\n title={disabledTranslation && disabled ? disabledTranslation.title : title}\n onClick={e => handleOnClick(e)}\n disabled={disabled && !disabledTranslation}\n {...extraProps}>\n {disabledTranslation && disabled ? disabledTranslation.label : label}\n </Button>\n);\n","import { HolderOutlined } from '@ant-design/icons';\nimport type { ComponentPropsWithRef } from 'react';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport type AntDDragHandleProps = DragHandleProps & { label?: any } & ComponentPropsWithRef<\n typeof HolderOutlined\n >;\n\n/**\n * @group Components\n */\nexport const AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, AntDDragHandleProps>(\n (\n {\n className,\n title,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n label: _label,\n disabled: _disabled,\n context: _context,\n validation: _validation,\n schema: _schema,\n ruleOrGroup: _ruleOrGroup,\n ...extraProps\n },\n dragRef\n ) => <HolderOutlined className={className} title={title} {...extraProps} ref={dragRef} />\n);\n","import { Switch } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport interface AntDNotToggleProps\n extends NotToggleProps, ComponentPropsWithoutRef<typeof Switch> {}\n\n/**\n * @group Components\n */\nexport const AntDNotToggle = ({\n className,\n handleOnChange,\n label,\n checked,\n title,\n disabled,\n // Props that should not be in extraProps\n path: _path,\n context: _context,\n validation: _validation,\n testID: _testID,\n schema: _schema,\n ruleGroup: _ruleGroup,\n ...extraProps\n}: AntDNotToggleProps): React.JSX.Element => (\n <Switch\n title={title}\n className={className}\n onChange={v => handleOnChange(v)}\n checked={!!checked}\n disabled={disabled}\n checkedChildren={label}\n unCheckedChildren=\"=\"\n {...extraProps}\n />\n);\n","import { Button } from 'antd';\nimport * as React from 'react';\nimport type { ShiftActionsProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const AntDShiftActions = ({\n shiftUp,\n shiftDown,\n shiftUpDisabled,\n shiftDownDisabled,\n disabled,\n className,\n labels,\n titles,\n testID,\n}: ShiftActionsProps): React.JSX.Element => (\n <div data-testid={testID} className={className}>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftUp}\n onClick={shiftUp}\n disabled={disabled || shiftUpDisabled}>\n {labels?.shiftUp}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftDown}\n onClick={shiftDown}\n disabled={disabled || shiftDownDisabled}>\n {labels?.shiftDown}\n </Button>\n </div>\n);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.call = call;\nexports.default = void 0;\nexports.note = note;\nexports.noteOnce = noteOnce;\nexports.preMessage = void 0;\nexports.resetWarned = resetWarned;\nexports.warning = warning;\nexports.warningOnce = warningOnce;\n/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nvar preMessage = exports.preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nfunction warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nfunction note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nfunction resetWarned() {\n warned = {};\n}\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nvar _default = exports.default = warningOnce;","/**\n * This file is adapted from the following sources:\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/dayjs.ts\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/index.ts\n */\n\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\nimport weekday from 'dayjs/plugin/weekday.js';\nimport { noteOnce } from 'rc-util/lib/warning';\n\ntype GenerateConfig<DateType> = {\n // Get\n getWeekDay: (value: DateType) => number;\n getMillisecond: (value: DateType) => number;\n getSecond: (value: DateType) => number;\n getMinute: (value: DateType) => number;\n getHour: (value: DateType) => number;\n getDate: (value: DateType) => number;\n getMonth: (value: DateType) => number;\n getYear: (value: DateType) => number;\n getNow: () => DateType;\n getFixedDate: (fixed: string) => DateType;\n getEndDate: (value: DateType) => DateType;\n\n // Set\n addYear: (value: DateType, diff: number) => DateType;\n addMonth: (value: DateType, diff: number) => DateType;\n addDate: (value: DateType, diff: number) => DateType;\n setYear: (value: DateType, year: number) => DateType;\n setMonth: (value: DateType, month: number) => DateType;\n setDate: (value: DateType, date: number) => DateType;\n setHour: (value: DateType, hour: number) => DateType;\n setMinute: (value: DateType, minute: number) => DateType;\n setSecond: (value: DateType, second: number) => DateType;\n setMillisecond: (value: DateType, millisecond: number) => DateType;\n\n // Compare\n isAfter: (date1: DateType, date2: DateType) => boolean;\n isValidate: (date: DateType) => boolean;\n\n locale: {\n getWeekFirstDay: (locale: string) => number;\n getWeekFirstDate: (locale: string, value: DateType) => DateType;\n getWeek: (locale: string, value: DateType) => number;\n\n format: (locale: string, date: DateType, format: string) => string;\n\n /** Should only return validate date instance */\n parse: (locale: string, text: string, formats: string[]) => DateType | null;\n\n /** A proxy for getting locale with moment or other locale library */\n getShortWeekDays?: (locale: string) => string[];\n /** A proxy for getting locale with moment or other locale library */\n getShortMonths?: (locale: string) => string[];\n };\n};\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\n\ndayjs.extend((o, c) => {\n // todo support Wo (ISO week)\n const proto = c.prototype;\n const oldFormat = proto.format;\n proto.format = function f(formatStr: string) {\n const str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\ntype IlocaleMapObject = Record<string, string>;\nconst localeMap: IlocaleMapObject = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw',\n};\n\nconst parseLocale = (locale: string) => {\n const mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nconst parseNoMatchNotice = () => {\n /* istanbul ignore next */\n noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nconst generateConfig: GenerateConfig<Dayjs> = {\n // get\n getNow: () => dayjs(),\n getFixedDate: string => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n getEndDate: date => date.endOf('month'),\n getWeekDay: date => {\n const clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: date => date.year(),\n getMonth: date => date.month(),\n getDate: date => date.date(),\n getHour: date => date.hour(),\n getMinute: date => date.minute(),\n getSecond: date => date.second(),\n getMillisecond: date => date.millisecond(),\n\n // set\n addYear: (date, diff) => date.add(diff, 'year'),\n addMonth: (date, diff) => date.add(diff, 'month'),\n addDate: (date, diff) => date.add(diff, 'day'),\n setYear: (date, year) => date.year(year),\n setMonth: (date, month) => date.month(month),\n setDate: (date, num) => date.date(num),\n setHour: (date, hour) => date.hour(hour),\n setMinute: (date, minute) => date.minute(minute),\n setSecond: (date, second) => date.second(second),\n setMillisecond: (date, milliseconds) => date.millisecond(milliseconds),\n\n // Compare\n isAfter: (date1, date2) => date1.isAfter(date2),\n isValidate: date => date.isValid(),\n\n locale: {\n getWeekFirstDay: locale => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n getShortMonths: locale => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n parse: (locale, text, formats) => {\n const localeStr = parseLocale(locale);\n for (const format of formats) {\n const formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n const year = formatText.split('-')[0];\n const weekStr = formatText.split('-')[1];\n const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (let j = 0; j <= 52; j += 1) {\n const nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n const date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n },\n },\n};\n\nexport default generateConfig;\n","import { Checkbox, Input, InputNumber, Radio, Switch } from 'antd';\nimport generatePicker from 'antd/es/date-picker/generatePicker/index.js';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { joinWith, useValueEditor, ValueEditor } from 'react-querybuilder';\nimport dayjsGenerateConfig from './dayjs';\n\n/**\n * @group Props\n */\nexport interface AntDValueEditorProps extends ValueEditorProps {\n extraProps?: Record<string, unknown>;\n}\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\n/**\n * @group Components\n */\nexport const AntDValueEditor = (allProps: AntDValueEditorProps): React.JSX.Element | null => {\n const {\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values = [],\n listsAsArrays,\n separator,\n valueSource: _vs,\n disabled,\n testID,\n selectorComponent: SelectorComponent = allProps.schema.controls.valueSelector,\n extraProps,\n parseNumbers: _parseNumbers,\n ...propsForValueSelector\n } = allProps;\n\n const {\n valueAsArray,\n multiValueHandler,\n bigIntValueHandler,\n valueListItemClassName,\n inputTypeCoerced,\n } = useValueEditor(allProps);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n\n if (\n (operator === 'between' || operator === 'notBetween') &&\n (type === 'select' || type === 'text') &&\n // Date ranges are handled differently in AntD--see below\n inputTypeCoerced !== 'date' &&\n inputTypeCoerced !== 'datetime-local'\n ) {\n if (type === 'text') {\n const editors = ['from', 'to'].map((key, i) => {\n if (inputTypeCoerced === 'time') {\n return (\n <DatePicker.TimePicker\n key={key}\n value={valueAsArray[i] ? dayjs(valueAsArray[i], 'HH:mm:ss') : null}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => multiValueHandler(d?.format('HH:mm:ss') ?? '', i)}\n {...extraProps}\n />\n );\n } else if (inputTypeCoerced === 'number') {\n return (\n <InputNumber\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={v => multiValueHandler(v, i)}\n {...extraProps}\n />\n );\n }\n return (\n <Input\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => multiValueHandler(e.target.value, i)}\n {...extraProps}\n />\n );\n });\n return (\n <span data-testid={testID} className={className} title={title}>\n {editors[0]}\n {separator}\n {editors[1]}\n </span>\n );\n }\n\n return <ValueEditor {...allProps} skipHook />;\n }\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <SelectorComponent\n {...propsForValueSelector}\n className={className}\n title={title}\n value={value}\n disabled={disabled}\n listsAsArrays={listsAsArrays}\n multiple={type === 'multiselect'}\n handleOnChange={handleOnChange}\n options={values}\n {...extraProps}\n />\n );\n\n case 'textarea':\n return (\n <Input.TextArea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n checked={!!value}\n title={title}\n className={className}\n disabled={disabled}\n onChange={v => handleOnChange(v)}\n {...extraProps}\n />\n );\n\n case 'checkbox':\n return (\n <span title={title} className={className}>\n <Checkbox\n type=\"checkbox\"\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n {...extraProps}\n />\n </span>\n );\n\n case 'radio':\n return (\n <span className={className} title={title}>\n {values.map(v => (\n <Radio\n key={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}>\n {v.label}\n </Radio>\n ))}\n </span>\n );\n }\n\n switch (inputTypeCoerced) {\n case 'date':\n case 'datetime-local': {\n if (operator === 'between' || operator === 'notBetween') {\n // oxlint-disable-next-line typescript/no-explicit-any\n const dayjsArray = valueAsArray.slice(0, 2).map((v: any) => dayjs(v)) as [Dayjs, Dayjs];\n return (\n <DatePicker.RangePicker\n value={dayjsArray.every(d => d.isValid()) ? dayjsArray : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={[placeHolderText, placeHolderText]}\n // TODO: the function below is currently untested (see the\n // \"renders a date range picker\" test in ./AntD.test.tsx)\n onChange={\n // istanbul ignore next\n dates => {\n const timeFormat = inputTypeCoerced === 'datetime-local' ? 'THH:mm:ss' : '';\n const format = `YYYY-MM-DD${timeFormat}`;\n const dateArray = dates?.map(d => (d?.isValid() ? d.format(format) : undefined));\n handleOnChange(\n dateArray ? (listsAsArrays ? dateArray : joinWith(dateArray, ',')) : dates\n );\n }\n }\n {...extraProps}\n />\n );\n }\n\n const dateValue = dayjs(value);\n return (\n <DatePicker\n value={dateValue.isValid() ? dateValue : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={(_d, dateString) => handleOnChange(dateString)}\n {...extraProps}\n />\n );\n }\n\n case 'time': {\n const dateValue = dayjs(value, 'HH:mm:ss');\n return (\n <DatePicker.TimePicker\n value={dateValue.isValid() ? dateValue : undefined}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => handleOnChange(d?.format('HH:mm:ss') ?? '')}\n {...extraProps}\n />\n );\n }\n\n case 'number': {\n return (\n <InputNumber\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={handleOnChange}\n {...extraProps}\n />\n );\n }\n }\n\n if (inputType === 'bigint') {\n return (\n <Input\n data-testid={testID}\n type={inputTypeCoerced}\n placeholder={placeHolderText}\n value={`${value}`}\n title={title}\n className={className}\n disabled={disabled}\n onChange={e => bigIntValueHandler(e.target.value)}\n {...extraProps}\n />\n );\n }\n\n return (\n <Input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n};\n","import { Select } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { VersatileSelectorProps } from 'react-querybuilder';\nimport { joinWith, useValueSelector } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport type AntDValueSelectorProps = VersatileSelectorProps &\n Omit<ComponentPropsWithoutRef<typeof Select>, 'onChange' | 'defaultValue'>;\n\n/**\n * @group Components\n */\nexport const AntDValueSelector = ({\n className,\n handleOnChange,\n options,\n value,\n title,\n disabled,\n multiple,\n listsAsArrays,\n // Props that should not be in extraProps\n testID: _testID,\n rule: _rule,\n ruleGroup: _ruleGroup,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n operator: _operator,\n field: _field,\n fieldData: _fieldData,\n schema: _schema,\n ...extraProps\n}: AntDValueSelectorProps): React.JSX.Element => {\n // Alternate onChange handler that doesn't use arrays even when `multiple` is true\n const { onChange: onChangeNoArrays } = useValueSelector({\n handleOnChange,\n listsAsArrays: false,\n multiple: false,\n value,\n });\n const { onChange: onChangeNormal, val } = useValueSelector({\n handleOnChange,\n // This forces `val` to be an array if `multiple` is true,\n // even if `listsAsArrays` is false\n listsAsArrays: multiple || listsAsArrays,\n multiple,\n value,\n });\n\n const onChange = React.useCallback(\n (v: string | string[]) => {\n if (multiple && !listsAsArrays && Array.isArray(v)) {\n // `multiple: true` means `v` is probably an array, but we don't want\n // to send an array to `handleOnChange` when `listsAsArrays` is false\n onChangeNoArrays(joinWith(v));\n } else {\n onChangeNormal(v);\n }\n },\n [listsAsArrays, multiple, onChangeNoArrays, onChangeNormal]\n );\n\n return (\n <Select\n {...(multiple ? { mode: 'multiple', allowClear: true } : {})}\n title={title}\n className={className}\n popupMatchSelectWidth={false}\n disabled={disabled}\n value={val}\n onChange={onChange}\n optionFilterProp=\"label\"\n options={options}\n {...extraProps}\n />\n );\n};\n","import {\n CloseOutlined,\n CopyOutlined,\n DownOutlined,\n LockOutlined,\n UnlockOutlined,\n UpOutlined,\n} from '@ant-design/icons';\nimport * as React from 'react';\nimport type {\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { AntDActionElement } from './AntDActionElement';\nimport { AntDDragHandle } from './AntDDragHandle';\nimport { AntDNotToggle } from './AntDNotToggle';\nimport { AntDShiftActions } from './AntDShiftActions';\nimport { AntDValueEditor } from './AntDValueEditor';\nimport { AntDValueSelector } from './AntDValueSelector';\n\nexport * from './AntDActionElement';\nexport * from './AntDDragHandle';\nexport * from './AntDNotToggle';\nexport * from './AntDShiftActions';\nexport * from './AntDValueEditor';\nexport * from './AntDValueSelector';\n\n/**\n * @group Props\n */\nexport const antdControlElements: ControlElementsProp<FullField, string> = {\n actionElement: AntDActionElement,\n dragHandle: AntDDragHandle,\n notToggle: AntDNotToggle,\n shiftActions: AntDShiftActions,\n valueEditor: AntDValueEditor,\n valueSelector: AntDValueSelector,\n};\n\n/**\n * @group Props\n */\nexport const antdTranslations: Partial<Translations> = {\n removeGroup: { label: <CloseOutlined /> },\n removeRule: { label: <CloseOutlined /> },\n cloneRule: { label: <CopyOutlined /> },\n cloneRuleGroup: { label: <CopyOutlined /> },\n lockGroup: { label: <UnlockOutlined /> },\n lockRule: { label: <UnlockOutlined /> },\n lockGroupDisabled: { label: <LockOutlined /> },\n lockRuleDisabled: { label: <LockOutlined /> },\n shiftActionUp: { label: <UpOutlined /> },\n shiftActionDown: { label: <DownOutlined /> },\n};\n\n/**\n * @group Components\n */\nexport const QueryBuilderAntD: QueryBuilderContextProvider = getCompatContextProvider({\n controlElements: antdControlElements,\n translations: antdTranslations,\n});\n"],"x_google_ignoreList":[4],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBE;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;AAdF,MAAa,qBAAqB,SAgBQ;KAhBR,EAChC,WACA,eACA,OACA,OACA,UACA,qBAEA,QAAQ,SACR,OAAO,QACP,MAAM,OACN,SAAS,UACT,YAAY,aACZ,aAAa,cACb,QAAQ,kBACL;AACqC,QACxC,oCAAC;EACC,MAAK;EACM;EACX,OAAO,uBAAuB,WAAW,oBAAoB,QAAQ;EACrE,UAAS,MAAK,cAAc,EAAE;EAC9B,UAAU,YAAY,CAAC;IACnB,aACH,uBAAuB,WAAW,oBAAoB,QAAQ,MACxD;;;;;;CCvBL;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;AAhBN,MAAaA,iBAET,YAEA,MAeA,YACG;KAhBH,EACE,WACA,OAEA,QAAQ,SACR,OAAO,QACP,MAAM,OACN,OAAO,QACP,UAAU,WACV,SAAS,UACT,YAAY,aACZ,QAAQ,SACR,aAAa,uBACV;AAGF,4CAAC;EAA0B;EAAkB;IAAW,mBAAY,KAAK,WAAW;EAC1F;;;;;CCvBC;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;;;;;AAbF,MAAa,iBAAiB,SAee;KAff,EAC5B,WACA,gBACA,OACA,SACA,OACA,UAEA,MAAM,OACN,SAAS,UACT,YAAY,aACZ,QAAQ,SACR,QAAQ,SACR,WAAW,qBACR;AACwC,QAC3C,oCAAC;EACQ;EACI;EACX,WAAU,MAAK,eAAe,EAAE;EAChC,SAAS,CAAC,CAAC;EACD;EACV,iBAAiB;EACjB,mBAAkB;IACd,YACJ;;;;;;;;AChCJ,MAAa,oBAAoB,EAC/B,SACA,WACA,iBACA,mBACA,UACA,WACA,QACA,QACA,aAEA,oCAAC;CAAI,eAAa;CAAmB;GACnC,oCAAC;CACC,MAAK;CACL,MAAK;CACL,uDAAO,OAAQ;CACf,SAAS;CACT,UAAU,YAAY;mDACrB,OAAQ,QACF,EACT,oCAAC;CACC,MAAK;CACL,MAAK;CACL,uDAAO,OAAQ;CACf,SAAS;CACT,UAAU,YAAY;mDACrB,OAAQ,UACF,CACL;;;;;ACjCR,QAAO,eAAe,SAAS,cAAc,EAC3C,OAAO,MACR,CAAC;AAEF,SAAQ,UAAU,KAAK;AAEvB,SAAQ,WAAW;AACnB,SAAQ,aAAa,KAAK;CAK1B,IAAI,SAAS,EAAE;CACf,IAAI,gBAAgB,EAAE;;;;;CAMtB,IAAI,aAAa,QAAQ,aAAa,SAAS,WAAW,IAAI;AAC5D,gBAAc,KAAK,GAAG;;;;;;;;;;;;;CAcxB,SAAS,QAAQ,OAAO,SAAS;AAC/B,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAAC,SAAS,YAAY,QAAW;GAC5E,IAAI,eAAe,cAAc,OAAO,SAAU,KAAK,cAAc;AACnE,WAAO,aAAa,QAAQ,QAAQ,QAAQ,KAAK,IAAI,MAAM,IAAI,UAAU;MACxE,QAAQ;AACX,OAAI,aACF,SAAQ,MAAM,YAAY,OAAO,aAAa,CAAC;;;;CAMrD,SAAS,KAAK,OAAO,SAAS;AAC5B,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAAC,SAAS,YAAY,QAAW;GAC5E,IAAI,eAAe,cAAc,OAAO,SAAU,KAAK,cAAc;AACnE,WAAO,aAAa,QAAQ,QAAQ,QAAQ,KAAK,IAAI,MAAM,IAAI,OAAO;MACrE,QAAQ;AACX,OAAI,aACF,SAAQ,KAAK,SAAS,OAAO,aAAa,CAAC;;;CAIjD,SAAS,cAAc;AACrB,WAAS,EAAE;;CAEb,SAAS,KAAK,QAAQ,OAAO,SAAS;AACpC,MAAI,CAAC,SAAS,CAAC,OAAO,UAAU;AAC9B,UAAO,OAAO,QAAQ;AACtB,UAAO,WAAW;;;;CAKtB,SAAS,YAAY,OAAO,SAAS;AACnC,OAAK,SAAS,OAAO,QAAQ;;;CAI/B,SAAS,SAAS,OAAO,SAAS;AAChC,OAAK,MAAM,OAAO,QAAQ;;AAE5B,aAAY,aAAa;AACzB,aAAY,cAAc;AAC1B,aAAY,WAAW;AACR,SAAQ,UAAU;;;;;;ACjBjC,MAAM,OAAO,kBAAkB;AAC/B,MAAM,OAAO,eAAe;AAC5B,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,WAAW;AACxB,MAAM,OAAO,WAAW;AACxB,MAAM,OAAO,SAAS;AAEtB,MAAM,QAAQ,GAAG,MAAM;CAErB,MAAM,QAAQ,EAAE;CAChB,MAAM,YAAY,MAAM;AACxB,OAAM,SAAS,SAAS,EAAE,WAAmB;EAC3C,MAAM,OAAO,aAAa,IAAI,QAAQ,MAAM,KAAK;AACjD,SAAO,UAAU,KAAK,KAAK,CAAC,IAAI;;EAElC;AAGF,MAAMC,YAA8B;CAIlC,OAAO;CACP,OAAO;CAMP,OAAO;CACP,OAAO;CAKP,OAAO;CACP,OAAO;CAQP,OAAO;CAQP,QAAQ;CAYR,OAAO;CAGP,OAAO;CAcP,OAAO;CACP,OAAO;CACP,OAAO;CACR;AAED,MAAM,eAAe,WAAmB;AAEtC,QADkB,UAAU,WACR,OAAO,MAAM,IAAI,CAAC;;AAGxC,MAAM,2BAA2B;;AAE/B,8BAAS,OAAO,gEAAgE;;AAGlF,MAAMC,iBAAwC;CAE5C,cAAc,OAAO;CACrB,eAAc,WAAU,MAAM,QAAQ,CAAC,aAAa,aAAa,CAAC;CAClE,aAAY,SAAQ,KAAK,MAAM,QAAQ;CACvC,aAAY,SAAQ;EAClB,MAAM,QAAQ,KAAK,OAAO,KAAK;AAC/B,SAAO,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,gBAAgB;;CAE9D,UAAS,SAAQ,KAAK,MAAM;CAC5B,WAAU,SAAQ,KAAK,OAAO;CAC9B,UAAS,SAAQ,KAAK,MAAM;CAC5B,UAAS,SAAQ,KAAK,MAAM;CAC5B,YAAW,SAAQ,KAAK,QAAQ;CAChC,YAAW,SAAQ,KAAK,QAAQ;CAChC,iBAAgB,SAAQ,KAAK,aAAa;CAG1C,UAAU,MAAM,SAAS,KAAK,IAAI,MAAM,OAAO;CAC/C,WAAW,MAAM,SAAS,KAAK,IAAI,MAAM,QAAQ;CACjD,UAAU,MAAM,SAAS,KAAK,IAAI,MAAM,MAAM;CAC9C,UAAU,MAAM,SAAS,KAAK,KAAK,KAAK;CACxC,WAAW,MAAM,UAAU,KAAK,MAAM,MAAM;CAC5C,UAAU,MAAM,QAAQ,KAAK,KAAK,IAAI;CACtC,UAAU,MAAM,SAAS,KAAK,KAAK,KAAK;CACxC,YAAY,MAAM,WAAW,KAAK,OAAO,OAAO;CAChD,YAAY,MAAM,WAAW,KAAK,OAAO,OAAO;CAChD,iBAAiB,MAAM,iBAAiB,KAAK,YAAY,aAAa;CAGtE,UAAU,OAAO,UAAU,MAAM,QAAQ,MAAM;CAC/C,aAAY,SAAQ,KAAK,SAAS;CAElC,QAAQ;EACN,kBAAiB,WAAU,OAAO,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,gBAAgB;EAC5F,mBAAmB,QAAQ,SAAS,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,QAAQ,EAAE;EAC/E,UAAU,QAAQ,SAAS,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,MAAM;EAClE,mBAAkB,WAAU,OAAO,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,aAAa;EAC1F,iBAAgB,WAAU,OAAO,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,aAAa;EACxF,SAAS,QAAQ,MAAM,WAAW,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,OAAO,OAAO;EACjF,QAAQ,QAAQ,MAAM,YAAY;GAChC,MAAM,YAAY,YAAY,OAAO;AACrC,QAAK,MAAM,UAAU,SAAS;IAC5B,MAAM,aAAa;AACnB,QAAI,OAAO,SAAS,KAAK,IAAI,OAAO,SAAS,KAAK,EAAE;KAElD,MAAM,OAAO,WAAW,MAAM,IAAI,CAAC;KACnC,MAAM,UAAU,WAAW,MAAM,IAAI,CAAC;KACtC,MAAM,YAAY,MAAM,MAAM,OAAO,CAAC,QAAQ,OAAO,CAAC,OAAO,UAAU;AACvE,UAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,GAAG;MAC/B,MAAM,WAAW,UAAU,IAAI,GAAG,OAAO;AACzC,UAAI,SAAS,OAAO,KAAK,KAAK,QAC5B,QAAO;;AAGX,yBAAoB;AACpB,YAAO;;IAET,MAAM,OAAO,MAAM,YAAY,QAAQ,KAAK,CAAC,OAAO,UAAU;AAC9D,QAAI,KAAK,SAAS,CAChB,QAAO;;AAIX,OAAI,KACF,qBAAoB;AAEtB,UAAO;;EAEV;CACF;AAED,oBAAe;;;;;CChNX;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;AAvBJ,MAAM,aAAa,eAAeC,cAAoB;;;;AAKtD,MAAa,mBAAmB,aAA6D;;CAC3F,MAAM,EACJ,WACA,UACA,OACA,gBACA,OACA,WACA,MACA,WACA,SAAS,EAAE,EACX,eACA,WACA,aAAa,KACb,UACA,QACA,mBAAmB,oBAAoB,SAAS,OAAO,SAAS,eAChE,YACA,cAAc,4BACX,iDACD;CAEJ,MAAM,EACJ,cACA,mBACA,oBACA,wBACA,qBACE,eAAe,SAAS;AAE5B,KAAI,aAAa,UAAU,aAAa,UACtC,QAAO;CAGT,MAAM,iGAAkB,UAAW,oFAAe;AAElD,MACG,aAAa,aAAa,aAAa,kBACvC,SAAS,YAAY,SAAS,WAE/B,qBAAqB,UACrB,qBAAqB,kBACrB;AACA,MAAI,SAAS,QAAQ;GACnB,MAAM,UAAU,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,MAAM;;AAC7C,QAAI,qBAAqB,OACvB,QACE,oCAAC,WAAW;KACL;KACL,OAAO,aAAa,KAAK,MAAM,aAAa,IAAI,WAAW,GAAG;KAC9D,WAAW;KACD;KACV,aAAa;KACb,WAAU,MAAK;;kFAAkB,EAAG,OAAO,WAAW,iDAAI,IAAI,EAAE;;OAC5D,YACJ;aAEK,qBAAqB,UAAU;;AACxC,YACE,oCAAC;MACM;MACL,MAAM;MACN,0BAAO,aAAa,+DAAM;MAC1B,WAAW;MACD;MACV,aAAa;MACb,WAAU,MAAK,kBAAkB,GAAG,EAAE;QAClC,YACJ;;AAGN,WACE,oCAAC;KACM;KACL,MAAM;KACN,2BAAO,aAAa,iEAAM;KAC1B,WAAW;KACD;KACV,aAAa;KACb,WAAU,MAAK,kBAAkB,EAAE,OAAO,OAAO,EAAE;OAC/C,YACJ;KAEJ;AACF,UACE,oCAAC;IAAK,eAAa;IAAmB;IAAkB;MACrD,QAAQ,IACR,WACA,QAAQ,GACJ;;AAIX,SAAO,oCAAC,+CAAgB,iBAAU,kBAAW;;AAG/C,SAAQ,MAAR;EACE,KAAK;EACL,KAAK,cACH,QACE,oCAAC,qDACK;GACO;GACJ;GACA;GACG;GACK;GACf,UAAU,SAAS;GACH;GAChB,SAAS;KACL,YACJ;EAGN,KAAK,WACH,QACE,oCAAC,MAAM;GACE;GACA;GACI;GACD;GACV,aAAa;GACb,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;KACzC,YACJ;EAGN,KAAK,SACH,QACE,oCAAC;GACC,SAAS,CAAC,CAAC;GACJ;GACI;GACD;GACV,WAAU,MAAK,eAAe,EAAE;KAC5B,YACJ;EAGN,KAAK,WACH,QACE,oCAAC;GAAY;GAAkB;KAC7B,oCAAC;GACC,MAAK;GACK;GACV,WAAU,MAAK,eAAe,EAAE,OAAO,QAAQ;GAC/C,SAAS,CAAC,CAAC;KACP,YACJ,CACG;EAGX,KAAK,QACH,QACE,oCAAC;GAAgB;GAAkB;KAChC,OAAO,KAAI,MACV,oCAAC;GACC,KAAK,EAAE;GACP,OAAO,EAAE;GACT,SAAS,UAAU,EAAE;GACX;GACV,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;KACzC,aACH,EAAE,MACG,CACR,CACG;;AAIb,SAAQ,kBAAR;EACE,KAAK;EACL,KAAK,kBAAkB;AACrB,OAAI,aAAa,aAAa,aAAa,cAAc;IAEvD,MAAM,aAAa,aAAa,MAAM,GAAG,EAAE,CAAC,KAAK,MAAW,MAAM,EAAE,CAAC;AACrE,WACE,oCAAC,WAAW;KACV,OAAO,WAAW,OAAM,MAAK,EAAE,SAAS,CAAC,GAAG,aAAa;KACzD,UAAU,qBAAqB;KACpB;KACD;KACV,aAAa,CAAC,iBAAiB,gBAAgB;KAG/C,WAEE,UAAS;MAEP,MAAM,SAAS,aADI,qBAAqB,mBAAmB,cAAc;MAEzE,MAAM,0DAAY,MAAO,KAAI,6CAAM,EAAG,SAAS,IAAG,EAAE,OAAO,OAAO,GAAG,OAAW;AAChF,qBACE,YAAa,gBAAgB,YAAY,SAAS,WAAW,IAAI,GAAI,MACtE;;OAGD,YACJ;;GAIN,MAAM,YAAY,MAAM,MAAM;AAC9B,UACE,oCAAC;IACC,OAAO,UAAU,SAAS,GAAG,YAAY;IACzC,UAAU,qBAAqB;IACpB;IACD;IACV,aAAa;IACb,WAAW,IAAI,eAAe,eAAe,WAAW;MACpD,YACJ;;EAIN,KAAK,QAAQ;GACX,MAAM,YAAY,MAAM,OAAO,WAAW;AAC1C,UACE,oCAAC,WAAW;IACV,OAAO,UAAU,SAAS,GAAG,YAAY;IAC9B;IACD;IACV,aAAa;IACb,WAAU,MAAK;;+EAAe,EAAG,OAAO,WAAW,mDAAI,GAAG;;MACtD,YACJ;;EAIN,KAAK,SACH,QACE,oCAAC;GACC,MAAM;GACC;GACA;GACI;GACD;GACV,aAAa;GACb,UAAU;KACN,YACJ;;AAKR,KAAI,cAAc,SAChB,QACE,oCAAC;EACC,eAAa;EACb,MAAM;EACN,aAAa;EACb,OAAO,GAAG;EACH;EACI;EACD;EACV,WAAU,MAAK,mBAAmB,EAAE,OAAO,MAAM;IAC7C,YACJ;AAIN,QACE,oCAAC;EACC,MAAM;EACC;EACA;EACI;EACD;EACV,aAAa;EACb,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;IACzC,YACJ;;;;;;CCpRJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;AArBF,MAAa,qBAAqB,SAuBe;KAvBf,EAChC,WACA,gBACA,SACA,OACA,OACA,UACA,UACA,eAEA,QAAQ,SACR,MAAM,OACN,WAAW,YACX,OAAO,QACP,OAAO,QACP,MAAM,OACN,SAAS,UACT,YAAY,aACZ,UAAU,WACV,OAAO,QACP,WAAW,YACX,QAAQ,kBACL;CAGH,MAAM,EAAE,UAAU,qBAAqB,iBAAiB;EACtD;EACA,eAAe;EACf,UAAU;EACV;EACD,CAAC;CACF,MAAM,EAAE,UAAU,gBAAgB,QAAQ,iBAAiB;EACzD;EAGA,eAAe,YAAY;EAC3B;EACA;EACD,CAAC;CAEF,MAAM,WAAW,MAAM,aACpB,MAAyB;AACxB,MAAI,YAAY,CAAC,iBAAiB,MAAM,QAAQ,EAAE,CAGhD,kBAAiB,SAAS,EAAE,CAAC;MAE7B,gBAAe,EAAE;IAGrB;EAAC;EAAe;EAAU;EAAkB;EAAe,CAC5D;AAED,QACE,oCAAC,0CACM,WAAW;EAAE,MAAM;EAAY,YAAY;EAAM,GAAG,EAAE;EACpD;EACI;EACX,uBAAuB;EACb;EACV,OAAO;EACG;EACV,kBAAiB;EACR;IACL,YACJ;;;;;;;;AC/CN,MAAaC,sBAA8D;CACzE,eAAe;CACf,YAAY;CACZ,WAAW;CACX,cAAc;CACd,aAAa;CACb,eAAe;CAChB;;;;AAKD,MAAaC,mBAA0C;CACrD,aAAa,EAAE,OAAO,oCAAC,oBAAgB,EAAE;CACzC,YAAY,EAAE,OAAO,oCAAC,oBAAgB,EAAE;CACxC,WAAW,EAAE,OAAO,oCAAC,mBAAe,EAAE;CACtC,gBAAgB,EAAE,OAAO,oCAAC,mBAAe,EAAE;CAC3C,WAAW,EAAE,OAAO,oCAAC,qBAAiB,EAAE;CACxC,UAAU,EAAE,OAAO,oCAAC,qBAAiB,EAAE;CACvC,mBAAmB,EAAE,OAAO,oCAAC,mBAAe,EAAE;CAC9C,kBAAkB,EAAE,OAAO,oCAAC,mBAAe,EAAE;CAC7C,eAAe,EAAE,OAAO,oCAAC,iBAAa,EAAE;CACxC,iBAAiB,EAAE,OAAO,oCAAC,mBAAe,EAAE;CAC7C;;;;AAKD,MAAaC,mBAAgD,yBAAyB;CACpF,iBAAiB;CACjB,cAAc;CACf,CAAC"}
|
|
@@ -84,7 +84,7 @@ const AntDShiftActions = ({ shiftUp, shiftDown, shiftUpDisabled, shiftDownDisabl
|
|
|
84
84
|
var require_warning = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
85
85
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
86
86
|
exports.default = void 0;
|
|
87
|
-
exports.noteOnce = noteOnce
|
|
87
|
+
exports.noteOnce = noteOnce;
|
|
88
88
|
exports.preMessage = void 0;
|
|
89
89
|
var warned = {};
|
|
90
90
|
var preWarningFns = [];
|
|
@@ -92,7 +92,7 @@ var require_warning = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
92
92
|
* Pre warning enable you to parse content before console.error.
|
|
93
93
|
* Modify to null will prevent warning.
|
|
94
94
|
*/
|
|
95
|
-
var preMessage = exports.preMessage = function preMessage
|
|
95
|
+
var preMessage = exports.preMessage = function preMessage(fn) {
|
|
96
96
|
preWarningFns.push(fn);
|
|
97
97
|
};
|
|
98
98
|
/**
|
|
@@ -137,12 +137,12 @@ var require_warning = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
137
137
|
call(warning, valid, message);
|
|
138
138
|
}
|
|
139
139
|
/** @see Same as {@link warning}, but only warn once for the same message */
|
|
140
|
-
function noteOnce
|
|
140
|
+
function noteOnce(valid, message) {
|
|
141
141
|
call(note, valid, message);
|
|
142
142
|
}
|
|
143
143
|
warningOnce.preMessage = preMessage;
|
|
144
144
|
warningOnce.resetWarned = resetWarned;
|
|
145
|
-
warningOnce.noteOnce = noteOnce
|
|
145
|
+
warningOnce.noteOnce = noteOnce;
|
|
146
146
|
exports.default = warningOnce;
|
|
147
147
|
}));
|
|
148
148
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_antd.mjs","names":["AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n>","noteOnce","preMessage","localeMap: IlocaleMapObject","generateConfig: GenerateConfig<Dayjs>","dayjsGenerateConfig","antdControlElements: ControlElementsProp<FullField, string>","antdTranslations: Partial<Translations>","QueryBuilderAntD: QueryBuilderContextProvider"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../../../node_modules/rc-util/lib/warning.js","../src/dayjs.ts","../src/AntDValueEditor.tsx","../src/AntDValueSelector.tsx","../src/index.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { ActionProps } from 'react-querybuilder';\n\n// TODO: This may be unnecessary. Find out if there's a way to allow\n// `data-${string}` index keys without breaking other type contraints.\ntype RemoveDataIndexKeys<T> = {\n [K in keyof T as `data-${string}` extends K ? never : K]: T[K];\n};\n\n/**\n * @group Props\n */\nexport interface AntDActionProps\n extends ActionProps, RemoveDataIndexKeys<ComponentPropsWithoutRef<typeof Button>> {}\n\n/**\n * @group Components\n */\nexport const AntDActionElement = ({\n className,\n handleOnClick,\n label,\n title,\n disabled,\n disabledTranslation,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n ruleOrGroup: _ruleOrGroup,\n schema: _schema,\n ...extraProps\n}: AntDActionProps): React.JSX.Element => (\n <Button\n type=\"primary\"\n className={className}\n title={disabledTranslation && disabled ? disabledTranslation.title : title}\n onClick={e => handleOnClick(e)}\n disabled={disabled && !disabledTranslation}\n {...extraProps}>\n {disabledTranslation && disabled ? disabledTranslation.label : label}\n </Button>\n);\n","import { HolderOutlined } from '@ant-design/icons';\nimport type { ComponentPropsWithRef } from 'react';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport type AntDDragHandleProps = DragHandleProps & { label?: any } & ComponentPropsWithRef<\n typeof HolderOutlined\n >;\n\n/**\n * @group Components\n */\nexport const AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, AntDDragHandleProps>(\n (\n {\n className,\n title,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n label: _label,\n disabled: _disabled,\n context: _context,\n validation: _validation,\n schema: _schema,\n ruleOrGroup: _ruleOrGroup,\n ...extraProps\n },\n dragRef\n ) => <HolderOutlined className={className} title={title} {...extraProps} ref={dragRef} />\n);\n","import { Switch } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport interface AntDNotToggleProps\n extends NotToggleProps, ComponentPropsWithoutRef<typeof Switch> {}\n\n/**\n * @group Components\n */\nexport const AntDNotToggle = ({\n className,\n handleOnChange,\n label,\n checked,\n title,\n disabled,\n // Props that should not be in extraProps\n path: _path,\n context: _context,\n validation: _validation,\n testID: _testID,\n schema: _schema,\n ruleGroup: _ruleGroup,\n ...extraProps\n}: AntDNotToggleProps): React.JSX.Element => (\n <Switch\n title={title}\n className={className}\n onChange={v => handleOnChange(v)}\n checked={!!checked}\n disabled={disabled}\n checkedChildren={label}\n unCheckedChildren=\"=\"\n {...extraProps}\n />\n);\n","import { Button } from 'antd';\nimport * as React from 'react';\nimport type { ShiftActionsProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const AntDShiftActions = ({\n shiftUp,\n shiftDown,\n shiftUpDisabled,\n shiftDownDisabled,\n disabled,\n className,\n labels,\n titles,\n testID,\n}: ShiftActionsProps): React.JSX.Element => (\n <div data-testid={testID} className={className}>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftUp}\n onClick={shiftUp}\n disabled={disabled || shiftUpDisabled}>\n {labels?.shiftUp}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftDown}\n onClick={shiftDown}\n disabled={disabled || shiftDownDisabled}>\n {labels?.shiftDown}\n </Button>\n </div>\n);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.call = call;\nexports.default = void 0;\nexports.note = note;\nexports.noteOnce = noteOnce;\nexports.preMessage = void 0;\nexports.resetWarned = resetWarned;\nexports.warning = warning;\nexports.warningOnce = warningOnce;\n/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nvar preMessage = exports.preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nfunction warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nfunction note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nfunction resetWarned() {\n warned = {};\n}\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nvar _default = exports.default = warningOnce;","/**\n * This file is adapted from the following sources:\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/dayjs.ts\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/index.ts\n */\n\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\nimport weekday from 'dayjs/plugin/weekday.js';\nimport { noteOnce } from 'rc-util/lib/warning';\n\ntype GenerateConfig<DateType> = {\n // Get\n getWeekDay: (value: DateType) => number;\n getMillisecond: (value: DateType) => number;\n getSecond: (value: DateType) => number;\n getMinute: (value: DateType) => number;\n getHour: (value: DateType) => number;\n getDate: (value: DateType) => number;\n getMonth: (value: DateType) => number;\n getYear: (value: DateType) => number;\n getNow: () => DateType;\n getFixedDate: (fixed: string) => DateType;\n getEndDate: (value: DateType) => DateType;\n\n // Set\n addYear: (value: DateType, diff: number) => DateType;\n addMonth: (value: DateType, diff: number) => DateType;\n addDate: (value: DateType, diff: number) => DateType;\n setYear: (value: DateType, year: number) => DateType;\n setMonth: (value: DateType, month: number) => DateType;\n setDate: (value: DateType, date: number) => DateType;\n setHour: (value: DateType, hour: number) => DateType;\n setMinute: (value: DateType, minute: number) => DateType;\n setSecond: (value: DateType, second: number) => DateType;\n setMillisecond: (value: DateType, millisecond: number) => DateType;\n\n // Compare\n isAfter: (date1: DateType, date2: DateType) => boolean;\n isValidate: (date: DateType) => boolean;\n\n locale: {\n getWeekFirstDay: (locale: string) => number;\n getWeekFirstDate: (locale: string, value: DateType) => DateType;\n getWeek: (locale: string, value: DateType) => number;\n\n format: (locale: string, date: DateType, format: string) => string;\n\n /** Should only return validate date instance */\n parse: (locale: string, text: string, formats: string[]) => DateType | null;\n\n /** A proxy for getting locale with moment or other locale library */\n getShortWeekDays?: (locale: string) => string[];\n /** A proxy for getting locale with moment or other locale library */\n getShortMonths?: (locale: string) => string[];\n };\n};\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\n\ndayjs.extend((o, c) => {\n // todo support Wo (ISO week)\n const proto = c.prototype;\n const oldFormat = proto.format;\n proto.format = function f(formatStr: string) {\n const str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\ntype IlocaleMapObject = Record<string, string>;\nconst localeMap: IlocaleMapObject = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw',\n};\n\nconst parseLocale = (locale: string) => {\n const mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nconst parseNoMatchNotice = () => {\n /* istanbul ignore next */\n noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nconst generateConfig: GenerateConfig<Dayjs> = {\n // get\n getNow: () => dayjs(),\n getFixedDate: string => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n getEndDate: date => date.endOf('month'),\n getWeekDay: date => {\n const clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: date => date.year(),\n getMonth: date => date.month(),\n getDate: date => date.date(),\n getHour: date => date.hour(),\n getMinute: date => date.minute(),\n getSecond: date => date.second(),\n getMillisecond: date => date.millisecond(),\n\n // set\n addYear: (date, diff) => date.add(diff, 'year'),\n addMonth: (date, diff) => date.add(diff, 'month'),\n addDate: (date, diff) => date.add(diff, 'day'),\n setYear: (date, year) => date.year(year),\n setMonth: (date, month) => date.month(month),\n setDate: (date, num) => date.date(num),\n setHour: (date, hour) => date.hour(hour),\n setMinute: (date, minute) => date.minute(minute),\n setSecond: (date, second) => date.second(second),\n setMillisecond: (date, milliseconds) => date.millisecond(milliseconds),\n\n // Compare\n isAfter: (date1, date2) => date1.isAfter(date2),\n isValidate: date => date.isValid(),\n\n locale: {\n getWeekFirstDay: locale => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n getShortMonths: locale => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n parse: (locale, text, formats) => {\n const localeStr = parseLocale(locale);\n for (const format of formats) {\n const formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n const year = formatText.split('-')[0];\n const weekStr = formatText.split('-')[1];\n const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (let j = 0; j <= 52; j += 1) {\n const nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n const date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n },\n },\n};\n\nexport default generateConfig;\n","import { Checkbox, Input, InputNumber, Radio, Switch } from 'antd';\nimport generatePicker from 'antd/es/date-picker/generatePicker/index.js';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { joinWith, useValueEditor, ValueEditor } from 'react-querybuilder';\nimport dayjsGenerateConfig from './dayjs';\n\n/**\n * @group Props\n */\nexport interface AntDValueEditorProps extends ValueEditorProps {\n extraProps?: Record<string, unknown>;\n}\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\n/**\n * @group Components\n */\nexport const AntDValueEditor = (allProps: AntDValueEditorProps): React.JSX.Element | null => {\n const {\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values = [],\n listsAsArrays,\n separator,\n valueSource: _vs,\n disabled,\n testID,\n selectorComponent: SelectorComponent = allProps.schema.controls.valueSelector,\n extraProps,\n parseNumbers: _parseNumbers,\n ...propsForValueSelector\n } = allProps;\n\n const {\n valueAsArray,\n multiValueHandler,\n bigIntValueHandler,\n valueListItemClassName,\n inputTypeCoerced,\n } = useValueEditor(allProps);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n\n if (\n (operator === 'between' || operator === 'notBetween') &&\n (type === 'select' || type === 'text') &&\n // Date ranges are handled differently in AntD--see below\n inputTypeCoerced !== 'date' &&\n inputTypeCoerced !== 'datetime-local'\n ) {\n if (type === 'text') {\n const editors = ['from', 'to'].map((key, i) => {\n if (inputTypeCoerced === 'time') {\n return (\n <DatePicker.TimePicker\n key={key}\n value={valueAsArray[i] ? dayjs(valueAsArray[i], 'HH:mm:ss') : null}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => multiValueHandler(d?.format('HH:mm:ss') ?? '', i)}\n {...extraProps}\n />\n );\n } else if (inputTypeCoerced === 'number') {\n return (\n <InputNumber\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={v => multiValueHandler(v, i)}\n {...extraProps}\n />\n );\n }\n return (\n <Input\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => multiValueHandler(e.target.value, i)}\n {...extraProps}\n />\n );\n });\n return (\n <span data-testid={testID} className={className} title={title}>\n {editors[0]}\n {separator}\n {editors[1]}\n </span>\n );\n }\n\n return <ValueEditor {...allProps} skipHook />;\n }\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <SelectorComponent\n {...propsForValueSelector}\n className={className}\n title={title}\n value={value}\n disabled={disabled}\n listsAsArrays={listsAsArrays}\n multiple={type === 'multiselect'}\n handleOnChange={handleOnChange}\n options={values}\n {...extraProps}\n />\n );\n\n case 'textarea':\n return (\n <Input.TextArea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n checked={!!value}\n title={title}\n className={className}\n disabled={disabled}\n onChange={v => handleOnChange(v)}\n {...extraProps}\n />\n );\n\n case 'checkbox':\n return (\n <span title={title} className={className}>\n <Checkbox\n type=\"checkbox\"\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n {...extraProps}\n />\n </span>\n );\n\n case 'radio':\n return (\n <span className={className} title={title}>\n {values.map(v => (\n <Radio\n key={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}>\n {v.label}\n </Radio>\n ))}\n </span>\n );\n }\n\n switch (inputTypeCoerced) {\n case 'date':\n case 'datetime-local': {\n if (operator === 'between' || operator === 'notBetween') {\n // oxlint-disable-next-line typescript/no-explicit-any\n const dayjsArray = valueAsArray.slice(0, 2).map((v: any) => dayjs(v)) as [Dayjs, Dayjs];\n return (\n <DatePicker.RangePicker\n value={dayjsArray.every(d => d.isValid()) ? dayjsArray : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={[placeHolderText, placeHolderText]}\n // TODO: the function below is currently untested (see the\n // \"renders a date range picker\" test in ./AntD.test.tsx)\n onChange={\n // istanbul ignore next\n dates => {\n const timeFormat = inputTypeCoerced === 'datetime-local' ? 'THH:mm:ss' : '';\n const format = `YYYY-MM-DD${timeFormat}`;\n const dateArray = dates?.map(d => (d?.isValid() ? d.format(format) : undefined));\n handleOnChange(\n dateArray ? (listsAsArrays ? dateArray : joinWith(dateArray, ',')) : dates\n );\n }\n }\n {...extraProps}\n />\n );\n }\n\n const dateValue = dayjs(value);\n return (\n <DatePicker\n value={dateValue.isValid() ? dateValue : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={(_d, dateString) => handleOnChange(dateString)}\n {...extraProps}\n />\n );\n }\n\n case 'time': {\n const dateValue = dayjs(value, 'HH:mm:ss');\n return (\n <DatePicker.TimePicker\n value={dateValue.isValid() ? dateValue : undefined}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => handleOnChange(d?.format('HH:mm:ss') ?? '')}\n {...extraProps}\n />\n );\n }\n\n case 'number': {\n return (\n <InputNumber\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={handleOnChange}\n {...extraProps}\n />\n );\n }\n }\n\n if (inputType === 'bigint') {\n return (\n <Input\n data-testid={testID}\n type={inputTypeCoerced}\n placeholder={placeHolderText}\n value={`${value}`}\n title={title}\n className={className}\n disabled={disabled}\n onChange={e => bigIntValueHandler(e.target.value)}\n {...extraProps}\n />\n );\n }\n\n return (\n <Input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n};\n","import { Select } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { VersatileSelectorProps } from 'react-querybuilder';\nimport { joinWith, useValueSelector } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport type AntDValueSelectorProps = VersatileSelectorProps &\n Omit<ComponentPropsWithoutRef<typeof Select>, 'onChange' | 'defaultValue'>;\n\n/**\n * @group Components\n */\nexport const AntDValueSelector = ({\n className,\n handleOnChange,\n options,\n value,\n title,\n disabled,\n multiple,\n listsAsArrays,\n // Props that should not be in extraProps\n testID: _testID,\n rule: _rule,\n ruleGroup: _ruleGroup,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n operator: _operator,\n field: _field,\n fieldData: _fieldData,\n schema: _schema,\n ...extraProps\n}: AntDValueSelectorProps): React.JSX.Element => {\n // Alternate onChange handler that doesn't use arrays even when `multiple` is true\n const { onChange: onChangeNoArrays } = useValueSelector({\n handleOnChange,\n listsAsArrays: false,\n multiple: false,\n value,\n });\n const { onChange: onChangeNormal, val } = useValueSelector({\n handleOnChange,\n // This forces `val` to be an array if `multiple` is true,\n // even if `listsAsArrays` is false\n listsAsArrays: multiple || listsAsArrays,\n multiple,\n value,\n });\n\n const onChange = React.useCallback(\n (v: string | string[]) => {\n if (multiple && !listsAsArrays && Array.isArray(v)) {\n // `multiple: true` means `v` is probably an array, but we don't want\n // to send an array to `handleOnChange` when `listsAsArrays` is false\n onChangeNoArrays(joinWith(v));\n } else {\n onChangeNormal(v);\n }\n },\n [listsAsArrays, multiple, onChangeNoArrays, onChangeNormal]\n );\n\n return (\n <Select\n {...(multiple ? { mode: 'multiple', allowClear: true } : {})}\n title={title}\n className={className}\n popupMatchSelectWidth={false}\n disabled={disabled}\n value={val}\n onChange={onChange}\n optionFilterProp=\"label\"\n options={options}\n {...extraProps}\n />\n );\n};\n","import {\n CloseOutlined,\n CopyOutlined,\n DownOutlined,\n LockOutlined,\n UnlockOutlined,\n UpOutlined,\n} from '@ant-design/icons';\nimport * as React from 'react';\nimport type {\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { AntDActionElement } from './AntDActionElement';\nimport { AntDDragHandle } from './AntDDragHandle';\nimport { AntDNotToggle } from './AntDNotToggle';\nimport { AntDShiftActions } from './AntDShiftActions';\nimport { AntDValueEditor } from './AntDValueEditor';\nimport { AntDValueSelector } from './AntDValueSelector';\n\nexport * from './AntDActionElement';\nexport * from './AntDDragHandle';\nexport * from './AntDNotToggle';\nexport * from './AntDShiftActions';\nexport * from './AntDValueEditor';\nexport * from './AntDValueSelector';\n\n/**\n * @group Props\n */\nexport const antdControlElements: ControlElementsProp<FullField, string> = {\n actionElement: AntDActionElement,\n dragHandle: AntDDragHandle,\n notToggle: AntDNotToggle,\n shiftActions: AntDShiftActions,\n valueEditor: AntDValueEditor,\n valueSelector: AntDValueSelector,\n};\n\n/**\n * @group Props\n */\nexport const antdTranslations: Partial<Translations> = {\n removeGroup: { label: <CloseOutlined /> },\n removeRule: { label: <CloseOutlined /> },\n cloneRule: { label: <CopyOutlined /> },\n cloneRuleGroup: { label: <CopyOutlined /> },\n lockGroup: { label: <UnlockOutlined /> },\n lockRule: { label: <UnlockOutlined /> },\n lockGroupDisabled: { label: <LockOutlined /> },\n lockRuleDisabled: { label: <LockOutlined /> },\n shiftActionUp: { label: <UpOutlined /> },\n shiftActionDown: { label: <DownOutlined /> },\n};\n\n/**\n * @group Components\n */\nexport const QueryBuilderAntD: QueryBuilderContextProvider = getCompatContextProvider({\n controlElements: antdControlElements,\n translations: antdTranslations,\n});\n"],"x_google_ignoreList":[4],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-querybuilder_antd.mjs","names":["AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n>","localeMap: IlocaleMapObject","generateConfig: GenerateConfig<Dayjs>","dayjsGenerateConfig","antdControlElements: ControlElementsProp<FullField, string>","antdTranslations: Partial<Translations>","QueryBuilderAntD: QueryBuilderContextProvider"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../../../node_modules/rc-util/lib/warning.js","../src/dayjs.ts","../src/AntDValueEditor.tsx","../src/AntDValueSelector.tsx","../src/index.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { ActionProps } from 'react-querybuilder';\n\n// TODO: This may be unnecessary. Find out if there's a way to allow\n// `data-${string}` index keys without breaking other type contraints.\ntype RemoveDataIndexKeys<T> = {\n [K in keyof T as `data-${string}` extends K ? never : K]: T[K];\n};\n\n/**\n * @group Props\n */\nexport interface AntDActionProps\n extends ActionProps, RemoveDataIndexKeys<ComponentPropsWithoutRef<typeof Button>> {}\n\n/**\n * @group Components\n */\nexport const AntDActionElement = ({\n className,\n handleOnClick,\n label,\n title,\n disabled,\n disabledTranslation,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n ruleOrGroup: _ruleOrGroup,\n schema: _schema,\n ...extraProps\n}: AntDActionProps): React.JSX.Element => (\n <Button\n type=\"primary\"\n className={className}\n title={disabledTranslation && disabled ? disabledTranslation.title : title}\n onClick={e => handleOnClick(e)}\n disabled={disabled && !disabledTranslation}\n {...extraProps}>\n {disabledTranslation && disabled ? disabledTranslation.label : label}\n </Button>\n);\n","import { HolderOutlined } from '@ant-design/icons';\nimport type { ComponentPropsWithRef } from 'react';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { DragHandleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport type AntDDragHandleProps = DragHandleProps & { label?: any } & ComponentPropsWithRef<\n typeof HolderOutlined\n >;\n\n/**\n * @group Components\n */\nexport const AntDDragHandle: React.ForwardRefExoticComponent<\n Omit<AntDDragHandleProps, 'ref'> & React.RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, AntDDragHandleProps>(\n (\n {\n className,\n title,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n label: _label,\n disabled: _disabled,\n context: _context,\n validation: _validation,\n schema: _schema,\n ruleOrGroup: _ruleOrGroup,\n ...extraProps\n },\n dragRef\n ) => <HolderOutlined className={className} title={title} {...extraProps} ref={dragRef} />\n);\n","import { Switch } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { NotToggleProps } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport interface AntDNotToggleProps\n extends NotToggleProps, ComponentPropsWithoutRef<typeof Switch> {}\n\n/**\n * @group Components\n */\nexport const AntDNotToggle = ({\n className,\n handleOnChange,\n label,\n checked,\n title,\n disabled,\n // Props that should not be in extraProps\n path: _path,\n context: _context,\n validation: _validation,\n testID: _testID,\n schema: _schema,\n ruleGroup: _ruleGroup,\n ...extraProps\n}: AntDNotToggleProps): React.JSX.Element => (\n <Switch\n title={title}\n className={className}\n onChange={v => handleOnChange(v)}\n checked={!!checked}\n disabled={disabled}\n checkedChildren={label}\n unCheckedChildren=\"=\"\n {...extraProps}\n />\n);\n","import { Button } from 'antd';\nimport * as React from 'react';\nimport type { ShiftActionsProps } from 'react-querybuilder';\n\n/**\n * @group Components\n */\nexport const AntDShiftActions = ({\n shiftUp,\n shiftDown,\n shiftUpDisabled,\n shiftDownDisabled,\n disabled,\n className,\n labels,\n titles,\n testID,\n}: ShiftActionsProps): React.JSX.Element => (\n <div data-testid={testID} className={className}>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftUp}\n onClick={shiftUp}\n disabled={disabled || shiftUpDisabled}>\n {labels?.shiftUp}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n title={titles?.shiftDown}\n onClick={shiftDown}\n disabled={disabled || shiftDownDisabled}>\n {labels?.shiftDown}\n </Button>\n </div>\n);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.call = call;\nexports.default = void 0;\nexports.note = note;\nexports.noteOnce = noteOnce;\nexports.preMessage = void 0;\nexports.resetWarned = resetWarned;\nexports.warning = warning;\nexports.warningOnce = warningOnce;\n/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nvar preMessage = exports.preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nfunction warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nfunction note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nfunction resetWarned() {\n warned = {};\n}\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nvar _default = exports.default = warningOnce;","/**\n * This file is adapted from the following sources:\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/dayjs.ts\n * - https://github.com/react-component/picker/blob/d526bd551778070be3295060f1b5841786cb9500/src/generate/index.ts\n */\n\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\nimport weekday from 'dayjs/plugin/weekday.js';\nimport { noteOnce } from 'rc-util/lib/warning';\n\ntype GenerateConfig<DateType> = {\n // Get\n getWeekDay: (value: DateType) => number;\n getMillisecond: (value: DateType) => number;\n getSecond: (value: DateType) => number;\n getMinute: (value: DateType) => number;\n getHour: (value: DateType) => number;\n getDate: (value: DateType) => number;\n getMonth: (value: DateType) => number;\n getYear: (value: DateType) => number;\n getNow: () => DateType;\n getFixedDate: (fixed: string) => DateType;\n getEndDate: (value: DateType) => DateType;\n\n // Set\n addYear: (value: DateType, diff: number) => DateType;\n addMonth: (value: DateType, diff: number) => DateType;\n addDate: (value: DateType, diff: number) => DateType;\n setYear: (value: DateType, year: number) => DateType;\n setMonth: (value: DateType, month: number) => DateType;\n setDate: (value: DateType, date: number) => DateType;\n setHour: (value: DateType, hour: number) => DateType;\n setMinute: (value: DateType, minute: number) => DateType;\n setSecond: (value: DateType, second: number) => DateType;\n setMillisecond: (value: DateType, millisecond: number) => DateType;\n\n // Compare\n isAfter: (date1: DateType, date2: DateType) => boolean;\n isValidate: (date: DateType) => boolean;\n\n locale: {\n getWeekFirstDay: (locale: string) => number;\n getWeekFirstDate: (locale: string, value: DateType) => DateType;\n getWeek: (locale: string, value: DateType) => number;\n\n format: (locale: string, date: DateType, format: string) => string;\n\n /** Should only return validate date instance */\n parse: (locale: string, text: string, formats: string[]) => DateType | null;\n\n /** A proxy for getting locale with moment or other locale library */\n getShortWeekDays?: (locale: string) => string[];\n /** A proxy for getting locale with moment or other locale library */\n getShortMonths?: (locale: string) => string[];\n };\n};\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\n\ndayjs.extend((o, c) => {\n // todo support Wo (ISO week)\n const proto = c.prototype;\n const oldFormat = proto.format;\n proto.format = function f(formatStr: string) {\n const str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\ntype IlocaleMapObject = Record<string, string>;\nconst localeMap: IlocaleMapObject = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw',\n};\n\nconst parseLocale = (locale: string) => {\n const mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nconst parseNoMatchNotice = () => {\n /* istanbul ignore next */\n noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nconst generateConfig: GenerateConfig<Dayjs> = {\n // get\n getNow: () => dayjs(),\n getFixedDate: string => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n getEndDate: date => date.endOf('month'),\n getWeekDay: date => {\n const clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: date => date.year(),\n getMonth: date => date.month(),\n getDate: date => date.date(),\n getHour: date => date.hour(),\n getMinute: date => date.minute(),\n getSecond: date => date.second(),\n getMillisecond: date => date.millisecond(),\n\n // set\n addYear: (date, diff) => date.add(diff, 'year'),\n addMonth: (date, diff) => date.add(diff, 'month'),\n addDate: (date, diff) => date.add(diff, 'day'),\n setYear: (date, year) => date.year(year),\n setMonth: (date, month) => date.month(month),\n setDate: (date, num) => date.date(num),\n setHour: (date, hour) => date.hour(hour),\n setMinute: (date, minute) => date.minute(minute),\n setSecond: (date, second) => date.second(second),\n setMillisecond: (date, milliseconds) => date.millisecond(milliseconds),\n\n // Compare\n isAfter: (date1, date2) => date1.isAfter(date2),\n isValidate: date => date.isValid(),\n\n locale: {\n getWeekFirstDay: locale => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n getShortMonths: locale => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n parse: (locale, text, formats) => {\n const localeStr = parseLocale(locale);\n for (const format of formats) {\n const formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n const year = formatText.split('-')[0];\n const weekStr = formatText.split('-')[1];\n const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (let j = 0; j <= 52; j += 1) {\n const nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n const date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n },\n },\n};\n\nexport default generateConfig;\n","import { Checkbox, Input, InputNumber, Radio, Switch } from 'antd';\nimport generatePicker from 'antd/es/date-picker/generatePicker/index.js';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport * as React from 'react';\nimport type { ValueEditorProps } from 'react-querybuilder';\nimport { joinWith, useValueEditor, ValueEditor } from 'react-querybuilder';\nimport dayjsGenerateConfig from './dayjs';\n\n/**\n * @group Props\n */\nexport interface AntDValueEditorProps extends ValueEditorProps {\n extraProps?: Record<string, unknown>;\n}\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\n/**\n * @group Components\n */\nexport const AntDValueEditor = (allProps: AntDValueEditorProps): React.JSX.Element | null => {\n const {\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values = [],\n listsAsArrays,\n separator,\n valueSource: _vs,\n disabled,\n testID,\n selectorComponent: SelectorComponent = allProps.schema.controls.valueSelector,\n extraProps,\n parseNumbers: _parseNumbers,\n ...propsForValueSelector\n } = allProps;\n\n const {\n valueAsArray,\n multiValueHandler,\n bigIntValueHandler,\n valueListItemClassName,\n inputTypeCoerced,\n } = useValueEditor(allProps);\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n\n if (\n (operator === 'between' || operator === 'notBetween') &&\n (type === 'select' || type === 'text') &&\n // Date ranges are handled differently in AntD--see below\n inputTypeCoerced !== 'date' &&\n inputTypeCoerced !== 'datetime-local'\n ) {\n if (type === 'text') {\n const editors = ['from', 'to'].map((key, i) => {\n if (inputTypeCoerced === 'time') {\n return (\n <DatePicker.TimePicker\n key={key}\n value={valueAsArray[i] ? dayjs(valueAsArray[i], 'HH:mm:ss') : null}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => multiValueHandler(d?.format('HH:mm:ss') ?? '', i)}\n {...extraProps}\n />\n );\n } else if (inputTypeCoerced === 'number') {\n return (\n <InputNumber\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={v => multiValueHandler(v, i)}\n {...extraProps}\n />\n );\n }\n return (\n <Input\n key={key}\n type={inputTypeCoerced}\n value={valueAsArray[i] ?? ''}\n className={valueListItemClassName}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => multiValueHandler(e.target.value, i)}\n {...extraProps}\n />\n );\n });\n return (\n <span data-testid={testID} className={className} title={title}>\n {editors[0]}\n {separator}\n {editors[1]}\n </span>\n );\n }\n\n return <ValueEditor {...allProps} skipHook />;\n }\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <SelectorComponent\n {...propsForValueSelector}\n className={className}\n title={title}\n value={value}\n disabled={disabled}\n listsAsArrays={listsAsArrays}\n multiple={type === 'multiselect'}\n handleOnChange={handleOnChange}\n options={values}\n {...extraProps}\n />\n );\n\n case 'textarea':\n return (\n <Input.TextArea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n checked={!!value}\n title={title}\n className={className}\n disabled={disabled}\n onChange={v => handleOnChange(v)}\n {...extraProps}\n />\n );\n\n case 'checkbox':\n return (\n <span title={title} className={className}>\n <Checkbox\n type=\"checkbox\"\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n {...extraProps}\n />\n </span>\n );\n\n case 'radio':\n return (\n <span className={className} title={title}>\n {values.map(v => (\n <Radio\n key={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}>\n {v.label}\n </Radio>\n ))}\n </span>\n );\n }\n\n switch (inputTypeCoerced) {\n case 'date':\n case 'datetime-local': {\n if (operator === 'between' || operator === 'notBetween') {\n // oxlint-disable-next-line typescript/no-explicit-any\n const dayjsArray = valueAsArray.slice(0, 2).map((v: any) => dayjs(v)) as [Dayjs, Dayjs];\n return (\n <DatePicker.RangePicker\n value={dayjsArray.every(d => d.isValid()) ? dayjsArray : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={[placeHolderText, placeHolderText]}\n // TODO: the function below is currently untested (see the\n // \"renders a date range picker\" test in ./AntD.test.tsx)\n onChange={\n // istanbul ignore next\n dates => {\n const timeFormat = inputTypeCoerced === 'datetime-local' ? 'THH:mm:ss' : '';\n const format = `YYYY-MM-DD${timeFormat}`;\n const dateArray = dates?.map(d => (d?.isValid() ? d.format(format) : undefined));\n handleOnChange(\n dateArray ? (listsAsArrays ? dateArray : joinWith(dateArray, ',')) : dates\n );\n }\n }\n {...extraProps}\n />\n );\n }\n\n const dateValue = dayjs(value);\n return (\n <DatePicker\n value={dateValue.isValid() ? dateValue : undefined}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={(_d, dateString) => handleOnChange(dateString)}\n {...extraProps}\n />\n );\n }\n\n case 'time': {\n const dateValue = dayjs(value, 'HH:mm:ss');\n return (\n <DatePicker.TimePicker\n value={dateValue.isValid() ? dateValue : undefined}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => handleOnChange(d?.format('HH:mm:ss') ?? '')}\n {...extraProps}\n />\n );\n }\n\n case 'number': {\n return (\n <InputNumber\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={handleOnChange}\n {...extraProps}\n />\n );\n }\n }\n\n if (inputType === 'bigint') {\n return (\n <Input\n data-testid={testID}\n type={inputTypeCoerced}\n placeholder={placeHolderText}\n value={`${value}`}\n title={title}\n className={className}\n disabled={disabled}\n onChange={e => bigIntValueHandler(e.target.value)}\n {...extraProps}\n />\n );\n }\n\n return (\n <Input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n {...extraProps}\n />\n );\n};\n","import { Select } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport * as React from 'react';\nimport type { VersatileSelectorProps } from 'react-querybuilder';\nimport { joinWith, useValueSelector } from 'react-querybuilder';\n\n/**\n * @group Props\n */\nexport type AntDValueSelectorProps = VersatileSelectorProps &\n Omit<ComponentPropsWithoutRef<typeof Select>, 'onChange' | 'defaultValue'>;\n\n/**\n * @group Components\n */\nexport const AntDValueSelector = ({\n className,\n handleOnChange,\n options,\n value,\n title,\n disabled,\n multiple,\n listsAsArrays,\n // Props that should not be in extraProps\n testID: _testID,\n rule: _rule,\n ruleGroup: _ruleGroup,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n operator: _operator,\n field: _field,\n fieldData: _fieldData,\n schema: _schema,\n ...extraProps\n}: AntDValueSelectorProps): React.JSX.Element => {\n // Alternate onChange handler that doesn't use arrays even when `multiple` is true\n const { onChange: onChangeNoArrays } = useValueSelector({\n handleOnChange,\n listsAsArrays: false,\n multiple: false,\n value,\n });\n const { onChange: onChangeNormal, val } = useValueSelector({\n handleOnChange,\n // This forces `val` to be an array if `multiple` is true,\n // even if `listsAsArrays` is false\n listsAsArrays: multiple || listsAsArrays,\n multiple,\n value,\n });\n\n const onChange = React.useCallback(\n (v: string | string[]) => {\n if (multiple && !listsAsArrays && Array.isArray(v)) {\n // `multiple: true` means `v` is probably an array, but we don't want\n // to send an array to `handleOnChange` when `listsAsArrays` is false\n onChangeNoArrays(joinWith(v));\n } else {\n onChangeNormal(v);\n }\n },\n [listsAsArrays, multiple, onChangeNoArrays, onChangeNormal]\n );\n\n return (\n <Select\n {...(multiple ? { mode: 'multiple', allowClear: true } : {})}\n title={title}\n className={className}\n popupMatchSelectWidth={false}\n disabled={disabled}\n value={val}\n onChange={onChange}\n optionFilterProp=\"label\"\n options={options}\n {...extraProps}\n />\n );\n};\n","import {\n CloseOutlined,\n CopyOutlined,\n DownOutlined,\n LockOutlined,\n UnlockOutlined,\n UpOutlined,\n} from '@ant-design/icons';\nimport * as React from 'react';\nimport type {\n ControlElementsProp,\n FullField,\n QueryBuilderContextProvider,\n Translations,\n} from 'react-querybuilder';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { AntDActionElement } from './AntDActionElement';\nimport { AntDDragHandle } from './AntDDragHandle';\nimport { AntDNotToggle } from './AntDNotToggle';\nimport { AntDShiftActions } from './AntDShiftActions';\nimport { AntDValueEditor } from './AntDValueEditor';\nimport { AntDValueSelector } from './AntDValueSelector';\n\nexport * from './AntDActionElement';\nexport * from './AntDDragHandle';\nexport * from './AntDNotToggle';\nexport * from './AntDShiftActions';\nexport * from './AntDValueEditor';\nexport * from './AntDValueSelector';\n\n/**\n * @group Props\n */\nexport const antdControlElements: ControlElementsProp<FullField, string> = {\n actionElement: AntDActionElement,\n dragHandle: AntDDragHandle,\n notToggle: AntDNotToggle,\n shiftActions: AntDShiftActions,\n valueEditor: AntDValueEditor,\n valueSelector: AntDValueSelector,\n};\n\n/**\n * @group Props\n */\nexport const antdTranslations: Partial<Translations> = {\n removeGroup: { label: <CloseOutlined /> },\n removeRule: { label: <CloseOutlined /> },\n cloneRule: { label: <CopyOutlined /> },\n cloneRuleGroup: { label: <CopyOutlined /> },\n lockGroup: { label: <UnlockOutlined /> },\n lockRule: { label: <UnlockOutlined /> },\n lockGroupDisabled: { label: <LockOutlined /> },\n lockRuleDisabled: { label: <LockOutlined /> },\n shiftActionUp: { label: <UpOutlined /> },\n shiftActionDown: { label: <DownOutlined /> },\n};\n\n/**\n * @group Components\n */\nexport const QueryBuilderAntD: QueryBuilderContextProvider = getCompatContextProvider({\n controlElements: antdControlElements,\n translations: antdTranslations,\n});\n"],"x_google_ignoreList":[4],"mappings":"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"}
|
|
@@ -970,7 +970,7 @@ type StringUnionToFullOptionArray<Op extends string> = Array<Op extends unknown
|
|
|
970
970
|
*
|
|
971
971
|
* @group Option Lists
|
|
972
972
|
*/
|
|
973
|
-
type GetOptionIdentifierType<Opt
|
|
973
|
+
type GetOptionIdentifierType<Opt extends BaseOption> = Opt extends Option<infer NameType> | ValueOption<infer NameType> ? NameType : string;
|
|
974
974
|
/**
|
|
975
975
|
* Adds an `unknown` index property to an interface.
|
|
976
976
|
*/
|
|
@@ -1019,7 +1019,7 @@ type FlexibleOption<N extends string = string> = Simplify<WithUnknownIndex<Requi
|
|
|
1019
1019
|
*
|
|
1020
1020
|
* @group Option Lists
|
|
1021
1021
|
*/
|
|
1022
|
-
type ToFlexibleOption<Opt
|
|
1022
|
+
type ToFlexibleOption<Opt extends BaseOption | string> = WithUnknownIndex<RequireAtLeastOne<Opt extends string ? FlexibleOption<Opt> : Opt, "name" | "value">>;
|
|
1023
1023
|
/**
|
|
1024
1024
|
* A generic {@link Option} requiring both `name` _and_ `value` properties.
|
|
1025
1025
|
* Props that extend {@link OptionList} accept {@link BaseOption}, but
|
|
@@ -1047,45 +1047,45 @@ type BaseFullOption<N extends string = string> = Simplify<SetRequired<BaseOption
|
|
|
1047
1047
|
*
|
|
1048
1048
|
* @group Option Lists
|
|
1049
1049
|
*/
|
|
1050
|
-
type ToFullOption<Opt
|
|
1050
|
+
type ToFullOption<Opt extends BaseOption> = Opt extends BaseFullOption ? Opt : Opt extends BaseOption<infer IdentifierType> ? WithUnknownIndex<Opt & FullOption<IdentifierType>> : never;
|
|
1051
1051
|
/**
|
|
1052
1052
|
* A group of {@link Option}s, usually within an {@link OptionList}.
|
|
1053
1053
|
*
|
|
1054
1054
|
* @group Option Lists
|
|
1055
1055
|
*/
|
|
1056
|
-
interface OptionGroup<Opt
|
|
1056
|
+
interface OptionGroup<Opt extends BaseOption = FlexibleOption> {
|
|
1057
1057
|
label: string;
|
|
1058
|
-
options: WithUnknownIndex<Opt
|
|
1058
|
+
options: WithUnknownIndex<Opt>[];
|
|
1059
1059
|
}
|
|
1060
1060
|
/**
|
|
1061
1061
|
* A group of {@link BaseOption}s, usually within a {@link FlexibleOptionList}.
|
|
1062
1062
|
*
|
|
1063
1063
|
* @group Option Lists
|
|
1064
1064
|
*/
|
|
1065
|
-
type FlexibleOptionGroup<Opt
|
|
1065
|
+
type FlexibleOptionGroup<Opt extends BaseOption | string = BaseOption> = {
|
|
1066
1066
|
label: string;
|
|
1067
|
-
options: (Opt
|
|
1067
|
+
options: (Opt extends BaseFullOption ? Opt : ToFlexibleOption<Opt>)[];
|
|
1068
1068
|
};
|
|
1069
1069
|
/**
|
|
1070
1070
|
* Either an array of {@link Option}s or an array of {@link OptionGroup}s.
|
|
1071
1071
|
*
|
|
1072
1072
|
* @group Option Lists
|
|
1073
1073
|
*/
|
|
1074
|
-
type OptionList<Opt
|
|
1074
|
+
type OptionList<Opt extends Option = Option> = Opt[] | OptionGroup<Opt>[];
|
|
1075
1075
|
/**
|
|
1076
1076
|
* An array of options or option groups, like {@link OptionList} but the option type
|
|
1077
1077
|
* may use either `name` or `value` as the primary identifier.
|
|
1078
1078
|
*
|
|
1079
1079
|
* @group Option Lists
|
|
1080
1080
|
*/
|
|
1081
|
-
type FlexibleOptionList<Opt
|
|
1081
|
+
type FlexibleOptionList<Opt extends BaseOption> = ToFlexibleOption<Opt>[] | FlexibleOptionGroup<ToFlexibleOption<Opt>>[];
|
|
1082
1082
|
/**
|
|
1083
1083
|
* An array of options or option groups, like {@link OptionList} but the option type
|
|
1084
1084
|
* may use either `name` or `value` as the primary identifier.
|
|
1085
1085
|
*
|
|
1086
1086
|
* @group Option Lists
|
|
1087
1087
|
*/
|
|
1088
|
-
type FlexibleOptionListProp<Opt
|
|
1088
|
+
type FlexibleOptionListProp<Opt extends BaseOption> = (ToFlexibleOption<Opt> | GetOptionIdentifierType<Opt>)[] | FlexibleOptionGroup<ToFlexibleOption<Opt> | GetOptionIdentifierType<Opt>>[];
|
|
1089
1089
|
/**
|
|
1090
1090
|
* An array of options or option groups, like {@link OptionList}, but using
|
|
1091
1091
|
* {@link FullOption} instead of {@link Option}. This means that every member is
|
|
@@ -1093,7 +1093,7 @@ type FlexibleOptionListProp<Opt$1 extends BaseOption> = (ToFlexibleOption<Opt$1>
|
|
|
1093
1093
|
*
|
|
1094
1094
|
* @group Option Lists
|
|
1095
1095
|
*/
|
|
1096
|
-
type FullOptionList<Opt
|
|
1096
|
+
type FullOptionList<Opt extends BaseOption> = Opt extends BaseFullOption ? Opt[] | OptionGroup<Opt>[] : ToFullOption<Opt>[] | OptionGroup<ToFullOption<Opt>>[];
|
|
1097
1097
|
/**
|
|
1098
1098
|
* Map of option identifiers to their respective {@link Option}.
|
|
1099
1099
|
*
|
|
@@ -1261,17 +1261,17 @@ type ValueChangeEventHandler = (value?: any, context?: any) => void;
|
|
|
1261
1261
|
/**
|
|
1262
1262
|
* Base for all Field types/interfaces.
|
|
1263
1263
|
*/
|
|
1264
|
-
interface BaseFullField<FieldName extends string = string, OperatorName
|
|
1264
|
+
interface BaseFullField<FieldName extends string = string, OperatorName extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName>, ValueObj extends FullOption = FullOption<ValueName>> extends WithOptionalClassName<BaseFullOption<FieldName>> {
|
|
1265
1265
|
id?: string;
|
|
1266
|
-
operators?: FlexibleOptionList<OperatorObj> | OperatorName
|
|
1267
|
-
valueEditorType?: ValueEditorType | ((operator: OperatorName
|
|
1268
|
-
valueSources?: ValueSources | ValueSourceFlexibleOptions | ((operator: OperatorName
|
|
1266
|
+
operators?: FlexibleOptionList<OperatorObj> | OperatorName[] | FlexibleOption<OperatorName>[] | (OperatorName | FlexibleOption<OperatorName>)[];
|
|
1267
|
+
valueEditorType?: ValueEditorType | ((operator: OperatorName) => ValueEditorType);
|
|
1268
|
+
valueSources?: ValueSources | ValueSourceFlexibleOptions | ((operator: OperatorName) => ValueSources | ValueSourceFlexibleOptions);
|
|
1269
1269
|
inputType?: InputType | null;
|
|
1270
1270
|
values?: FlexibleOptionList<ValueObj>;
|
|
1271
1271
|
matchModes?: boolean | MatchMode[] | FlexibleOption<MatchMode>[];
|
|
1272
1272
|
/** Properties of items in the value. */
|
|
1273
1273
|
subproperties?: FlexibleOptionList<FullField>;
|
|
1274
|
-
defaultOperator?: OperatorName
|
|
1274
|
+
defaultOperator?: OperatorName;
|
|
1275
1275
|
defaultValue?: any;
|
|
1276
1276
|
placeholder?: string;
|
|
1277
1277
|
validator?: RuleValidator;
|
|
@@ -1289,7 +1289,7 @@ interface BaseFullField<FieldName extends string = string, OperatorName$1 extend
|
|
|
1289
1289
|
*
|
|
1290
1290
|
* @group Option Lists
|
|
1291
1291
|
*/
|
|
1292
|
-
type FullField<FieldName extends string = string, OperatorName
|
|
1292
|
+
type FullField<FieldName extends string = string, OperatorName extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName>, ValueObj extends FullOption = FullOption<ValueName>> = Simplify<FullOption<FieldName> & BaseFullField<FieldName, OperatorName, ValueName, OperatorObj, ValueObj>>;
|
|
1293
1293
|
/**
|
|
1294
1294
|
* Allowed values of the {@link FullOperator} property `arity`. A value of `"unary"` or
|
|
1295
1295
|
* a number less than two will cause the default {@link react-querybuilder!ValueEditor ValueEditor} to render `null`.
|