@wavelengthusaf/components 4.0.1 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,6 +14,21 @@ npm install @wavelengthusaf/components
14
14
 
15
15
  ## Release Notes
16
16
 
17
+ ### 4.1.1
18
+
19
+ - 10/27/2025
20
+ - Normalized web component and frontend naming conventions
21
+
22
+ ### 4.1.0
23
+
24
+ - 10/22/2025
25
+ - Added WavelengthMultiSelectAutocomplete
26
+
27
+ ### 4.0.1
28
+
29
+ - 10/16/2025
30
+ - Fixed issue where WavelengthAutoComplete won't trigger onChange callback
31
+
17
32
  ### 4.0.0
18
33
 
19
34
  -9/24/2025
@@ -240,7 +255,7 @@ npm install @wavelengthusaf/components
240
255
 
241
256
  ### 2.3.0
242
257
 
243
- - Added `DefaultPagination` component to package for numbered pagination navigation, and modified PagePagination for testbed.
258
+ - Added `WavelengthDefaultPagination` component to package for numbered pagination navigation, and modified PagePagination for testbed.
244
259
 
245
260
  ### 2.2.5
246
261
 
@@ -6450,23 +6450,10 @@ function WavelengthButtonPagination({ totalPages, current, handleChangePage, ite
6450
6450
  }
6451
6451
  };
6452
6452
  const dropstyles = {
6453
- dropcenter: {
6454
- position: "relative",
6455
- left: "-40px",
6456
- top: "-20px"
6457
- },
6458
- mydrop: {
6459
- position: "absolute",
6460
- zIndex: "3",
6461
- maxHeight: "200px",
6462
- overflow: "scroll"
6463
- },
6464
- rangenumbers: {
6465
- display: "flex"
6466
- },
6467
- butPagCompDivStyle: {
6468
- display: "flex"
6469
- }
6453
+ dropcenter: { position: "relative", left: "-40px", top: "-20px" },
6454
+ mydrop: { position: "absolute", zIndex: "3", maxHeight: "200px", overflow: "scroll" },
6455
+ rangenumbers: { display: "flex" },
6456
+ butPagCompDivStyle: { display: "flex" }
6470
6457
  };
6471
6458
  const WLButtonPagStyle = {
6472
6459
  background: "white",
@@ -6479,15 +6466,9 @@ function WavelengthButtonPagination({ totalPages, current, handleChangePage, ite
6479
6466
  boxshadow: "4px 2px 4px darkslategray",
6480
6467
  borderRadius: "50%",
6481
6468
  margin: "3px",
6482
- "&:hover": {
6483
- background: "#49baf7"
6484
- },
6485
- "&:disabled": {
6486
- background: "rgb(226, 223, 223)"
6487
- },
6488
- "&.active": {
6489
- background: "#8FD8FF"
6490
- }
6469
+ "&:hover": { background: "#49baf7" },
6470
+ "&:disabled": { background: "rgb(226, 223, 223)" },
6471
+ "&.active": { background: "#8FD8FF" }
6491
6472
  };
6492
6473
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { style: dropstyles.butPagCompDivStyle, children: [
6493
6474
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Button2.default, { onClick: () => handleChangePage(current - 1), disabled: current === 1, sx: WLButtonPagStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ArrowBackIosNew2.default, {}) }),
@@ -6639,7 +6620,7 @@ function ascendingRange(start, end) {
6639
6620
  }
6640
6621
  return result;
6641
6622
  }
6642
- function DefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, boundaryCount = 1, style: style3, onPageChange }) {
6623
+ function WavelengthDefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, boundaryCount = 1, style: style3, onPageChange }) {
6643
6624
  const [current, setCurrent] = _react.useState.call(void 0, currentPageNumber);
6644
6625
  const startPages = range(1, Math.min(boundaryCount, totalPages));
6645
6626
  const endPages = range(Math.max(totalPages - boundaryCount + 1, boundaryCount + 1), totalPages);
@@ -6727,8 +6708,8 @@ function DefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, bo
6727
6708
  );
6728
6709
  }
6729
6710
  }
6730
- DefaultPagination.displayName = "DefaultPagination";
6731
- var WavelengthDefaultPagination_default = DefaultPagination;
6711
+ WavelengthDefaultPagination.displayName = "WavelengthDefaultPagination";
6712
+ var WavelengthDefaultPagination_default = WavelengthDefaultPagination;
6732
6713
 
6733
6714
  // src/components/TextField/WavelengthInput.tsx
6734
6715
 
@@ -6784,6 +6765,7 @@ var WavelengthInput = _react.forwardRef.call(void 0,
6784
6765
  el.removeAttribute(attr);
6785
6766
  }
6786
6767
  };
6768
+ if (style3) el.customStyles = style3;
6787
6769
  set("id", id);
6788
6770
  set("name", name);
6789
6771
  set("value", value);
@@ -8121,6 +8103,48 @@ SampleComponent.displayName = "SampleComponent";
8121
8103
  // src/index.ts
