@availity/mui-autocomplete 0.5.0 → 0.5.2

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.5.2](https://github.com/Availity/element/compare/@availity/mui-autocomplete@0.5.1...@availity/mui-autocomplete@0.5.2) (2024-06-27)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `mui-form-utils` updated to version `0.5.1`
10
+ * `mui-textfield` updated to version `0.5.1`
11
+ ## [0.5.1](https://github.com/Availity/element/compare/@availity/mui-autocomplete@0.5.0...@availity/mui-autocomplete@0.5.1) (2024-06-21)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * add deps ([520c3c2](https://github.com/Availity/element/commit/520c3c2549af82006fc563bc453b010ed6aadb73))
17
+ * add export and delay ([20d6792](https://github.com/Availity/element/commit/20d6792e7a995afa0f12e597fbd9fc4c16c92df2))
18
+
5
19
  ## [0.5.0](https://github.com/Availity/element/compare/@availity/mui-autocomplete@0.4.6...@availity/mui-autocomplete@0.5.0) (2024-06-20)
6
20
 
7
21
 
package/dist/index.d.mts CHANGED
@@ -3,6 +3,7 @@ import { AutocompleteProps as AutocompleteProps$1 } from '@mui/material/Autocomp
3
3
  import { ChipTypeMap } from '@mui/material/Chip';
4
4
  import { TextFieldProps } from '@availity/mui-textfield';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { ApiConfig } from '@availity/api-axios';
6
7
 
7
8
  interface AutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> extends Omit<AutocompleteProps$1<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'clearIcon' | 'clearText' | 'closeText' | 'componentsProps' | 'disabledItemsFocusable' | 'forcePopupIcon' | 'fullWidth' | 'handleHomeEndKeys' | 'includeInputInList' | 'openOnFocus' | 'openText' | 'PaperComponent' | 'PopperComponent' | 'popupIcon' | 'selectOnFocus' | 'size' | 'renderInput' | 'slotProps'> {
8
9
  /** Props applied to the `TextField` component */
@@ -23,4 +24,16 @@ interface AsyncAutocompleteProps<Option, Multiple extends boolean | undefined, D
23
24
  }
24
25
  declare const AsyncAutocomplete: <Option, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends react.ElementType<any> = "div">({ loadOptions, limit, ListboxProps, ...rest }: AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react_jsx_runtime.JSX.Element;
25
26
 
26
- export { AsyncAutocomplete, type AsyncAutocompleteProps, Autocomplete, type AutocompleteProps };
27
+ type Organization = {
28
+ customerId: string;
29
+ name: string;
30
+ id: string;
31
+ createDate: string;
32
+ links: Record<string, Record<string, string>>;
33
+ };
34
+ interface OrgAutocompleteProps<Option = Organization, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> extends Omit<AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'loadOptions'> {
35
+ apiConfig?: ApiConfig;
36
+ }
37
+ declare const OrganizationAutocomplete: ({ apiConfig, ...rest }: OrgAutocompleteProps) => react_jsx_runtime.JSX.Element;
38
+
39
+ export { AsyncAutocomplete, type AsyncAutocompleteProps, Autocomplete, type AutocompleteProps, type OrgAutocompleteProps, type Organization, OrganizationAutocomplete };
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { AutocompleteProps as AutocompleteProps$1 } from '@mui/material/Autocomp
3
3
  import { ChipTypeMap } from '@mui/material/Chip';
4
4
  import { TextFieldProps } from '@availity/mui-textfield';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { ApiConfig } from '@availity/api-axios';
6
7
 
7
8
  interface AutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> extends Omit<AutocompleteProps$1<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'clearIcon' | 'clearText' | 'closeText' | 'componentsProps' | 'disabledItemsFocusable' | 'forcePopupIcon' | 'fullWidth' | 'handleHomeEndKeys' | 'includeInputInList' | 'openOnFocus' | 'openText' | 'PaperComponent' | 'PopperComponent' | 'popupIcon' | 'selectOnFocus' | 'size' | 'renderInput' | 'slotProps'> {
8
9
  /** Props applied to the `TextField` component */
@@ -23,4 +24,16 @@ interface AsyncAutocompleteProps<Option, Multiple extends boolean | undefined, D
23
24
  }
24
25
  declare const AsyncAutocomplete: <Option, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends react.ElementType<any> = "div">({ loadOptions, limit, ListboxProps, ...rest }: AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react_jsx_runtime.JSX.Element;
25
26
 
26
- export { AsyncAutocomplete, type AsyncAutocompleteProps, Autocomplete, type AutocompleteProps };
27
+ type Organization = {
28
+ customerId: string;
29
+ name: string;
30
+ id: string;
31
+ createDate: string;
32
+ links: Record<string, Record<string, string>>;
33
+ };
34
+ interface OrgAutocompleteProps<Option = Organization, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent']> extends Omit<AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'loadOptions'> {
35
+ apiConfig?: ApiConfig;
36
+ }
37
+ declare const OrganizationAutocomplete: ({ apiConfig, ...rest }: OrgAutocompleteProps) => react_jsx_runtime.JSX.Element;
38
+
39
+ export { AsyncAutocomplete, type AsyncAutocompleteProps, Autocomplete, type AutocompleteProps, type OrgAutocompleteProps, type Organization, OrganizationAutocomplete };
package/dist/index.js CHANGED
@@ -80,7 +80,8 @@ var __async = (__this, __arguments, generator) => {
80
80
  var src_exports = {};
81
81
  __export(src_exports, {
82
82
  AsyncAutocomplete: () => AsyncAutocomplete,
83
- Autocomplete: () => Autocomplete
83
+ Autocomplete: () => Autocomplete,
84
+ OrganizationAutocomplete: () => OrganizationAutocomplete
84
85
  });
85
86
  module.exports = __toCommonJS(src_exports);
86
87
 
@@ -179,8 +180,37 @@ var AsyncAutocomplete = (_a) => {
179
180
  })
180
181
  );
181
182
  };
183
+
184
+ // src/lib/OrganizationAutocomplete.tsx
185
+ var import_api_axios = require("@availity/api-axios");
186
+ var import_jsx_runtime3 = require("react/jsx-runtime");
187
+ var fetchOrgs = (config) => __async(void 0, null, function* () {
188
+ try {
189
+ const resp = yield import_api_axios.avOrganizationsApi.getOrganizations(config);
190
+ return {
191
+ options: resp.data.organizations,
192
+ hasMore: config.params.offset + config.params.limit < resp.data.totalCount
193
+ };
194
+ } catch (e) {
195
+ return {
196
+ options: [],
197
+ hasMore: false
198
+ };
199
+ }
200
+ });
201
+ var OrganizationAutocomplete = (_a) => {
202
+ var _b = _a, { apiConfig = {} } = _b, rest = __objRest(_b, ["apiConfig"]);
203
+ const handleLoadOptions = (page, limit) => __async(void 0, null, function* () {
204
+ const offset = page * limit;
205
+ const resp = yield fetchOrgs(__spreadProps(__spreadValues({}, apiConfig), { params: __spreadProps(__spreadValues({ dropdown: true }, apiConfig.params), { offset, limit }) }));
206
+ return resp;
207
+ });
208
+ const handleGetOptionLabel = (org) => org.name;
209
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AsyncAutocomplete, __spreadProps(__spreadValues({ getOptionLabel: handleGetOptionLabel }, rest), { loadOptions: handleLoadOptions }));
210
+ };
182
211
  // Annotate the CommonJS export names for ESM import in node:
183
212
  0 && (module.exports = {
184
213
  AsyncAutocomplete,
185
- Autocomplete
214
+ Autocomplete,
215
+ OrganizationAutocomplete
186
216
  });
package/dist/index.mjs CHANGED
@@ -147,7 +147,36 @@ var AsyncAutocomplete = (_a) => {
147
147
  })
