sprint-asia-custom-component 0.1.52 → 0.1.54

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/dist/index.js CHANGED
@@ -24043,6 +24043,8 @@
24043
24043
  placeholder = "Placeholder",
24044
24044
  isRequired = true,
24045
24045
  isEdited = true,
24046
+ mode = "default",
24047
+ footer = null,
24046
24048
  currentOption = {
24047
24049
  option: "Name 1",
24048
24050
  value: "Value 1"
@@ -24090,7 +24092,11 @@
24090
24092
  className: "rounded-md shadow-sm"
24091
24093
  }, /*#__PURE__*/React__default["default"].createElement("button", {
24092
24094
  type: "button",
24093
- className: `${isEdited ? "bg-neutral20 cursor-pointer" : "bg-neutral30 cursor-not-allowed"} flex items-center w-full py-2.5 text-left px-4 border-neutral50 font-normal text-sm text-neutral300 rounded-md border focus:outline-none overflow-hidden`,
24095
+ className: `
24096
+ ${isEdited == false && "bg-neutral30 cursor-not-allowed"}
24097
+ ${mode == "default" && "border-neutral50 bg-neutral20 cursor-pointer"}
24098
+ ${mode == "danger" && "border-danger500 bg-danger50 cursor-pointer"}
24099
+ flex items-center w-full py-2.5 text-left px-4 font-normal text-sm text-neutral300 rounded-md border focus:outline-none overflow-hidden`,
24094
24100
  onClick: () => isEdited && handleToggleDropdownText()
24095
24101
  }, /*#__PURE__*/React__default["default"].createElement("span", {
24096
24102
  className: "flex-grow overflow-hidden"
@@ -24119,7 +24125,18 @@
24119
24125
  }
24120
24126
  }, /*#__PURE__*/React__default["default"].createElement("p", {
24121
24127
  className: "text-sm text-black"
24122
- }, option.option))))));
24128
+ }, option.option))))), footer && /*#__PURE__*/React__default["default"].createElement("div", {
24129
+ className: "mt-1"
24130
+ }, mode === "danger" ? /*#__PURE__*/React__default["default"].createElement("div", {
24131
+ className: "flex"
24132
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(PiInfo, {
24133
+ size: 16,
24134
+ className: "text-danger500"
24135
+ })), /*#__PURE__*/React__default["default"].createElement("p", {
24136
+ className: "text-danger500 text-xs ml-1"
24137
+ }, footer)) : /*#__PURE__*/React__default["default"].createElement("p", {
24138
+ className: "text-black text-xs"
24139
+ }, footer)));
24123
24140
  };
24124
24141
 
24125
24142
  function _extends$2() {
@@ -25914,7 +25931,8 @@
25914
25931
  required = false,
25915
25932
  onDrop,
25916
25933
  maxFiles = 1,
25917
- selectedFile
25934
+ selectedFile,
25935
+ error = ""
25918
25936
  }) => {
25919
25937
  const [errorMessage, setErrorMessage] = React.useState("");
25920
25938
  const onDropRejected = rejectedFiles => {
@@ -25950,7 +25968,7 @@
25950
25968
  }, /*#__PURE__*/React__default["default"].createElement("div", _extends$2({}, getRootProps({
25951
25969
  className: "dropzone"
25952
25970
  }), {
25953
- className: "bg-neutral20 w-full h-28 rounded-lg border-2 border-neutral50 border-dashed"
25971
+ className: `bg-neutral20 w-full h-28 rounded-lg border-2 ${error ? "border-danger500" : "border-neutral50"} border-dashed`
25954
25972
  }), /*#__PURE__*/React__default["default"].createElement("input", _extends$2({}, getInputProps(), {
25955
25973
  required: required
25956
25974
  })), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -25971,7 +25989,9 @@
25971
25989
  className: "text-neutral300"
25972
25990
  })), /*#__PURE__*/React__default["default"].createElement("p", {
25973
25991
  className: "text-sm text-black mt-2"
25974
- }, selectedFile?.name)))))), /*#__PURE__*/React__default["default"].createElement("p", {
25992
+ }, selectedFile?.name)))))), error && /*#__PURE__*/React__default["default"].createElement("p", {
25993
+ className: "text-danger500 text-xs mt-1"
25994
+ }, error), /*#__PURE__*/React__default["default"].createElement("p", {
25975
25995
  className: "text-xs text-neutral300 mt-1"
25976
25996
  }, subtitle));
