@wavelengthusaf/components 4.4.0 → 4.4.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,11 @@ npm install @wavelengthusaf/components
14
14
 
15
15
  ## Release Notes
16
16
 
17
+ ### 4.4.1
18
+
19
+ - 2/25/2026
20
+ - Changed the `WavelengthDropdown` to be a native web component
21
+
17
22
  ### 4.4.0
18
23
 
19
24
  - 2/24/2026
@@ -206,7 +206,7 @@ var require_react_is_development = __commonJS({
206
206
  var ContextProvider = REACT_PROVIDER_TYPE;
207
207
  var Element = REACT_ELEMENT_TYPE;
208
208
  var ForwardRef2 = REACT_FORWARD_REF_TYPE;
209
- var Fragment18 = REACT_FRAGMENT_TYPE;
209
+ var Fragment17 = REACT_FRAGMENT_TYPE;
210
210
  var Lazy = REACT_LAZY_TYPE;
211
211
  var Memo2 = REACT_MEMO_TYPE;
212
212
  var Portal = REACT_PORTAL_TYPE;
@@ -265,7 +265,7 @@ var require_react_is_development = __commonJS({
265
265
  exports.ContextProvider = ContextProvider;
266
266
  exports.Element = Element;
267
267
  exports.ForwardRef = ForwardRef2;
268
- exports.Fragment = Fragment18;
268
+ exports.Fragment = Fragment17;
269
269
  exports.Lazy = Lazy;
270
270
  exports.Memo = Memo2;
271
271
  exports.Portal = Portal;
@@ -6085,131 +6085,45 @@ WavelengthPopUpMenu.displayName = "WavelengthPopUpMenu";
6085
6085
  // src/components/modals/WavelengthDropdown.tsx
6086
6086
 
6087
6087
 
6088
-
6089
- var _Grow = require('@mui/material/Grow'); var _Grow2 = _interopRequireDefault(_Grow);
6090
-
6091
- function WavelengthDropdown({
6092
- id,
6093
- options,
6094
- buttonSx,
6095
- width: width2 = "200px",
6096
- buttonText,
6097
- menuSx = { backgroundColor: "#FCFAF8", borderColor: "blue", width: width2, boxShadow: "none" },
6098
- palette: palette2
6099
- }) {
6100
- const [anchorEl, setAnchorEl] = React2.default.useState(null);
6101
- const open = Boolean(anchorEl);
6102
- const handleClick = (event) => {
6103
- setAnchorEl(event.currentTarget);
6104
- };
6105
- const handleClose = () => {
6106
- setAnchorEl(null);
6107
- };
6108
- const breweryStyleButton = {
6109
- backgroundColor: "#d16a2f",
6110
- color: "white",
6111
- padding: "16px 16px",
6112
- width: width2,
6113
- fontSize: "18px",
6114
- minWidth: "min-content",
6115
- borderTopRightRadius: "8px",
6116
- borderTopLeftRadius: "8px",
6117
- "&:hover": {
6118
- backgroundColor: "rgba(228, 119, 57, 1)"
6119
- }
6120
- };
6121
- const breweryDropDownStyle = {
6122
- backgroundColor: "#FCFAF8",
6123
- borderColor: "#d16a2f",
6124
- hoverColor: "rgba(209, 106, 47, 0.1)",
6125
- width: width2
6126
- };
6127
- const defaultDropdownSx = {
6128
- backgroundColor: "white",
6129
- borderColor: "blue",
6130
- hoverColor: "#d4d4e3",
6131
- width: width2
6132
- };
6133
- const defaultsx = menuSx ? { ...defaultDropdownSx, ...menuSx } : defaultDropdownSx;
6134
- let myButtonSx;
6135
- let myMenusx;
6136
- if (palette2 === "brewery") {
6137
- myButtonSx = { ...breweryStyleButton, ...buttonSx };
6138
- myMenusx = { ...breweryDropDownStyle, ...menuSx };
6139
- } else {
6140
- myButtonSx = buttonSx;
6141
- myMenusx = defaultsx;
6142
- }
6143
- const MenuItem2 = _material.styled.call(void 0, (0, _material.MenuItem))({
6144
- "&.MuiMenuItem-root": {
6145
- "&.Mui-selected": {
6146
- backgroundColor: `${myMenusx.backgroundColor}`
6147
- },
6148
- "&:hover": {
6149
- backgroundColor: `${myMenusx.hoverColor}`
6150
- }
6088
+ var WavelengthDropdown = _react.forwardRef.call(void 0, (props, ref) => {
6089
+ const { options, defaultValue, value, fontSize, fontFamily, borderRadius: borderRadius2, width: width2, height: height2, textColor, arrowSize, popupRadius, popupAlign, popupSelectedColor, onChange, ...rest } = props;
6090
+ const elementRef = _react.useRef.call(void 0, null);
6091
+ _react.useImperativeHandle.call(void 0, ref, () => elementRef.current);
6092
+ _react.useEffect.call(void 0, () => {
6093
+ const el = elementRef.current;
6094
+ if (!el || !onChange) return;
6095
+ const handler = (e) => {
6096
+ const customEvent = e;
6097
+ onChange(customEvent);
6098
+ };
6099
+ el.addEventListener("change", handler);
6100
+ return () => el.removeEventListener("change", handler);
6101
+ }, [onChange]);
6102
+ _react.useEffect.call(void 0, () => {
6103
+ if (value !== void 0 && elementRef.current) {
6104
+ elementRef.current.value = value;
6151
6105
  }
6152
- });
6153
- const MyMenu = _material.styled.call(void 0, (0, _material.Menu))({
6154
- top: "-7px",
6155
- left: "0px",
6156
- boxSizing: "border-box",
6157
- "& .MuiMenu-paper": {
6158
- borderBottomLeftRadius: "8px",
6159
- borderBottomRightRadius: "8px",
6160
- borderTopRightRadius: "0px",
6161
- borderTopLeftRadius: "0px",
6162
- boxShadow: _optionalChain([menuSx, 'optionalAccess', _39 => _39.boxShadow]),
6163
- width: myMenusx.width,
6164
- backgroundColor: `${myMenusx.backgroundColor}`
6165
- },
6166
- "& .MuiMenu-list": {
6167
- borderBottomLeftRadius: "8px",
6168
- borderBottomRightRadius: "8px",
6169
- borderLeft: `1px solid ${myMenusx.borderColor}`,
6170
- borderRight: `1px solid ${myMenusx.borderColor}`,
6171
- borderBottom: `1px solid ${myMenusx.borderColor}`
6106
+ }, [value]);
6107
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6108
+ "wavelength-dropdown",
6109
+ {
6110
+ ref: elementRef,
6111
+ options: JSON.stringify(options),
6112
+ defaultValue,
6113
+ "font-size": fontSize,
6114
+ "font-family": fontFamily,
6115
+ "border-radius": borderRadius2,
6116
+ width: width2,
6117
+ height: height2,
6118
+ color: textColor,
6119
+ "arrow-size": arrowSize,
6120
+ "popup-radius": popupRadius,
6121
+ "popup-align": popupAlign,
6122
+ "popup-selected-color": popupSelectedColor,
6123
+ ...rest
6172
6124
  }
6173
- });
6174
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6175
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6176
- WavelengthButton,
6177
- {
6178
- variant: "contained",
6179
- size: "large",
6180
- borderRadius: "0.5rem",
6181
- padding: myButtonSx.padding || breweryStyleButton.padding,
6182
- width: width2,
6183
- margin: "0rem",
6184
- colorOne: menuSx.borderColor,
6185
- colorTwo: menuSx.backgroundColor,
6186
- fontSize: "1.125rem",
6187
- boxShadow: "none",
6188
- onClick: handleClick,
6189
- children: buttonText
6190
- }
6191
- ),
6192
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6193
- MyMenu,
6194
- {
6195
- id,
6196
- anchorEl,
6197
- open,
6198
- onClose: handleClose,
6199
- MenuListProps: {
6200
- "aria-labelledby": "basic-button"
6201
- },
6202
- anchorOrigin: { vertical: "bottom", horizontal: "center" },
6203
- transformOrigin: { vertical: "top", horizontal: "center" },
6204
- TransitionComponent: _Grow2.default,
6205
- children: options.map((item, index) => {
6206
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MenuItem2, { onClick: item.onClick, children: item.option }, index);
6207
- })
6208
- }
6209
- )
6210
- ] });
6211
- }
6212
- var WavelengthDropdownStyled = _material.styled.call(void 0, WavelengthDropdown)``;
6125
+ );
6126
+ });
6213
6127
  WavelengthDropdown.displayName = "WavelengthDropdown";