148
148
  );
149
149
  };
150
+
151
+ // src/lib/OrganizationAutocomplete.tsx
152
+ import { avOrganizationsApi } from "@availity/api-axios";
153
+ import { jsx as jsx3 } from "react/jsx-runtime";
154
+ var fetchOrgs = (config) => __async(void 0, null, function* () {
155
+ try {
156
+ const resp = yield avOrganizationsApi.getOrganizations(config);
157
+ return {
158
+ options: resp.data.organizations,
159
+ hasMore: config.params.offset + config.params.limit < resp.data.totalCount
160
+ };
161
+ } catch (e) {
162
+ return {
163
+ options: [],
164
+ hasMore: false
165
+ };
166
+ }
167
+ });
168
+ var OrganizationAutocomplete = (_a) => {
169
+ var _b = _a, { apiConfig = {} } = _b, rest = __objRest(_b, ["apiConfig"]);
170
+ const handleLoadOptions = (page, limit) => __async(void 0, null, function* () {
171
+ const offset = page * limit;
172
+ const resp = yield fetchOrgs(__spreadProps(__spreadValues({}, apiConfig), { params: __spreadProps(__spreadValues({ dropdown: true }, apiConfig.params), { offset, limit }) }));
173
+ return resp;
174
+ });
175
+ const handleGetOptionLabel = (org) => org.name;
176
+ return /* @__PURE__ */ jsx3(AsyncAutocomplete, __spreadProps(__spreadValues({ getOptionLabel: handleGetOptionLabel }, rest), { loadOptions: handleLoadOptions }));
177
+ };
150
178
  export {
151
179
  AsyncAutocomplete,
152
- Autocomplete
180
+ Autocomplete,
181
+ OrganizationAutocomplete
153
182
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@availity/mui-autocomplete",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Availity MUI Autocomplete Component - part of the @availity/element design system",
5
5
  "keywords": [
6
6
  "react",
@@ -36,6 +36,9 @@
36
36
  "@mui/types": "^7.2.14"
37
37
  },
38
38
  "devDependencies": {
39
+ "@availity/api-axios": "^8.0.8",
40
+ "@availity/mui-form-utils": "^0.11.3",
41
+ "@availity/mui-textfield": "^0.5.21",
39
42
  "@mui/material": "^5.15.15",
40
43
  "react": "18.2.0",
41
44
  "react-dom": "18.2.0",
@@ -43,8 +46,9 @@
43
46
  "typescript": "^5.4.5"
44
47
  },
45
48
  "peerDependencies": {
46
- "@availity/mui-form-utils": "^0.11.2",
47
- "@availity/mui-textfield": "^0.5.20",
49
+ "@availity/api-axios": "^8.0.7",
50
+ "@availity/mui-form-utils": "^0.11.3",
51
+ "@availity/mui-textfield": "^0.5.21",
48
52
  "@mui/material": "^5.11.9",
49
53
  "react": ">=16.3.0"
50
54
  },
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './lib/Autocomplete';
2
2
  export * from './lib/AsyncAutocomplete';
3
+ export * from './lib/OrganizationAutocomplete';
@@ -27,15 +27,15 @@ const fetchOrgs = async (config: ApiConfig): Promise<{ options: Organization[];
27
27
  }
28
28
  };
29
29
 
30
- export type OrgAutocompleteProps<
30
+ export interface OrgAutocompleteProps<
31
31
  Option = Organization,
32
32
  Multiple extends boolean | undefined = false,
33
33
  DisableClearable extends boolean | undefined = false,
34
34
  FreeSolo extends boolean | undefined = false,
35
35
  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],
36
- > = {
36
+ > extends Omit<AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'loadOptions'> {
37
37
  apiConfig?: ApiConfig;
38
- } & Omit<AsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>, 'loadOptions'>;
38
+ }
39
39
 
40
40
  export const OrganizationAutocomplete = ({ apiConfig = {}, ...rest }: OrgAutocompleteProps) => {
41
41
  const handleLoadOptions = async (page: number, limit: number) => {