opus-toolkit-components 0.3.2 → 0.3.4
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.
|
@@ -588,7 +588,7 @@ const Accordion = _ref => {
|
|
|
588
588
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
589
589
|
className: "accordion rounded-md"
|
|
590
590
|
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
591
|
-
className: "accordion-item
|
|
591
|
+
className: "accordion-item rounded-lg",
|
|
592
592
|
key: index
|
|
593
593
|
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
594
594
|
className: "accordion-header flex justify-between p-2",
|
|
@@ -779,22 +779,38 @@ const Input = /*#__PURE__*/(0,external_react_.forwardRef)((_ref, ref) => {
|
|
|
779
779
|
errorMessage = `${label} is required`,
|
|
780
780
|
onChange,
|
|
781
781
|
className = '',
|
|
782
|
-
value
|
|
782
|
+
value,
|
|
783
|
+
Icon,
|
|
784
|
+
// Icon component
|
|
785
|
+
iconPosition = 'left',
|
|
786
|
+
// Icon position: left or right
|
|
787
|
+
isAnimated = false // Add animation class when focused
|
|
783
788
|
} = _ref;
|
|
784
|
-
const inputClasses = `${className} rounded-md bg-white border border-greyLight500 px-4
|
|
789
|
+
const inputClasses = `${className} flex items-center rounded-md bg-white border ${isValid ? 'border-greyLight500' : 'border-utilRed1000'} px-4 text-md font-normal text-gray-900`;
|
|
790
|
+
const iconClasses = `h-5 w-5 ${isAnimated ? 'transition-transform duration-200 group-focus-within:scale-125' : ''} text-gray-400`;
|
|
785
791
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
786
792
|
className: "flex flex-col mb-4"
|
|
787
793
|
}, /*#__PURE__*/external_react_default().createElement("label", {
|
|
788
|
-
className: "text-greyLight1000"
|
|
789
|
-
}, label), /*#__PURE__*/external_react_default().createElement("
|
|
794
|
+
className: "text-greyLight1000 mb-1"
|
|
795
|
+
}, label), /*#__PURE__*/external_react_default().createElement("div", {
|
|
796
|
+
className: `${inputClasses} relative`
|
|
797
|
+
}, Icon && iconPosition === 'left' && /*#__PURE__*/external_react_default().createElement("span", {
|
|
798
|
+
className: "absolute left-3 flex items-center pointer-events-none"
|
|
799
|
+
}, /*#__PURE__*/external_react_default().createElement(Icon, {
|
|
800
|
+
className: iconClasses
|
|
801
|
+
})), /*#__PURE__*/external_react_default().createElement("input", {
|
|
790
802
|
ref: ref,
|
|
791
|
-
className:
|
|
803
|
+
className: `w-full ${Icon ? iconPosition === 'left' ? 'pl-10' : 'pr-10' : ''} bg-transparent border-none focus:ring-0`,
|
|
792
804
|
type: type,
|
|
793
805
|
name: name,
|
|
794
806
|
placeholder: placeholder,
|
|
795
807
|
onChange: onChange,
|
|
796
808
|
value: value
|
|
797
|
-
}),
|
|
809
|
+
}), Icon && iconPosition === 'right' && /*#__PURE__*/external_react_default().createElement("span", {
|
|
810
|
+
className: "absolute right-3 flex items-center pointer-events-none"
|
|
811
|
+
}, /*#__PURE__*/external_react_default().createElement(Icon, {
|
|
812
|
+
className: iconClasses
|
|
813
|
+
}))), !isValid && /*#__PURE__*/external_react_default().createElement("span", {
|
|
798
814
|
className: "text-utilRed1000 text-sm"
|
|
799
815
|
}, errorMessage));
|
|
800
816
|
});
|
|
@@ -9071,20 +9087,23 @@ const ForwardRef = /*#__PURE__*/ external_react_.forwardRef(ChevronDownIcon);
|
|
|
9071
9087
|
function Dropdown(_ref) {
|
|
9072
9088
|
let {
|
|
9073
9089
|
items,
|
|
9074
|
-
label =
|
|
9090
|
+
label = 'Test Label',
|
|
9075
9091
|
isValid = true,
|
|
9076
|
-
placeholder =
|
|
9092
|
+
placeholder = 'Example Placeholder',
|
|
9077
9093
|
name,
|
|
9094
|
+
className = '',
|
|
9078
9095
|
onChange,
|
|
9079
|
-
value
|
|
9096
|
+
value,
|
|
9097
|
+
Icon // Left-aligned icon
|
|
9080
9098
|
} = _ref;
|
|
9081
9099
|
const initialSelectedItem = items.find(item => item.value === value) || null;
|
|
9082
9100
|
const [selectedItem, setSelectedItem] = (0,external_react_.useState)(initialSelectedItem);
|
|
9101
|
+
const [isOpen, setIsOpen] = (0,external_react_.useState)(false);
|
|
9083
9102
|
(0,external_react_.useEffect)(() => {
|
|
9084
9103
|
const newSelectedItem = items.find(item => item.value === value) || null;
|
|
9085
9104
|
setSelectedItem(newSelectedItem);
|
|
9086
9105
|
}, [value, items]);
|
|
9087
|
-
const inputClasses = `inline-flex w-full justify-
|
|
9106
|
+
const inputClasses = `inline-flex w-full justify-between items-center rounded-md bg-white text-md font-normal border px-4 py-2 text-greyLight700 ${isValid ? 'border-greyLight500' : 'border-utilRed'} ${className}`;
|
|
9088
9107
|
const handleSelect = item => {
|
|
9089
9108
|
setSelectedItem(item);
|
|
9090
9109
|
const event = {
|
|
@@ -9101,18 +9120,18 @@ function Dropdown(_ref) {
|
|
|
9101
9120
|
name: name
|
|
9102
9121
|
}, /*#__PURE__*/external_react_default().createElement("label", null, label), /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement(It, {
|
|
9103
9122
|
className: inputClasses,
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
},
|
|
9123
|
+
onClick: () => setIsOpen(prev => !prev)
|
|
9124
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
9125
|
+
className: "flex items-center gap-2"
|
|
9126
|
+
}, Icon && /*#__PURE__*/external_react_default().createElement(Icon, {
|
|
9127
|
+
className: "h-5 w-5 text-greyLight700"
|
|
9128
|
+
}), " ", /*#__PURE__*/external_react_default().createElement("span", null, selectedItem ? selectedItem.label : placeholder)), /*#__PURE__*/external_react_default().createElement(esm_ChevronDownIcon, {
|
|
9108
9129
|
"aria-hidden": "true",
|
|
9109
|
-
className:
|
|
9130
|
+
className: `-mr-1 h-5 w-5 text-greyLight700 transition-transform duration-200 ${isOpen ? 'rotate-180' : 'rotate-0'}`
|
|
9110
9131
|
}))), /*#__PURE__*/external_react_default().createElement(gt, {
|
|
9111
9132
|
transition: true,
|
|
9112
|
-
className: "absolute right-0 z-10 mt-2 w-56 origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 transition focus:outline-none",
|
|
9113
|
-
|
|
9114
|
-
backgroundColor: 'white'
|
|
9115
|
-
}
|
|
9133
|
+
className: "absolute right-0 z-10 mt-2 w-56 origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 transition focus:outline-none max-h-48 overflow-y-auto",
|
|
9134
|
+
onClick: () => setIsOpen(false)
|
|
9116
9135
|
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
9117
9136
|
className: "py-1"
|
|
9118
9137
|
}, items.map((item, index) => /*#__PURE__*/external_react_default().createElement(Et, {
|
|
@@ -9124,10 +9143,10 @@ function Dropdown(_ref) {
|
|
|
9124
9143
|
return /*#__PURE__*/external_react_default().createElement("button", {
|
|
9125
9144
|
type: "button",
|
|
9126
9145
|
onClick: () => handleSelect(item),
|
|
9127
|
-
className: `block w-full px-4 py-2 text-left text-sm text-
|
|
9146
|
+
className: `block w-full px-4 py-2 text-left text-sm text-greyLight700 ${active ? 'bg-greyLight100 text-greyLight700' : ''} hover:bg-greyLight100`
|
|
9128
9147
|
}, item.label);
|
|
9129
9148
|
})))), !isValid && /*#__PURE__*/external_react_default().createElement("span", {
|
|
9130
|
-
className: "text-
|
|
9149
|
+
className: "text-utilRed text-sm"
|
|
9131
9150
|
}, "Please select a valid option"));
|
|
9132
9151
|
}
|
|
9133
9152
|
;// ./src/index.js
|
|
@@ -9143,4 +9162,4 @@ function Dropdown(_ref) {
|
|
|
9143
9162
|
/******/ })()
|
|
9144
9163
|
;
|
|
9145
9164
|
});
|
|
9146
|
-
//# sourceMappingURL=main.
|
|
9165
|
+
//# sourceMappingURL=main.83972011c52c05c2a738.js.map
|