@react-querybuilder/antd 8.15.0 → 8.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -135,7 +135,6 @@ const localeMap = {
135
135
  const parseLocale = (locale) => {
136
136
  return localeMap[locale] || locale.split("_")[0];
137
137
  };
138
- const parseNoMatchNotice = () => {};
139
138
  //#endregion
140
139
  //#region src/AntDValueEditor.tsx
141
140
  const DatePicker = (0, antd_es_date_picker_generatePicker_index_js.default)({
@@ -184,13 +183,12 @@ const DatePicker = (0, antd_es_date_picker_generatePicker_index_js.default)({
184
183
  const nextWeek = firstWeek.add(j, "week");
185
184
  if (nextWeek.format("Wo") === weekStr) return nextWeek;
186
185
  }
187
- parseNoMatchNotice();
188
186
  return null;
189
187
  }
190
188
  const date = (0, dayjs.default)(formatText, format, true).locale(localeStr);
191
189
  if (date.isValid()) return date;
192
190
  }
193
- if (text) parseNoMatchNotice();
191
+ if (text) {}
194
192
  return null;
195
193
  }
196
194
  }
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAa,qBAAqB,EAChC,WACA,eACA,OACA,OACA,UACA,qBAEA,QAAQ,SACR,OAAO,QACP,MAAM,OACN,SAAS,UACT,YAAY,aACZ,aAAa,cACb,QAAQ,SACR,GAAG,iBAEH,sBAAA,cAACA,KAAAA,QAAD;CACE,MAAK;CACM;CACX,OAAO,uBAAuB,WAAW,oBAAoB,QAAQ;CACrE,UAAS,MAAK,cAAc,EAAE;CAC9B,UAAU,YAAY,CAAC;CACvB,GAAI;CAEG,EADN,uBAAuB,WAAW,oBAAoB,QAAQ,MACxD;;;;;;AC5BX,MAAa,kBAAA,GAAA,MAAA,aAIT,EACE,WACA,OAEA,QAAQ,SACR,OAAO,QACP,MAAM,OACN,OAAO,QACP,UAAU,WACV,SAAS,UACT,YAAY,aACZ,QAAQ,SACR,aAAa,cACb,GAAG,cAEL,YACG,sBAAA,cAACC,kBAAAA,gBAAD;CAA2B;CAAkB;CAAO,GAAI;CAAY,KAAK;CAAW,CAAA,CAC1F;;;;;;ACxBD,MAAa,iBAAiB,EAC5B,WACA,gBACA,OACA,SACA,OACA,UAEA,MAAM,OACN,SAAS,UACT,YAAY,aACZ,QAAQ,SACR,QAAQ,SACR,WAAW,YACX,GAAG,iBAEH,sBAAA,cAACC,KAAAA,QAAD;CACS;CACI;CACX,WAAU,MAAK,eAAe,EAAE;CAChC,SAAS,CAAC,CAAC;CACD;CACV,iBAAiB;CACjB,mBAAkB;CAClB,GAAI;CACJ,CAAA;;;;;;AChCJ,MAAa,oBAAoB,EAC/B,SACA,WACA,iBACA,mBACA,UACA,WACA,QACA,QACA,aAEA,sBAAA,cAAC,OAAD;CAAK,eAAa;CAAmB;CAiB/B,EAhBJ,sBAAA,cAACC,KAAAA,QAAD;CACE,MAAK;CACL,MAAK;CACL,OAAO,QAAQ;CACf,SAAS;CACT,UAAU,YAAY;CAEf,EADN,QAAQ,QACF,EACT,sBAAA,cAACA,KAAAA,QAAD;CACE,MAAK;CACL,MAAK;CACL,OAAO,QAAQ;CACf,SAAS;CACT,UAAU,YAAY;CAEf,EADN,QAAQ,UACF,CACL;;;AC2BR,MAAA,QAAM,OAAOC,kCAAAA,QAAkB;AAC/B,MAAA,QAAM,OAAOC,+BAAAA,QAAe;AAC5B,MAAA,QAAM,OAAOC,wBAAAA,QAAQ;AACrB,MAAA,QAAM,OAAOC,2BAAAA,QAAW;AACxB,MAAA,QAAM,OAAOC,2BAAAA,QAAW;AACxB,MAAA,QAAM,OAAOC,yBAAAA,QAAS;AAEtB,MAAA,QAAM,QAAQ,GAAG,MAAM;CAErB,MAAM,QAAQ,EAAE;CAChB,MAAM,YAAY,MAAM;AACxB,OAAM,SAAS,SAAS,EAAE,WAAmB;EAC3C,MAAM,OAAO,aAAa,IAAI,QAAQ,MAAM,KAAK;AACjD,SAAO,UAAU,KAAK,KAAK,CAAC,IAAI;;EAElC;AAGF,MAAM,YAA8B;CAIlC,OAAO;CACP,OAAO;CAMP,OAAO;CACP,OAAO;CAKP,OAAO;CACP,OAAO;CAQP,OAAO;CAQP,QAAQ;CAYR,OAAO;CAGP,OAAO;CAcP,OAAO;CACP,OAAO;CACP,OAAO;CACR;AAED,MAAM,eAAe,WAAmB;AAEtC,QADkB,UAAU,WACR,OAAO,MAAM,IAAI,CAAC;;AAGxC,MAAM,2BAA2B;;;ACzIjC,MAAM,cAAA,GAAA,4CAAA,SD6IwC;CAE5C,eAAA,GAAA,MAAA,UAAqB;CACrB,eAAc,YAAA,GAAA,MAAA,SAAgB,QAAQ,CAAC,aAAa,aAAa,CAAC;CAClE,aAAY,SAAQ,KAAK,MAAM,QAAQ;CACvC,aAAY,SAAQ;EAClB,MAAM,QAAQ,KAAK,OAAO,KAAK;AAC/B,SAAO,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,gBAAgB;;CAE9D,UAAS,SAAQ,KAAK,MAAM;CAC5B,WAAU,SAAQ,KAAK,OAAO;CAC9B,UAAS,SAAQ,KAAK,MAAM;CAC5B,UAAS,SAAQ,KAAK,MAAM;CAC5B,YAAW,SAAQ,KAAK,QAAQ;CAChC,YAAW,SAAQ,KAAK,QAAQ;CAChC,iBAAgB,SAAQ,KAAK,aAAa;CAG1C,UAAU,MAAM,SAAS,KAAK,IAAI,MAAM,OAAO;CAC/C,WAAW,MAAM,SAAS,KAAK,IAAI,MAAM,QAAQ;CACjD,UAAU,MAAM,SAAS,KAAK,IAAI,MAAM,MAAM;CAC9C,UAAU,MAAM,SAAS,KAAK,KAAK,KAAK;CACxC,WAAW,MAAM,UAAU,KAAK,MAAM,MAAM;CAC5C,UAAU,MAAM,QAAQ,KAAK,KAAK,IAAI;CACtC,UAAU,MAAM,SAAS,KAAK,KAAK,KAAK;CACxC,YAAY,MAAM,WAAW,KAAK,OAAO,OAAO;CAChD,YAAY,MAAM,WAAW,KAAK,OAAO,OAAO;CAChD,iBAAiB,MAAM,iBAAiB,KAAK,YAAY,aAAa;CAGtE,UAAU,OAAO,UAAU,MAAM,QAAQ,MAAM;CAC/C,aAAY,SAAQ,KAAK,SAAS;CAElC,QAAQ;EACN,kBAAiB,YAAA,GAAA,MAAA,UAAiB,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,gBAAgB;EAC5F,mBAAmB,QAAQ,SAAS,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,QAAQ,EAAE;EAC/E,UAAU,QAAQ,SAAS,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,MAAM;EAClE,mBAAkB,YAAA,GAAA,MAAA,UAAiB,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,aAAa;EAC1F,iBAAgB,YAAA,GAAA,MAAA,UAAiB,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,YAAY,CAAC,aAAa;EACxF,SAAS,QAAQ,MAAM,WAAW,KAAK,OAAO,YAAY,OAAO,CAAC,CAAC,OAAO,OAAO;EACjF,QAAQ,QAAQ,MAAM,YAAY;GAChC,MAAM,YAAY,YAAY,OAAO;AACrC,QAAK,MAAM,UAAU,SAAS;IAC5B,MAAM,aAAa;AACnB,QAAI,OAAO,SAAS,KAAK,IAAI,OAAO,SAAS,KAAK,EAAE;KAElD,MAAM,OAAO,WAAW,MAAM,IAAI,CAAC;KACnC,MAAM,UAAU,WAAW,MAAM,IAAI,CAAC;KACtC,MAAM,aAAA,GAAA,MAAA,SAAkB,MAAM,OAAO,CAAC,QAAQ,OAAO,CAAC,OAAO,UAAU;AACvE,UAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,GAAG;MAC/B,MAAM,WAAW,UAAU,IAAI,GAAG,OAAO;AACzC,UAAI,SAAS,OAAO,KAAK,KAAK,QAC5B,QAAO;;AAGX,yBAAoB;AACpB,YAAO;;IAET,MAAM,QAAA,GAAA,MAAA,SAAa,YAAY,QAAQ,KAAK,CAAC,OAAO,UAAU;AAC9D,QAAI,KAAK,SAAS,CAChB,QAAO;;AAIX,OAAI,KACF,qBAAoB;AAEtB,UAAO;;EAEV;CACF,CCnNqD;;;;AAKtD,MAAa,mBAAmB,aAA6D;CAC3F,MAAM,EACJ,WACA,UACA,OACA,gBACA,OACA,WACA,MACA,WACA,SAAS,EAAE,EACX,eACA,WACA,aAAa,KACb,UACA,QACA,mBAAmB,oBAAoB,SAAS,OAAO,SAAS,eAChE,YACA,cAAc,eACd,GAAG,0BACD;CAEJ,MAAM,EACJ,cACA,mBACA,oBACA,wBACA,sBAAA,GAAA,mBAAA,gBACiB,SAAS;AAE5B,KAAI,aAAa,UAAU,aAAa,UACtC,QAAO;CAGT,MAAM,kBAAkB,WAAW,eAAe;AAElD,MACG,aAAa,aAAa,aAAa,kBACvC,SAAS,YAAY,SAAS,WAE/B,qBAAqB,UACrB,qBAAqB,kBACrB;AACA,MAAI,SAAS,QAAQ;GACnB,MAAM,UAAU,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,MAAM;AAC7C,QAAI,qBAAqB,OACvB,QACE,sBAAA,cAAC,WAAW,YAAZ;KACO;KACL,OAAO,aAAa,MAAA,GAAA,MAAA,SAAW,aAAa,IAAI,WAAW,GAAG;KAC9D,WAAW;KACD;KACV,aAAa;KACb,WAAU,MAAK,kBAAkB,GAAG,OAAO,WAAW,IAAI,IAAI,EAAE;KAChE,GAAI;KACJ,CAAA;aAEK,qBAAqB,SAC9B,QACE,sBAAA,cAACE,KAAAA,aAAD;KACO;KACL,MAAM;KACN,OAAO,aAAa,MAAM;KAC1B,WAAW;KACD;KACV,aAAa;KACb,WAAU,MAAK,kBAAkB,GAAG,EAAE;KACtC,GAAI;KACJ,CAAA;AAGN,WACE,sBAAA,cAACC,KAAAA,OAAD;KACO;KACL,MAAM;KACN,OAAO,aAAa,MAAM;KAC1B,WAAW;KACD;KACV,aAAa;KACb,WAAU,MAAK,kBAAkB,EAAE,OAAO,OAAO,EAAE;KACnD,GAAI;KACJ,CAAA;KAEJ;AACF,UACE,sBAAA,cAAC,QAAD;IAAM,eAAa;IAAmB;IAAkB;IAIjD,EAHJ,QAAQ,IACR,WACA,QAAQ,GACJ;;AAIX,SAAO,sBAAA,cAACC,mBAAAA,aAAD;GAAa,GAAI;GAAU,UAAA;GAAW,CAAA;;AAG/C,SAAQ,MAAR;EACE,KAAK;EACL,KAAK,cACH,QACE,sBAAA,cAAC,mBAAD;GACE,GAAI;GACO;GACJ;GACA;GACG;GACK;GACf,UAAU,SAAS;GACH;GAChB,SAAS;GACT,GAAI;GACJ,CAAA;EAGN,KAAK,WACH,QACE,sBAAA,cAACD,KAAAA,MAAM,UAAP;GACS;GACA;GACI;GACD;GACV,aAAa;GACb,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;GAC7C,GAAI;GACJ,CAAA;EAGN,KAAK,SACH,QACE,sBAAA,cAACE,KAAAA,QAAD;GACE,SAAS,CAAC,CAAC;GACJ;GACI;GACD;GACV,WAAU,MAAK,eAAe,EAAE;GAChC,GAAI;GACJ,CAAA;EAGN,KAAK,WACH,QACE,sBAAA,cAAC,QAAD;GAAa;GAAkB;GAQxB,EAPL,sBAAA,cAACC,KAAAA,UAAD;GACE,MAAK;GACK;GACV,WAAU,MAAK,eAAe,EAAE,OAAO,QAAQ;GAC/C,SAAS,CAAC,CAAC;GACX,GAAI;GACJ,CAAA,CACG;EAGX,KAAK,QACH,QACE,sBAAA,cAAC,QAAD;GAAiB;GAAkB;GAY5B,EAXJ,OAAO,KAAI,MACV,sBAAA,cAACC,KAAAA,OAAD;GACE,KAAK,EAAE;GACP,OAAO,EAAE;GACT,SAAS,UAAU,EAAE;GACX;GACV,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;GAC7C,GAAI;GAEE,EADL,EAAE,MACG,CACR,CACG;;AAIb,SAAQ,kBAAR;EACE,KAAK;EACL,KAAK,kBAAkB;AACrB,OAAI,aAAa,aAAa,aAAa,cAAc;IAEvD,MAAM,aAAa,aAAa,MAAM,GAAG,EAAE,CAAC,KAAK,OAAA,GAAA,MAAA,SAAiB,EAAE,CAAC;AACrE,WACE,sBAAA,cAAC,WAAW,aAAZ;KACE,OAAO,WAAW,OAAM,MAAK,EAAE,SAAS,CAAC,GAAG,aAAa,KAAA;KACzD,UAAU,qBAAqB;KACpB;KACD;KACV,aAAa,CAAC,iBAAiB,gBAAgB;KAG/C,WAEE,UAAS;MAEP,MAAM,SAAS,aADI,qBAAqB,mBAAmB,cAAc;MAEzE,MAAM,YAAY,OAAO,KAAI,MAAM,GAAG,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,KAAA,EAAW;AAChF,qBACE,YAAa,gBAAgB,aAAA,GAAA,mBAAA,UAAqB,WAAW,IAAI,GAAI,MACtE;;KAIL,GAAI;KACJ,CAAA;;GAIN,MAAM,aAAA,GAAA,MAAA,SAAkB,MAAM;AAC9B,UACE,sBAAA,cAAC,YAAD;IACE,OAAO,UAAU,SAAS,GAAG,YAAY,KAAA;IACzC,UAAU,qBAAqB;IACpB;IACD;IACV,aAAa;IACb,WAAW,IAAI,eAAe,eAAe,WAAW;IACxD,GAAI;IACJ,CAAA;;EAIN,KAAK,QAAQ;GACX,MAAM,aAAA,GAAA,MAAA,SAAkB,OAAO,WAAW;AAC1C,UACE,sBAAA,cAAC,WAAW,YAAZ;IACE,OAAO,UAAU,SAAS,GAAG,YAAY,KAAA;IAC9B;IACD;IACV,aAAa;IACb,WAAU,MAAK,eAAe,GAAG,OAAO,WAAW,IAAI,GAAG;IAC1D,GAAI;IACJ,CAAA;;EAIN,KAAK,SACH,QACE,sBAAA,cAACL,KAAAA,aAAD;GACE,MAAM;GACC;GACA;GACI;GACD;GACV,aAAa;GACb,UAAU;GACV,GAAI;GACJ,CAAA;;AAKR,KAAI,cAAc,SAChB,QACE,sBAAA,cAACC,KAAAA,OAAD;EACE,eAAa;EACb,MAAM;EACN,aAAa;EACb,OAAO,GAAG;EACH;EACI;EACD;EACV,WAAU,MAAK,mBAAmB,EAAE,OAAO,MAAM;EACjD,GAAI;EACJ,CAAA;AAIN,QACE,sBAAA,cAACA,KAAAA,OAAD;EACE,MAAM;EACC;EACA;EACI;EACD;EACV,aAAa;EACb,WAAU,MAAK,eAAe,EAAE,OAAO,MAAM;EAC7C,GAAI;EACJ,CAAA;;;;;;;ACtRN,MAAa,qBAAqB,EAChC,WACA,gBACA,SACA,OACA,OACA,UACA,UACA,eAEA,QAAQ,SACR,MAAM,OACN,WAAW,YACX,OAAO,QACP,OAAO,QACP,MAAM,OACN,SAAS,UACT,YAAY,aACZ,UAAU,WACV,OAAO,QACP,WAAW,YACX,QAAQ,SACR,GAAG,iBAC4C;CAE/C,MAAM,EAAE,UAAU,sBAAA,GAAA,mBAAA,kBAAsC;EACtD;EACA,eAAe;EACf,UAAU;EACV;EACD,CAAC;CACF,MAAM,EAAE,UAAU,gBAAgB,SAAA,GAAA,mBAAA,kBAAyB;EACzD;EAGA,eAAe,YAAY;EAC3B;EACA;EACD,CAAC;CAEF,MAAM,WAAWK,MAAM,aACpB,MAAyB;AACxB,MAAI,YAAY,CAAC,iBAAiB,MAAM,QAAQ,EAAE,CAGhD,mBAAA,GAAA,mBAAA,UAA0B,EAAE,CAAC;MAE7B,gBAAe,EAAE;IAGrB;EAAC;EAAe;EAAU;EAAkB;EAAe,CAC5D;AAED,QACE,sBAAA,cAACC,KAAAA,QAAD;EACE,GAAK,WAAW;GAAE,MAAM;GAAY,YAAY;GAAM,GAAG,EAAE;EACpD;EACI;EACX,uBAAuB;EACb;EACV,OAAO;EACG;EACV,kBAAiB;EACR;EACT,GAAI;EACJ,CAAA;;;;;;;AC/CN,MAAa,sBAA8D;CACzE,eAAe;CACf,YAAY;CACZ,WAAW;CACX,cAAc;CACd,aAAa;CACb,eAAe;CAChB;;;;AAKD,MAAa,mBAA0C;CACrD,aAAa,EAAE,OAAO,sBAAA,cAACC,kBAAAA,eAAAA,KAAgB,EAAE;CACzC,YAAY,EAAE,OAAO,sBAAA,cAACA,kBAAAA,eAAAA,KAAgB,EAAE;CACxC,WAAW,EAAE,OAAO,sBAAA,cAACC,kBAAAA,cAAAA,KAAe,EAAE;CACtC,gBAAgB,EAAE,OAAO,sBAAA,cAACA,kBAAAA,cAAAA,KAAe,EAAE;CAC3C,WAAW,EAAE,OAAO,sBAAA,cAACC,kBAAAA,gBAAAA,KAAiB,EAAE;CACxC,UAAU,EAAE,OAAO,sBAAA,cAACA,kBAAAA,gBAAAA,KAAiB,EAAE;CACvC,mBAAmB,EAAE,OAAO,sBAAA,cAACC,kBAAAA,cAAAA,KAAe,EAAE;CAC9C,kBAAkB,EAAE,OAAO,sBAAA,cAACA,kBAAAA,cAAAA,KAAe,EAAE;CAC7C,eAAe,EAAE,OAAO,sBAAA,cAACC,kBAAAA,YAAAA,KAAa,EAAE;CACxC,iBAAiB,EAAE,OAAO,sBAAA,cAACC,kBAAAA,cAAAA,KAAe,EAAE;CAC7C;;;;AAKD,MAAa,oBAAA,GAAA,mBAAA,0BAAyE;CACpF,iBAAiB;CACjB,cAAc;CACf,CAAC"}
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 +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 // 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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"}
@@ -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.124.0/helpers/objectWithoutPropertiesLoose.js
14
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/objectWithoutProperties.js
25
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/typeof.js
36
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/toPrimitive.js
46
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/toPropertyKey.js
58
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/defineProperty.js
64
+ //#region \0@oxc-project+runtime@0.130.0/helpers/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.124.0/helpers/objectSpread2.js
74
+ //#region \0@oxc-project+runtime@0.130.0/helpers/objectSpread2.js
75
75
  function ownKeys(e, r) {
76
76
  var t = Object.keys(e);
77
77
  if (Object.getOwnPropertySymbols) {
@@ -234,7 +234,6 @@ const localeMap = {
234
234
  const parseLocale = (locale) => {
235
235
  return localeMap[locale] || locale.split("_")[0];
236
236
  };
237
- const parseNoMatchNotice = () => {};
238
237
  const generateConfig = {
239
238
  getNow: () => dayjs(),
240
239
  getFixedDate: (string) => dayjs(string, ["YYYY-M-DD", "YYYY-MM-DD"]),
@@ -281,13 +280,12 @@ const generateConfig = {
281
280
  const nextWeek = firstWeek.add(j, "week");
282
281
  if (nextWeek.format("Wo") === weekStr) return nextWeek;
283
282
  }
284
- parseNoMatchNotice();
285
283
  return null;
286
284
  }
287
285
  const date = dayjs(formatText, format, true).locale(localeStr);
288
286
  if (date.isValid()) return date;
289
287
  }
290
- if (text) parseNoMatchNotice();
288
+ if (text) {}
291
289
  return null;
292
290
  }
293
291
  }
