@react-querybuilder/antd 8.19.0 → 8.20.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.
@@ -59,10 +59,11 @@ const AntDActionElement = ({ className, handleOnClick, label, title, disabled, d
59
59
  /**
60
60
  * @group Components
61
61
  */
62
- const AntDDragHandle = (0, react.forwardRef)(({ className, title, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup, ...extraProps }, dragRef) => /* @__PURE__ */ react.createElement(_ant_design_icons.HolderOutlined, {
62
+ const AntDDragHandle = (0, react.forwardRef)(({ className, title, dragHandleAttributes, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup, ...extraProps }, dragRef) => /* @__PURE__ */ react.createElement(_ant_design_icons.HolderOutlined, {
63
63
  className,
64
64
  title,
65
65
  ...extraProps,
66
+ ...dragHandleAttributes,
66
67
  ref: dragRef
67
68
  }));
68
69
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_antd.cjs.development.js","names":["Button","HolderOutlined","Switch","Button","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsGenerateConfig","InputNumber","Input","ValueEditor","Switch","Checkbox","Radio","React","Select","CloseOutlined","CopyOutlined","UnlockOutlined","LockOutlined","UpOutlined","DownOutlined"],"sources":["../../src/AntDActionElement.tsx","../../src/AntDDragHandle.tsx","../../src/AntDNotToggle.tsx","../../src/AntDShiftActions.tsx","../../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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
1
+ {"version":3,"file":"react-querybuilder_antd.cjs.development.js","names":["Button","HolderOutlined","Switch","Button","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsGenerateConfig","InputNumber","Input","ValueEditor","Switch","Checkbox","Radio","React","Select","CloseOutlined","CopyOutlined","UnlockOutlined","LockOutlined","UpOutlined","DownOutlined"],"sources":["../../src/AntDActionElement.tsx","../../src/AntDDragHandle.tsx","../../src/AntDNotToggle.tsx","../../src/AntDShiftActions.tsx","../../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 dragHandleAttributes,\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 ) => (\n <HolderOutlined\n className={className}\n title={title}\n {...extraProps}\n {...dragHandleAttributes}\n ref={dragRef}\n />\n )\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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("@ant-design/icons"),l=require("react");l=s(l);let u=require("react-querybuilder"),d=require("antd"),f=require("antd/es/date-picker/generatePicker/index.js");f=s(f);let p=require("dayjs");p=s(p);let m=require("dayjs/plugin/advancedFormat.js");m=s(m);let h=require("dayjs/plugin/customParseFormat.js");h=s(h);let g=require("dayjs/plugin/localeData.js");g=s(g);let _=require("dayjs/plugin/weekday.js");_=s(_);let v=require("dayjs/plugin/weekOfYear.js");v=s(v);let y=require("dayjs/plugin/weekYear.js");y=s(y);const b=({className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,level:s,path:c,context:u,validation:f,ruleOrGroup:p,schema:m,...h})=>l.createElement(d.Button,{type:`primary`,className:e,title:a&&i?a.title:r,onClick:e=>t(e),disabled:i&&!a,...h},a&&i?a.label:n),x=(0,l.forwardRef)(({className:e,title:t,testID:n,level:r,path:i,label:a,disabled:o,context:s,validation:u,schema:d,ruleOrGroup:f,...p},m)=>l.createElement(c.HolderOutlined,{className:e,title:t,...p,ref:m})),S=({className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,path:o,context:s,validation:c,testID:u,schema:f,ruleGroup:p,...m})=>l.createElement(d.Switch,{title:i,className:e,onChange:e=>t(e),checked:!!r,disabled:a,checkedChildren:n,unCheckedChildren:`=`,...m}),C=({shiftUp:e,shiftDown:t,shiftUpDisabled:n,shiftDownDisabled:r,disabled:i,className:a,labels:o,titles:s,testID:c})=>l.createElement(`div`,{"data-testid":c,className:a},l.createElement(d.Button,{type:`primary`,size:`small`,title:s?.shiftUp,onClick:e,disabled:i||n},o?.shiftUp),l.createElement(d.Button,{type:`primary`,size:`small`,title:s?.shiftDown,onClick:t,disabled:i||r},o?.shiftDown));p.default.extend(h.default),p.default.extend(m.default),p.default.extend(_.default),p.default.extend(g.default),p.default.extend(v.default),p.default.extend(y.default),p.default.extend((e,t)=>{let n=t.prototype,r=n.format;n.format=function(e){let t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});const w={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},T=e=>w[e]||e.split(`_`)[0],E=(0,f.default)({getNow:()=>(0,p.default)(),getFixedDate:e=>(0,p.default)(e,[`YYYY-M-DD`,`YYYY-MM-DD`]),getEndDate:e=>e.endOf(`month`),getWeekDay:e=>{let t=e.locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:e=>e.year(),getMonth:e=>e.month(),getDate:e=>e.date(),getHour:e=>e.hour(),getMinute:e=>e.minute(),getSecond:e=>e.second(),getMillisecond:e=>e.millisecond(),addYear:(e,t)=>e.add(t,`year`),addMonth:(e,t)=>e.add(t,`month`),addDate:(e,t)=>e.add(t,`day`),setYear:(e,t)=>e.year(t),setMonth:(e,t)=>e.month(t),setDate:(e,t)=>e.date(t),setHour:(e,t)=>e.hour(t),setMinute:(e,t)=>e.minute(t),setSecond:(e,t)=>e.second(t),setMillisecond:(e,t)=>e.millisecond(t),isAfter:(e,t)=>e.isAfter(t),isValidate:e=>e.isValid(),locale:{getWeekFirstDay:e=>(0,p.default)().locale(T(e)).localeData().firstDayOfWeek(),getWeekFirstDate:(e,t)=>t.locale(T(e)).weekday(0),getWeek:(e,t)=>t.locale(T(e)).week(),getShortWeekDays:e=>(0,p.default)().locale(T(e)).localeData().weekdaysMin(),getShortMonths:e=>(0,p.default)().locale(T(e)).localeData().monthsShort(),format:(e,t,n)=>t.locale(T(e)).format(n),parse:(e,t,n)=>{let r=T(e);for(let e of n){let n=t;if(e.includes(`wo`)||e.includes(`Wo`)){let e=n.split(`-`)[0],t=n.split(`-`)[1],i=(0,p.default)(e,`YYYY`).startOf(`year`).locale(r);for(let e=0;e<=52;e+=1){let n=i.add(e,`week`);if(n.format(`Wo`)===t)return n}return null}let i=(0,p.default)(n,e,!0).locale(r);if(i.isValid())return i}return null}}}),D=e=>{let{fieldData:t,operator:n,value:r,handleOnChange:i,title:a,className:o,type:s,inputType:c,values:f=[],listsAsArrays:m,separator:h,valueSource:g,disabled:_,testID:v,selectorComponent:y=e.schema.controls.valueSelector,extraProps:b,parseNumbers:x,...S}=e,{valueAsArray:C,multiValueHandler:w,bigIntValueHandler:T,valueListItemClassName:D,inputTypeCoerced:O}=(0,u.useValueEditor)(e);if(n===`null`||n===`notNull`)return null;let k=t?.placeholder??``;if((n===`between`||n===`notBetween`)&&(s===`select`||s===`text`)&&O!==`date`&&O!==`datetime-local`){if(s===`text`){let e=[`from`,`to`].map((e,t)=>O===`time`?l.createElement(E.TimePicker,{key:e,value:C[t]?(0,p.default)(C[t],`HH:mm:ss`):null,className:D,disabled:_,placeholder:k,onChange:e=>w(e?.format(`HH:mm:ss`)??``,t),...b}):O===`number`?l.createElement(d.InputNumber,{key:e,type:O,value:C[t]??``,className:D,disabled:_,placeholder:k,onChange:e=>w(e,t),...b}):l.createElement(d.Input,{key:e,type:O,value:C[t]??``,className:D,disabled:_,placeholder:k,onChange:e=>w(e.target.value,t),...b}));return l.createElement(`span`,{"data-testid":v,className:o,title:a},e[0],h,e[1])}return l.createElement(u.ValueEditor,{...e,skipHook:!0})}switch(s){case`select`:case`multiselect`:return l.createElement(y,{...S,className:o,title:a,value:r,disabled:_,listsAsArrays:m,multiple:s===`multiselect`,handleOnChange:i,options:f,...b});case`textarea`:return l.createElement(d.Input.TextArea,{value:r,title:a,className:o,disabled:_,placeholder:k,onChange:e=>i(e.target.value),...b});case`switch`:return l.createElement(d.Switch,{checked:!!r,title:a,className:o,disabled:_,onChange:e=>i(e),...b});case`checkbox`:return l.createElement(`span`,{title:a,className:o},l.createElement(d.Checkbox,{type:`checkbox`,disabled:_,onChange:e=>i(e.target.checked),checked:!!r,...b}));case`radio`:return l.createElement(`span`,{className:o,title:a},f.map(e=>l.createElement(d.Radio,{key:e.name,value:e.name,checked:r===e.name,disabled:_,onChange:e=>i(e.target.value),...b},e.label)))}switch(O){case`date`:case`datetime-local`:{if(n===`between`||n===`notBetween`){let e=C.slice(0,2).map(e=>(0,p.default)(e));return l.createElement(E.RangePicker,{value:e.every(e=>e.isValid())?e:void 0,showTime:O===`datetime-local`,className:o,disabled:_,placeholder:[k,k],onChange:e=>{let t=`YYYY-MM-DD${O===`datetime-local`?`THH:mm:ss`:``}`,n=e?.map(e=>e?.isValid()?e.format(t):void 0);i(n?m?n:(0,u.joinWith)(n,`,`):e)},...b})}let e=(0,p.default)(r);return l.createElement(E,{value:e.isValid()?e:void 0,showTime:O===`datetime-local`,className:o,disabled:_,placeholder:k,onChange:(e,t)=>i(t),...b})}case`time`:{let e=(0,p.default)(r,`HH:mm:ss`);return l.createElement(E.TimePicker,{value:e.isValid()?e:void 0,className:o,disabled:_,placeholder:k,onChange:e=>i(e?.format(`HH:mm:ss`)??``),...b})}case`number`:return l.createElement(d.InputNumber,{type:O,value:r,title:a,className:o,disabled:_,placeholder:k,onChange:i,...b})}return c===`bigint`?l.createElement(d.Input,{"data-testid":v,type:O,placeholder:k,value:`${r}`,title:a,className:o,disabled:_,onChange:e=>T(e.target.value),...b}):l.createElement(d.Input,{type:O,value:r,title:a,className:o,disabled:_,placeholder:k,onChange:e=>i(e.target.value),...b})},O=({className:e,handleOnChange:t,options:n,value:r,title:i,disabled:a,multiple:o,listsAsArrays:s,testID:c,rule:f,ruleGroup:p,rules:m,level:h,path:g,context:_,validation:v,operator:y,field:b,fieldData:x,schema:S,...C})=>{let{onChange:w}=(0,u.useValueSelector)({handleOnChange:t,listsAsArrays:!1,multiple:!1,value:r}),{onChange:T,val:E}=(0,u.useValueSelector)({handleOnChange:t,listsAsArrays:o||s,multiple:o,value:r}),D=l.useCallback(e=>{o&&!s&&Array.isArray(e)?w((0,u.joinWith)(e)):T(e)},[s,o,w,T]);return l.createElement(d.Select,{...o?{mode:`multiple`,allowClear:!0}:{},title:i,className:e,popupMatchSelectWidth:!1,disabled:a,value:E,onChange:D,optionFilterProp:`label`,options:n,...C})},k={actionElement:b,dragHandle:x,notToggle:S,shiftActions:C,valueEditor:D,valueSelector:O},A={removeGroup:{label:l.createElement(c.CloseOutlined,null)},removeRule:{label:l.createElement(c.CloseOutlined,null)},cloneRule:{label:l.createElement(c.CopyOutlined,null)},cloneRuleGroup:{label:l.createElement(c.CopyOutlined,null)},lockGroup:{label:l.createElement(c.UnlockOutlined,null)},lockRule:{label:l.createElement(c.UnlockOutlined,null)},lockGroupDisabled:{label:l.createElement(c.LockOutlined,null)},lockRuleDisabled:{label:l.createElement(c.LockOutlined,null)},shiftActionUp:{label:l.createElement(c.UpOutlined,null)},shiftActionDown:{label:l.createElement(c.DownOutlined,null)}},j=(0,u.getCompatContextProvider)({controlElements:k,translations:A});exports.AntDActionElement=b,exports.AntDDragHandle=x,exports.AntDNotToggle=S,exports.AntDShiftActions=C,exports.AntDValueEditor=D,exports.AntDValueSelector=O,exports.QueryBuilderAntD=j,exports.antdControlElements=k,exports.antdTranslations=A;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("@ant-design/icons"),l=require("react");l=s(l);let u=require("react-querybuilder"),d=require("antd"),f=require("antd/es/date-picker/generatePicker/index.js");f=s(f);let p=require("dayjs");p=s(p);let m=require("dayjs/plugin/advancedFormat.js");m=s(m);let h=require("dayjs/plugin/customParseFormat.js");h=s(h);let g=require("dayjs/plugin/localeData.js");g=s(g);let _=require("dayjs/plugin/weekday.js");_=s(_);let v=require("dayjs/plugin/weekOfYear.js");v=s(v);let y=require("dayjs/plugin/weekYear.js");y=s(y);const b=({className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,level:s,path:c,context:u,validation:f,ruleOrGroup:p,schema:m,...h})=>l.createElement(d.Button,{type:`primary`,className:e,title:a&&i?a.title:r,onClick:e=>t(e),disabled:i&&!a,...h},a&&i?a.label:n),x=(0,l.forwardRef)(({className:e,title:t,dragHandleAttributes:n,testID:r,level:i,path:a,label:o,disabled:s,context:u,validation:d,schema:f,ruleOrGroup:p,...m},h)=>l.createElement(c.HolderOutlined,{className:e,title:t,...m,...n,ref:h})),S=({className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,path:o,context:s,validation:c,testID:u,schema:f,ruleGroup:p,...m})=>l.createElement(d.Switch,{title:i,className:e,onChange:e=>t(e),checked:!!r,disabled:a,checkedChildren:n,unCheckedChildren:`=`,...m}),C=({shiftUp:e,shiftDown:t,shiftUpDisabled:n,shiftDownDisabled:r,disabled:i,className:a,labels:o,titles:s,testID:c})=>l.createElement(`div`,{"data-testid":c,className:a},l.createElement(d.Button,{type:`primary`,size:`small`,title:s?.shiftUp,onClick:e,disabled:i||n},o?.shiftUp),l.createElement(d.Button,{type:`primary`,size:`small`,title:s?.shiftDown,onClick:t,disabled:i||r},o?.shiftDown));p.default.extend(h.default),p.default.extend(m.default),p.default.extend(_.default),p.default.extend(g.default),p.default.extend(v.default),p.default.extend(y.default),p.default.extend((e,t)=>{let n=t.prototype,r=n.format;n.format=function(e){let t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});const w={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},T=e=>w[e]||e.split(`_`)[0],E=(0,f.default)({getNow:()=>(0,p.default)(),getFixedDate:e=>(0,p.default)(e,[`YYYY-M-DD`,`YYYY-MM-DD`]),getEndDate:e=>e.endOf(`month`),getWeekDay:e=>{let t=e.locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:e=>e.year(),getMonth:e=>e.month(),getDate:e=>e.date(),getHour:e=>e.hour(),getMinute:e=>e.minute(),getSecond:e=>e.second(),getMillisecond:e=>e.millisecond(),addYear:(e,t)=>e.add(t,`year`),addMonth:(e,t)=>e.add(t,`month`),addDate:(e,t)=>e.add(t,`day`),setYear:(e,t)=>e.year(t),setMonth:(e,t)=>e.month(t),setDate:(e,t)=>e.date(t),setHour:(e,t)=>e.hour(t),setMinute:(e,t)=>e.minute(t),setSecond:(e,t)=>e.second(t),setMillisecond:(e,t)=>e.millisecond(t),isAfter:(e,t)=>e.isAfter(t),isValidate:e=>e.isValid(),locale:{getWeekFirstDay:e=>(0,p.default)().locale(T(e)).localeData().firstDayOfWeek(),getWeekFirstDate:(e,t)=>t.locale(T(e)).weekday(0),getWeek:(e,t)=>t.locale(T(e)).week(),getShortWeekDays:e=>(0,p.default)().locale(T(e)).localeData().weekdaysMin(),getShortMonths:e=>(0,p.default)().locale(T(e)).localeData().monthsShort(),format:(e,t,n)=>t.locale(T(e)).format(n),parse:(e,t,n)=>{let r=T(e);for(let e of n){let n=t;if(e.includes(`wo`)||e.includes(`Wo`)){let e=n.split(`-`)[0],t=n.split(`-`)[1],i=(0,p.default)(e,`YYYY`).startOf(`year`).locale(r);for(let e=0;e<=52;e+=1){let n=i.add(e,`week`);if(n.format(`Wo`)===t)return n}return null}let i=(0,p.default)(n,e,!0).locale(r);if(i.isValid())return i}return null}}}),D=e=>{let{fieldData:t,operator:n,value:r,handleOnChange:i,title:a,className:o,type:s,inputType:c,values:f=[],listsAsArrays:m,separator:h,valueSource:g,disabled:_,testID:v,selectorComponent:y=e.schema.controls.valueSelector,extraProps:b,parseNumbers:x,...S}=e,{valueAsArray:C,multiValueHandler:w,bigIntValueHandler:T,valueListItemClassName:D,inputTypeCoerced:O}=(0,u.useValueEditor)(e);if(n===`null`||n===`notNull`)return null;let k=t?.placeholder??``;if((n===`between`||n===`notBetween`)&&(s===`select`||s===`text`)&&O!==`date`&&O!==`datetime-local`){if(s===`text`){let e=[`from`,`to`].map((e,t)=>O===`time`?l.createElement(E.TimePicker,{key:e,value:C[t]?(0,p.default)(C[t],`HH:mm:ss`):null,className:D,disabled:_,placeholder:k,onChange:e=>w(e?.format(`HH:mm:ss`)??``,t),...b}):O===`number`?l.createElement(d.InputNumber,{key:e,type:O,value:C[t]??``,className:D,disabled:_,placeholder:k,onChange:e=>w(e,t),...b}):l.createElement(d.Input,{key:e,type:O,value:C[t]??``,className:D,disabled:_,placeholder:k,onChange:e=>w(e.target.value,t),...b}));return l.createElement(`span`,{"data-testid":v,className:o,title:a},e[0],h,e[1])}return l.createElement(u.ValueEditor,{...e,skipHook:!0})}switch(s){case`select`:case`multiselect`:return l.createElement(y,{...S,className:o,title:a,value:r,disabled:_,listsAsArrays:m,multiple:s===`multiselect`,handleOnChange:i,options:f,...b});case`textarea`:return l.createElement(d.Input.TextArea,{value:r,title:a,className:o,disabled:_,placeholder:k,onChange:e=>i(e.target.value),...b});case`switch`:return l.createElement(d.Switch,{checked:!!r,title:a,className:o,disabled:_,onChange:e=>i(e),...b});case`checkbox`:return l.createElement(`span`,{title:a,className:o},l.createElement(d.Checkbox,{type:`checkbox`,disabled:_,onChange:e=>i(e.target.checked),checked:!!r,...b}));case`radio`:return l.createElement(`span`,{className:o,title:a},f.map(e=>l.createElement(d.Radio,{key:e.name,value:e.name,checked:r===e.name,disabled:_,onChange:e=>i(e.target.value),...b},e.label)))}switch(O){case`date`:case`datetime-local`:{if(n===`between`||n===`notBetween`){let e=C.slice(0,2).map(e=>(0,p.default)(e));return l.createElement(E.RangePicker,{value:e.every(e=>e.isValid())?e:void 0,showTime:O===`datetime-local`,className:o,disabled:_,placeholder:[k,k],onChange:e=>{let t=`YYYY-MM-DD${O===`datetime-local`?`THH:mm:ss`:``}`,n=e?.map(e=>e?.isValid()?e.format(t):void 0);i(n?m?n:(0,u.joinWith)(n,`,`):e)},...b})}let e=(0,p.default)(r);return l.createElement(E,{value:e.isValid()?e:void 0,showTime:O===`datetime-local`,className:o,disabled:_,placeholder:k,onChange:(e,t)=>i(t),...b})}case`time`:{let e=(0,p.default)(r,`HH:mm:ss`);return l.createElement(E.TimePicker,{value:e.isValid()?e:void 0,className:o,disabled:_,placeholder:k,onChange:e=>i(e?.format(`HH:mm:ss`)??``),...b})}case`number`:return l.createElement(d.InputNumber,{type:O,value:r,title:a,className:o,disabled:_,placeholder:k,onChange:i,...b})}return c===`bigint`?l.createElement(d.Input,{"data-testid":v,type:O,placeholder:k,value:`${r}`,title:a,className:o,disabled:_,onChange:e=>T(e.target.value),...b}):l.createElement(d.Input,{type:O,value:r,title:a,className:o,disabled:_,placeholder:k,onChange:e=>i(e.target.value),...b})},O=({className:e,handleOnChange:t,options:n,value:r,title:i,disabled:a,multiple:o,listsAsArrays:s,testID:c,rule:f,ruleGroup:p,rules:m,level:h,path:g,context:_,validation:v,operator:y,field:b,fieldData:x,schema:S,...C})=>{let{onChange:w}=(0,u.useValueSelector)({handleOnChange:t,listsAsArrays:!1,multiple:!1,value:r}),{onChange:T,val:E}=(0,u.useValueSelector)({handleOnChange:t,listsAsArrays:o||s,multiple:o,value:r}),D=l.useCallback(e=>{o&&!s&&Array.isArray(e)?w((0,u.joinWith)(e)):T(e)},[s,o,w,T]);return l.createElement(d.Select,{...o?{mode:`multiple`,allowClear:!0}:{},title:i,className:e,popupMatchSelectWidth:!1,disabled:a,value:E,onChange:D,optionFilterProp:`label`,options:n,...C})},k={actionElement:b,dragHandle:x,notToggle:S,shiftActions:C,valueEditor:D,valueSelector:O},A={removeGroup:{label:l.createElement(c.CloseOutlined,null)},removeRule:{label:l.createElement(c.CloseOutlined,null)},cloneRule:{label:l.createElement(c.CopyOutlined,null)},cloneRuleGroup:{label:l.createElement(c.CopyOutlined,null)},lockGroup:{label:l.createElement(c.UnlockOutlined,null)},lockRule:{label:l.createElement(c.UnlockOutlined,null)},lockGroupDisabled:{label:l.createElement(c.LockOutlined,null)},lockRuleDisabled:{label:l.createElement(c.LockOutlined,null)},shiftActionUp:{label:l.createElement(c.UpOutlined,null)},shiftActionDown:{label:l.createElement(c.DownOutlined,null)}},j=(0,u.getCompatContextProvider)({controlElements:k,translations:A});exports.AntDActionElement=b,exports.AntDDragHandle=x,exports.AntDNotToggle=S,exports.AntDShiftActions=C,exports.AntDValueEditor=D,exports.AntDValueSelector=O,exports.QueryBuilderAntD=j,exports.antdControlElements=k,exports.antdTranslations=A;
2
2
  //# sourceMappingURL=react-querybuilder_antd.cjs.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_antd.cjs.production.js","names":["Button","HolderOutlined","Switch","Button","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsGenerateConfig","InputNumber","Input","ValueEditor","Switch","Checkbox","Radio","React","Select","CloseOutlined","CopyOutlined","UnlockOutlined","LockOutlined","UpOutlined","DownOutlined"],"sources":["../../src/AntDActionElement.tsx","../../src/AntDDragHandle.tsx","../../src/AntDNotToggle.tsx","../../src/AntDShiftActions.tsx","../../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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
1
+ {"version":3,"file":"react-querybuilder_antd.cjs.production.js","names":["Button","HolderOutlined","Switch","Button","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsGenerateConfig","InputNumber","Input","ValueEditor","Switch","Checkbox","Radio","React","Select","CloseOutlined","CopyOutlined","UnlockOutlined","LockOutlined","UpOutlined","DownOutlined"],"sources":["../../src/AntDActionElement.tsx","../../src/AntDDragHandle.tsx","../../src/AntDNotToggle.tsx","../../src/AntDShiftActions.tsx","../../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 dragHandleAttributes,\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 ) => (\n <HolderOutlined\n className={className}\n title={title}\n {...extraProps}\n {...dragHandleAttributes}\n ref={dragRef}\n />\n )\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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
@@ -11,7 +11,7 @@ import localeData from "dayjs/plugin/localeData.js";
11
11
  import weekday from "dayjs/plugin/weekday.js";
12
12
  import weekOfYear from "dayjs/plugin/weekOfYear.js";
13
13
  import weekYear from "dayjs/plugin/weekYear.js";
14
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/objectWithoutPropertiesLoose.js
14
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/objectWithoutPropertiesLoose.js
15
15
  function _objectWithoutPropertiesLoose(r, e) {
16
16
  if (null == r) return {};
17
17
  var t = {};
@@ -22,7 +22,7 @@ function _objectWithoutPropertiesLoose(r, e) {
22
22
  return t;
23
23
  }
24
24
  //#endregion
25
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/objectWithoutProperties.js
25
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/objectWithoutProperties.js
26
26
  function _objectWithoutProperties(e, t) {
27
27
  if (null == e) return {};
28
28
  var o, r, i = _objectWithoutPropertiesLoose(e, t);
@@ -33,7 +33,7 @@ function _objectWithoutProperties(e, t) {
33
33
  return i;
34
34
  }
35
35
  //#endregion
36
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/typeof.js
36
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/typeof.js
37
37
  function _typeof(o) {
38
38
  "@babel/helpers - typeof";
39
39
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -43,7 +43,7 @@ function _typeof(o) {
43
43
  }, _typeof(o);
44
44
  }
45
45
  //#endregion
46
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/toPrimitive.js
46
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/toPrimitive.js
47
47
  function toPrimitive(t, r) {
48
48
  if ("object" != _typeof(t) || !t) return t;
49
49
  var e = t[Symbol.toPrimitive];
@@ -55,13 +55,13 @@ function toPrimitive(t, r) {
55
55
  return ("string" === r ? String : Number)(t);
56
56
  }
57
57
  //#endregion
58
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/toPropertyKey.js
58
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/toPropertyKey.js
59
59
  function toPropertyKey(t) {
60
60
  var i = toPrimitive(t, "string");
61
61
  return "symbol" == _typeof(i) ? i : i + "";
62
62
  }
63
63
  //#endregion
64
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/defineProperty.js
64
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/defineProperty.js
65
65
  function _defineProperty(e, r, t) {
66
66
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
67
67
  value: t,
@@ -71,7 +71,7 @@ function _defineProperty(e, r, t) {
71
71
  }) : e[r] = t, e;
72
72
  }
73
73
  //#endregion
74
- //#region \0@oxc-project+runtime@0.134.0/helpers/esm/objectSpread2.js
74
+ //#region \0@oxc-project+runtime@0.135.0/helpers/esm/objectSpread2.js
75
75
  function ownKeys(e, r) {
76
76
  var t = Object.keys(e);
77
77
  if (Object.getOwnPropertySymbols) {
@@ -128,6 +128,7 @@ const AntDActionElement = (_ref) => {
128
128
  const _excluded$3 = [
129
129
  "className",
130
130
  "title",
131
+ "dragHandleAttributes",
131
132
  "testID",
132
133
  "level",
133
134
  "path",
@@ -142,11 +143,11 @@ const _excluded$3 = [
142
143
  * @group Components
143
144
  */
144
145
  const AntDDragHandle = forwardRef((_ref, dragRef) => {
145
- let { className, title, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup } = _ref, extraProps = _objectWithoutProperties(_ref, _excluded$3);
146
- return /* @__PURE__ */ React.createElement(HolderOutlined, _objectSpread2(_objectSpread2({
146
+ let { className, title, dragHandleAttributes, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup } = _ref, extraProps = _objectWithoutProperties(_ref, _excluded$3);
147
+ return /* @__PURE__ */ React.createElement(HolderOutlined, _objectSpread2(_objectSpread2(_objectSpread2({
147
148
  className,
148
149
  title
149
- }, extraProps), {}, { ref: dragRef }));
150
+ }, extraProps), dragHandleAttributes), {}, { ref: dragRef }));
150
151
  });
151
152
  //#endregion
152
153
  //#region src/AntDNotToggle.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_antd.legacy-esm.js","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
1
+ {"version":3,"file":"react-querybuilder_antd.legacy-esm.js","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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 dragHandleAttributes,\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 ) => (\n <HolderOutlined\n className={className}\n title={title}\n {...extraProps}\n {...dragHandleAttributes}\n ref={dragRef}\n />\n )\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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
@@ -28,10 +28,11 @@ const AntDActionElement = ({ className, handleOnClick, label, title, disabled, d
28
28
  /**
29
29
  * @group Components
30
30
  */
31
- const AntDDragHandle = forwardRef(({ className, title, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup, ...extraProps }, dragRef) => /* @__PURE__ */ React.createElement(HolderOutlined, {
31
+ const AntDDragHandle = forwardRef(({ className, title, dragHandleAttributes, testID: _testID, level: _level, path: _path, label: _label, disabled: _disabled, context: _context, validation: _validation, schema: _schema, ruleOrGroup: _ruleOrGroup, ...extraProps }, dragRef) => /* @__PURE__ */ React.createElement(HolderOutlined, {
32
32
  className,
33
33
  title,
34
34
  ...extraProps,
35
+ ...dragHandleAttributes,
35
36
  ref: dragRef
36
37
  }));
37
38
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_antd.mjs","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
1
+ {"version":3,"file":"react-querybuilder_antd.mjs","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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 dragHandleAttributes,\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 ) => (\n <HolderOutlined\n className={className}\n title={title}\n {...extraProps}\n {...dragHandleAttributes}\n ref={dragRef}\n />\n )\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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{CloseOutlined as e,CopyOutlined as t,DownOutlined as n,HolderOutlined as r,LockOutlined as i,UnlockOutlined as a,UpOutlined as o}from"@ant-design/icons";import*as s from"react";import{forwardRef as c}from"react";import{ValueEditor as l,getCompatContextProvider as u,joinWith as d,useValueEditor as f,useValueSelector as p}from"react-querybuilder";import{Button as m,Checkbox as h,Input as g,InputNumber as _,Radio as v,Select as y,Switch as b}from"antd";import x from"antd/es/date-picker/generatePicker/index.js";import S from"dayjs";import C from"dayjs/plugin/advancedFormat.js";import w from"dayjs/plugin/customParseFormat.js";import T from"dayjs/plugin/localeData.js";import E from"dayjs/plugin/weekday.js";import D from"dayjs/plugin/weekOfYear.js";import O from"dayjs/plugin/weekYear.js";const k=({className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,level:c,path:l,context:u,validation:d,ruleOrGroup:f,schema:p,...h})=>s.createElement(m,{type:`primary`,className:e,title:a&&i?a.title:r,onClick:e=>t(e),disabled:i&&!a,...h},a&&i?a.label:n),A=c(({className:e,title:t,testID:n,level:i,path:a,label:o,disabled:c,context:l,validation:u,schema:d,ruleOrGroup:f,...p},m)=>s.createElement(r,{className:e,title:t,...p,ref:m})),j=({className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,path:o,context:c,validation:l,testID:u,schema:d,ruleGroup:f,...p})=>s.createElement(b,{title:i,className:e,onChange:e=>t(e),checked:!!r,disabled:a,checkedChildren:n,unCheckedChildren:`=`,...p}),M=({shiftUp:e,shiftDown:t,shiftUpDisabled:n,shiftDownDisabled:r,disabled:i,className:a,labels:o,titles:c,testID:l})=>s.createElement(`div`,{"data-testid":l,className:a},s.createElement(m,{type:`primary`,size:`small`,title:c?.shiftUp,onClick:e,disabled:i||n},o?.shiftUp),s.createElement(m,{type:`primary`,size:`small`,title:c?.shiftDown,onClick:t,disabled:i||r},o?.shiftDown));S.extend(w),S.extend(C),S.extend(E),S.extend(T),S.extend(D),S.extend(O),S.extend((e,t)=>{let n=t.prototype,r=n.format;n.format=function(e){let t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});const N={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},P=e=>N[e]||e.split(`_`)[0],F=x({getNow:()=>S(),getFixedDate:e=>S(e,[`YYYY-M-DD`,`YYYY-MM-DD`]),getEndDate:e=>e.endOf(`month`),getWeekDay:e=>{let t=e.locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:e=>e.year(),getMonth:e=>e.month(),getDate:e=>e.date(),getHour:e=>e.hour(),getMinute:e=>e.minute(),getSecond:e=>e.second(),getMillisecond:e=>e.millisecond(),addYear:(e,t)=>e.add(t,`year`),addMonth:(e,t)=>e.add(t,`month`),addDate:(e,t)=>e.add(t,`day`),setYear:(e,t)=>e.year(t),setMonth:(e,t)=>e.month(t),setDate:(e,t)=>e.date(t),setHour:(e,t)=>e.hour(t),setMinute:(e,t)=>e.minute(t),setSecond:(e,t)=>e.second(t),setMillisecond:(e,t)=>e.millisecond(t),isAfter:(e,t)=>e.isAfter(t),isValidate:e=>e.isValid(),locale:{getWeekFirstDay:e=>S().locale(P(e)).localeData().firstDayOfWeek(),getWeekFirstDate:(e,t)=>t.locale(P(e)).weekday(0),getWeek:(e,t)=>t.locale(P(e)).week(),getShortWeekDays:e=>S().locale(P(e)).localeData().weekdaysMin(),getShortMonths:e=>S().locale(P(e)).localeData().monthsShort(),format:(e,t,n)=>t.locale(P(e)).format(n),parse:(e,t,n)=>{let r=P(e);for(let e of n){let n=t;if(e.includes(`wo`)||e.includes(`Wo`)){let e=n.split(`-`)[0],t=n.split(`-`)[1],i=S(e,`YYYY`).startOf(`year`).locale(r);for(let e=0;e<=52;e+=1){let n=i.add(e,`week`);if(n.format(`Wo`)===t)return n}return null}let i=S(n,e,!0).locale(r);if(i.isValid())return i}return null}}}),I=e=>{let{fieldData:t,operator:n,value:r,handleOnChange:i,title:a,className:o,type:c,inputType:u,values:p=[],listsAsArrays:m,separator:y,valueSource:x,disabled:C,testID:w,selectorComponent:T=e.schema.controls.valueSelector,extraProps:E,parseNumbers:D,...O}=e,{valueAsArray:k,multiValueHandler:A,bigIntValueHandler:j,valueListItemClassName:M,inputTypeCoerced:N}=f(e);if(n===`null`||n===`notNull`)return null;let P=t?.placeholder??``;if((n===`between`||n===`notBetween`)&&(c===`select`||c===`text`)&&N!==`date`&&N!==`datetime-local`){if(c===`text`){let e=[`from`,`to`].map((e,t)=>N===`time`?s.createElement(F.TimePicker,{key:e,value:k[t]?S(k[t],`HH:mm:ss`):null,className:M,disabled:C,placeholder:P,onChange:e=>A(e?.format(`HH:mm:ss`)??``,t),...E}):N===`number`?s.createElement(_,{key:e,type:N,value:k[t]??``,className:M,disabled:C,placeholder:P,onChange:e=>A(e,t),...E}):s.createElement(g,{key:e,type:N,value:k[t]??``,className:M,disabled:C,placeholder:P,onChange:e=>A(e.target.value,t),...E}));return s.createElement(`span`,{"data-testid":w,className:o,title:a},e[0],y,e[1])}return s.createElement(l,{...e,skipHook:!0})}switch(c){case`select`:case`multiselect`:return s.createElement(T,{...O,className:o,title:a,value:r,disabled:C,listsAsArrays:m,multiple:c===`multiselect`,handleOnChange:i,options:p,...E});case`textarea`:return s.createElement(g.TextArea,{value:r,title:a,className:o,disabled:C,placeholder:P,onChange:e=>i(e.target.value),...E});case`switch`:return s.createElement(b,{checked:!!r,title:a,className:o,disabled:C,onChange:e=>i(e),...E});case`checkbox`:return s.createElement(`span`,{title:a,className:o},s.createElement(h,{type:`checkbox`,disabled:C,onChange:e=>i(e.target.checked),checked:!!r,...E}));case`radio`:return s.createElement(`span`,{className:o,title:a},p.map(e=>s.createElement(v,{key:e.name,value:e.name,checked:r===e.name,disabled:C,onChange:e=>i(e.target.value),...E},e.label)))}switch(N){case`date`:case`datetime-local`:{if(n===`between`||n===`notBetween`){let e=k.slice(0,2).map(e=>S(e));return s.createElement(F.RangePicker,{value:e.every(e=>e.isValid())?e:void 0,showTime:N===`datetime-local`,className:o,disabled:C,placeholder:[P,P],onChange:e=>{let t=`YYYY-MM-DD${N===`datetime-local`?`THH:mm:ss`:``}`,n=e?.map(e=>e?.isValid()?e.format(t):void 0);i(n?m?n:d(n,`,`):e)},...E})}let e=S(r);return s.createElement(F,{value:e.isValid()?e:void 0,showTime:N===`datetime-local`,className:o,disabled:C,placeholder:P,onChange:(e,t)=>i(t),...E})}case`time`:{let e=S(r,`HH:mm:ss`);return s.createElement(F.TimePicker,{value:e.isValid()?e:void 0,className:o,disabled:C,placeholder:P,onChange:e=>i(e?.format(`HH:mm:ss`)??``),...E})}case`number`:return s.createElement(_,{type:N,value:r,title:a,className:o,disabled:C,placeholder:P,onChange:i,...E})}return u===`bigint`?s.createElement(g,{"data-testid":w,type:N,placeholder:P,value:`${r}`,title:a,className:o,disabled:C,onChange:e=>j(e.target.value),...E}):s.createElement(g,{type:N,value:r,title:a,className:o,disabled:C,placeholder:P,onChange:e=>i(e.target.value),...E})},L=({className:e,handleOnChange:t,options:n,value:r,title:i,disabled:a,multiple:o,listsAsArrays:c,testID:l,rule:u,ruleGroup:f,rules:m,level:h,path:g,context:_,validation:v,operator:b,field:x,fieldData:S,schema:C,...w})=>{let{onChange:T}=p({handleOnChange:t,listsAsArrays:!1,multiple:!1,value:r}),{onChange:E,val:D}=p({handleOnChange:t,listsAsArrays:o||c,multiple:o,value:r}),O=s.useCallback(e=>{o&&!c&&Array.isArray(e)?T(d(e)):E(e)},[c,o,T,E]);return s.createElement(y,{...o?{mode:`multiple`,allowClear:!0}:{},title:i,className:e,popupMatchSelectWidth:!1,disabled:a,value:D,onChange:O,optionFilterProp:`label`,options:n,...w})},R={actionElement:k,dragHandle:A,notToggle:j,shiftActions:M,valueEditor:I,valueSelector:L},z={removeGroup:{label:s.createElement(e,null)},removeRule:{label:s.createElement(e,null)},cloneRule:{label:s.createElement(t,null)},cloneRuleGroup:{label:s.createElement(t,null)},lockGroup:{label:s.createElement(a,null)},lockRule:{label:s.createElement(a,null)},lockGroupDisabled:{label:s.createElement(i,null)},lockRuleDisabled:{label:s.createElement(i,null)},shiftActionUp:{label:s.createElement(o,null)},shiftActionDown:{label:s.createElement(n,null)}},B=u({controlElements:R,translations:z});export{k as AntDActionElement,A as AntDDragHandle,j as AntDNotToggle,M as AntDShiftActions,I as AntDValueEditor,L as AntDValueSelector,B as QueryBuilderAntD,R as antdControlElements,z as antdTranslations};
1
+ import{CloseOutlined as e,CopyOutlined as t,DownOutlined as n,HolderOutlined as r,LockOutlined as i,UnlockOutlined as a,UpOutlined as o}from"@ant-design/icons";import*as s from"react";import{forwardRef as c}from"react";import{ValueEditor as l,getCompatContextProvider as u,joinWith as d,useValueEditor as f,useValueSelector as p}from"react-querybuilder";import{Button as m,Checkbox as h,Input as g,InputNumber as _,Radio as v,Select as y,Switch as b}from"antd";import x from"antd/es/date-picker/generatePicker/index.js";import S from"dayjs";import C from"dayjs/plugin/advancedFormat.js";import w from"dayjs/plugin/customParseFormat.js";import T from"dayjs/plugin/localeData.js";import E from"dayjs/plugin/weekday.js";import D from"dayjs/plugin/weekOfYear.js";import O from"dayjs/plugin/weekYear.js";const k=({className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,level:c,path:l,context:u,validation:d,ruleOrGroup:f,schema:p,...h})=>s.createElement(m,{type:`primary`,className:e,title:a&&i?a.title:r,onClick:e=>t(e),disabled:i&&!a,...h},a&&i?a.label:n),A=c(({className:e,title:t,dragHandleAttributes:n,testID:i,level:a,path:o,label:c,disabled:l,context:u,validation:d,schema:f,ruleOrGroup:p,...m},h)=>s.createElement(r,{className:e,title:t,...m,...n,ref:h})),j=({className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,path:o,context:c,validation:l,testID:u,schema:d,ruleGroup:f,...p})=>s.createElement(b,{title:i,className:e,onChange:e=>t(e),checked:!!r,disabled:a,checkedChildren:n,unCheckedChildren:`=`,...p}),M=({shiftUp:e,shiftDown:t,shiftUpDisabled:n,shiftDownDisabled:r,disabled:i,className:a,labels:o,titles:c,testID:l})=>s.createElement(`div`,{"data-testid":l,className:a},s.createElement(m,{type:`primary`,size:`small`,title:c?.shiftUp,onClick:e,disabled:i||n},o?.shiftUp),s.createElement(m,{type:`primary`,size:`small`,title:c?.shiftDown,onClick:t,disabled:i||r},o?.shiftDown));S.extend(w),S.extend(C),S.extend(E),S.extend(T),S.extend(D),S.extend(O),S.extend((e,t)=>{let n=t.prototype,r=n.format;n.format=function(e){let t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});const N={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},P=e=>N[e]||e.split(`_`)[0],F=x({getNow:()=>S(),getFixedDate:e=>S(e,[`YYYY-M-DD`,`YYYY-MM-DD`]),getEndDate:e=>e.endOf(`month`),getWeekDay:e=>{let t=e.locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:e=>e.year(),getMonth:e=>e.month(),getDate:e=>e.date(),getHour:e=>e.hour(),getMinute:e=>e.minute(),getSecond:e=>e.second(),getMillisecond:e=>e.millisecond(),addYear:(e,t)=>e.add(t,`year`),addMonth:(e,t)=>e.add(t,`month`),addDate:(e,t)=>e.add(t,`day`),setYear:(e,t)=>e.year(t),setMonth:(e,t)=>e.month(t),setDate:(e,t)=>e.date(t),setHour:(e,t)=>e.hour(t),setMinute:(e,t)=>e.minute(t),setSecond:(e,t)=>e.second(t),setMillisecond:(e,t)=>e.millisecond(t),isAfter:(e,t)=>e.isAfter(t),isValidate:e=>e.isValid(),locale:{getWeekFirstDay:e=>S().locale(P(e)).localeData().firstDayOfWeek(),getWeekFirstDate:(e,t)=>t.locale(P(e)).weekday(0),getWeek:(e,t)=>t.locale(P(e)).week(),getShortWeekDays:e=>S().locale(P(e)).localeData().weekdaysMin(),getShortMonths:e=>S().locale(P(e)).localeData().monthsShort(),format:(e,t,n)=>t.locale(P(e)).format(n),parse:(e,t,n)=>{let r=P(e);for(let e of n){let n=t;if(e.includes(`wo`)||e.includes(`Wo`)){let e=n.split(`-`)[0],t=n.split(`-`)[1],i=S(e,`YYYY`).startOf(`year`).locale(r);for(let e=0;e<=52;e+=1){let n=i.add(e,`week`);if(n.format(`Wo`)===t)return n}return null}let i=S(n,e,!0).locale(r);if(i.isValid())return i}return null}}}),I=e=>{let{fieldData:t,operator:n,value:r,handleOnChange:i,title:a,className:o,type:c,inputType:u,values:p=[],listsAsArrays:m,separator:y,valueSource:x,disabled:C,testID:w,selectorComponent:T=e.schema.controls.valueSelector,extraProps:E,parseNumbers:D,...O}=e,{valueAsArray:k,multiValueHandler:A,bigIntValueHandler:j,valueListItemClassName:M,inputTypeCoerced:N}=f(e);if(n===`null`||n===`notNull`)return null;let P=t?.placeholder??``;if((n===`between`||n===`notBetween`)&&(c===`select`||c===`text`)&&N!==`date`&&N!==`datetime-local`){if(c===`text`){let e=[`from`,`to`].map((e,t)=>N===`time`?s.createElement(F.TimePicker,{key:e,value:k[t]?S(k[t],`HH:mm:ss`):null,className:M,disabled:C,placeholder:P,onChange:e=>A(e?.format(`HH:mm:ss`)??``,t),...E}):N===`number`?s.createElement(_,{key:e,type:N,value:k[t]??``,className:M,disabled:C,placeholder:P,onChange:e=>A(e,t),...E}):s.createElement(g,{key:e,type:N,value:k[t]??``,className:M,disabled:C,placeholder:P,onChange:e=>A(e.target.value,t),...E}));return s.createElement(`span`,{"data-testid":w,className:o,title:a},e[0],y,e[1])}return s.createElement(l,{...e,skipHook:!0})}switch(c){case`select`:case`multiselect`:return s.createElement(T,{...O,className:o,title:a,value:r,disabled:C,listsAsArrays:m,multiple:c===`multiselect`,handleOnChange:i,options:p,...E});case`textarea`:return s.createElement(g.TextArea,{value:r,title:a,className:o,disabled:C,placeholder:P,onChange:e=>i(e.target.value),...E});case`switch`:return s.createElement(b,{checked:!!r,title:a,className:o,disabled:C,onChange:e=>i(e),...E});case`checkbox`:return s.createElement(`span`,{title:a,className:o},s.createElement(h,{type:`checkbox`,disabled:C,onChange:e=>i(e.target.checked),checked:!!r,...E}));case`radio`:return s.createElement(`span`,{className:o,title:a},p.map(e=>s.createElement(v,{key:e.name,value:e.name,checked:r===e.name,disabled:C,onChange:e=>i(e.target.value),...E},e.label)))}switch(N){case`date`:case`datetime-local`:{if(n===`between`||n===`notBetween`){let e=k.slice(0,2).map(e=>S(e));return s.createElement(F.RangePicker,{value:e.every(e=>e.isValid())?e:void 0,showTime:N===`datetime-local`,className:o,disabled:C,placeholder:[P,P],onChange:e=>{let t=`YYYY-MM-DD${N===`datetime-local`?`THH:mm:ss`:``}`,n=e?.map(e=>e?.isValid()?e.format(t):void 0);i(n?m?n:d(n,`,`):e)},...E})}let e=S(r);return s.createElement(F,{value:e.isValid()?e:void 0,showTime:N===`datetime-local`,className:o,disabled:C,placeholder:P,onChange:(e,t)=>i(t),...E})}case`time`:{let e=S(r,`HH:mm:ss`);return s.createElement(F.TimePicker,{value:e.isValid()?e:void 0,className:o,disabled:C,placeholder:P,onChange:e=>i(e?.format(`HH:mm:ss`)??``),...E})}case`number`:return s.createElement(_,{type:N,value:r,title:a,className:o,disabled:C,placeholder:P,onChange:i,...E})}return u===`bigint`?s.createElement(g,{"data-testid":w,type:N,placeholder:P,value:`${r}`,title:a,className:o,disabled:C,onChange:e=>j(e.target.value),...E}):s.createElement(g,{type:N,value:r,title:a,className:o,disabled:C,placeholder:P,onChange:e=>i(e.target.value),...E})},L=({className:e,handleOnChange:t,options:n,value:r,title:i,disabled:a,multiple:o,listsAsArrays:c,testID:l,rule:u,ruleGroup:f,rules:m,level:h,path:g,context:_,validation:v,operator:b,field:x,fieldData:S,schema:C,...w})=>{let{onChange:T}=p({handleOnChange:t,listsAsArrays:!1,multiple:!1,value:r}),{onChange:E,val:D}=p({handleOnChange:t,listsAsArrays:o||c,multiple:o,value:r}),O=s.useCallback(e=>{o&&!c&&Array.isArray(e)?T(d(e)):E(e)},[c,o,T,E]);return s.createElement(y,{...o?{mode:`multiple`,allowClear:!0}:{},title:i,className:e,popupMatchSelectWidth:!1,disabled:a,value:D,onChange:O,optionFilterProp:`label`,options:n,...w})},R={actionElement:k,dragHandle:A,notToggle:j,shiftActions:M,valueEditor:I,valueSelector:L},z={removeGroup:{label:s.createElement(e,null)},removeRule:{label:s.createElement(e,null)},cloneRule:{label:s.createElement(t,null)},cloneRuleGroup:{label:s.createElement(t,null)},lockGroup:{label:s.createElement(a,null)},lockRule:{label:s.createElement(a,null)},lockGroupDisabled:{label:s.createElement(i,null)},lockRuleDisabled:{label:s.createElement(i,null)},shiftActionUp:{label:s.createElement(o,null)},shiftActionDown:{label:s.createElement(n,null)}},B=u({controlElements:R,translations:z});export{k as AntDActionElement,A as AntDDragHandle,j as AntDNotToggle,M as AntDShiftActions,I as AntDValueEditor,L as AntDValueSelector,B as QueryBuilderAntD,R as antdControlElements,z as antdTranslations};
2
2
  //# sourceMappingURL=react-querybuilder_antd.production.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_antd.production.mjs","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"+xBAoBA,MAAa,GAAqB,CAChC,YACA,gBACA,QACA,QACA,WACA,sBAEA,OAAQ,EACR,MAAO,EACP,KAAM,EACN,QAAS,EACT,WAAY,EACZ,YAAa,EACb,OAAQ,EACR,GAAG,KAEH,EAAA,cAAC,EAAD,CACE,KAAK,UACM,YACX,MAAO,GAAuB,EAAW,EAAoB,MAAQ,EACrE,QAAS,GAAK,EAAc,CAAC,EAC7B,SAAU,GAAY,CAAC,EACvB,GAAI,CAEE,EADL,GAAuB,EAAW,EAAoB,MAAQ,CACzD,EC5BG,EAET,GAEA,CACE,YACA,QAEA,OAAQ,EACR,MAAO,EACP,KAAM,EACN,MAAO,EACP,SAAU,EACV,QAAS,EACT,WAAY,EACZ,OAAQ,EACR,YAAa,EACb,GAAG,GAEL,IACG,EAAA,cAAC,EAAD,CAA2B,YAAkB,QAAO,GAAI,EAAY,IAAK,CAAU,CAAA,CAC1F,ECxBa,GAAiB,CAC5B,YACA,iBACA,QACA,UACA,QACA,WAEA,KAAM,EACN,QAAS,EACT,WAAY,EACZ,OAAQ,EACR,OAAQ,EACR,UAAW,EACX,GAAG,KAEH,EAAA,cAAC,EAAD,CACS,QACI,YACX,SAAU,GAAK,EAAe,CAAC,EAC/B,QAAS,CAAC,CAAC,EACD,WACV,gBAAiB,EACjB,kBAAkB,IAClB,GAAI,CACL,CAAA,EChCU,GAAoB,CAC/B,UACA,YACA,kBACA,oBACA,WACA,YACA,SACA,SACA,YAEA,EAAA,cAAC,MAAD,CAAK,cAAa,EAAmB,WAiBhC,EAhBH,EAAA,cAAC,EAAD,CACE,KAAK,UACL,KAAK,QACL,MAAO,GAAQ,QACf,QAAS,EACT,SAAU,GAAY,CAEhB,EADL,GAAQ,OACH,EACR,EAAA,cAAC,EAAD,CACE,KAAK,UACL,KAAK,QACL,MAAO,GAAQ,UACf,QAAS,EACT,SAAU,GAAY,CAEhB,EADL,GAAQ,SACH,CACL,EC2BP,EAAM,OAAO,CAAiB,EAC9B,EAAM,OAAO,CAAc,EAC3B,EAAM,OAAO,CAAO,EACpB,EAAM,OAAO,CAAU,EACvB,EAAM,OAAO,CAAU,EACvB,EAAM,OAAO,CAAQ,EAErB,EAAM,QAAQ,EAAG,IAAM,CAErB,IAAM,EAAQ,EAAE,UACV,EAAY,EAAM,OACxB,EAAM,OAAS,SAAW,EAAmB,CAC3C,IAAM,GAAO,GAAa,GAAA,CAAI,QAAQ,KAAM,IAAI,EAChD,OAAO,EAAU,KAAK,IAAI,CAAC,CAAC,CAAG,CACjC,CACF,CAAC,EAGD,MAAM,EAA8B,CAIlC,MAAO,QACP,MAAO,KAMP,MAAO,QACP,MAAO,KAKP,MAAO,KACP,MAAO,QAQP,MAAO,QAQP,OAAQ,KAYR,MAAO,QAGP,MAAO,QAcP,MAAO,QACP,MAAO,QACP,MAAO,OACT,EAEM,EAAe,GACD,EAAU,IACR,EAAO,MAAM,GAAG,CAAC,CAAC,GCtIlC,EAAa,EAAeA,CD+IhC,WAAc,EAAM,EACpB,aAAc,GAAU,EAAM,EAAQ,CAAC,YAAa,YAAY,CAAC,EACjE,WAAY,GAAQ,EAAK,MAAM,OAAO,EACtC,WAAY,GAAQ,CAClB,IAAM,EAAQ,EAAK,OAAO,IAAI,EAC9B,OAAO,EAAM,QAAQ,EAAI,EAAM,WAAW,CAAC,CAAC,eAAe,CAC7D,EACA,QAAS,GAAQ,EAAK,KAAK,EAC3B,SAAU,GAAQ,EAAK,MAAM,EAC7B,QAAS,GAAQ,EAAK,KAAK,EAC3B,QAAS,GAAQ,EAAK,KAAK,EAC3B,UAAW,GAAQ,EAAK,OAAO,EAC/B,UAAW,GAAQ,EAAK,OAAO,EAC/B,eAAgB,GAAQ,EAAK,YAAY,EAGzC,SAAU,EAAM,IAAS,EAAK,IAAI,EAAM,MAAM,EAC9C,UAAW,EAAM,IAAS,EAAK,IAAI,EAAM,OAAO,EAChD,SAAU,EAAM,IAAS,EAAK,IAAI,EAAM,KAAK,EAC7C,SAAU,EAAM,IAAS,EAAK,KAAK,CAAI,EACvC,UAAW,EAAM,IAAU,EAAK,MAAM,CAAK,EAC3C,SAAU,EAAM,IAAQ,EAAK,KAAK,CAAG,EACrC,SAAU,EAAM,IAAS,EAAK,KAAK,CAAI,EACvC,WAAY,EAAM,IAAW,EAAK,OAAO,CAAM,EAC/C,WAAY,EAAM,IAAW,EAAK,OAAO,CAAM,EAC/C,gBAAiB,EAAM,IAAiB,EAAK,YAAY,CAAY,EAGrE,SAAU,EAAO,IAAU,EAAM,QAAQ,CAAK,EAC9C,WAAY,GAAQ,EAAK,QAAQ,EAEjC,OAAQ,CACN,gBAAiB,GAAU,EAAM,CAAC,CAAC,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,eAAe,EAC3F,kBAAmB,EAAQ,IAAS,EAAK,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC9E,SAAU,EAAQ,IAAS,EAAK,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,KAAK,EACjE,iBAAkB,GAAU,EAAM,CAAC,CAAC,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,YAAY,EACzF,eAAgB,GAAU,EAAM,CAAC,CAAC,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,YAAY,EACvF,QAAS,EAAQ,EAAM,IAAW,EAAK,OAAO,EAAY,CAAM,CAAC,CAAC,CAAC,OAAO,CAAM,EAChF,OAAQ,EAAQ,EAAM,IAAY,CAChC,IAAM,EAAY,EAAY,CAAM,EACpC,IAAK,IAAM,KAAU,EAAS,CAC5B,IAAM,EAAa,EACnB,GAAI,EAAO,SAAS,IAAI,GAAK,EAAO,SAAS,IAAI,EAAG,CAElD,IAAM,EAAO,EAAW,MAAM,GAAG,CAAC,CAAC,GAC7B,EAAU,EAAW,MAAM,GAAG,CAAC,CAAC,GAChC,EAAY,EAAM,EAAM,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,CAAS,EACtE,IAAK,IAAI,EAAI,EAAG,GAAK,GAAI,GAAK,EAAG,CAC/B,IAAM,EAAW,EAAU,IAAI,EAAG,MAAM,EACxC,GAAI,EAAS,OAAO,IAAI,IAAM,EAC5B,OAAO,CAEX,CAEA,OAAO,IACT,CACA,IAAM,EAAO,EAAM,EAAY,EAAQ,EAAI,CAAC,CAAC,OAAO,CAAS,EAC7D,GAAI,EAAK,QAAQ,EACf,OAAO,CAEX,CAKA,OAAO,IACT,CACF,CClNgCA,CAAmB,EAKxC,EAAmB,GAA6D,CAC3F,GAAM,CACJ,YACA,WACA,QACA,iBACA,QACA,YACA,OACA,YACA,SAAS,CAAC,EACV,gBACA,YACA,YAAa,EACb,WACA,SACA,kBAAmB,EAAoB,EAAS,OAAO,SAAS,cAChE,aACA,aAAc,EACd,GAAG,GACD,EAEE,CACJ,eACA,oBACA,qBACA,yBACA,oBACE,EAAe,CAAQ,EAE3B,GAAI,IAAa,QAAU,IAAa,UACtC,OAAO,KAGT,IAAM,EAAkB,GAAW,aAAe,GAElD,IACG,IAAa,WAAa,IAAa,gBACvC,IAAS,UAAY,IAAS,SAE/B,IAAqB,QACrB,IAAqB,iBACrB,CACA,GAAI,IAAS,OAAQ,CACnB,IAAM,EAAU,CAAC,OAAQ,IAAI,CAAC,CAAC,KAAK,EAAK,IACnC,IAAqB,OAErB,EAAA,cAAC,EAAW,WAAZ,CACO,MACL,MAAO,EAAa,GAAK,EAAM,EAAa,GAAI,UAAU,EAAI,KAC9D,UAAW,EACD,WACV,YAAa,EACb,SAAU,GAAK,EAAkB,GAAG,OAAO,UAAU,GAAK,GAAI,CAAC,EAC/D,GAAI,CACL,CAAA,EAEM,IAAqB,SAE5B,EAAA,cAAC,EAAD,CACO,MACL,KAAM,EACN,MAAO,EAAa,IAAM,GAC1B,UAAW,EACD,WACV,YAAa,EACb,SAAU,GAAK,EAAkB,EAAG,CAAC,EACrC,GAAI,CACL,CAAA,EAIH,EAAA,cAAC,EAAD,CACO,MACL,KAAM,EACN,MAAO,EAAa,IAAM,GAC1B,UAAW,EACD,WACV,YAAa,EACb,SAAU,GAAK,EAAkB,EAAE,OAAO,MAAO,CAAC,EAClD,GAAI,CACL,CAAA,CAEJ,EACD,OACE,EAAA,cAAC,OAAD,CAAM,cAAa,EAAmB,YAAkB,OAIlD,EAHH,EAAQ,GACR,EACA,EAAQ,EACL,CAEV,CAEA,OAAO,EAAA,cAAC,EAAD,CAAa,GAAI,EAAU,SAAA,EAAU,CAAA,CAC9C,CAEA,OAAQ,EAAR,CACE,IAAK,SACL,IAAK,cACH,OACE,EAAA,cAAC,EAAD,CACE,GAAI,EACO,YACJ,QACA,QACG,WACK,gBACf,SAAU,IAAS,cACH,iBAChB,QAAS,EACT,GAAI,CACL,CAAA,EAGL,IAAK,WACH,OACE,EAAA,cAAC,EAAM,SAAP,CACS,QACA,QACI,YACD,WACV,YAAa,EACb,SAAU,GAAK,EAAe,EAAE,OAAO,KAAK,EAC5C,GAAI,CACL,CAAA,EAGL,IAAK,SACH,OACE,EAAA,cAAC,EAAD,CACE,QAAS,CAAC,CAAC,EACJ,QACI,YACD,WACV,SAAU,GAAK,EAAe,CAAC,EAC/B,GAAI,CACL,CAAA,EAGL,IAAK,WACH,OACE,EAAA,cAAC,OAAD,CAAa,QAAkB,WAQzB,EAPJ,EAAA,cAAC,EAAD,CACE,KAAK,WACK,WACV,SAAU,GAAK,EAAe,EAAE,OAAO,OAAO,EAC9C,QAAS,CAAC,CAAC,EACX,GAAI,CACL,CAAA,CACG,EAGV,IAAK,QACH,OACE,EAAA,cAAC,OAAD,CAAiB,YAAkB,OAY7B,EAXH,EAAO,IAAI,GACV,EAAA,cAAC,EAAD,CACE,IAAK,EAAE,KACP,MAAO,EAAE,KACT,QAAS,IAAU,EAAE,KACX,WACV,SAAU,GAAK,EAAe,EAAE,OAAO,KAAK,EAC5C,GAAI,CAEC,EADJ,EAAE,KACE,CACR,CACG,CAEZ,CAEA,OAAQ,EAAR,CACE,IAAK,OACL,IAAK,iBAAkB,CACrB,GAAI,IAAa,WAAa,IAAa,aAAc,CAEvD,IAAM,EAAa,EAAa,MAAM,EAAG,CAAC,CAAC,CAAC,IAAK,GAAW,EAAM,CAAC,CAAC,EACpE,OACE,EAAA,cAAC,EAAW,YAAZ,CACE,MAAO,EAAW,MAAM,GAAK,EAAE,QAAQ,CAAC,EAAI,EAAa,IAAA,GACzD,SAAU,IAAqB,iBACpB,YACD,WACV,YAAa,CAAC,EAAiB,CAAe,EAG9C,SAEE,GAAS,CAEP,IAAM,EAAS,aADI,IAAqB,iBAAmB,YAAc,KAEnE,EAAY,GAAO,IAAI,GAAM,GAAG,QAAQ,EAAI,EAAE,OAAO,CAAM,EAAI,IAAA,EAAU,EAC/E,EACE,EAAa,EAAgB,EAAY,EAAS,EAAW,GAAG,EAAK,CACvE,CACF,EAGF,GAAI,CACL,CAAA,CAEL,CAEA,IAAM,EAAY,EAAM,CAAK,EAC7B,OACE,EAAA,cAAC,EAAD,CACE,MAAO,EAAU,QAAQ,EAAI,EAAY,IAAA,GACzC,SAAU,IAAqB,iBACpB,YACD,WACV,YAAa,EACb,UAAW,EAAI,IAAe,EAAe,CAAU,EACvD,GAAI,CACL,CAAA,CAEL,CAEA,IAAK,OAAQ,CACX,IAAM,EAAY,EAAM,EAAO,UAAU,EACzC,OACE,EAAA,cAAC,EAAW,WAAZ,CACE,MAAO,EAAU,QAAQ,EAAI,EAAY,IAAA,GAC9B,YACD,WACV,YAAa,EACb,SAAU,GAAK,EAAe,GAAG,OAAO,UAAU,GAAK,EAAE,EACzD,GAAI,CACL,CAAA,CAEL,CAEA,IAAK,SACH,OACE,EAAA,cAAC,EAAD,CACE,KAAM,EACC,QACA,QACI,YACD,WACV,YAAa,EACb,SAAU,EACV,GAAI,CACL,CAAA,CAGP,CAkBA,OAhBI,IAAc,SAEd,EAAA,cAAC,EAAD,CACE,cAAa,EACb,KAAM,EACN,YAAa,EACb,MAAO,GAAG,IACH,QACI,YACD,WACV,SAAU,GAAK,EAAmB,EAAE,OAAO,KAAK,EAChD,GAAI,CACL,CAAA,EAKH,EAAA,cAAC,EAAD,CACE,KAAM,EACC,QACA,QACI,YACD,WACV,YAAa,EACb,SAAU,GAAK,EAAe,EAAE,OAAO,KAAK,EAC5C,GAAI,CACL,CAAA,CAEL,ECxRa,GAAqB,CAChC,YACA,iBACA,UACA,QACA,QACA,WACA,WACA,gBAEA,OAAQ,EACR,KAAM,EACN,UAAW,EACX,MAAO,EACP,MAAO,EACP,KAAM,EACN,QAAS,EACT,WAAY,EACZ,SAAU,EACV,MAAO,EACP,UAAW,EACX,OAAQ,EACR,GAAG,KAC4C,CAE/C,GAAM,CAAE,SAAU,GAAqB,EAAiB,CACtD,iBACA,cAAe,GACf,SAAU,GACV,OACF,CAAC,EACK,CAAE,SAAU,EAAgB,OAAQ,EAAiB,CACzD,iBAGA,cAAe,GAAY,EAC3B,WACA,OACF,CAAC,EAEK,EAAW,EAAM,YACpB,GAAyB,CACpB,GAAY,CAAC,GAAiB,MAAM,QAAQ,CAAC,EAG/C,EAAiB,EAAS,CAAC,CAAC,EAE5B,EAAe,CAAC,CAEpB,EACA,CAAC,EAAe,EAAU,EAAkB,CAAc,CAC5D,EAEA,OACE,EAAA,cAAC,EAAD,CACE,GAAK,EAAW,CAAE,KAAM,WAAY,WAAY,EAAK,EAAI,CAAC,EACnD,QACI,YACX,sBAAuB,GACb,WACV,MAAO,EACG,WACV,iBAAiB,QACR,UACT,GAAI,CACL,CAAA,CAEL,ECjDa,EAA8D,CACzE,cAAe,EACf,WAAY,EACZ,UAAW,EACX,aAAc,EACd,YAAa,EACb,cAAe,CACjB,EAKa,EAA0C,CACrD,YAAa,CAAE,MAAO,EAAA,cAAC,EAAA,IAAe,CAAE,EACxC,WAAY,CAAE,MAAO,EAAA,cAAC,EAAA,IAAe,CAAE,EACvC,UAAW,CAAE,MAAO,EAAA,cAAC,EAAA,IAAc,CAAE,EACrC,eAAgB,CAAE,MAAO,EAAA,cAAC,EAAA,IAAc,CAAE,EAC1C,UAAW,CAAE,MAAO,EAAA,cAAC,EAAA,IAAgB,CAAE,EACvC,SAAU,CAAE,MAAO,EAAA,cAAC,EAAA,IAAgB,CAAE,EACtC,kBAAmB,CAAE,MAAO,EAAA,cAAC,EAAA,IAAc,CAAE,EAC7C,iBAAkB,CAAE,MAAO,EAAA,cAAC,EAAA,IAAc,CAAE,EAC5C,cAAe,CAAE,MAAO,EAAA,cAAC,EAAA,IAAY,CAAE,EACvC,gBAAiB,CAAE,MAAO,EAAA,cAAC,EAAA,IAAc,CAAE,CAC7C,EAKa,EAAgD,EAAyB,CACpF,gBAAiB,EACjB,aAAc,CAChB,CAAC"}
1
+ {"version":3,"file":"react-querybuilder_antd.production.mjs","names":["dayjsGenerateConfig"],"sources":["../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../src/AntDShiftActions.tsx","../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 dragHandleAttributes,\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 ) => (\n <HolderOutlined\n className={className}\n title={title}\n {...extraProps}\n {...dragHandleAttributes}\n ref={dragRef}\n />\n )\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","/**\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 weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\nimport weekYear from 'dayjs/plugin/weekYear.js';\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 // 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 /* v8 ignore start -- @preserve */\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 /* v8 ignore stop -- @preserve */\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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-querybuilder/antd",
3
3
  "description": "Custom Ant Design components for react-querybuilder",
4
- "version": "8.19.0",
4
+ "version": "8.20.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -57,11 +57,11 @@
57
57
  "@testing-library/react": "^16.3.2",
58
58
  "@types/react": "^19.2.17",
59
59
  "@vitejs/plugin-react": "^6.0.2",
60
- "antd": "^6.4.2",
60
+ "antd": "^6.4.4",
61
61
  "dayjs": "^1.11.20",
62
62
  "react": "^19.2.7",
63
63
  "react-dom": "^19.2.7",
64
- "react-querybuilder": "8.19.0",
64
+ "react-querybuilder": "8.20.0",
65
65
  "rollup-plugin-visualizer": "^7.0.1",
66
66
  "typescript": "^6.0.2",
67
67
  "vite": "^8.0.16"
@@ -71,7 +71,7 @@
71
71
  "antd": ">=5.11.0",
72
72
  "dayjs": ">=1",
73
73
  "react": ">=18",
74
- "react-querybuilder": "8.19.0"
74
+ "react-querybuilder": "8.20.0"
75
75
  },
76
- "gitHead": "69b5dc6d72cc722ac40a248443ab446bf7b10ecf"
76
+ "gitHead": "10d1b549a0d478362b4f8781bea86ede99d9622f"
77
77
  }