8122
8104
 
8123
8105
 
8106
+ // src/components/MultiSelect/WavelengthMultiSelectAutocomplete.tsx
8107
+
8108
+
8109
+
8110
+ var WavelengthMultiSelectAutocomplete = ({ options, placeholder = "Select Options", label, name, style: style3, onChange, value, ...rest }) => {
8111
+ const componentRef = _react.useRef.call(void 0, null);
8112
+ _react.useEffect.call(void 0, () => {
8113
+ const component = componentRef.current;
8114
+ if (!component) return;
8115
+ const handleValueChange = (event) => {
8116
+ if (onChange) {
8117
+ onChange(event.detail.value);
8118
+ }
8119
+ };
8120
+ component.addEventListener("change", handleValueChange);
8121
+ return () => {
8122
+ component.removeEventListener("change", handleValueChange);
8123
+ };
8124
+ }, [onChange]);
8125
+ _react.useEffect.call(void 0, () => {
8126
+ const component = componentRef.current;
8127
+ if (!component) return;
8128
+ if (placeholder) component.setAttribute("placeholder", placeholder);
8129
+ if (label) component.setAttribute("label", label);
8130
+ if (name) component.setAttribute("name", name);
8131
+ if (options) component.autocompleteOptions = options;
8132
+ if (style3) component.customStyles = style3;
8133
+ }, [options, placeholder, name, label, style3]);
8134
+ _react.useEffect.call(void 0, () => {
8135
+ const component = componentRef.current;
8136
+ if (component && value) {
8137
+ component.value = value;
8138
+ }
8139
+ }, [value]);
8140
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "wavelength-multi-select-autocomplete", { ref: componentRef, ...rest });
8141
+ };
8142
+
8143
+ // src/index.ts
8144
+
8145
+
8146
+
8147
+
8124
8148
 
8125
8149
 
8126
8150
 
@@ -8185,7 +8209,7 @@ SampleComponent.displayName = "SampleComponent";
8185
8209
 
8186
8210
 
8187
8211
 
8188
- exports.ButtonIcon = ButtonIcon; exports.ButtonMenu = ButtonMenu; exports.ChildDataTable = ChildDataTable; exports.DefaultCarousel = DefaultCarousel; exports.DefaultPagination = DefaultPagination; exports.NestedDataTable = NestedDataTable; exports.SampleComponent = SampleComponent; exports.SampleComponentElement = _webcomponents.SampleComponent; exports.SliderCardCarousel = SliderCardCarousel; exports.WavelengthAccessAlert = WavelengthAccessAlert; exports.WavelengthAlert = WavelengthAlert; exports.WavelengthAppLogo = WavelengthAppLogo; exports.WavelengthAppTheme = WavelengthAppTheme; exports.WavelengthAutoComplete = WavelengthAutoComplete; exports.WavelengthAutocomplete = WavelengthAutocomplete; exports.WavelengthBanner = WavelengthBanner; exports.WavelengthBannerElement = _webcomponents.WavelengthBanner; exports.WavelengthBox = WavelengthBox; exports.WavelengthButton = WavelengthButton; exports.WavelengthButtonElement = _webcomponents.WavelengthButton; exports.WavelengthCommentDisplay = WavelengthCommentDisplay; exports.WavelengthConfirmationModal = WavelengthConfirmationModal; exports.WavelengthContentModal = WavelengthContentModal; exports.WavelengthContentPlaceholder = WavelengthContentPlaceholder; exports.WavelengthDataTable = WavelengthDataTable; exports.WavelengthDatePicker = WavelengthDatePicker; exports.WavelengthDatePickerElement = _webcomponents.WavelengthDatePicker; exports.WavelengthDefaultIcon = WavelengthDefaultIcon; exports.WavelengthDragAndDrop = WavelengthDragAndDrop; exports.WavelengthDropdown = WavelengthDropdown; exports.WavelengthDropdownButton = WavelengthDropdownButton; exports.WavelengthExampleComponent = WavelengthExampleComponent; exports.WavelengthFileDownloader = WavelengthFileDownloader; exports.WavelengthFooter = WavelengthFooter; exports.WavelengthForm = WavelengthForm; exports.WavelengthFormElement = _webcomponents.WavelengthForm; exports.WavelengthInput = WavelengthInput; exports.WavelengthInputElement = _webcomponents.WavelengthInput; exports.WavelengthManyPlanes = WavelengthManyPlanes; exports.WavelengthNotAvailablePage = WavelengthNotAvailablePage; exports.WavelengthPermissionAlert = WavelengthPermissionAlert; exports.WavelengthPlaneTrail = WavelengthPlaneTrail; exports.WavelengthPopUpMenu = WavelengthPopUpMenu; exports.WavelengthProgressBar = WavelengthProgressBar; exports.WavelengthProgressBarElement = _webcomponents.WavelengthProgressBar; exports.WavelengthSearch = WavelengthSearch; exports.WavelengthSearchTextField = WavelengthSearchTextField; exports.WavelengthSideBar = WavelengthSideBar; exports.WavelengthSlider = WavelengthSlider; exports.WavelengthSnackbar = WavelengthSnackbar; exports.WavelengthSpinningLogo = WavelengthSpinningLogo; exports.WavelengthSpinningOuterCircle = WavelengthSpinningOuterCircle; exports.WavelengthStandardSnackbar = WavelengthStandardSnackbar; exports.WavelengthStyledButton = WavelengthStyledButton; exports.WavelengthTestSnackbar = WavelengthTestSnackbar; exports.WavelengthTitleBar = WavelengthTitleBar; exports.WavelengthTitleBarElement = _webcomponents.WavelengthTitleBar; exports.add = add; exports.ascendingRange = ascendingRange; exports.concat = concat; exports.findBestStringMatch = findBestStringMatch; exports.range = range; exports.useOutsideClick = useOutsideClick; exports.useThemeContext = useThemeContext;
8212
+ exports.ButtonIcon = ButtonIcon; exports.ButtonMenu = ButtonMenu; exports.ChildDataTable = ChildDataTable; exports.DefaultCarousel = DefaultCarousel; exports.NestedDataTable = NestedDataTable; exports.SampleComponent = SampleComponent; exports.SampleComponentElement = _webcomponents.SampleComponent; exports.SliderCardCarousel = SliderCardCarousel; exports.WavelengthAccessAlert = WavelengthAccessAlert; exports.WavelengthAlert = WavelengthAlert; exports.WavelengthAppLogo = WavelengthAppLogo; exports.WavelengthAppTheme = WavelengthAppTheme; exports.WavelengthAutoComplete = WavelengthAutoComplete; exports.WavelengthAutocomplete = WavelengthAutocomplete; exports.WavelengthBanner = WavelengthBanner; exports.WavelengthBannerElement = _webcomponents.WavelengthBanner; exports.WavelengthBox = WavelengthBox; exports.WavelengthButton = WavelengthButton; exports.WavelengthButtonElement = _webcomponents.WavelengthButton; exports.WavelengthCommentDisplay = WavelengthCommentDisplay; exports.WavelengthConfirmationModal = WavelengthConfirmationModal; exports.WavelengthContentModal = WavelengthContentModal; exports.WavelengthContentPlaceholder = WavelengthContentPlaceholder; exports.WavelengthDataTable = WavelengthDataTable; exports.WavelengthDatePicker = WavelengthDatePicker; exports.WavelengthDatePickerElement = _webcomponents.WavelengthDatePicker; exports.WavelengthDefaultIcon = WavelengthDefaultIcon; exports.WavelengthDefaultPagination = WavelengthDefaultPagination; exports.WavelengthDragAndDrop = WavelengthDragAndDrop; exports.WavelengthDropdown = WavelengthDropdown; exports.WavelengthDropdownButton = WavelengthDropdownButton; exports.WavelengthExampleComponent = WavelengthExampleComponent; exports.WavelengthFileDownloader = WavelengthFileDownloader; exports.WavelengthFooter = WavelengthFooter; exports.WavelengthForm = WavelengthForm; exports.WavelengthFormElement = _webcomponents.WavelengthForm; exports.WavelengthInput = WavelengthInput; exports.WavelengthInputElement = _webcomponents.WavelengthInput; exports.WavelengthManyPlanes = WavelengthManyPlanes; exports.WavelengthMultiSelectAutocomplete = WavelengthMultiSelectAutocomplete; exports.WavelengthMultiSelectAutocompleteElement = _webcomponents.WavelengthMultiSelectAutocomplete; exports.WavelengthNotAvailablePage = WavelengthNotAvailablePage; exports.WavelengthPermissionAlert = WavelengthPermissionAlert; exports.WavelengthPlaneTrail = WavelengthPlaneTrail; exports.WavelengthPopUpMenu = WavelengthPopUpMenu; exports.WavelengthProgressBar = WavelengthProgressBar; exports.WavelengthProgressBarElement = _webcomponents.WavelengthProgressBar; exports.WavelengthSearch = WavelengthSearch; exports.WavelengthSearchTextField = WavelengthSearchTextField; exports.WavelengthSideBar = WavelengthSideBar; exports.WavelengthSlider = WavelengthSlider; exports.WavelengthSnackbar = WavelengthSnackbar; exports.WavelengthSpinningLogo = WavelengthSpinningLogo; exports.WavelengthSpinningOuterCircle = WavelengthSpinningOuterCircle; exports.WavelengthStandardSnackbar = WavelengthStandardSnackbar; exports.WavelengthStyledButton = WavelengthStyledButton; exports.WavelengthTestSnackbar = WavelengthTestSnackbar; exports.WavelengthTitleBar = WavelengthTitleBar; exports.WavelengthTitleBarElement = _webcomponents.WavelengthTitleBar; exports.add = add; exports.ascendingRange = ascendingRange; exports.concat = concat; exports.findBestStringMatch = findBestStringMatch; exports.range = range; exports.useOutsideClick = useOutsideClick; exports.useThemeContext = useThemeContext;
8189
8213
  /*! Bundled license information:
8190
8214
 
8191
8215
  react-is/cjs/react-is.production.min.js:
@@ -1,6 +1,6 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode, ChangeEvent, ReactElement } from 'react';
3
- export { SampleComponent as SampleComponentElement, WavelengthBanner as WavelengthBannerElement, WavelengthButton as WavelengthButtonElement, WavelengthDatePicker as WavelengthDatePickerElement, WavelengthForm as WavelengthFormElement, WavelengthInput as WavelengthInputElement, WavelengthProgressBar as WavelengthProgressBarElement, WavelengthTitleBar as WavelengthTitleBarElement } from '@wavelengthusaf/web-components';
2
+ import React__default, { ReactNode, ChangeEvent, ReactElement, CSSProperties } from 'react';
3
+ export { SampleComponent as SampleComponentElement, WavelengthBanner as WavelengthBannerElement, WavelengthButton as WavelengthButtonElement, WavelengthDatePicker as WavelengthDatePickerElement, WavelengthForm as WavelengthFormElement, WavelengthInput as WavelengthInputElement, WavelengthMultiSelectAutocomplete as WavelengthMultiSelectAutocompleteElement, WavelengthProgressBar as WavelengthProgressBarElement, WavelengthTitleBar as WavelengthTitleBarElement } from '@wavelengthusaf/web-components';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { TextFieldVariants, SxProps, Theme } from '@mui/material';
6
6
  import { z } from 'zod';
@@ -707,11 +707,15 @@ interface PaginationProps {
707
707
  }
708
708
  declare const range: (start: number, end: number) => number[];
709
709
  declare function ascendingRange(start: number, end: number): number[];
710
- declare function DefaultPagination({ totalPages, currentPageNumber, siblingCount, boundaryCount, style, onPageChange }: PaginationProps): react_jsx_runtime.JSX.Element;
711
- declare namespace DefaultPagination {
710
+ declare function WavelengthDefaultPagination({ totalPages, currentPageNumber, siblingCount, boundaryCount, style, onPageChange }: PaginationProps): react_jsx_runtime.JSX.Element;
711
+ declare namespace WavelengthDefaultPagination {
712
712
  var displayName: string;
713
713
  }
714
714
 
715
+ type StyleProp = {
716
+ [selector: string]: any;
717
+ };
718
+
715
719
  interface WavelengthInputProps extends React__default.HTMLAttributes<HTMLElement> {
716
720
  id?: string;
717
721
  name?: string;
@@ -743,6 +747,7 @@ interface WavelengthInputProps extends React__default.HTMLAttributes<HTMLElement
743
747
  helperColor?: string;
744
748
  label?: string;
745
749
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
750
+ style?: StyleProp;
746
751
  }
747
752
  declare const WavelengthInput: React__default.ForwardRefExoticComponent<WavelengthInputProps & React__default.RefAttributes<HTMLElement & {
748
753
  validate?: () => boolean;
@@ -873,4 +878,42 @@ interface SampleComponentProps extends React__default.HTMLAttributes<HTMLElement
873
878
  }
874
879
  declare const SampleComponent: React__default.FC<SampleComponentProps>;
875
880
 
876
- export { ButtonIcon, ButtonMenu, ChildDataTable, DefaultCarousel, DefaultPagination, NestedDataTable, SampleComponent, type SearchProps, type SearchResult, SliderCardCarousel, type StyledButtonPropsTwo, type ThemeProperties, WavelengthAccessAlert, WavelengthAlert, WavelengthAppLogo, WavelengthAppTheme, WavelengthAutoComplete, WavelengthAutocomplete, WavelengthBanner, WavelengthBox, WavelengthButton, WavelengthCommentDisplay, WavelengthConfirmationModal, WavelengthContentModal, WavelengthContentPlaceholder, WavelengthDataTable, WavelengthDatePicker, WavelengthDefaultIcon, WavelengthDragAndDrop, WavelengthDropdown, WavelengthDropdownButton, WavelengthExampleComponent, WavelengthFileDownloader, WavelengthFooter, WavelengthForm, WavelengthInput, WavelengthManyPlanes, WavelengthNotAvailablePage, WavelengthPermissionAlert, WavelengthPlaneTrail, WavelengthPopUpMenu, WavelengthProgressBar, WavelengthSearch, WavelengthSearchTextField, WavelengthSideBar, WavelengthSlider, WavelengthSnackbar, WavelengthSpinningLogo, WavelengthSpinningOuterCircle, WavelengthStandardSnackbar, WavelengthStyledButton, WavelengthTestSnackbar, WavelengthTitleBar, add, ascendingRange, concat, findBestStringMatch, type menuItemProps, range, useOutsideClick, useThemeContext };
881
+ interface Option {
882
+ label: string;
883
+ value: string;
884
+ }
885
+ interface CustomSelectors {
886
+ "&:hover"?: CSSProperties;
887
+ "&:focus"?: CSSProperties;
888
+ /**Styles the container which holds the input and label*/
889
+ "& .multi-select-input-wrapper"?: CSSProperties;
890
+ /**Styles the input*/
891
+ "& .multi-select-input"?: CSSProperties;
892
+ /**Styles the label*/
893
+ "& .multi-select-label"?: CSSProperties;
894
+ /**Styles the dropdown*/
895
+ "& .multi-select-dropdown"?: CSSProperties;
896
+ /** Styles the container that holds the options and checkbox*/
897
+ "& .multi-select-option-container"?: CSSProperties;
898
+ /**Styles the individual options*/
899
+ "& .multi-select-option"?: CSSProperties;
900
+ /**Styles the clear button*/
901
+ "& .multi-select-clear"?: CSSProperties;
902
+ /**Styles the dropdown arrow*/
903
+ "& .multi-select-arrow"?: CSSProperties;
904
+ /**Styles the chip*/
905
+ "& .multi-select-chip"?: CSSProperties;
906
+ }
907
+ type CustomStyleProp = CustomSelectors & StyleProp;
908
+ interface MultiSelectAutocompleteProps {
909
+ options: Option[];
910
+ placeholder?: string;
911
+ label?: string;
912
+ name?: string;
913
+ style?: CustomStyleProp;
914
+ onChange?: (selectedOptions: Option[]) => void;
915
+ value?: Option[];
916
+ }
917
+ declare const WavelengthMultiSelectAutocomplete: React__default.FC<MultiSelectAutocompleteProps>;
918
+
919
+ export { ButtonIcon, ButtonMenu, ChildDataTable, DefaultCarousel, NestedDataTable, SampleComponent, type SearchProps, type SearchResult, SliderCardCarousel, type StyledButtonPropsTwo, type ThemeProperties, WavelengthAccessAlert, WavelengthAlert, WavelengthAppLogo, WavelengthAppTheme, WavelengthAutoComplete, WavelengthAutocomplete, WavelengthBanner, WavelengthBox, WavelengthButton, WavelengthCommentDisplay, WavelengthConfirmationModal, WavelengthContentModal, WavelengthContentPlaceholder, WavelengthDataTable, WavelengthDatePicker, WavelengthDefaultIcon, WavelengthDefaultPagination, WavelengthDragAndDrop, WavelengthDropdown, WavelengthDropdownButton, WavelengthExampleComponent, WavelengthFileDownloader, WavelengthFooter, WavelengthForm, WavelengthInput, WavelengthManyPlanes, WavelengthMultiSelectAutocomplete, WavelengthNotAvailablePage, WavelengthPermissionAlert, WavelengthPlaneTrail, WavelengthPopUpMenu, WavelengthProgressBar, WavelengthSearch, WavelengthSearchTextField, WavelengthSideBar, WavelengthSlider, WavelengthSnackbar, WavelengthSpinningLogo, WavelengthSpinningOuterCircle, WavelengthStandardSnackbar, WavelengthStyledButton, WavelengthTestSnackbar, WavelengthTitleBar, add, ascendingRange, concat, findBestStringMatch, type menuItemProps, range, useOutsideClick, useThemeContext };
@@ -1,6 +1,6 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode, ChangeEvent, ReactElement } from 'react';
3
- export { SampleComponent as SampleComponentElement, WavelengthBanner as WavelengthBannerElement, WavelengthButton as WavelengthButtonElement, WavelengthDatePicker as WavelengthDatePickerElement, WavelengthForm as WavelengthFormElement, WavelengthInput as WavelengthInputElement, WavelengthProgressBar as WavelengthProgressBarElement, WavelengthTitleBar as WavelengthTitleBarElement } from '@wavelengthusaf/web-components';
2
+ import React__default, { ReactNode, ChangeEvent, ReactElement, CSSProperties } from 'react';
3
+ export { SampleComponent as SampleComponentElement, WavelengthBanner as WavelengthBannerElement, WavelengthButton as WavelengthButtonElement, WavelengthDatePicker as WavelengthDatePickerElement, WavelengthForm as WavelengthFormElement, WavelengthInput as WavelengthInputElement, WavelengthMultiSelectAutocomplete as WavelengthMultiSelectAutocompleteElement, WavelengthProgressBar as WavelengthProgressBarElement, WavelengthTitleBar as WavelengthTitleBarElement } from '@wavelengthusaf/web-components';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { TextFieldVariants, SxProps, Theme } from '@mui/material';
6
6
  import { z } from 'zod';
