@ceed/ads 1.8.0-next.10 → 1.8.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,6 @@
1
1
  import React from "react";
2
2
  import Input from "../Input";
3
3
  interface BaseDateRangePickerProps {
4
- /**
5
- * props.format 의 형식을 따라야 한다.
6
- */
7
4
  value?: string;
8
5
  defaultValue?: string;
9
6
  onChange?: (event: {
@@ -22,14 +19,7 @@ interface BaseDateRangePickerProps {
22
19
  maxDate?: string;
23
20
  disableFuture?: boolean;
24
21
  disablePast?: boolean;
25
- /**
26
- * value, onChange의 값은 해당 포맷을 따른다.
27
- */
28
22
  format?: string;
29
- /**
30
- * Input 에 표시되는 값의 포맷을 지정한다.
31
- */
32
- displayFormat?: string;
33
23
  inputReadOnly?: boolean;
34
24
  hideClearButton?: boolean;
35
25
  }
@@ -4,18 +4,8 @@ interface FilterMenuProps {
4
4
  filters?: FilterItem[];
5
5
  values?: Record<string, any>;
6
6
  defaultValues?: Record<string, any>;
7
- resetValues?: Record<string, any>;
8
7
  onChange?: (values: Record<string, any>) => void;
9
8
  onClose?: () => void;
10
- /**
11
- * 필터에 있는 모든 옵션을 비우는 버튼을 제공하는 옵션.
12
- * 일반적으로 아이콘 필터 버튼을 사용해서 필터가 모두 제공될 때 사용한다.
13
- */
14
- useReset?: boolean;
15
- /**
16
- * 하나의 필터 항목만 값을 비우는 버튼을 제공하는 옵션. filters가 1개만 있을때 Clear 버튼을 표시하고 2개 이상이면 의미 없다.
17
- */
18
- useClear?: boolean;
19
9
  }
20
10
  declare function FilterMenu(props: FilterMenuProps): React.JSX.Element;
21
11
  declare namespace FilterMenu {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { FilterPercentageRangeItem } from "../types";
3
3
  interface PercentageRangeProps extends FilterPercentageRangeItem {
4
- onChange?: (value: [number | null, number | null] | null) => void;
4
+ onChange?: (value: [number, number] | null) => void;
5
5
  }
6
6
  declare function PercentageRange(props: PercentageRangeProps): React.JSX.Element | null;
7
7
  declare namespace PercentageRange {
@@ -24,7 +24,7 @@ export interface FilterRadioGroupItem extends FilterBaseItem<string | number> {
24
24
  value: string | number;
25
25
  }[];
26
26
  }
27
- export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, "minDate" | "maxDate" | "disableFuture" | "disablePast" | "format" | "displayFormat" | "inputReadOnly" | "hideClearButton"> {
27
+ export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, "minDate" | "maxDate" | "disableFuture" | "disablePast" | "format" | "inputReadOnly" | "hideClearButton"> {
28
28
  type: "date-range";
29
29
  }
30
30
  export interface FilterCurrencyInputItem extends FilterBaseItem<number>, Pick<CurrencyInputProps, "max" | "placeholder" | "useMinorUnit" | "currency"> {
@@ -39,7 +39,7 @@ export interface FilterPercentageInputItem extends FilterBaseItem<number>, Pick<
39
39
  export interface FilterPercentageRangeItem extends FilterBaseItem<[number, number]>, Pick<PercentageInputProps, "useMinorUnit" | "maxDecimalScale" | "min" | "max"> {
40
40
  type: "percentage-range";
41
41
  }
42
- export interface FilterAutocompleteItem extends FilterBaseItem<string | number>, Pick<AutocompleteProps<any, boolean>, "options" | "multiple" | "placeholder"> {
42
+ export interface FilterAutocompleteItem extends FilterBaseItem<string | number>, Pick<AutocompleteProps<any, boolean>, "options" | "multiple"> {
43
43
  type: "autocomplete";
44
44
  }
45
45
  export type FilterItem = FilterCheckboxGroupItem | FilterRadioGroupItem | FilterDateRangeItem | FilterCurrencyInputItem | FilterCurrencyRangeItem | FilterPercentageInputItem | FilterPercentageRangeItem | FilterAutocompleteItem;
@@ -23,7 +23,6 @@ export { Divider } from "./Divider";
23
23
  export { InsetDrawer } from "./InsetDrawer";
24
24
  export { Dropdown } from "./Dropdown";
25
25
  export { FilterMenu } from "./FilterMenu";
26
- export type * from "./FilterMenu";
27
26
  export { Uploader } from "./Uploader";
28
27
  export { FormControl } from "./FormControl";
29
28
  export { FormHelperText } from "./FormHelperText";
package/dist/index.cjs CHANGED
@@ -4157,9 +4157,7 @@ var CalendarButton2 = (0, import_joy34.styled)(IconButton_default, {
4157
4157
  "&:focus": {
4158
4158
  "--Icon-color": "currentColor",
4159
4159
  outlineOffset: `${theme.getCssVar("focus-thickness")}`,
4160
- outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
4161
- "palette-focusVisible"
4162
- )}`
4160
+ outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`
4163
4161
  }
4164
4162
  }));
4165
4163
  var StyledPopper2 = (0, import_joy34.styled)(import_base3.Popper, {
@@ -4185,32 +4183,6 @@ var DateRangePickerRoot = (0, import_joy34.styled)("div", {
4185
4183
  })({
4186
4184
  width: "100%"
4187
4185
  });
4188
- var validValueFormat2 = (value, format) => {
4189
- try {
4190
- const [date1Str, date2Str] = value.split(" - ");
4191
- if (!date1Str || !date2Str) {
4192
- return false;
4193
- }
4194
- const parsedDate1 = parseDate2(date1Str, format);
4195
- const parsedDate2 = parseDate2(date2Str, format);
4196
- if (parsedDate1.toString() === "Invalid Date" || parsedDate2.toString() === "Invalid Date") {
4197
- return false;
4198
- }
4199
- const formattedValue = formatValueString2(
4200
- [parsedDate1, parsedDate2],
4201
- format
4202
- );
4203
- if (value !== formattedValue) {
4204
- return false;
4205
- }
4206
- const regex = new RegExp(
4207
- `^${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")} - ${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")}$`
4208
- );
4209
- return regex.test(value);
4210
- } catch (e) {
4211
- return false;
4212
- }
4213
- };
4214
4186
  var formatValueString2 = ([date1, date2], format) => {
4215
4187
  const getStr = (date) => {
4216
4188
  let day = `${date.getDate()}`;
@@ -4307,7 +4279,6 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4307
4279
  sx,
4308
4280
  className,
4309
4281
  format = "YYYY/MM/DD",
4310
- displayFormat = "YYYY/MM/DD",
4311
4282
  size,
4312
4283
  inputReadOnly,
4313
4284
  hideClearButton,
@@ -4324,27 +4295,12 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4324
4295
  [props.name, onChange]
4325
4296
  )
4326
4297
  );
4327
- const [displayValue, setDisplayValue] = (0, import_react26.useState)(
4328
- () => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
4329
- );
4330
4298
  const [anchorEl, setAnchorEl] = (0, import_react26.useState)(null);
4331
4299
  const open = Boolean(anchorEl);
4332
4300
  const calendarValue = (0, import_react26.useMemo)(
4333
4301
  () => value ? parseDates(value, format) : void 0,
4334
4302
  [value, format]
4335
4303
  );
4336
- (0, import_react26.useEffect)(() => {
4337
- if (value) {
4338
- try {
4339
- const dates = parseDates(value, format);
4340
- const newDisplayValue = formatValueString2(dates, displayFormat);
4341
- setDisplayValue(newDisplayValue);
4342
- } catch (error2) {
4343
- }
4344
- } else {
4345
- setDisplayValue("");
4346
- }
4347
- }, [displayFormat, value, format]);
4348
4304
  (0, import_react26.useEffect)(() => {
4349
4305
  if (!anchorEl) {
4350
4306
  innerRef.current?.blur();
@@ -4355,41 +4311,9 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4355
4311
  ]);
4356
4312
  const handleChange = (0, import_react26.useCallback)(
4357
4313
  (event) => {
4358
- const value2 = event.target.value;
4359
- setDisplayValue(
4360
- value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2
4361
- );
4362
- setValue(value2);
4363
- },
4364
- [displayFormat, format, setValue]
4365
- );
4366
- const handleDisplayInputChange = (0, import_react26.useCallback)(
4367
- (event) => {
4368
- if (event.target.value === "") {
4369
- handleChange({
4370
- target: {
4371
- name: props.name,
4372
- value: ""
4373
- }
4374
- });
4375
- return;
4376
- }
4377
- const isValidDisplayValue = validValueFormat2(
4378
- event.target.value,
4379
- displayFormat
4380
- );
4381
- if (isValidDisplayValue) {
4382
- const dates = parseDates(event.target.value, displayFormat);
4383
- const formattedValue = formatValueString2(dates, format);
4384
- handleChange({
4385
- target: {
4386
- name: props.name,
4387
- value: formattedValue
4388
- }
4389
- });
4390
- }
4314
+ setValue(event.target.value);
4391
4315
  },
4392
- [displayFormat, format, handleChange, props.name]
4316
+ [setValue]
4393
4317
  );
4394
4318
  const handleCalendarToggle = (0, import_react26.useCallback)(
4395
4319
  (event) => {
@@ -4401,26 +4325,10 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4401
4325
  const handleCalendarChange = (0, import_react26.useCallback)(
4402
4326
  ([date1, date2]) => {
4403
4327
  if (!date1 || !date2) return;
4404
- const formattedValue = formatValueString2([date1, date2], format);
4405
- if (props.value !== void 0) {
4406
- onChange?.({ target: { name: props.name, value: formattedValue } });
4407
- } else {
4408
- setDisplayValue(
4409
- formatValueString2([date1, date2], displayFormat)
4410
- );
4411
- setValue(formattedValue);
4412
- }
4328
+ setValue(formatValueString2([date1, date2], format));
4413
4329
  setAnchorEl(null);
4414
4330
  },
4415
- [
4416
- props.value,
4417
- props.name,
4418
- onChange,
4419
- setValue,
4420
- setAnchorEl,
4421
- format,
4422
- displayFormat
4423
- ]
4331
+ [setValue, setAnchorEl, format]
4424
4332
  );
4425
4333
  const handleInputMouseDown = (0, import_react26.useCallback)(
4426
4334
  (event) => {
@@ -4438,21 +4346,17 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4438
4346
  color: error ? "danger" : innerProps.color,
4439
4347
  ref,
4440
4348
  size,
4441
- value: displayValue,
4442
- onChange: handleDisplayInputChange,
4349
+ value,
4350
+ onChange: handleChange,
4443
4351
  disabled,
4444
4352
  required,
4445
- placeholder: `${displayFormat} - ${displayFormat}`,
4353
+ placeholder: `${format} - ${format}`,
4446
4354
  slotProps: {
4447
4355
  input: {
4448
4356
  component: TextMaskAdapter5,
4449
4357
  ref: innerRef,
4450
- format: displayFormat,
4451
- sx: {
4452
- "&:hover": {
4453
- cursor: inputReadOnly || readOnly ? "default" : "text"
4454
- }
4455
- },
4358
+ format,
4359
+ sx: { "&:hover": { cursor: inputReadOnly || readOnly ? "default" : "text" } },
4456
4360
  onMouseDown: handleInputMouseDown
4457
4361
  }
4458
4362
  },
@@ -4522,7 +4426,6 @@ var DateRangePicker = (0, import_react26.forwardRef)(
4522
4426
  color: "neutral",
4523
4427
  onClick: () => {
4524
4428
  setValue("");
4525
- setDisplayValue("");
4526
4429
  setAnchorEl(null);
4527
4430
  }
4528
4431
  },
@@ -4679,7 +4582,7 @@ function CheckboxGroup(props) {
4679
4582
  {
4680
4583
  key: `${id}-${option.value}`,
4681
4584
  label: option.label,
4682
- checked: internalValue?.includes(option.value),
4585
+ checked: internalValue.includes(option.value),
4683
4586
  onChange: handleCheckboxChange(option.value)
4684
4587
  }
4685
4588
  )));
@@ -4763,7 +4666,6 @@ function DateRange(props) {
4763
4666
  disableFuture,
4764
4667
  disablePast,
4765
4668
  format = "YYYY/MM/DD",
4766
- displayFormat,
4767
4669
  inputReadOnly,
4768
4670
  hideClearButton
4769
4671
  } = props;
@@ -4788,12 +4690,6 @@ function DateRange(props) {
4788
4690
  const now = /* @__PURE__ */ new Date();
4789
4691
  const currentYear = now.getFullYear();
4790
4692
  const currentMonth = now.getMonth();
4791
- const formatDate = (date) => {
4792
- const year = date.getFullYear();
4793
- const month = String(date.getMonth() + 1).padStart(2, "0");
4794
- const day = String(date.getDate()).padStart(2, "0");
4795
- return `${year}-${month}-${day}`;
4796
- };
4797
4693
  switch (option) {
4798
4694
  case "all-time":
4799
4695
  return null;
@@ -4801,26 +4697,24 @@ function DateRange(props) {
4801
4697
  const startOfMonth = new Date(currentYear, currentMonth, 1);
4802
4698
  const endOfMonth = new Date(currentYear, currentMonth + 1, 0);
4803
4699
  return [
4804
- formatDate(startOfMonth),
4805
- formatDate(endOfMonth)
4700
+ startOfMonth.toISOString().split("T")[0],
4701
+ endOfMonth.toISOString().split("T")[0]
4806
4702
  ];
4807
4703
  }
4808
4704
  case "this-year": {
4809
4705
  const startOfYear = new Date(currentYear, 0, 1);
4810
4706
  const endOfYear = new Date(currentYear, 11, 31);
4811
4707
  return [
4812
- formatDate(startOfYear),
4813
- formatDate(endOfYear)
4708
+ startOfYear.toISOString().split("T")[0],
4709
+ endOfYear.toISOString().split("T")[0]
4814
4710
  ];
4815
4711
  }
4816
4712
  case "last-month": {
4817
- const lastMonthYear = currentMonth === 0 ? currentYear - 1 : currentYear;
4818
- const lastMonth = currentMonth === 0 ? 11 : currentMonth - 1;
4819
- const startOfLastMonth = new Date(lastMonthYear, lastMonth, 1);
4820
- const endOfLastMonth = new Date(lastMonthYear, lastMonth + 1, 0);
4713
+ const startOfLastMonth = new Date(currentYear, currentMonth - 1, 1);
4714
+ const endOfLastMonth = new Date(currentYear, currentMonth, 0);
4821
4715
  return [
4822
- formatDate(startOfLastMonth),
4823
- formatDate(endOfLastMonth)
4716
+ startOfLastMonth.toISOString().split("T")[0],
4717
+ endOfLastMonth.toISOString().split("T")[0]
4824
4718
  ];
4825
4719
  }
4826
4720
  case "custom":
@@ -4831,32 +4725,12 @@ function DateRange(props) {
4831
4725
  },
4832
4726
  [internalValue]
4833
4727
  );
4834
- const determineOptionFromValue = (0, import_react32.useCallback)(
4835
- (value2) => {
4836
- if (!value2) {
4837
- return "all-time";
4838
- }
4839
- const options = ["this-month", "this-year", "last-month"];
4840
- for (const option of options) {
4841
- const optionRange = getDateRangeForOption(option);
4842
- if (optionRange && optionRange[0] === value2[0] && optionRange[1] === value2[1]) {
4843
- return option;
4844
- }
4845
- }
4846
- return "custom";
4847
- },
4848
- [getDateRangeForOption]
4849
- );
4850
4728
  const customDateRangeValue = (0, import_react32.useMemo)(() => {
4851
4729
  if (selectedOption === "custom" && internalValue) {
4852
4730
  return `${internalValue[0]} - ${internalValue[1]}`;
4853
4731
  }
4854
4732
  return "";
4855
4733
  }, [selectedOption, internalValue]);
4856
- (0, import_react32.useEffect)(() => {
4857
- const newOption = determineOptionFromValue(internalValue);
4858
- setSelectedOption(newOption);
4859
- }, [internalValue, determineOptionFromValue]);
4860
4734
  const handleOptionChange = (0, import_react32.useCallback)(
4861
4735
  (event) => {
4862
4736
  const newOption = event.target.value;
@@ -4918,7 +4792,6 @@ function DateRange(props) {
4918
4792
  disableFuture,
4919
4793
  disablePast,
4920
4794
  format,
4921
- displayFormat,
4922
4795
  inputReadOnly,
4923
4796
  hideClearButton
4924
4797
  }
@@ -5250,15 +5123,21 @@ function PercentageRange(props) {
5250
5123
  min,
5251
5124
  max
5252
5125
  } = props;
5253
- const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
5126
+ const [internalValue, setInternalValue] = useControlledState(
5127
+ value,
5128
+ null,
5129
+ onChange
5130
+ );
5254
5131
  const minValue = internalValue?.[0];
5255
5132
  const maxValue = internalValue?.[1];
5256
5133
  const handleMinChange = (0, import_react37.useCallback)(
5257
5134
  (event) => {
5258
5135
  const newMinValue = event.target.value;
5259
5136
  const currentMaxValue = maxValue;
5260
- if (newMinValue !== void 0) {
5261
- setInternalValue([newMinValue, currentMaxValue || null]);
5137
+ if (newMinValue !== void 0 && currentMaxValue !== void 0) {
5138
+ setInternalValue([newMinValue, currentMaxValue]);
5139
+ } else if (newMinValue !== void 0) {
5140
+ setInternalValue([newMinValue, newMinValue]);
5262
5141
  } else {
5263
5142
  setInternalValue(null);
5264
5143
  }
@@ -5269,8 +5148,10 @@ function PercentageRange(props) {
5269
5148
  (event) => {
5270
5149
  const newMaxValue = event.target.value;
5271
5150
  const currentMinValue = minValue;
5272
- if (newMaxValue !== void 0) {
5273
- setInternalValue([currentMinValue || null, newMaxValue]);
5151
+ if (currentMinValue !== void 0 && newMaxValue !== void 0) {
5152
+ setInternalValue([currentMinValue, newMaxValue]);
5153
+ } else if (newMaxValue !== void 0) {
5154
+ setInternalValue([newMaxValue, newMaxValue]);
5274
5155
  } else {
5275
5156
  setInternalValue(null);
5276
5157
  }
@@ -5293,7 +5174,7 @@ function PercentageRange(props) {
5293
5174
  PercentageInput,
5294
5175
  {
5295
5176
  label: "Minimum",
5296
- value: minValue ?? void 0,
5177
+ value: minValue,
5297
5178
  onChange: handleMinChange,
5298
5179
  useMinorUnit,
5299
5180
  maxDecimalScale,
@@ -5307,7 +5188,7 @@ function PercentageRange(props) {
5307
5188
  PercentageInput,
5308
5189
  {
5309
5190
  label: "Maximum",
5310
- value: maxValue ?? void 0,
5191
+ value: maxValue,
5311
5192
  onChange: handleMaxChange,
5312
5193
  useMinorUnit,
5313
5194
  maxDecimalScale,
@@ -5325,7 +5206,15 @@ PercentageRange.displayName = "PercentageRange";
5325
5206
  var import_react38 = __toESM(require("react"));
5326
5207
  var import_joy50 = require("@mui/joy");
5327
5208
  function Autocomplete2(props) {
5328
- const { id, label, value, onChange, options, multiple, hidden, placeholder } = props;
5209
+ const {
5210
+ id,
5211
+ label,
5212
+ value,
5213
+ onChange,
5214
+ options,
5215
+ multiple,
5216
+ hidden
5217
+ } = props;
5329
5218
  const [internalValue, setInternalValue] = useControlledState(
5330
5219
  value,
5331
5220
  void 0,
@@ -5363,7 +5252,6 @@ function Autocomplete2(props) {
5363
5252
  onChange: handleChange,
5364
5253
  options,
5365
5254
  multiple,
5366
- placeholder,
5367
5255
  "aria-labelledby": label ? id : void 0
5368
5256
  }
5369
5257
  ));
@@ -5382,16 +5270,7 @@ var componentMap = {
5382
5270
  autocomplete: Autocomplete2
5383
5271
  };
5384
5272
  function FilterMenu(props) {
5385
- const {
5386
- filters,
5387
- values,
5388
- defaultValues,
5389
- resetValues = {},
5390
- onChange,
5391
- onClose,
5392
- useClear,
5393
- useReset
5394
- } = props;
5273
+ const { filters, values, defaultValues, onChange, onClose } = props;
5395
5274
  const [internalValues, setInternalValues] = useControlledState(
5396
5275
  values,
5397
5276
  defaultValues || {},
@@ -5412,55 +5291,25 @@ function FilterMenu(props) {
5412
5291
  onClose?.();
5413
5292
  }, [onChange, onClose, internalValues]);
5414
5293
  const handleClear = (0, import_react39.useCallback)(() => {
5415
- const clearedValues = resetValues || {};
5294
+ const clearedValues = defaultValues || {};
5416
5295
  setInternalValues(clearedValues);
5417
5296
  onChange?.(clearedValues);
5418
5297
  onClose?.();
5419
- }, [resetValues, setInternalValues, onChange, onClose]);
5420
- return /* @__PURE__ */ import_react39.default.createElement(
5421
- ModalDialog,
5422
- {
5423
- sx: {
5424
- position: "relative",
5425
- transform: "none",
5426
- left: "initial",
5427
- top: "initial"
5428
- }
5429
- },
5430
- /* @__PURE__ */ import_react39.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react39.default.createElement(import_joy51.Stack, { spacing: 6 }, filters?.map((filter) => {
5431
- const FilterComponent = componentMap[filter.type];
5432
- return FilterComponent ? /* @__PURE__ */ import_react39.default.createElement(
5433
- FilterComponent,
5434
- {
5435
- key: filter.id,
5436
- ...filter,
5437
- value: internalValues[filter.id],
5438
- onChange: (value) => {
5439
- handleFilterChange(filter.id, value);
5440
- }
5441
- }
5442
- ) : null;
5443
- }))),
5444
- /* @__PURE__ */ import_react39.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ import_react39.default.createElement(
5445
- import_joy51.Button,
5446
- {
5447
- variant: "plain",
5448
- color: "neutral",
5449
- size: "md",
5450
- onClick: handleClear
5451
- },
5452
- "Clear"
5453
- ), useReset && !useClear && /* @__PURE__ */ import_react39.default.createElement(
5454
- import_joy51.Button,
5298
+ }, [defaultValues, setInternalValues, onChange, onClose]);
5299
+ return /* @__PURE__ */ import_react39.default.createElement(ModalDialog, null, /* @__PURE__ */ import_react39.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react39.default.createElement(import_joy51.Stack, { spacing: 6 }, filters?.map((filter) => {
5300
+ const FilterComponent = componentMap[filter.type];
5301
+ return FilterComponent ? /* @__PURE__ */ import_react39.default.createElement(
5302
+ FilterComponent,
5455
5303
  {
5456
- variant: "plain",
5457
- color: "neutral",
5458
- size: "md",
5459
- onClick: handleClear
5460
- },
5461
- "Reset"
5462
- ), /* @__PURE__ */ import_react39.default.createElement(import_joy51.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
5463
- );
5304
+ key: filter.id,
5305
+ ...filter,
5306
+ value: internalValues[filter.id],
5307
+ onChange: (value) => {
5308
+ handleFilterChange(filter.id, value);
5309
+ }
5310
+ }
5311
+ ) : null;
5312
+ }))), /* @__PURE__ */ import_react39.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, /* @__PURE__ */ import_react39.default.createElement(import_joy51.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), /* @__PURE__ */ import_react39.default.createElement(import_joy51.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply")));
5464
5313
  }
5465
5314
  FilterMenu.displayName = "FilterMenu";
5466
5315
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export { useTheme, useColorScheme, useThemeProps, ButtonGroup, alertClasses, boxClasses, buttonClasses, checkboxClasses, dividerClasses, iconButtonClasses, inputClasses, menuClasses, menuButtonClasses, menuItemClasses, optionClasses, radioClasses, radioGroupClasses, selectClasses, switchClasses, tableClasses, textareaClasses, typographyClasses, formControlClasses, formLabelClasses, formHelperTextClasses, gridClasses, stackClasses, sheetClasses, modalClasses, modalCloseClasses, modalDialogClasses, modalOverflowClasses, dialogTitleClasses, dialogContentClasses, dialogActionsClasses, tooltipClasses, tabsClasses, tabListClasses, tabPanelClasses, accordionClasses, accordionDetailsClasses, accordionGroupClasses as accordionsClasses, accordionSummaryClasses, AutocompleteListbox, AutocompleteOption, autocompleteClasses, autocompleteListboxClasses, autocompleteOptionClasses, avatarClasses, avatarGroupClasses, AspectRatio, aspectRatioClasses, Badge, badgeClasses, breadcrumbsClasses, cardClasses, cardActionsClasses, cardContentClasses, cardCoverClasses, cardOverflowClasses, chipClasses, CircularProgress, circularProgressClasses, Drawer, drawerClasses, LinearProgress, linearProgressClasses, List, listClasses, ListDivider, listDividerClasses, ListItem, listItemClasses, ListItemButton, listItemButtonClasses, ListItemContent, listItemContentClasses, ListItemDecorator, listItemDecoratorClasses, ListSubheader, listSubheaderClasses, Link, linkClasses, Slider, sliderClasses, stepClasses, StepButton, stepButtonClasses, stepperClasses, Skeleton, skeletonClasses, styled, } from "@mui/joy";
2
2
  export type { ButtonProps, Theme } from "@mui/joy";
3
3
  export { Accordion, Accordions, Alert, Autocomplete, AccordionDetails, AccordionSummary, Avatar, AvatarGroup, Box, Breadcrumbs, Button, Calendar, Card, CardActions, CardContent, CardCover, CardOverflow, Checkbox, Chip, Container, CssBaseline, CurrencyInput, DataTable, DatePicker, DateRangePicker, DialogActions, DialogContent, DialogTitle, DialogFrame, Divider, Dropdown, FilterMenu, extendTheme, InsetDrawer, Uploader, FormControl, FormHelperText, FormLabel, Grid, IconButton, IconMenuButton, InfoSign, Input, Markdown, Menu, MenuButton, MenuItem, Modal, ModalClose, ModalDialog, ModalOverflow, ModalFrame, MonthPicker, MonthRangePicker, PercentageInput, ProfileMenu, Pagination, NavigationGroup, NavigationItem, Navigator, Radio, RadioGroup, RadioList, Select, Option, Sheet, Stack, Step, StepIndicator, Stepper, Switch, theme, Table, TableHead, TableBody, Tabs, Tab, TabList, TabPanel, Textarea, ThemeProvider, Tooltip, Typography, } from "./components";
4
- export type * from "./components";