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

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.
@@ -6,6 +6,15 @@ interface FilterMenuProps {
6
6
  defaultValues?: Record<string, any>;
7
7
  onChange?: (values: Record<string, any>) => void;
8
8
  onClose?: () => void;
9
+ /**
10
+ * 필터에 있는 모든 옵션을 비우는 버튼을 제공하는 옵션.
11
+ * 일반적으로 아이콘 필터 버튼을 사용해서 필터가 모두 제공될 때 사용한다.
12
+ */
13
+ useReset?: boolean;
14
+ /**
15
+ * 하나의 필터 항목만 값을 비우는 버튼을 제공하는 옵션. filters가 1개만 있을때 Clear 버튼을 표시하고 2개 이상이면 의미 없다.
16
+ */
17
+ useClear?: boolean;
9
18
  }
10
19
  declare function FilterMenu(props: FilterMenuProps): React.JSX.Element;
11
20
  declare namespace FilterMenu {
@@ -23,6 +23,7 @@ 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";
26
27
  export { Uploader } from "./Uploader";
27
28
  export { FormControl } from "./FormControl";
28
29
  export { FormHelperText } from "./FormHelperText";
package/dist/index.cjs CHANGED
@@ -5270,7 +5270,15 @@ var componentMap = {
5270
5270
  autocomplete: Autocomplete2
5271
5271
  };
5272
5272
  function FilterMenu(props) {
5273
- const { filters, values, defaultValues, onChange, onClose } = props;
5273
+ const {
5274
+ filters,
5275
+ values,
5276
+ defaultValues,
5277
+ onChange,
5278
+ onClose,
5279
+ useClear,
5280
+ useReset
5281
+ } = props;
5274
5282
  const [internalValues, setInternalValues] = useControlledState(
5275
5283
  values,
5276
5284
  defaultValues || {},
@@ -5296,20 +5304,50 @@ function FilterMenu(props) {
5296
5304
  onChange?.(clearedValues);
5297
5305
  onClose?.();
5298
5306
  }, [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,
5303
- {
5304
- key: filter.id,
5305
- ...filter,
5306
- value: internalValues[filter.id],
5307
- onChange: (value) => {
5308
- handleFilterChange(filter.id, value);
5309
- }
5307
+ return /* @__PURE__ */ import_react39.default.createElement(
5308
+ ModalDialog,
5309
+ {
5310
+ sx: {
5311
+ position: "relative",
5312
+ transform: "none",
5313
+ left: "initial",
5314
+ top: "initial"
5310
5315
  }
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")));
5316
+ },
5317
+ /* @__PURE__ */ import_react39.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react39.default.createElement(import_joy51.Stack, { spacing: 6 }, filters?.map((filter) => {
5318
+ const FilterComponent = componentMap[filter.type];
5319
+ return FilterComponent ? /* @__PURE__ */ import_react39.default.createElement(
5320
+ FilterComponent,
5321
+ {
5322
+ key: filter.id,
5323
+ ...filter,
5324
+ value: internalValues[filter.id],
5325
+ onChange: (value) => {
5326
+ handleFilterChange(filter.id, value);
5327
+ }
5328
+ }
5329
+ ) : null;
5330
+ }))),
5331
+ /* @__PURE__ */ import_react39.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ import_react39.default.createElement(
5332
+ import_joy51.Button,
5333
+ {
5334
+ variant: "plain",
5335
+ color: "neutral",
5336
+ size: "md",
5337
+ onClick: handleClear
5338
+ },
5339
+ "Clear"
5340
+ ), useReset && !useClear && /* @__PURE__ */ import_react39.default.createElement(
5341
+ import_joy51.Button,
5342
+ {
5343
+ variant: "plain",
5344
+ color: "neutral",
5345
+ size: "md",
5346
+ onClick: handleClear
5347
+ },
5348
+ "Reset"
5349
+ ), /* @__PURE__ */ import_react39.default.createElement(import_joy51.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
5350
+ );
5313
5351
  }
5314
5352
  FilterMenu.displayName = "FilterMenu";
5315
5353
 
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
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";
package/dist/index.js CHANGED
@@ -5240,7 +5240,15 @@ var componentMap = {
5240
5240
  autocomplete: Autocomplete2
5241
5241
  };
5242
5242
  function FilterMenu(props) {
5243
- const { filters, values, defaultValues, onChange, onClose } = props;
5243
+ const {
5244
+ filters,
5245
+ values,
5246
+ defaultValues,
5247
+ onChange,
5248
+ onClose,
5249
+ useClear,
5250
+ useReset
5251
+ } = props;
5244
5252
  const [internalValues, setInternalValues] = useControlledState(
5245
5253
  values,
5246
5254
  defaultValues || {},
@@ -5266,20 +5274,50 @@ function FilterMenu(props) {
5266
5274
  onChange?.(clearedValues);
5267
5275
  onClose?.();
5268
5276
  }, [defaultValues, setInternalValues, onChange, onClose]);
5269
- return /* @__PURE__ */ React37.createElement(ModalDialog, null, /* @__PURE__ */ React37.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ React37.createElement(Stack10, { spacing: 6 }, filters?.map((filter) => {
5270
- const FilterComponent = componentMap[filter.type];
5271
- return FilterComponent ? /* @__PURE__ */ React37.createElement(
5272
- FilterComponent,
5273
- {
5274
- key: filter.id,
5275
- ...filter,
5276
- value: internalValues[filter.id],
5277
- onChange: (value) => {
5278
- handleFilterChange(filter.id, value);
5279
- }
5277
+ return /* @__PURE__ */ React37.createElement(
5278
+ ModalDialog,
5279
+ {
5280
+ sx: {
5281
+ position: "relative",
5282
+ transform: "none",
5283
+ left: "initial",
5284
+ top: "initial"
5280
5285
  }
5281
- ) : null;
5282
- }))), /* @__PURE__ */ React37.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, /* @__PURE__ */ React37.createElement(Button2, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), /* @__PURE__ */ React37.createElement(Button2, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply")));
5286
+ },
5287
+ /* @__PURE__ */ React37.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ React37.createElement(Stack10, { spacing: 6 }, filters?.map((filter) => {
5288
+ const FilterComponent = componentMap[filter.type];
5289
+ return FilterComponent ? /* @__PURE__ */ React37.createElement(
5290
+ FilterComponent,
5291
+ {
5292
+ key: filter.id,
5293
+ ...filter,
5294
+ value: internalValues[filter.id],
5295
+ onChange: (value) => {
5296
+ handleFilterChange(filter.id, value);
5297
+ }
5298
+ }
5299
+ ) : null;
5300
+ }))),
5301
+ /* @__PURE__ */ React37.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ React37.createElement(
5302
+ Button2,
5303
+ {
5304
+ variant: "plain",
5305
+ color: "neutral",
5306
+ size: "md",
5307
+ onClick: handleClear
5308
+ },
5309
+ "Clear"
5310
+ ), useReset && !useClear && /* @__PURE__ */ React37.createElement(
5311
+ Button2,
5312
+ {
5313
+ variant: "plain",
5314
+ color: "neutral",
5315
+ size: "md",
5316
+ onClick: handleClear
5317
+ },
5318
+ "Reset"
5319
+ ), /* @__PURE__ */ React37.createElement(Button2, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
5320
+ );
5283
5321
  }
5284
5322
  FilterMenu.displayName = "FilterMenu";
5285
5323