@@ -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 // 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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"}
@@ -104,7 +104,6 @@ const localeMap = {
104
104
  const parseLocale = (locale) => {
105
105
  return localeMap[locale] || locale.split("_")[0];
106
106
  };
107
- const parseNoMatchNotice = () => {};
108
107
  //#endregion
109
108
  //#region src/AntDValueEditor.tsx
110
109
  const DatePicker = generatePicker({
@@ -153,13 +152,12 @@ const DatePicker = generatePicker({
153
152
  const nextWeek = firstWeek.add(j, "week");
154
153
  if (nextWeek.format("Wo") === weekStr) return nextWeek;
155
154
  }
156
- parseNoMatchNotice();
157
155
  return null;
158
156
  }
159
157
  const date = dayjs(formatText, format, true).locale(localeStr);
160
158
  if (date.isValid()) return date;
161
159
  }
162
- if (text) parseNoMatchNotice();
160
+ if (text) {}
163
161
  return null;
164
162
  }
165
163
  }
@@ -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 // 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 +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":"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"}
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":"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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.15.0",
4
+ "version": "8.16.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -52,26 +52,26 @@
52
52
  "typecheck:watch": "tsc --noEmit --watch"
53
53
  },
54
54
  "devDependencies": {
55
- "@ant-design/icons": "^6.1.1",
55
+ "@ant-design/icons": "^6.2.3",
56
56
  "@testing-library/dom": "^10.4.1",
57
57
  "@testing-library/react": "^16.3.2",
58
58
  "@types/react": "^19.2.10",
59
59
  "@vitejs/plugin-react": "^6.0.1",
60
60
  "antd": "^6.3.5",
61
61
  "dayjs": "^1.11.20",
62
- "react": "^19.2.5",
63
- "react-dom": "^19.2.5",
64
- "react-querybuilder": "8.15.0",
62
+ "react": "^19.2.6",
63
+ "react-dom": "^19.2.6",
64
+ "react-querybuilder": "8.16.1",
65
65
  "rollup-plugin-visualizer": "^7.0.1",
66
66
  "typescript": "^6.0.2",
67
- "vite": "^8.0.8"
67
+ "vite": "^8.0.12"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "@ant-design/icons": ">=5",
71
71
  "antd": ">=5.11.0",
72
72
  "dayjs": ">=1",
73
73
  "react": ">=18",
74
- "react-querybuilder": "8.15.0"
74
+ "react-querybuilder": "8.16.1"
75
75
  },
76
- "gitHead": "4832c97de3424b7fbace2b010bad5a99d781b14f"
76
+ "gitHead": "5627d65ef9d7aac102f71258913ec7af6f63c106"
77
77
  }