25977
25997
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sprint-asia-custom-component",
3
3
  "main": "dist/index.js",
4
- "version": "0.1.52",
4
+ "version": "0.1.54",
5
5
  "private": false,
6
6
  "dependencies": {
7
7
  "@headlessui/react": "^1.7.18",
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect, useRef } from 'react';
2
- import { PiCaretDown, PiCaretUp } from 'react-icons/pi';
2
+ import { PiCaretDown, PiCaretUp, PiInfo } from 'react-icons/pi';
3
3
 
4
4
  const DropdownText = ({
5
5
  options = [
@@ -13,6 +13,8 @@ const DropdownText = ({
13
13
  placeholder = "Placeholder",
14
14
  isRequired = true,
15
15
  isEdited = true,
16
+ mode = "default",
17
+ footer = null,
16
18
  currentOption = {option : "Name 1", value:"Value 1"},
17
19
  }) => {
18
20
  const [isOpen, setIsOpen] = useState(false);
@@ -61,7 +63,11 @@ const DropdownText = ({
61
63
  <span className='rounded-md shadow-sm'>
62
64
  <button
63
65
  type='button'
64
- className={`${isEdited ? "bg-neutral20 cursor-pointer" : "bg-neutral30 cursor-not-allowed"} flex items-center w-full py-2.5 text-left px-4 border-neutral50 font-normal text-sm text-neutral300 rounded-md border focus:outline-none overflow-hidden`}
66
+ className={`
67
+ ${isEdited == false && "bg-neutral30 cursor-not-allowed"}
68
+ ${mode == "default" && "border-neutral50 bg-neutral20 cursor-pointer"}
69
+ ${mode == "danger" && "border-danger500 bg-danger50 cursor-pointer"}
70
+ flex items-center w-full py-2.5 text-left px-4 font-normal text-sm text-neutral300 rounded-md border focus:outline-none overflow-hidden`}
65
71
  onClick={() => isEdited && handleToggleDropdownText()}
66
72
  >
67
73
  <span className='flex-grow overflow-hidden'>{selectedOption ? selectedOption : currentOption.option ? currentOption.option : placeholder}</span>
@@ -96,6 +102,21 @@ const DropdownText = ({
96
102
  </div>
97
103
  </div>
98
104
  )}
105
+
106
+ {footer && (
107
+ <div className='mt-1'>
108
+ {mode === "danger" ? (
109
+ <div className='flex'>
110
+ <div>
111
+ <PiInfo size={16} className='text-danger500' />
112
+ </div>
113
+ <p className="text-danger500 text-xs ml-1">{footer}</p>
114
+ </div>
115
+ ) : (
116
+ <p className="text-black text-xs">{footer}</p>
117
+ )}
118
+ </div>
119
+ )}
99
120
  </div>
100
121
  );
101
122
  };
@@ -9,6 +9,7 @@ const DropzoneUploadFile = ({
9
9
  onDrop,
10
10
  maxFiles = 1,
11
11
  selectedFile,
12
+ error = "",
12
13
  }) => {
13
14
  const [errorMessage, setErrorMessage] = useState("");
14
15
 
@@ -40,7 +41,9 @@ const DropzoneUploadFile = ({
40
41
  <div className="cursor-pointer">
41
42
  <div
42
43
  {...getRootProps({ className: "dropzone" })}
43
- className="bg-neutral20 w-full h-28 rounded-lg border-2 border-neutral50 border-dashed"
44
+ className={`bg-neutral20 w-full h-28 rounded-lg border-2 ${
45
+ error ? "border-danger500" : "border-neutral50"
46
+ } border-dashed`}
44
47
  >
45
48
  <input {...getInputProps()} required={required} />
46
49
  <div className="flex w-full h-full justify-center items-center text-center">
@@ -65,6 +68,7 @@ const DropzoneUploadFile = ({
65
68
  </div>
66
69
  </div>
67
70
  </div>
71
+ {error && <p className="text-danger500 text-xs mt-1">{error}</p>}
68
72
  <p className="text-xs text-neutral300 mt-1">{subtitle}</p>
69
73
  </div>
70
74
  );