@@ -707,11 +707,15 @@ interface PaginationProps {
707
707
  }
708
708
  declare const range: (start: number, end: number) => number[];
709
709
  declare function ascendingRange(start: number, end: number): number[];
710
- declare function DefaultPagination({ totalPages, currentPageNumber, siblingCount, boundaryCount, style, onPageChange }: PaginationProps): react_jsx_runtime.JSX.Element;
711
- declare namespace DefaultPagination {
710
+ declare function WavelengthDefaultPagination({ totalPages, currentPageNumber, siblingCount, boundaryCount, style, onPageChange }: PaginationProps): react_jsx_runtime.JSX.Element;
711
+ declare namespace WavelengthDefaultPagination {
712
712
  var displayName: string;
713
713
  }
714
714
 
715
+ type StyleProp = {
716
+ [selector: string]: any;
717
+ };
718
+
715
719
  interface WavelengthInputProps extends React__default.HTMLAttributes<HTMLElement> {
716
720
  id?: string;
717
721
  name?: string;
@@ -743,6 +747,7 @@ interface WavelengthInputProps extends React__default.HTMLAttributes<HTMLElement
743
747
  helperColor?: string;
744
748
  label?: string;
745
749
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
750
+ style?: StyleProp;
746
751
  }
747
752
  declare const WavelengthInput: React__default.ForwardRefExoticComponent<WavelengthInputProps & React__default.RefAttributes<HTMLElement & {
748
753
  validate?: () => boolean;
@@ -873,4 +878,42 @@ interface SampleComponentProps extends React__default.HTMLAttributes<HTMLElement
873
878
  }
874
879
  declare const SampleComponent: React__default.FC<SampleComponentProps>;
875
880
 
876
- export { ButtonIcon, ButtonMenu, ChildDataTable, DefaultCarousel, DefaultPagination, NestedDataTable, SampleComponent, type SearchProps, type SearchResult, SliderCardCarousel, type StyledButtonPropsTwo, type ThemeProperties, WavelengthAccessAlert, WavelengthAlert, WavelengthAppLogo, WavelengthAppTheme, WavelengthAutoComplete, WavelengthAutocomplete, WavelengthBanner, WavelengthBox, WavelengthButton, WavelengthCommentDisplay, WavelengthConfirmationModal, WavelengthContentModal, WavelengthContentPlaceholder, WavelengthDataTable, WavelengthDatePicker, WavelengthDefaultIcon, WavelengthDragAndDrop, WavelengthDropdown, WavelengthDropdownButton, WavelengthExampleComponent, WavelengthFileDownloader, WavelengthFooter, WavelengthForm, WavelengthInput, WavelengthManyPlanes, WavelengthNotAvailablePage, WavelengthPermissionAlert, WavelengthPlaneTrail, WavelengthPopUpMenu, WavelengthProgressBar, WavelengthSearch, WavelengthSearchTextField, WavelengthSideBar, WavelengthSlider, WavelengthSnackbar, WavelengthSpinningLogo, WavelengthSpinningOuterCircle, WavelengthStandardSnackbar, WavelengthStyledButton, WavelengthTestSnackbar, WavelengthTitleBar, add, ascendingRange, concat, findBestStringMatch, type menuItemProps, range, useOutsideClick, useThemeContext };
881
+ interface Option {
882
+ label: string;
883
+ value: string;
884
+ }
885
+ interface CustomSelectors {
886
+ "&:hover"?: CSSProperties;
887
+ "&:focus"?: CSSProperties;
888
+ /**Styles the container which holds the input and label*/
889
+ "& .multi-select-input-wrapper"?: CSSProperties;
890
+ /**Styles the input*/
891
+ "& .multi-select-input"?: CSSProperties;
892
+ /**Styles the label*/
893
+ "& .multi-select-label"?: CSSProperties;
894
+ /**Styles the dropdown*/
895
+ "& .multi-select-dropdown"?: CSSProperties;
896
+ /** Styles the container that holds the options and checkbox*/
897
+ "& .multi-select-option-container"?: CSSProperties;
898
+ /**Styles the individual options*/
899
+ "& .multi-select-option"?: CSSProperties;
900
+ /**Styles the clear button*/
901
+ "& .multi-select-clear"?: CSSProperties;
902
+ /**Styles the dropdown arrow*/
903
+ "& .multi-select-arrow"?: CSSProperties;
904
+ /**Styles the chip*/
905
+ "& .multi-select-chip"?: CSSProperties;
906
+ }
907
+ type CustomStyleProp = CustomSelectors & StyleProp;
908
+ interface MultiSelectAutocompleteProps {
909
+ options: Option[];
910
+ placeholder?: string;
911
+ label?: string;
912
+ name?: string;
913
+ style?: CustomStyleProp;
914
+ onChange?: (selectedOptions: Option[]) => void;
915
+ value?: Option[];
916
+ }
917
+ declare const WavelengthMultiSelectAutocomplete: React__default.FC<MultiSelectAutocompleteProps>;
918
+
919
+ export { ButtonIcon, ButtonMenu, ChildDataTable, DefaultCarousel, NestedDataTable, SampleComponent, type SearchProps, type SearchResult, SliderCardCarousel, type StyledButtonPropsTwo, type ThemeProperties, WavelengthAccessAlert, WavelengthAlert, WavelengthAppLogo, WavelengthAppTheme, WavelengthAutoComplete, WavelengthAutocomplete, WavelengthBanner, WavelengthBox, WavelengthButton, WavelengthCommentDisplay, WavelengthConfirmationModal, WavelengthContentModal, WavelengthContentPlaceholder, WavelengthDataTable, WavelengthDatePicker, WavelengthDefaultIcon, WavelengthDefaultPagination, WavelengthDragAndDrop, WavelengthDropdown, WavelengthDropdownButton, WavelengthExampleComponent, WavelengthFileDownloader, WavelengthFooter, WavelengthForm, WavelengthInput, WavelengthManyPlanes, WavelengthMultiSelectAutocomplete, WavelengthNotAvailablePage, WavelengthPermissionAlert, WavelengthPlaneTrail, WavelengthPopUpMenu, WavelengthProgressBar, WavelengthSearch, WavelengthSearchTextField, WavelengthSideBar, WavelengthSlider, WavelengthSnackbar, WavelengthSpinningLogo, WavelengthSpinningOuterCircle, WavelengthStandardSnackbar, WavelengthStyledButton, WavelengthTestSnackbar, WavelengthTitleBar, add, ascendingRange, concat, findBestStringMatch, type menuItemProps, range, useOutsideClick, useThemeContext };
package/dist/esm/index.js CHANGED
@@ -6450,23 +6450,10 @@ function WavelengthButtonPagination({ totalPages, current, handleChangePage, ite
6450
6450
  }
6451
6451
  };
6452
6452
  const dropstyles = {
6453
- dropcenter: {
6454
- position: "relative",
6455
- left: "-40px",
6456
- top: "-20px"
6457
- },
6458
- mydrop: {
6459
- position: "absolute",
6460
- zIndex: "3",
6461
- maxHeight: "200px",
6462
- overflow: "scroll"
6463
- },
6464
- rangenumbers: {
6465
- display: "flex"
6466
- },
6467
- butPagCompDivStyle: {
6468
- display: "flex"
6469
- }
6453
+ dropcenter: { position: "relative", left: "-40px", top: "-20px" },
6454
+ mydrop: { position: "absolute", zIndex: "3", maxHeight: "200px", overflow: "scroll" },
6455
+ rangenumbers: { display: "flex" },
6456
+ butPagCompDivStyle: { display: "flex" }
6470
6457
  };
6471
6458
  const WLButtonPagStyle = {
6472
6459
  background: "white",
@@ -6479,15 +6466,9 @@ function WavelengthButtonPagination({ totalPages, current, handleChangePage, ite
6479
6466
  boxshadow: "4px 2px 4px darkslategray",
6480
6467
  borderRadius: "50%",
6481
6468
  margin: "3px",
6482
- "&:hover": {
6483
- background: "#49baf7"
6484
- },
6485
- "&:disabled": {
6486
- background: "rgb(226, 223, 223)"
6487
- },
6488
- "&.active": {
6489
- background: "#8FD8FF"
6490
- }
6469
+ "&:hover": { background: "#49baf7" },
6470
+ "&:disabled": { background: "rgb(226, 223, 223)" },
6471
+ "&.active": { background: "#8FD8FF" }
6491
6472
  };
6492
6473
  return /* @__PURE__ */ jsxs28("div", { style: dropstyles.butPagCompDivStyle, children: [
6493
6474
  /* @__PURE__ */ jsx38(Button5, { onClick: () => handleChangePage(current - 1), disabled: current === 1, sx: WLButtonPagStyle, children: /* @__PURE__ */ jsx38(ArrowBackIosNewIcon, {}) }),
@@ -6639,7 +6620,7 @@ function ascendingRange(start, end) {
6639
6620
  }
6640
6621
  return result;
6641
6622
  }
6642
- function DefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, boundaryCount = 1, style: style3, onPageChange }) {
6623
+ function WavelengthDefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, boundaryCount = 1, style: style3, onPageChange }) {
6643
6624
  const [current, setCurrent] = useState8(currentPageNumber);
6644
6625
  const startPages = range(1, Math.min(boundaryCount, totalPages));
6645
6626
  const endPages = range(Math.max(totalPages - boundaryCount + 1, boundaryCount + 1), totalPages);
@@ -6727,8 +6708,8 @@ function DefaultPagination({ totalPages, currentPageNumber, siblingCount = 1, bo
6727
6708
  );
6728
6709
  }
6729
6710
  }
6730
- DefaultPagination.displayName = "DefaultPagination";
6731
- var WavelengthDefaultPagination_default = DefaultPagination;
6711
+ WavelengthDefaultPagination.displayName = "WavelengthDefaultPagination";
6712
+ var WavelengthDefaultPagination_default = WavelengthDefaultPagination;
6732
6713
 
6733
6714
  // src/components/TextField/WavelengthInput.tsx
6734
6715
  import { useRef as useRef8, useEffect as useEffect9, forwardRef, useImperativeHandle as useImperativeHandle2 } from "react";
@@ -6784,6 +6765,7 @@ var WavelengthInput = forwardRef(
6784
6765
  el.removeAttribute(attr);
6785
6766
  }
6786
6767
  };
6768
+ if (style3) el.customStyles = style3;
6787
6769
  set("id", id);
6788
6770
  set("name", name);
6789
6771
  set("value", value);
@@ -8120,12 +8102,51 @@ SampleComponent.displayName = "SampleComponent";
8120
8102
 
8121
8103
  // src/index.ts
8122
8104
  import { SampleComponent as SampleComponent2 } from "@wavelengthusaf/web-components";
8105
+
8106
+ // src/components/MultiSelect/WavelengthMultiSelectAutocomplete.tsx
8107
+ import { useEffect as useEffect14, useRef as useRef13 } from "react";
8108
+ import "@wavelengthusaf/web-components";
8109
+ import { jsx as jsx48 } from "react/jsx-runtime";
8110
+ var WavelengthMultiSelectAutocomplete = ({ options, placeholder = "Select Options", label, name, style: style3, onChange, value, ...rest }) => {
8111
+ const componentRef = useRef13(null);
8112
+ useEffect14(() => {
8113
+ const component = componentRef.current;
8114
+ if (!component) return;
8115
+ const handleValueChange = (event) => {
8116
+ if (onChange) {
8117
+ onChange(event.detail.value);
8118
+ }
8119
+ };
8120
+ component.addEventListener("change", handleValueChange);
8121
+ return () => {
8122
+ component.removeEventListener("change", handleValueChange);
8123
+ };
8124
+ }, [onChange]);
8125
+ useEffect14(() => {
8126
+ const component = componentRef.current;
8127
+ if (!component) return;
8128
+ if (placeholder) component.setAttribute("placeholder", placeholder);
8129
+ if (label) component.setAttribute("label", label);
8130
+ if (name) component.setAttribute("name", name);
8131
+ if (options) component.autocompleteOptions = options;
8132
+ if (style3) component.customStyles = style3;
8133
+ }, [options, placeholder, name, label, style3]);
8134
+ useEffect14(() => {
8135
+ const component = componentRef.current;
8136
+ if (component && value) {
8137
+ component.value = value;
8138
+ }
8139
+ }, [value]);
8140
+ return /* @__PURE__ */ jsx48("wavelength-multi-select-autocomplete", { ref: componentRef, ...rest });
8141
+ };
8142
+
8143
+ // src/index.ts
8144
+ import { WavelengthMultiSelectAutocomplete as WavelengthMultiSelectAutocomplete2 } from "@wavelengthusaf/web-components";
8123
8145
  export {
8124
8146
  ButtonIcon,
8125
8147
  ButtonMenu,
8126
8148
  ChildDataTable,
8127
8149
  DefaultCarousel,
8128
- DefaultPagination,
8129
8150
  NestedDataTable,
8130
8151
  SampleComponent,
8131
8152
  SampleComponent2 as SampleComponentElement,
@@ -8149,6 +8170,7 @@ export {
8149
8170
  WavelengthDatePicker,
8150
8171
  WavelengthDatePicker2 as WavelengthDatePickerElement,
8151
8172
  WavelengthDefaultIcon,
8173
+ WavelengthDefaultPagination,
8152
8174
  WavelengthDragAndDrop,
8153
8175
  WavelengthDropdown,
8154
8176
  WavelengthDropdownButton,
@@ -8160,6 +8182,8 @@ export {
8160
8182
  WavelengthInput,
8161
8183
  WavelengthInput2 as WavelengthInputElement,
8162
8184
  WavelengthManyPlanes,
8185
+ WavelengthMultiSelectAutocomplete,
8186
+ WavelengthMultiSelectAutocomplete2 as WavelengthMultiSelectAutocompleteElement,
8163
8187
  WavelengthNotAvailablePage,
8164
8188
  WavelengthPermissionAlert,
8165
8189
  WavelengthPlaneTrail,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@wavelengthusaf/components",
3
3
  "author": "563 EWS - Wavelength",
4
4
  "license": "MIT",
5
- "version": "4.0.1",
5
+ "version": "4.1.1",
6
6
  "description": "Common component library used by Wavelength developers",
7
7
  "main": "/dist/cjs/index.cjs",
8
8
  "module": "/dist/esm/index.js",
@@ -67,7 +67,7 @@
67
67
  "@emotion/styled": "^11.11.0",
68
68
  "@mui/icons-material": "^5.16.5",
69
69
  "@mui/material": "^5.15.7",
70
- "@wavelengthusaf/web-components": "^1.0.1",
70
+ "@wavelengthusaf/web-components": "^1.1.0",
71
71
  "react": "^18.2.0",
72
72
  "react-router-dom": "^6.26.2",
73
73
  "styled-components": "^6.1.12",