6214
6128
 
6215
6129
  // src/components/snackbars/WavelengthSnackbar.tsx
@@ -6909,7 +6823,7 @@ var WavelengthInput = _react.forwardRef.call(void 0,
6909
6823
  const internalRef = _react.useRef.call(void 0, null);
6910
6824
  _react.useImperativeHandle.call(void 0, ref, () => ({
6911
6825
  ...internalRef.current,
6912
- validate: () => _optionalChain([internalRef, 'access', _40 => _40.current, 'optionalAccess', _41 => _41.validate, 'optionalCall', _42 => _42(true)])
6826
+ validate: () => _optionalChain([internalRef, 'access', _39 => _39.current, 'optionalAccess', _40 => _40.validate, 'optionalCall', _41 => _41(true)])
6913
6827
  }));
6914
6828
  _react.useEffect.call(void 0, () => {
6915
6829
  const el = internalRef.current;
@@ -6986,7 +6900,7 @@ var WavelengthInput = _react.forwardRef.call(void 0,
6986
6900
  const el = internalRef.current;
6987
6901
  if (!el || !onBlurCallback) return;
6988
6902
  const handler = (e) => {
6989
- const input = _optionalChain([el, 'access', _43 => _43.shadowRoot, 'optionalAccess', _44 => _44.querySelector, 'call', _45 => _45("input")]);
6903
+ const input = _optionalChain([el, 'access', _42 => _42.shadowRoot, 'optionalAccess', _43 => _43.querySelector, 'call', _44 => _44("input")]);
6990
6904
  if (input) {
6991
6905
  onBlurCallback();
6992
6906
  }
@@ -6998,7 +6912,7 @@ var WavelengthInput = _react.forwardRef.call(void 0,
6998
6912
  const el = internalRef.current;
6999
6913
  if (!el || !onChange) return;
7000
6914
  const handler = (e) => {
7001
- const input = _optionalChain([el, 'access', _46 => _46.shadowRoot, 'optionalAccess', _47 => _47.querySelector, 'call', _48 => _48("input")]);
6915
+ const input = _optionalChain([el, 'access', _45 => _45.shadowRoot, 'optionalAccess', _46 => _46.querySelector, 'call', _47 => _47("input")]);
7002
6916
  if (input) {
7003
6917
  const synthetic = {
7004
6918
  ...e,
@@ -7201,7 +7115,7 @@ var WavelengthDataTable = ({ data, columns, itemsPerPage, totalPages, id }) => {
7201
7115
  const [noRowsOpen, setNoRowsOpen] = _react.useState.call(void 0, false);
7202
7116
  const [isModalOpen, setIsModalOpen] = _react.useState.call(void 0, false);
7203
7117
  const [searchItem, setSearchItem] = _react.useState.call(void 0, "");
7204
- const [selectedValue, setSelectedValue] = _react.useState.call(void 0, _optionalChain([columns, 'access', _49 => _49[0], 'optionalAccess', _50 => _50.key]) || "");
7118
+ const [selectedValue, setSelectedValue] = _react.useState.call(void 0, _optionalChain([columns, 'access', _48 => _48[0], 'optionalAccess', _49 => _49.key]) || "");
7205
7119
  const [currentPage, setCurrentPage] = _react.useState.call(void 0, 1);
7206
7120
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
7207
7121
  const [editingMenuKey, setEditingMenuKey] = _react.useState.call(void 0, null);
@@ -7355,7 +7269,7 @@ var WavelengthDataTable = ({ data, columns, itemsPerPage, totalPages, id }) => {
7355
7269
  ] }, index)
7356
7270
  ] }, `headCell-${index}`);
7357
7271
  });
7358
- const rows = !_optionalChain([currentPageData, 'optionalAccess', _51 => _51.length]) || noRowsOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoDataRows", colSpan: columns.length, children: "No data" }) }) : _optionalChain([currentPageData, 'optionalAccess', _52 => _52.map, 'call', _53 => _53((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: columns.map((column, index2) => {
7272
+ const rows = !_optionalChain([currentPageData, 'optionalAccess', _50 => _50.length]) || noRowsOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoDataRows", colSpan: columns.length, children: "No data" }) }) : _optionalChain([currentPageData, 'optionalAccess', _51 => _51.map, 'call', _52 => _52((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: columns.map((column, index2) => {
7359
7273
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StyledTd, { children: editingId === item.id && editedColumnKey === column.key ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7360
7274
  StyledInput,
7361
7275
  {
@@ -7601,7 +7515,7 @@ var ChildDataTable = ({ data, columns, downloadArrowOnClick, downloadMissionOnCl
7601
7515
  }
7602
7516
  if (sortSubOrder) {
7603
7517
  result.map(
7604
- (item) => _optionalChain([item, 'access', _54 => _54.Details, 'optionalAccess', _55 => _55.fileObjects, 'access', _56 => _56.sort, 'call', _57 => _57((c, d) => {
7518
+ (item) => _optionalChain([item, 'access', _53 => _53.Details, 'optionalAccess', _54 => _54.fileObjects, 'access', _55 => _55.sort, 'call', _56 => _56((c, d) => {
7605
7519
  const valueC = c[sortSubKey];
7606
7520
  const valueD = d[sortSubKey];
7607
7521
  if (typeof valueC === "string" && typeof valueD === "string") {
@@ -7662,24 +7576,24 @@ var ChildDataTable = ({ data, columns, downloadArrowOnClick, downloadMissionOnCl
7662
7576
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "th", { children: renderSortSubButton(column, sortSubOrder, sortSubKey) }, `SubHeadCell-${index}`);
7663
7577
  });
7664
7578
  const subDataRows = (itemId) => {
7665
- return processedRowData.filter((item) => _optionalChain([item, 'access', _58 => _58.Details, 'optionalAccess', _59 => _59.relationId]) === itemId).map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: _optionalChain([item, 'access', _60 => _60.Details, 'optionalAccess', _61 => _61.fileObjects, 'access', _62 => _62.map, 'call', _63 => _63((fileItem, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SubDataTableBodyRowContainer, { children: [
7579
+ return processedRowData.filter((item) => _optionalChain([item, 'access', _57 => _57.Details, 'optionalAccess', _58 => _58.relationId]) === itemId).map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: _optionalChain([item, 'access', _59 => _59.Details, 'optionalAccess', _60 => _60.fileObjects, 'access', _61 => _61.map, 'call', _62 => _62((fileItem, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SubDataTableBodyRowContainer, { children: [
7666
7580
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DownloadArrow, { onClick: downloadArrowOnClick, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "17", height: "16", viewBox: "0 0 17 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7667
7581
  "path",
7668
7582
  {
7669
7583
  d: "M8.5 12L3.5 7L4.9 5.55L7.5 8.15V0H9.5V8.15L12.1 5.55L13.5 7L8.5 12ZM2.5 16C1.95 16 1.47917 15.8042 1.0875 15.4125C0.695833 15.0208 0.5 14.55 0.5 14V11H2.5V14H14.5V11H16.5V14C16.5 14.55 16.3042 15.0208 15.9125 15.4125C15.5208 15.8042 15.05 16 14.5 16H2.5Z",
7670
7584
  fill: "#1C1B1F"
7671
7585
  }
7672
- ) }) }) }, `td-${_optionalChain([item, 'access', _64 => _64.Details, 'optionalAccess', _65 => _65.relationId])}-${fileItem.id}`),
7586
+ ) }) }) }, `td-${_optionalChain([item, 'access', _63 => _63.Details, 'optionalAccess', _64 => _64.relationId])}-${fileItem.id}`),
7673
7587
  SubDataColumns.map((column) => {
7674
7588
  const columnKey = trimBeforePeriod2(column.key);
7675
7589
  const value = fileItem[columnKey];
7676
7590
  if (value !== void 0) {
7677
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubDataTableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: value }, `span-${_optionalChain([item, 'access', _66 => _66.Details, 'optionalAccess', _67 => _67.relationId])}-${fileItem.id}-${index}-${column.title}`) }, `fileitem-${item}-${_optionalChain([item, 'access', _68 => _68.Details, 'optionalAccess', _69 => _69.relationId])}-${fileItem.id}-${index}-${column.title}`);
7591
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubDataTableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: value }, `span-${_optionalChain([item, 'access', _65 => _65.Details, 'optionalAccess', _66 => _66.relationId])}-${fileItem.id}-${index}-${column.title}`) }, `fileitem-${item}-${_optionalChain([item, 'access', _67 => _67.Details, 'optionalAccess', _68 => _68.relationId])}-${fileItem.id}-${index}-${column.title}`);
7678
7592
  }
7679
7593
  })
7680
- ] }, `${item}-${_optionalChain([item, 'access', _70 => _70.Details, 'optionalAccess', _71 => _71.relationId])}-${fileItem.id}-${index}`))]) }, `SDR-${item.id}-${_optionalChain([item, 'access', _72 => _72.Details, 'optionalAccess', _73 => _73.relationId])}`));
7594
+ ] }, `${item}-${_optionalChain([item, 'access', _69 => _69.Details, 'optionalAccess', _70 => _70.relationId])}-${fileItem.id}-${index}`))]) }, `SDR-${item.id}-${_optionalChain([item, 'access', _71 => _71.Details, 'optionalAccess', _72 => _72.relationId])}`));
7681
7595
  };
