@wavelengthusaf/components 2.4.0 → 2.5.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,18 @@ npm install @wavelengthusaf/components
14
14
 
15
15
  ## Release Notes
16
16
 
17
+ ### 2.5.1
18
+
19
+ - 03/12/2025
20
+ - Added shrink prop to text field component
21
+ - Changed message prop in the snackbar component to be a react or jsx element
22
+
23
+ ### 2.5.0
24
+
25
+ - 03/06/2025
26
+ - Added a new component, WavelengthDragAndDrop
27
+ - Updated WavelengthTextField component to take in a prop called type
28
+
17
29
  ### 2.4.0
18
30
 
19
31
  - 03/03/2025
@@ -4613,6 +4613,70 @@ function WavelengthSpinningLogo({ svg = /* @__PURE__ */ _jsxruntime.jsx.call(voi
4613
4613
  return loadingSymbol;
4614
4614
  }
4615
4615
 
4616
+ // src/components/PageComponents/WavelengthDragAndDrop.tsx
4617
+
4618
+ function WavelengthDragAndDrop({
4619
+ width: width2 = "550px",
4620
+ height: height2 = "230px",
4621
+ onFilesSelected,
4622
+ border: border2,
4623
+ textColor,
4624
+ fontSize = "12px",
4625
+ allowedFileMIME,
4626
+ allowedFileExtensions,
4627
+ backgroundColor: backgroundColor2 = "transparent"
4628
+ }) {
4629
+ const handleFileChange = (event) => {
4630
+ const selectedFiles = event.target.files;
4631
+ if (selectedFiles && selectedFiles.length > 0) {
4632
+ const newFiles = Array.from(selectedFiles);
4633
+ onFilesSelected(newFiles);
4634
+ }
4635
+ };
4636
+ const handleDrop = (event) => {
4637
+ event.preventDefault();
4638
+ const droppedFiles = event.dataTransfer.files;
4639
+ if (droppedFiles.length > 0) {
4640
+ const newFiles = Array.from(droppedFiles);
4641
+ const allowedTypes = allowedFileMIME ? allowedFileMIME : "*/*";
4642
+ const validFiles = newFiles.filter((file) => allowedTypes === "*/*" || allowedTypes.includes(file.type));
4643
+ if (validFiles.length > 0) {
4644
+ onFilesSelected(validFiles);
4645
+ } else {
4646
+ alert(`Invalid file type`);
4647
+ }
4648
+ }
4649
+ };
4650
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4651
+ "div",
4652
+ {
4653
+ style: {
4654
+ backgroundColor: backgroundColor2,
4655
+ border: border2 ? border2 : "1px dashed rgba(14, 178, 178, 1)",
4656
+ borderRadius: "8px",
4657
+ paddingTop: "10px",
4658
+ boxSizing: "border-box",
4659
+ width: width2,
4660
+ height: height2,
4661
+ cursor: "pointer",
4662
+ display: "flex",
4663
+ flexDirection: "column",
4664
+ justifyContent: "center",
4665
+ alignItems: "center",
4666
+ overflow: "scroll"
4667
+ },
4668
+ onDrop: handleDrop,
4669
+ onDragOver: (event) => event.preventDefault(),
4670
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { style: { fontSize, color: textColor }, children: [
4671
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "file", hidden: true, multiple: true, id: "browse", onChange: handleFileChange, accept: allowedFileExtensions }),
4672
+ "Drag File here or",
4673
+ " ",
4674
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "browse", style: { textDecoration: "underline", cursor: "pointer" }, children: "select from files" })
4675
+ ] })
4676
+ }
4677
+ );
4678
+ }
4679
+
4616
4680
  // src/components/footers/WavelengthFooter/WavelengthFooter.tsx
4617
4681
 
4618
4682
  var _Box = require('@mui/material/Box'); var _Box2 = _interopRequireDefault(_Box);
