@carto/meridian-ds 1.5.0-alpha.split → 1.5.1-alpha-virtual-autocomplete.9

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/{Alert-BiOR9aar.cjs → Alert-BzEgeyQJ.cjs} +1 -1
  3. package/dist/{Alert-CywtIMOj.js → Alert-CnaTtNJd.js} +1 -1
  4. package/dist/{MenuItem-CXnnE5lK.js → MenuItem-C1DvWMry.js} +10 -6
  5. package/dist/{MenuItem-Br2jY2lt.cjs → MenuItem-C4bG5WHw.cjs} +10 -6
  6. package/dist/{TablePaginationActions-KpTvhN4Y.js → TablePaginationActions-Cz5Hbi6N.js} +9 -1
  7. package/dist/{TablePaginationActions-CFGXm44W.cjs → TablePaginationActions-mbbjzV6Y.cjs} +8 -0
  8. package/dist/components/index.cjs +421 -53
  9. package/dist/components/index.js +423 -55
  10. package/dist/theme/index.cjs +13 -9
  11. package/dist/theme/index.js +14 -10
  12. package/dist/types/components/molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
  13. package/dist/types/components/molecules/Autocomplete/AutocompleteList.d.ts +13 -0
  14. package/dist/types/components/molecules/Autocomplete/AutocompleteList.d.ts.map +1 -0
  15. package/dist/types/components/molecules/Autocomplete/CreatableAutocomplete.d.ts +1 -1
  16. package/dist/types/components/molecules/Autocomplete/CreatableAutocomplete.d.ts.map +1 -1
  17. package/dist/types/components/molecules/Autocomplete/MultipleAutocomplete.d.ts +1 -1
  18. package/dist/types/components/molecules/Autocomplete/MultipleAutocomplete.d.ts.map +1 -1
  19. package/dist/types/components/molecules/Autocomplete/index.d.ts +3 -0
  20. package/dist/types/components/molecules/Autocomplete/index.d.ts.map +1 -1
  21. package/dist/types/components/molecules/Autocomplete/types.d.ts +107 -7
  22. package/dist/types/components/molecules/Autocomplete/types.d.ts.map +1 -1
  23. package/dist/types/components/molecules/Autocomplete/useAutocomplete.d.ts +11 -0
  24. package/dist/types/components/molecules/Autocomplete/useAutocomplete.d.ts.map +1 -0
  25. package/dist/types/components/molecules/Autocomplete/useAutocompleteRenderOption.d.ts +2 -1
  26. package/dist/types/components/molecules/Autocomplete/useAutocompleteRenderOption.d.ts.map +1 -1
  27. package/dist/types/components/molecules/Autocomplete/useMultipleAutocomplete.d.ts +26 -1
  28. package/dist/types/components/molecules/Autocomplete/useMultipleAutocomplete.d.ts.map +1 -1
  29. package/dist/types/components/molecules/Autocomplete/utils.d.ts +107 -0
  30. package/dist/types/components/molecules/Autocomplete/utils.d.ts.map +1 -1
  31. package/dist/types/components/molecules/Menu/Menu.d.ts.map +1 -1
  32. package/dist/types/components/molecules/Menu/MenuItem.d.ts.map +1 -1
  33. package/dist/types/components/molecules/Menu/MenuItemFilter.d.ts.map +1 -1
  34. package/dist/types/components/molecules/Menu/MenuList.d.ts.map +1 -1
  35. package/dist/types/components/molecules/MultipleSelectField/MultipleSelectField.d.ts.map +1 -1
  36. package/dist/types/theme/sections/components/forms.d.ts.map +1 -1
  37. package/dist/types/theme/sections/components/navigation.d.ts.map +1 -1
  38. package/dist/types/theme/theme-constants.d.ts +4 -0
  39. package/dist/types/theme/theme-constants.d.ts.map +1 -1
  40. package/dist/widgets/index.cjs +2 -2
  41. package/dist/widgets/index.js +2 -2
  42. package/package.json +2 -3
  43. package/dist/types/components/molecules/Autocomplete/ListBoxWithFilter.d.ts +0 -17
  44. package/dist/types/components/molecules/Autocomplete/ListBoxWithFilter.d.ts.map +0 -1
@@ -3,11 +3,11 @@ var _a, _b, _c, _d, _e, _f, _g, _h;
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const material = require("@mui/material");
5
5
  const jsxRuntime = require("react/jsx-runtime");
6
- const TablePaginationActions = require("../TablePaginationActions-CFGXm44W.cjs");
6
+ const TablePaginationActions = require("../TablePaginationActions-mbbjzV6Y.cjs");
7
7
  const iconsMaterial = require("@mui/icons-material");
8
8
  const ArrowDown = require("../ArrowDown-8fLj23Ge.cjs");
9
9
  const xDatePickers = require("@mui/x-date-pickers");
10
- const MenuItem = require("../MenuItem-Br2jY2lt.cjs");
10
+ const MenuItem = require("../MenuItem-C4bG5WHw.cjs");
11
11
  const paletteUtils = require("../paletteUtils-B9ybmwiI.cjs");
12
12
  const tooltipArrowSize = 1;
13
13
  const tooltipSeparation = 0.5;
@@ -1834,7 +1834,7 @@ const formsOverrides = {
1834
1834
  }),
1835
1835
  option: ({ ownerState, theme: theme2 }) => ({
1836
1836
  "&.MuiAutocomplete-option": {
1837
- minHeight: theme2.spacing(4),
1837
+ minHeight: TablePaginationActions.MENU_ITEM_SIZE_DEFAULT,
1838
1838
  padding: theme2.spacing(0.5, 2),
1839
1839
  ...theme2.typography.body2,
1840
1840
  transition: "background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
@@ -2044,7 +2044,7 @@ const navigationOverrides = {
2044
2044
  "&.MuiMenu-paper": {
2045
2045
  minWidth: theme2.spacing(8),
2046
2046
  // 64px, defined by design
2047
- maxHeight: theme2.spacing(39),
2047
+ maxHeight: TablePaginationActions.MENU_LIST_MAX_SIZE,
2048
2048
  // 312px, defined by design
2049
2049
  "&:focus-visible": {
2050
2050
  outline: "none !important",
@@ -2060,14 +2060,14 @@ const navigationOverrides = {
2060
2060
  root: ({ theme: theme2 }) => ({
2061
2061
  ...theme2.typography.body2,
2062
2062
  columnGap: theme2.spacing(1),
2063
- minHeight: theme2.spacing(4),
2063
+ minHeight: TablePaginationActions.MENU_ITEM_SIZE_DEFAULT,
2064
2064
  padding: theme2.spacing(0.75, 1, 0.75, 1.5),
2065
2065
  whiteSpace: "normal",
2066
2066
  transition: "background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
2067
2067
  [theme2.breakpoints.up("sm")]: {
2068
2068
  // Overrides an unwanted Mui default style
2069
2069
  "&.MuiButtonBase-root": {
2070
- minHeight: theme2.spacing(4)
2070
+ minHeight: TablePaginationActions.MENU_ITEM_SIZE_DEFAULT
2071
2071
  }
2072
2072
  },
2073
2073
  "&:hover": {
@@ -2134,7 +2134,7 @@ const navigationOverrides = {
2134
2134
  }
2135
2135
  }),
2136
2136
  dense: ({ theme: theme2 }) => ({
2137
- minHeight: theme2.spacing(3),
2137
+ minHeight: TablePaginationActions.MENU_ITEM_SIZE_DENSE,
2138
2138
  paddingTop: 0,
2139
2139
  paddingBottom: 0,
2140
2140
  ".MuiTypography-root": {
@@ -2144,7 +2144,7 @@ const navigationOverrides = {
2144
2144
  [theme2.breakpoints.up("sm")]: {
2145
2145
  // Overrides an unwanted Mui default style
2146
2146
  "&.MuiButtonBase-root": {
2147
- minHeight: theme2.spacing(3)
2147
+ minHeight: TablePaginationActions.MENU_ITEM_SIZE_DENSE
2148
2148
  }
2149
2149
  }
2150
2150
  })
@@ -2158,7 +2158,7 @@ const navigationOverrides = {
2158
2158
  ".MuiPopover-root &, .MuiPopper-root &, .base-Popper-root &": {
2159
2159
  minWidth: theme2.spacing(8),
2160
2160
  // 64px, defined by design
2161
- maxHeight: theme2.spacing(39),
2161
+ maxHeight: TablePaginationActions.MENU_LIST_MAX_SIZE,
2162
2162
  // 312px, defined by design
2163
2163
  overflowY: "auto",
2164
2164
  "&:focus-visible": {
@@ -3127,6 +3127,10 @@ exports.BREAKPOINTS = TablePaginationActions.BREAKPOINTS;
3127
3127
  exports.ICON_SIZE_LARGE = TablePaginationActions.ICON_SIZE_LARGE;
3128
3128
  exports.ICON_SIZE_MEDIUM = TablePaginationActions.ICON_SIZE_MEDIUM;
3129
3129
  exports.ICON_SIZE_SMALL = TablePaginationActions.ICON_SIZE_SMALL;
3130
+ exports.MENU_ITEM_SIZE_DEFAULT = TablePaginationActions.MENU_ITEM_SIZE_DEFAULT;
3131
+ exports.MENU_ITEM_SIZE_DENSE = TablePaginationActions.MENU_ITEM_SIZE_DENSE;
3132
+ exports.MENU_ITEM_SIZE_EXTENDED = TablePaginationActions.MENU_ITEM_SIZE_EXTENDED;
3133
+ exports.MENU_LIST_MAX_SIZE = TablePaginationActions.MENU_LIST_MAX_SIZE;
3130
3134
  exports.NOTIFICATION_DURATION_IN_MS = TablePaginationActions.NOTIFICATION_DURATION_IN_MS;
3131
3135
  exports.SPACING = TablePaginationActions.SPACING;
3132
3136
  exports.getSpacing = TablePaginationActions.getSpacing;
@@ -1,12 +1,12 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h;
2
2
  import { alpha, Tooltip, responsiveFontSizes, createTheme } from "@mui/material";
3
3
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
4
- import { T as Typography, a as TablePaginationActions, I as ICON_SIZE_LARGE, b as ICON_SIZE_MEDIUM, c as ICON_SIZE_SMALL, g as getSpacing, A as APPBAR_SIZE, B as BREAKPOINTS, S as SPACING } from "../TablePaginationActions-KpTvhN4Y.js";
5
- import { N } from "../TablePaginationActions-KpTvhN4Y.js";
4
+ import { T as Typography, a as TablePaginationActions, I as ICON_SIZE_LARGE, b as ICON_SIZE_MEDIUM, c as ICON_SIZE_SMALL, g as getSpacing, M as MENU_ITEM_SIZE_DEFAULT, d as MENU_LIST_MAX_SIZE, e as MENU_ITEM_SIZE_DENSE, A as APPBAR_SIZE, B as BREAKPOINTS, S as SPACING } from "../TablePaginationActions-Cz5Hbi6N.js";
5
+ import { f, N } from "../TablePaginationActions-Cz5Hbi6N.js";
6
6
  import { Cancel, EventOutlined, ChevronRightOutlined, ChevronLeftOutlined, ExpandMoreOutlined, CheckCircleOutlined } from "@mui/icons-material";
7
7
  import { A as ArrowDown } from "../ArrowDown-CY_wMVJT.js";
8
8
  import { renderDigitalClockTimeView } from "@mui/x-date-pickers";
9
- import { M as MenuItem } from "../MenuItem-CXnnE5lK.js";
9
+ import { M as MenuItem } from "../MenuItem-C1DvWMry.js";
10
10
  import { c as commonPalette } from "../paletteUtils-BHqJlHm9.js";
11
11
  import { g } from "../paletteUtils-BHqJlHm9.js";
12
12
  const tooltipArrowSize = 1;
@@ -1834,7 +1834,7 @@ const formsOverrides = {
1834
1834
  }),
1835
1835
  option: ({ ownerState, theme: theme2 }) => ({
1836
1836
  "&.MuiAutocomplete-option": {
1837
- minHeight: theme2.spacing(4),
1837
+ minHeight: MENU_ITEM_SIZE_DEFAULT,
1838
1838
  padding: theme2.spacing(0.5, 2),
1839
1839
  ...theme2.typography.body2,
1840
1840
  transition: "background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
@@ -2044,7 +2044,7 @@ const navigationOverrides = {
2044
2044
  "&.MuiMenu-paper": {
2045
2045
  minWidth: theme2.spacing(8),
2046
2046
  // 64px, defined by design
2047
- maxHeight: theme2.spacing(39),
2047
+ maxHeight: MENU_LIST_MAX_SIZE,
2048
2048
  // 312px, defined by design
2049
2049
  "&:focus-visible": {
2050
2050
  outline: "none !important",
@@ -2060,14 +2060,14 @@ const navigationOverrides = {
2060
2060
  root: ({ theme: theme2 }) => ({
2061
2061
  ...theme2.typography.body2,
2062
2062
  columnGap: theme2.spacing(1),
2063
- minHeight: theme2.spacing(4),
2063
+ minHeight: MENU_ITEM_SIZE_DEFAULT,
2064
2064
  padding: theme2.spacing(0.75, 1, 0.75, 1.5),
2065
2065
  whiteSpace: "normal",
2066
2066
  transition: "background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
2067
2067
  [theme2.breakpoints.up("sm")]: {
2068
2068
  // Overrides an unwanted Mui default style
2069
2069
  "&.MuiButtonBase-root": {
2070
- minHeight: theme2.spacing(4)
2070
+ minHeight: MENU_ITEM_SIZE_DEFAULT
2071
2071
  }
2072
2072
  },
2073
2073
  "&:hover": {
@@ -2134,7 +2134,7 @@ const navigationOverrides = {
2134
2134
  }
2135
2135
  }),
2136
2136
  dense: ({ theme: theme2 }) => ({
2137
- minHeight: theme2.spacing(3),
2137
+ minHeight: MENU_ITEM_SIZE_DENSE,
2138
2138
  paddingTop: 0,
2139
2139
  paddingBottom: 0,
2140
2140
  ".MuiTypography-root": {
@@ -2144,7 +2144,7 @@ const navigationOverrides = {
2144
2144
  [theme2.breakpoints.up("sm")]: {
2145
2145
  // Overrides an unwanted Mui default style
2146
2146
  "&.MuiButtonBase-root": {
2147
- minHeight: theme2.spacing(3)
2147
+ minHeight: MENU_ITEM_SIZE_DENSE
2148
2148
  }
2149
2149
  }
2150
2150
  })
@@ -2158,7 +2158,7 @@ const navigationOverrides = {
2158
2158
  ".MuiPopover-root &, .MuiPopper-root &, .base-Popper-root &": {
2159
2159
  minWidth: theme2.spacing(8),
2160
2160
  // 64px, defined by design
2161
- maxHeight: theme2.spacing(39),
2161
+ maxHeight: MENU_LIST_MAX_SIZE,
2162
2162
  // 312px, defined by design
2163
2163
  overflowY: "auto",
2164
2164
  "&:focus-visible": {
@@ -3128,6 +3128,10 @@ export {
3128
3128
  ICON_SIZE_LARGE,
3129
3129
  ICON_SIZE_MEDIUM,
3130
3130
  ICON_SIZE_SMALL,
3131
+ MENU_ITEM_SIZE_DEFAULT,
3132
+ MENU_ITEM_SIZE_DENSE,
3133
+ f as MENU_ITEM_SIZE_EXTENDED,
3134
+ MENU_LIST_MAX_SIZE,
3131
3135
  N as NOTIFICATION_DURATION_IN_MS,
3132
3136
  SPACING,
3133
3137
  cartoThemeOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE3C,iBAAS,aAAa,CACpB,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CAiB/B;AAID,QAAA,MAAM,YAAY,EAAgC,CAChD,KAAK,EACL,QAA4C,SAA3B,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,iBAAiB,CACtB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;AAErC,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG3C,iBAAS,aAAa,CACpB,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CAsB/B;AAID,QAAA,MAAM,YAAY,EAAgC,CAChD,KAAK,EACL,QAA4C,SAA3B,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,iBAAiB,CACtB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;AAErC,eAAe,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ declare const AutocompleteList: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3
+ showFilters?: boolean;
4
+ allSelected?: boolean;
5
+ someSelected?: boolean;
6
+ handleSelectAll?: () => void;
7
+ multiple?: boolean;
8
+ extended?: boolean;
9
+ itemHeight?: number;
10
+ maxListHeight?: number;
11
+ } & React.RefAttributes<HTMLUListElement>>;
12
+ export default AutocompleteList;
13
+ //# sourceMappingURL=AutocompleteList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutocompleteList.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/AutocompleteList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAA;AA6MhE,QAAA,MAAM,gBAAgB;;;;;;;;;0CAAgC,CAAA;AACtD,eAAe,gBAAgB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { ForwardedRef } from 'react';
2
2
  import { ChipTypeMap } from '@mui/material';
3
3
  import { CreatableAutocompleteProps } from './types';
4
- declare function _CreatableAutocomplete<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']>({ newItemLabel, newItemIcon, getOptionLabel, multiple, disableCloseOnSelect, disabled, loading, showFilters, options, value, onChange, getLimitTagsText, ...props }: CreatableAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, ref: ForwardedRef<HTMLElement>): import("react/jsx-runtime").JSX.Element;
4
+ declare function _CreatableAutocomplete<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']>({ newItemLabel, newItemIcon, getOptionLabel, multiple, disableCloseOnSelect, disabled, loading, showFilters, showCounter, counterFormatter, counterText, allSelectedText, options, value, onChange, getLimitTagsText, renderTags, itemHeight, maxListHeight, extended, groupBy, ...props }: CreatableAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, ref: ForwardedRef<HTMLElement>): import("react/jsx-runtime").JSX.Element;
5
5
  declare const CreatableAutocomplete: <Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]>(props: CreatableAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
6
6
  ref?: ForwardedRef<HTMLElement>;
7
7
  }) => ReturnType<typeof _CreatableAutocomplete>;
@@ -1 +1 @@
1
- {"version":3,"file":"CreatableAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/CreatableAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAOtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAGpD,iBAAS,sBAAsB,CAC7B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,YAAY,EACZ,WAAW,EACX,cAAsC,EACtC,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,OAAY,EACZ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,0BAA0B,CAC3B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CA2D/B;AAID,QAAA,MAAM,qBAAqB,EAAyC,CAClE,KAAK,EACL,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,0BAA0B,CAC/B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE9C,eAAe,qBAAqB,CAAA"}
1
+ {"version":3,"file":"CreatableAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/CreatableAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAWtB,OAAO,EAAE,0BAA0B,EAAyB,MAAM,SAAS,CAAA;AAG3E,iBAAS,sBAAsB,CAC7B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,YAAY,EACZ,WAAW,EACX,cAAsC,EACtC,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,OAAY,EACZ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,0BAA0B,CAC3B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CA6E/B;AAID,QAAA,MAAM,qBAAqB,EAAyC,CAClE,KAAK,EACL,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,0BAA0B,CAC/B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE9C,eAAe,qBAAqB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { ForwardedRef } from 'react';
2
2
  import { ChipTypeMap } from '@mui/material';
3
3
  import { MultipleAutocompleteProps } from './types';
4
- declare function _MultipleAutocomplete<Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']>({ renderOption, disableCloseOnSelect, disabled, loading, showFilters, options, value, onChange, getOptionLabel, getLimitTagsText, ...props }: MultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, ref: ForwardedRef<HTMLElement>): import("react/jsx-runtime").JSX.Element;
4
+ declare function _MultipleAutocomplete<Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']>({ renderOption, disableCloseOnSelect, disabled, loading, showFilters, showCounter, counterFormatter, counterText, allSelectedText, options, value, onChange, getOptionLabel, getLimitTagsText, renderTags, itemHeight, maxListHeight, extended, groupBy, ...props }: MultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, ref: ForwardedRef<HTMLElement>): import("react/jsx-runtime").JSX.Element;
5
5
  declare const MultipleAutocomplete: <Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]>(props: MultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
6
6
  ref?: ForwardedRef<HTMLElement>;
7
7
  }) => ReturnType<typeof _MultipleAutocomplete>;
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/MultipleAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAMtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGnD,iBAAS,qBAAqB,CAC5B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,YAAY,EACZ,oBAA2B,EAC3B,QAAQ,EACR,OAAO,EACP,WAAW,EACX,OAAO,EACP,KAAK,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,yBAAyB,CAC1B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CA6C/B;AAID,QAAA,MAAM,oBAAoB,EAAwC,CAChE,KAAK,EACL,QAA2C,SAA1B,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,yBAAyB,CAC9B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7C,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"MultipleAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/MultipleAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,WAAW,EAGZ,MAAM,eAAe,CAAA;AAMtB,OAAO,EAAE,yBAAyB,EAAyB,MAAM,SAAS,CAAA;AAG1E,iBAAS,qBAAqB,CAC5B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,EACE,YAAY,EACZ,oBAA2B,EAC3B,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,OAAO,EACP,KAAK,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yBAAyB,CAC1B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,2CA8D/B;AAID,QAAA,MAAM,oBAAoB,EAAwC,CAChE,KAAK,EACL,QAA2C,SAA1B,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAwD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAgD,SAA/B,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAyE,SAAnD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAEzE,KAAK,EAAE,yBAAyB,CAC9B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACpC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7C,eAAe,oBAAoB,CAAA"}
@@ -1,4 +1,7 @@
1
1
  export { default as Autocomplete } from './Autocomplete';
2
2
  export { default as CreatableAutocomplete } from './CreatableAutocomplete';
3
3
  export { default as MultipleAutocomplete } from './MultipleAutocomplete';
4
+ export { default as AutocompleteList } from './AutocompleteList';
5
+ export { default as useAutocomplete } from './useAutocomplete';
6
+ export { createAutocompleteGroupByList, isAutocompleteListGroupHeader, AUTOCOMPLETE_GROUP_HEADER_PROPERTY, } from './utils';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,SAAS,CAAA"}
@@ -1,28 +1,104 @@
1
1
  import { ChipTypeMap, AutocompleteProps as MUIAutocompleteProps } from '@mui/material';
2
2
  import { MenuItemProps } from '../Menu/MenuItem';
3
+ import { HTMLAttributes } from 'react';
4
+ import { AUTOCOMPLETE_GROUP_HEADER_PROPERTY } from './utils';
3
5
  type BaseAutocompleteProps<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = Omit<MUIAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'ref'> & {
4
6
  loading?: boolean;
7
+ /**
8
+ * Height of each item in pixels when virtualized.
9
+ * @default 32
10
+ */
11
+ itemHeight?: number;
12
+ /**
13
+ * Maximum height of the listbox in pixels when virtualized.
14
+ * @default 312
15
+ */
16
+ maxListHeight?: number;
17
+ /**
18
+ * If true, uses larger item height (48px) for extended menu items.
19
+ * @default false
20
+ */
21
+ extended?: boolean;
22
+ /**
23
+ * @deprecated since Meridian v1.6.0 - This prop breaks virtualization.
24
+ * Use createAutocompleteGroupByList instead to create a flat list with group headers:
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * import { createAutocompleteGroupByList } from "@carto/meridian-ds"
29
+ *
30
+ * const groupedOptions = createAutocompleteGroupByList(
31
+ * rawOptions,
32
+ * (option) => option.category
33
+ * )
34
+ *
35
+ * <MultipleAutocomplete
36
+ * options={groupedOptions}
37
+ * // ... other props
38
+ * />
39
+ * ```
40
+ *
41
+ * This approach maintains virtualization performance while providing proper grouping.
42
+ */
43
+ groupBy?: (option: Value) => string;
5
44
  };
6
- export type AutocompleteProps<Value, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = Omit<BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'multiple'>;
7
- export type MultipleAutocompleteProps<Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
45
+ type BaseMultipleAutocompleteProps<Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
8
46
  /**
9
- * Controls visibility of filter options in the dropdown menu.
47
+ * If true, the popup will display a filter option for multiple selection.
48
+ * @default false
10
49
  */
11
50
  showFilters?: boolean;
51
+ /**
52
+ * If true, the menu will not close when an option is selected.
53
+ * @default true
54
+ */
55
+ disableCloseOnSelect?: boolean;
56
+ /**
57
+ * If true, displays a counter (e.g., "3 items selected") instead of individual tags.
58
+ * @default false
59
+ */
60
+ showCounter?: boolean;
61
+ /**
62
+ * Custom formatter function for counter tags. Takes precedence over counterText/allSelectedText.
63
+ * If not provided, will use counterText and allSelectedText to create a simple formatter.
64
+ * Only applies when showCounter is true.
65
+ */
66
+ counterFormatter?: (params: {
67
+ selectedCount: number;
68
+ totalCount: number;
69
+ selectedItems: readonly unknown[];
70
+ allItems: readonly unknown[];
71
+ getOptionLabel: (option: unknown) => string;
72
+ }) => string;
73
+ /**
74
+ * Text to display with the counter (e.g., "selected", "chosen").
75
+ * Only used if counterFormatter is not provided and showCounter is true.
76
+ * @default "selected"
77
+ */
78
+ counterText?: string;
79
+ /**
80
+ * Text to display when all items are selected (e.g., "All selected", "All chosen").
81
+ * Only used if counterFormatter is not provided and showCounter is true.
82
+ * @default "All selected"
83
+ */
84
+ allSelectedText?: string;
12
85
  };
13
- export type CreatableAutocompleteProps<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
86
+ export type AutocompleteProps<Value, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = Omit<BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'multiple'>;
87
+ export type MultipleAutocompleteProps<Value, Multiple extends boolean | undefined = true, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = BaseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & BaseMultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>;
88
+ export type CreatableAutocompleteProps<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> = BaseMultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
14
89
  /**
15
90
  * Text for "create new item" option. String (used directly), function (for custom formatting), or undefined (uses translated "Add" text).
16
91
  */
17
92
  newItemLabel?: string | ((value: string) => React.ReactNode);
18
93
  /**
19
- * Icon to display alongside the "create new item" option.
94
+ * Icon to display next to the "Create new item" option.
20
95
  */
21
96
  newItemIcon?: React.ReactNode;
22
97
  /**
23
- * Controls visibility of filter options in the dropdown menu.
98
+ * If true, the input accepts multiple values. The default is `false`.
99
+ * @default false
24
100
  */
25
- showFilters?: boolean;
101
+ multiple?: Multiple;
26
102
  };
27
103
  export type CreatableValueProps = {
28
104
  inputValue: string;
@@ -38,5 +114,29 @@ export type AutocompleteRenderOptionProps = Pick<MenuItemProps, 'dense' | 'disab
38
114
  secondaryText?: string;
39
115
  multiple?: boolean;
40
116
  };
117
+ export type AutocompleteListProps = HTMLAttributes<HTMLElement> & {
118
+ showFilters?: boolean;
119
+ allSelected?: boolean;
120
+ someSelected?: boolean;
121
+ handleSelectAll?: () => void;
122
+ multiple?: boolean;
123
+ extended?: boolean;
124
+ /**
125
+ * Height of each item in pixels
126
+ */
127
+ itemHeight?: number;
128
+ /**
129
+ * Maximum height of the listbox in pixels
130
+ */
131
+ maxListHeight?: number;
132
+ };
133
+ /**
134
+ * Type for group header options that are injected into the autocomplete options list
135
+ */
136
+ export type AutocompleteListGroupHeaderProps = {
137
+ [AUTOCOMPLETE_GROUP_HEADER_PROPERTY]: true;
138
+ title: string;
139
+ extended?: boolean;
140
+ };
41
141
  export {};
42
142
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,IAAI,oBAAoB,EAC1C,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,KAAK,qBAAqB,CACxB,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,KAAK,CACN,GAAG;IACF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAC3B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,IAAI,CACN,qBAAqB,CACnB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,UAAU,CACX,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,qBAAqB,CACvB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IACF;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,0BAA0B,CACpC,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,qBAAqB,CACvB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5D;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,aAAa,EACX,OAAO,GACP,UAAU,GACV,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,UAAU,GACV,SAAS,GACT,OAAO,CACV,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,IAAI,oBAAoB,EAC1C,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAA;AAE5D,KAAK,qBAAqB,CACxB,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,KAAK,CACN,GAAG;IACF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,CAAA;CACpC,CAAA;AAED,KAAK,6BAA6B,CAChC,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,qBAAqB,CACvB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;QACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;KAC5C,KAAK,MAAM,CAAA;IACZ;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAC3B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,IAAI,CACN,qBAAqB,CACnB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,EACD,UAAU,CACX,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAC3C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,qBAAqB,CACvB,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GACC,6BAA6B,CAC3B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,CAAA;AAEH,MAAM,MAAM,0BAA0B,CACpC,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,aAAa,SAAS,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,IACvE,6BAA6B,CAC/B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,aAAa,CACd,GAAG;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5D;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,aAAa,EACX,OAAO,GACP,UAAU,GACV,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,UAAU,GACV,SAAS,GACT,OAAO,CACV,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IAChE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,CAAC,kCAAkC,CAAC,EAAE,IAAI,CAAA;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}
@@ -0,0 +1,11 @@
1
+ type UseAutocompleteProps<Value> = {
2
+ getOptionLabel?: (option: Value) => string;
3
+ };
4
+ export default function useAutocomplete<Value>({ getOptionLabel, }: UseAutocompleteProps<Value>): {
5
+ singleRenderOption: (props: React.HTMLAttributes<HTMLLIElement>, option: Value, state: {
6
+ selected: boolean;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ getOptionLabel: (option: Value) => string;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=useAutocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/useAutocomplete.tsx"],"names":[],"mappings":"AAOA,KAAK,oBAAoB,CAAC,KAAK,IAAI;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,EAC7C,cAAsC,GACvC,EAAE,oBAAoB,CAAC,KAAK,CAAC;gCAenB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,UAClC,KAAK,SACN;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE;6BAZU,KAAK;EA4B9C"}
@@ -1,8 +1,9 @@
1
1
  import { HTMLAttributes, Key, ReactNode } from 'react';
2
+ import { AutocompleteListGroupHeaderProps } from './types';
2
3
  export default function useAutocompleteRenderOption<Value>(): {
3
4
  renderOption: (props: HTMLAttributes<HTMLLIElement> & {
4
5
  key?: Key;
5
- }, option: Value, state: {
6
+ }, option: Value | AutocompleteListGroupHeaderProps, state: {
6
7
  selected: boolean;
7
8
  }, getOptionLabel?: (option: Value) => string, customIcon?: ReactNode) => import("react/jsx-runtime").JSX.Element;
8
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAutocompleteRenderOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/useAutocompleteRenderOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQhE,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAAK;0BAE9C,cAAc,CAAC,aAAa,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,UAC5C,KAAK,SACN;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,mBACX,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,eAC7B,SAAS;EAmGzB"}
1
+ {"version":3,"file":"useAutocompleteRenderOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/useAutocompleteRenderOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKhE,OAAO,EACL,gCAAgC,EAEjC,MAAM,SAAS,CAAA;AAGhB,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAAK;0BAE9C,cAAc,CAAC,aAAa,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,UAC5C,KAAK,GAAG,gCAAgC,SACzC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,mBACX,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,eAC7B,SAAS;EAsHzB"}
@@ -5,8 +5,32 @@ type UseMultipleAutocompleteProps<Value, Multiple extends boolean | undefined =
5
5
  value?: AutocompleteValue<Value, Multiple, DisableClearable, FreeSolo>;
6
6
  onChange?: (event: SyntheticEvent, value: AutocompleteValue<Value, Multiple, DisableClearable, FreeSolo>, reason: AutocompleteChangeReason, details?: AutocompleteChangeDetails<Value>) => void;
7
7
  getOptionLabel?: (option: Value) => string;
8
+ size?: 'small' | 'medium';
9
+ /**
10
+ * Custom formatter function for counter tags. Takes precedence over counterText/allSelectedText.
11
+ * If not provided, will use counterText and allSelectedText to create a simple formatter.
12
+ */
13
+ counterFormatter?: (params: {
14
+ selectedCount: number;
15
+ totalCount: number;
16
+ selectedItems: readonly unknown[];
17
+ allItems: readonly unknown[];
18
+ getOptionLabel: (option: unknown) => string;
19
+ }) => string;
20
+ /**
21
+ * Text to display with the counter (e.g., "selected", "chosen").
22
+ * Only used if counterFormatter is not provided.
23
+ * @default Localized string from 'c4r.form.selected'
24
+ */
25
+ counterText?: string;
26
+ /**
27
+ * Text to display when all items are selected (e.g., "All selected", "All chosen").
28
+ * Only used if counterFormatter is not provided.
29
+ * @default Localized string from 'c4r.form.allSelected'
30
+ */
31
+ allSelectedText?: string;
8
32
  };
9
- export default function useMultipleAutocomplete<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined>({ options, value, onChange, getOptionLabel, }: UseMultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>): {
33
+ export default function useMultipleAutocomplete<Value, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined>({ options, value, onChange, getOptionLabel, size, counterFormatter, counterText, allSelectedText, }: UseMultipleAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>): {
10
34
  multipleValue: AutocompleteValue<Value, Multiple, DisableClearable, FreeSolo>;
11
35
  allSelected: boolean;
12
36
  someSelected: boolean;
@@ -15,6 +39,7 @@ export default function useMultipleAutocomplete<Value, Multiple extends boolean
15
39
  multipleRenderOption: (props: React.HTMLAttributes<HTMLLIElement>, option: Value, state: {
16
40
  selected: boolean;
17
41
  }) => import("react/jsx-runtime").JSX.Element;
42
+ getCounterRenderTags: () => (value: readonly unknown[]) => import("react/jsx-runtime").JSX.Element | null;
18
43
  };
19
44
  export {};
20
45
  //# sourceMappingURL=useMultipleAutocomplete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMultipleAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/useMultipleAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAA;AAC3D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,eAAe,CAAA;AAKtB,KAAK,4BAA4B,CAC/B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C;IACF,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACtE,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EACrE,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,KACvC,IAAI,CAAA;IACT,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,EACA,OAAO,EACP,KAAK,EACL,QAAQ,EACR,cAAc,GACf,EAAE,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC;mBAkExC,iBAAiB,CAC/C,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,CACT;;;6BAjD6B,cAAc;0BAkBrC,cAAc,YACX,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,UAChE,wBAAwB;kCASzB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,UAClC,KAAK,SACN;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE;EAyB/B"}
1
+ {"version":3,"file":"useMultipleAutocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/useMultipleAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoC,MAAM,OAAO,CAAA;AACxE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,eAAe,CAAA;AAYtB,KAAK,4BAA4B,CAC/B,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C;IACF,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACtE,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EACrE,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,KACvC,IAAI,CAAA;IACT,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,CAAA;IAC1C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;QACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;KAC5C,KAAK,MAAM,CAAA;IACZ;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,EACA,OAAO,EACP,KAAK,EACL,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,EAAE,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC;mBA0GxC,iBAAiB,CAC/C,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,CACT;;;6BA3E6B,cAAc;0BAkBrC,cAAc,YACX,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,UAChE,wBAAwB;kCASzB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,UAClC,KAAK,SACN;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE;;EAoD/B"}
@@ -1,4 +1,111 @@
1
+ import { AutocompleteListGroupHeaderProps } from './types';
2
+ /**
3
+ * Constant for the group header property name used to identify group headers in autocomplete options
4
+ */
5
+ export declare const AUTOCOMPLETE_GROUP_HEADER_PROPERTY = "__isGroupHeader";
6
+ /**
7
+ * Type guard to check if an option is a group header
8
+ * @param option - The option to check
9
+ * @returns true if the option is a group header, false otherwise
10
+ */
11
+ export declare function isAutocompleteListGroupHeader(option: unknown): option is AutocompleteListGroupHeaderProps;
1
12
  export declare const getDefaultOptionLabel: <Value>(option: Value) => string;
2
13
  export declare const createOptionWithMultiple: <Value>(option: Value, multiple: boolean) => Record<string, unknown>;
3
14
  export declare const getDefaultLimitTagsText: (more: number) => import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * Creates a renderTags function that displays a counter instead of individual tags
17
+ * @param formatCounter - Function that receives selection state and returns the display text
18
+ * @param options - Array of all available options to determine total count
19
+ * @param size - Size variant for typography ('small' or 'medium')
20
+ * @param getOptionLabel - Function to get the label for an option
21
+ * @returns renderTags function that shows custom formatted text based on selection state
22
+ *
23
+ * @example
24
+ * // Basic usage with createCounterFormatter
25
+ * const formatter = createCounterFormatter({ counterText: 'selected', allText: 'All selected' })
26
+ * const renderTags = createCounterRenderTags({ formatCounter: formatter, options })
27
+ *
28
+ * @example
29
+ * // Custom formatter with different size
30
+ * const customFormatter = ({ selectedCount, totalCount }) => `${selectedCount}/${totalCount} items`
31
+ * const renderTags = createCounterRenderTags({
32
+ * formatCounter: customFormatter,
33
+ * options: ['item1', 'item2', 'item3'],
34
+ * size: 'medium'
35
+ * })
36
+ *
37
+ * @example
38
+ * // Usage in MultipleAutocomplete
39
+ * <MultipleAutocomplete
40
+ * options={options}
41
+ * renderTags={createCounterRenderTags({
42
+ * formatCounter: createCounterFormatter({ counterText: 'chosen', allText: 'All chosen' }),
43
+ * options,
44
+ * size: 'small'
45
+ * })}
46
+ * />
47
+ */
48
+ export declare function createCounterRenderTags({ formatCounter, options, size, getOptionLabel, }: {
49
+ formatCounter: (params: {
50
+ selectedCount: number;
51
+ totalCount: number;
52
+ selectedItems: readonly unknown[];
53
+ allItems: readonly unknown[];
54
+ getOptionLabel: (option: unknown) => string;
55
+ }) => string;
56
+ options?: readonly unknown[];
57
+ size?: 'small' | 'medium';
58
+ getOptionLabel?: (option: unknown) => string;
59
+ }): (value: readonly unknown[]) => import("react/jsx-runtime").JSX.Element | null;
60
+ /**
61
+ * Helper function that creates a simple counter formatter
62
+ * @param counterText - Text to display with the counter (e.g., "selected")
63
+ * @param allText - Text to display when all items are selected (e.g., "All selected")
64
+ * @param showSingleItemText - Whether to show the actual item text for single selection
65
+ * @returns A formatter function that can be used with createCounterRenderTags
66
+ *
67
+ * @example
68
+ * // Basic usage with custom text
69
+ * const formatter = createCounterFormatter({ counterText: 'items', allText: 'All items' })
70
+ * const renderTags = createCounterRenderTags({ formatCounter: formatter, options })
71
+ *
72
+ * @example
73
+ * // I18N-friendly usage
74
+ * const formatter = createCounterFormatter({
75
+ * counterText: intl.formatMessage({ id: 'autocomplete.selected' }),
76
+ * allText: intl.formatMessage({ id: 'autocomplete.allSelected' })
77
+ * })
78
+ * const renderTags = createCounterRenderTags({ formatCounter: formatter, options })
79
+ *
80
+ * @example
81
+ * // Using with useMultipleAutocomplete hook
82
+ * const { getCounterRenderTags } = useMultipleAutocomplete({
83
+ * options,
84
+ * counterText: intl.formatMessage({ id: 'autocomplete.selected' }),
85
+ * allSelectedText: intl.formatMessage({ id: 'autocomplete.allSelected' })
86
+ * })
87
+ */
88
+ export declare function createCounterFormatter({ counterText, allText, showSingleItemText, }: {
89
+ counterText: string;
90
+ allText: string;
91
+ showSingleItemText?: boolean;
92
+ }): ({ selectedCount, totalCount, selectedItems, getOptionLabel, }: {
93
+ selectedCount: number;
94
+ totalCount: number;
95
+ selectedItems: readonly unknown[];
96
+ getOptionLabel: (option: unknown) => string;
97
+ }) => string;
98
+ /**
99
+ * Creates a grouped options list with group headers for direct use in autocomplete options
100
+ * @param options - Array of options to group
101
+ * @param groupBy - Function that returns the group key for each option
102
+ * @param extended - Optional boolean to make group headers extended (larger height)
103
+ * @returns Flat array with group headers and options ready for autocomplete
104
+ */
105
+ export declare function createAutocompleteGroupByList<T>(options: T[], groupBy: (option: T) => string, extended?: boolean): (T | AutocompleteListGroupHeaderProps)[];
106
+ /**
107
+ * Shows a runtime warning for deprecated groupBy prop usage
108
+ * @param componentName - Name of the component (e.g., 'Autocomplete', 'MultipleAutocomplete')
109
+ */
110
+ export declare function warnDeprecatedGroupBy(componentName: string): void;
4
111
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/utils.tsx"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,GAAI,KAAK,UAAW,KAAK,KAAG,MAI7D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,KAAK,UACpC,KAAK,YACH,OAAO,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAIxB,CAAA;AAGD,eAAO,MAAM,uBAAuB,SAAU,MAAM,4CAEnD,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,kCAAkC,oBAAoB,CAAA;AAEnE;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,gCAAgC,CAM5C;AAGD,eAAO,MAAM,qBAAqB,GAAI,KAAK,UAAW,KAAK,KAAG,MAI7D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,KAAK,UACpC,KAAK,YACH,OAAO,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAIxB,CAAA;AAGD,eAAO,MAAM,uBAAuB,SAAU,MAAM,4CAEnD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,OAAY,EACZ,IAAc,EACd,cAAsC,GACvC,EAAE;IACD,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;QACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;KAC5C,KAAK,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC7C,WACmC,SAAS,OAAO,EAAE,oDAmCrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,EACP,kBAAyB,GAC1B,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,mEAMI;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC5C,YASF;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,OAAO,EAAE,CAAC,EAAE,EACZ,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,EAC9B,QAAQ,CAAC,EAAE,OAAO,GACjB,CAAC,CAAC,GAAG,gCAAgC,CAAC,EAAE,CA6B1C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAejE"}