7682
- const dataRows = _optionalChain([processedRowData, 'optionalAccess', _74 => _74.map, 'call', _75 => _75((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, BodyRowContainer, { children: [
7596
+ const dataRows = _optionalChain([processedRowData, 'optionalAccess', _73 => _73.map, 'call', _74 => _74((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, BodyRowContainer, { children: [
7683
7597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { $amountofColumns: HeadColumns.length, children: HeadColumns.map((column) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBodyCell, { $primaryBoldState: column.PrimaryBoldText, children: item[column.key] }, `TableBodycell-${item.id}-${column.key}`)) }),
7684
7598
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ButtonStylingRow, { children: [
7685
7599
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DownloadMissionButton, { onClick: downloadMissionOnClick, children: "Download Mission" }),
@@ -7733,7 +7647,7 @@ var ChildDataTable2 = ({ columns, data, dropdownArrowLocation, sortIcon, dropdow
7733
7647
  root = _client.createRoot.call(void 0, container);
7734
7648
  reactDropdownRoots.current.set(container, root);
7735
7649
  }
7736
- const item = _optionalChain([data, 'optionalAccess', _76 => _76.find, 'call', _77 => _77((item2) => String(item2.id) === String(itemId))]);
7650
+ const item = _optionalChain([data, 'optionalAccess', _75 => _75.find, 'call', _76 => _76((item2) => String(item2.id) === String(itemId))]);
7737
7651
  if (item && item.dropdown && root) {
7738
7652
  root.render(item.dropdown);
7739
7653
  }
@@ -7860,9 +7774,9 @@ var NestedDataTable = ({ data, columns, id }) => {
7860
7774
  const SubDataHeaders = SubDataColumns.map((column, index) => {
7861
7775
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "th", { children: column.title }, `SubHeadCell-${index}`);
7862
7776
  });
7863
- const subDataRows = !_optionalChain([data, 'optionalAccess', _78 => _78.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoSubDataRows", colSpan: columns.length, children: "No data" }) }) : data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubDataTr, { children: SubDataColumns.map((column, colIndex) => {
7777
+ const subDataRows = !_optionalChain([data, 'optionalAccess', _77 => _77.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoSubDataRows", colSpan: columns.length, children: "No data" }) }) : data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubDataTr, { children: SubDataColumns.map((column, colIndex) => {
7864
7778
  const columnKey = trimBeforePeriod(column.key);
7865
- const value = _optionalChain([item, 'access', _79 => _79.Details, 'optionalAccess', _80 => _80[columnKey]]);
7779
+ const value = _optionalChain([item, 'access', _78 => _78.Details, 'optionalAccess', _79 => _79[columnKey]]);
7866
7780
  console.log("value: ", value);
7867
7781
  if (value !== void 0) {
7868
7782
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: value }) }, `Span-${item.id}-${colIndex}`);
@@ -7872,7 +7786,7 @@ var NestedDataTable = ({ data, columns, id }) => {
7872
7786
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "thead", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: SubDataHeaders }) }),
7873
7787
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tbody", { children: subDataRows })
7874
7788
  ] });
7875
- const rows = !_optionalChain([data, 'optionalAccess', _81 => _81.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoDataRows", colSpan: columns.length, children: "No data" }) }) : _optionalChain([data, 'optionalAccess', _82 => _82.map, 'call', _83 => _83((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7789
+ const rows = !_optionalChain([data, 'optionalAccess', _80 => _80.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { title: "NoDataRows", colSpan: columns.length, children: "No data" }) }) : _optionalChain([data, 'optionalAccess', _81 => _81.map, 'call', _82 => _82((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7876
7790
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PrimaryTrRows, { $index: index, children: [
7877
7791
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownButton, { onClick: () => toggleDropdown(index), children: isAscending && isOpen && primaryRowIndex === index ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: "\u2227" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: "\u2228" }) }),
7878
7792
  HeadColumns.map((column, index2) => {
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
2
2
  import React__default, { ReactNode, ChangeEvent, ReactElement, CSSProperties as CSSProperties$1 } from 'react';
3
3
  export { ChildDataTable as ChildDataTableElement, 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
- import { TextFieldVariants, SxProps, Theme } from '@mui/material';
5
+ import { TextFieldVariants } from '@mui/material';
6
6
  import { z } from 'zod';
7
7
  import { Mark } from '@mui/material/Slider/useSlider.types';
8
8
  import { CSSProperties } from 'styled-components';
@@ -657,30 +657,27 @@ declare namespace WavelengthPopUpMenu {
657
657
  var displayName: string;
658
658
  }
659
659
 
660
- interface DropdownProps {
661
- id?: string;
662
- palette: "brewery" | "custom";
663
- width: string;
664
- options: menuOptions[];
665
- buttonSx?: SxProps<Theme> | undefined;
666
- menuSx?: MenuSxProps;
667
- buttonText: string | ReactNode;
668
- }
669
- interface menuOptions {
670
- option: React__default.ReactNode;
671
- onClick?: React__default.MouseEventHandler<HTMLLIElement> | undefined;
672
- }
673
- interface MenuSxProps {
674
- backgroundColor?: string;
675
- borderColor?: string;
676
- hoverColor?: string;
660
+ interface WavelengthDropdownProps extends React.HTMLAttributes<HTMLElement> {
661
+ options?: {
662
+ label?: string;
663
+ value: string;
664
+ color?: string;
665
+ }[];
666
+ defaultValue?: string;
667
+ value?: string;
668
+ textColor?: string;
669
+ fontSize?: string;
670
+ fontFamily?: string;
671
+ borderRadius?: string;
677
672
  width?: string;
678
- boxShadow?: string;
679
- }
680
- declare function WavelengthDropdown({ id, options, buttonSx, width, buttonText, menuSx, palette, }: DropdownProps): react_jsx_runtime.JSX.Element;
681
- declare namespace WavelengthDropdown {
682
- var displayName: string;
673
+ height?: string;
674
+ arrowSize?: string;
675
+ popupRadius?: string;
676
+ popupAlign?: "left" | "center" | "right";
677
+ popupSelectedColor?: string;
678
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
683
679
  }
680
+ declare const WavelengthDropdown: React$1.ForwardRefExoticComponent<WavelengthDropdownProps & React$1.RefAttributes<HTMLElement>>;
684
681
 
685
682
  interface ConfirmationSnackbarProps {
686
683
  show: boolean;
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
2
2
  import React__default, { ReactNode, ChangeEvent, ReactElement, CSSProperties as CSSProperties$1 } from 'react';
3
3
  export { ChildDataTable as ChildDataTableElement, 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
- import { TextFieldVariants, SxProps, Theme } from '@mui/material';
5
+ import { TextFieldVariants } from '@mui/material';
6
6
  import { z } from 'zod';
7
7
  import { Mark } from '@mui/material/Slider/useSlider.types';
8
8
  import { CSSProperties } from 'styled-components';
@@ -657,30 +657,27 @@ declare namespace WavelengthPopUpMenu {
657
657
  var displayName: string;
658
658
  }
659
659
 
660
- interface DropdownProps {
661
- id?: string;
662
- palette: "brewery" | "custom";
663
- width: string;
664
- options: menuOptions[];
665
- buttonSx?: SxProps<Theme> | undefined;
666
- menuSx?: MenuSxProps;
667
- buttonText: string | ReactNode;
668
- }
669
- interface menuOptions {
670
- option: React__default.ReactNode;
671
- onClick?: React__default.MouseEventHandler<HTMLLIElement> | undefined;
672
- }
673
- interface MenuSxProps {
674
- backgroundColor?: string;
675
- borderColor?: string;
676
- hoverColor?: string;
660
+ interface WavelengthDropdownProps extends React.HTMLAttributes<HTMLElement> {
661
+ options?: {
662
+ label?: string;
663
+ value: string;
664
+ color?: string;
665
+ }[];
666
+ defaultValue?: string;
667
+ value?: string;
668
+ textColor?: string;
669
+ fontSize?: string;
670
+ fontFamily?: string;
671
+ borderRadius?: string;
677
672
  width?: string;
678
- boxShadow?: string;
679
- }
680
- declare function WavelengthDropdown({ id, options, buttonSx, width, buttonText, menuSx, palette, }: DropdownProps): react_jsx_runtime.JSX.Element;
681
- declare namespace WavelengthDropdown {
682
- var displayName: string;
673
+ height?: string;
674
+ arrowSize?: string;
675
+ popupRadius?: string;
676
+ popupAlign?: "left" | "center" | "right";
677
+ popupSelectedColor?: string;
678
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
683
679
  }
680
+ declare const WavelengthDropdown: React$1.ForwardRefExoticComponent<WavelengthDropdownProps & React$1.RefAttributes<HTMLElement>>;
684
681
 
685
682
  interface ConfirmationSnackbarProps {
686
683
  show: boolean;