@@ -5817,6 +5881,7 @@ function WavelengthTextField(props) {
5817
5881
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5818
5882
  _TextField2.default,
5819
5883
  {
5884
+ type: props.type,
5820
5885
  required: props.required,
5821
5886
  label: props.label,
5822
5887
  onChange: (e) => {
@@ -5846,7 +5911,7 @@ function WavelengthTextField(props) {
5846
5911
  },
5847
5912
  placeholder: props.placeholder,
5848
5913
  InputLabelProps: {
5849
- shrink: true
5914
+ shrink: props.shrink
5850
5915
  },
5851
5916
  InputProps: {
5852
5917
  style: { color: props.textColor || "inherit" }
@@ -5898,7 +5963,8 @@ function WavelengthTextField(props) {
5898
5963
 
5899
5964
 
5900
5965
 
5901
- exports.AppLogo = AppLogo; exports.ButtonIcon = ButtonIcon; exports.ButtonMenu = ButtonMenu; exports.DefaultCarousel = DefaultCarousel; exports.DefaultIcon = DefaultIcon; exports.DefaultPagination = DefaultPagination; exports.ManyPlanesComponent = ManyPlanesComponent; exports.NotAvailablePage = NotAvailablePage; exports.SearchTextField = SearchTextField; exports.SliderCardCarousel = SliderCardCarousel; exports.TestSnackbar = TestSnackbar; exports.WavelengthAppTheme = WavelengthAppTheme; exports.WavelengthAutocomplete = WavelengthAutocomplete; exports.WavelengthBanner = WavelengthBanner; exports.WavelengthBox = WavelengthBox; exports.WavelengthButton = WavelengthButton; exports.WavelengthConfirmationModal = WavelengthConfirmationModal; exports.WavelengthContentModal = WavelengthContentModal; exports.WavelengthContentPlaceholder = WavelengthContentPlaceholder; exports.WavelengthDropdown = WavelengthDropdown; exports.WavelengthDropdownButton = WavelengthDropdownButton; exports.WavelengthExampleComponent = WavelengthExampleComponent; exports.WavelengthFileDownloader = WavelengthFileDownloader; exports.WavelengthFooter = WavelengthFooter; exports.WavelengthPlaneTrail = WavelengthPlaneTrail; exports.WavelengthPopUpMenu = WavelengthPopUpMenu; exports.WavelengthSearch = WavelengthSearch; exports.WavelengthSideBar = WavelengthSideBar; exports.WavelengthSlider = WavelengthSlider; exports.WavelengthSnackbar = WavelengthSnackbar; exports.WavelengthSpinningLogo = WavelengthSpinningLogo; exports.WavelengthSpinningOuterCircle = WavelengthSpinningOuterCircle; exports.WavelengthStandardSnackbar = WavelengthStandardSnackbar; exports.WavelengthStyledButton = WavelengthStyledButton; exports.WavelengthTextField = WavelengthTextField; exports.WavelengthTitleBar = WavelengthTitleBar; exports.add = add; exports.ascendingRange = ascendingRange; exports.concat = concat; exports.findBestStringMatch = findBestStringMatch; exports.range = range; exports.useOutsideClick = useOutsideClick; exports.useThemeContext = useThemeContext;
5966
+
5967
+ exports.AppLogo = AppLogo; exports.ButtonIcon = ButtonIcon; exports.ButtonMenu = ButtonMenu; exports.DefaultCarousel = DefaultCarousel; exports.DefaultIcon = DefaultIcon; exports.DefaultPagination = DefaultPagination; exports.ManyPlanesComponent = ManyPlanesComponent; exports.NotAvailablePage = NotAvailablePage; exports.SearchTextField = SearchTextField; exports.SliderCardCarousel = SliderCardCarousel; exports.TestSnackbar = TestSnackbar; exports.WavelengthAppTheme = WavelengthAppTheme; exports.WavelengthAutocomplete = WavelengthAutocomplete; exports.WavelengthBanner = WavelengthBanner; exports.WavelengthBox = WavelengthBox; exports.WavelengthButton = WavelengthButton; exports.WavelengthConfirmationModal = WavelengthConfirmationModal; exports.WavelengthContentModal = WavelengthContentModal; exports.WavelengthContentPlaceholder = WavelengthContentPlaceholder; exports.WavelengthDragAndDrop = WavelengthDragAndDrop; exports.WavelengthDropdown = WavelengthDropdown; exports.WavelengthDropdownButton = WavelengthDropdownButton; exports.WavelengthExampleComponent = WavelengthExampleComponent; exports.WavelengthFileDownloader = WavelengthFileDownloader; exports.WavelengthFooter = WavelengthFooter; exports.WavelengthPlaneTrail = WavelengthPlaneTrail; exports.WavelengthPopUpMenu = WavelengthPopUpMenu; exports.WavelengthSearch = WavelengthSearch; exports.WavelengthSideBar = WavelengthSideBar; exports.WavelengthSlider = WavelengthSlider; exports.WavelengthSnackbar = WavelengthSnackbar; exports.WavelengthSpinningLogo = WavelengthSpinningLogo; exports.WavelengthSpinningOuterCircle = WavelengthSpinningOuterCircle; exports.WavelengthStandardSnackbar = WavelengthStandardSnackbar; exports.WavelengthStyledButton = WavelengthStyledButton; exports.WavelengthTextField = WavelengthTextField; exports.WavelengthTitleBar = WavelengthTitleBar; exports.add = add; exports.ascendingRange = ascendingRange; exports.concat = concat; exports.findBestStringMatch = findBestStringMatch; exports.range = range; exports.useOutsideClick = useOutsideClick; exports.useThemeContext = useThemeContext;
5902
5968
  /*! Bundled license information:
5903
5969
 
5904
5970
  react-is/cjs/react-is.production.min.js: