opus-toolkit-components 0.2.4 → 0.2.6

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.
@@ -585,21 +585,23 @@ const Accordion = _ref => {
585
585
  setInternalActiveIndex(activeIndex);
586
586
  }
587
587
  }, [activeIndex]);
588
- return /*#__PURE__*/external_react_default().createElement("div", {
589
- className: "accordion"
590
- }, /*#__PURE__*/external_react_default().createElement("div", {
591
- className: "accordion-item border-2 rounded-lg border-gray-200 mb-2",
588
+ return /*#__PURE__*/React.createElement("div", {
589
+ className: "accordion rounded-md"
590
+ }, /*#__PURE__*/React.createElement("div", {
591
+ className: "accordion-item border-2 rounded-lg border-gray-200",
592
592
  key: index
593
- }, /*#__PURE__*/external_react_default().createElement("div", {
594
- className: "accordion-header flex p-4 justify-between",
593
+ }, /*#__PURE__*/React.createElement("div", {
594
+ className: "accordion-header flex justify-between p-2",
595
595
  onClick: toggle // Handle both internal and external toggles
596
596
  ,
597
597
  style: {
598
- cursor: 'pointer'
598
+ cursor: "pointer"
599
599
  }
600
- }, /*#__PURE__*/external_react_default().createElement("h3", null, title), /*#__PURE__*/external_react_default().createElement("div", null, isActive ? '-' : '+'))), isActive && /*#__PURE__*/external_react_default().createElement("div", {
601
- className: "accordion-body p-4"
602
- }, /*#__PURE__*/external_react_default().createElement("p", null, "Example Child Prop"), children));
600
+ }, /*#__PURE__*/React.createElement("h2", {
601
+ className: "text-2xl text-gray-800"
602
+ }, title), /*#__PURE__*/React.createElement("div", null, isActive ? "-" : "+"))), isActive && /*#__PURE__*/React.createElement("div", {
603
+ className: "accordion-body p-2"
604
+ }, children));
603
605
  };
604
606
  /* harmony default export */ const Accordions_Accordion = (Accordion);
605
607
  // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
@@ -746,27 +748,41 @@ function DatePicker(_ref) {
746
748
  initialDate = '',
747
749
  label = 'Select a Date:',
748
750
  isValid = true,
749
- errorMessage = "Error message"
751
+ errorMessage = "Error message",
752
+ name = 'date',
753
+ // Add name prop for form identification
754
+ onChange,
755
+ // Add onChange prop for passing event to parent
756
+ value
750
757
  } = _ref;
751
- const [selectedDate, setSelectedDate] = (0,external_react_.useState)(initialDate);
758
+ const [selectedDate, setSelectedDate] = (0,external_react_.useState)(value || initialDate);
752
759
  (0,external_react_.useEffect)(() => {
753
- setSelectedDate(initialDate);
754
- }, [initialDate]);
760
+ if (value !== undefined) {
761
+ setSelectedDate(value); // Sync with controlled prop if it's passed
762
+ } else {
763
+ setSelectedDate(initialDate); // Fallback to initial date if uncontrolled
764
+ }
765
+ }, [value, initialDate]);
755
766
  const handleDateChange = e => {
756
767
  setSelectedDate(e.target.value);
768
+ if (onChange) {
769
+ onChange(e); // Pass the full event object to the parent component
770
+ }
757
771
  };
758
772
  const inputClasses = `rounded-md bg-white border px-4 py-3 text-md font-normal text-gray-900 ${isValid ? 'border-slate-400' : 'border-rose-500'}`;
759
- return /*#__PURE__*/external_react_.React.createElement("div", {
773
+ return /*#__PURE__*/external_react_default().createElement("div", {
760
774
  className: "flex flex-col mb-4"
761
- }, /*#__PURE__*/external_react_.React.createElement("label", {
775
+ }, /*#__PURE__*/external_react_default().createElement("label", {
762
776
  htmlFor: "date"
763
- }, label), /*#__PURE__*/external_react_.React.createElement("input", {
777
+ }, label), /*#__PURE__*/external_react_default().createElement("input", {
764
778
  type: "date",
765
779
  id: "date",
780
+ name: name // Pass the name to identify the input in the event
781
+ ,
766
782
  value: selectedDate,
767
783
  onChange: handleDateChange,
768
784
  className: inputClasses
769
- }), !isValid && /*#__PURE__*/external_react_.React.createElement("span", {
785
+ }), !isValid && /*#__PURE__*/external_react_default().createElement("span", {
770
786
  className: "text-rose-500 text-sm"
771
787
  }, errorMessage));
772
788
  }
@@ -8994,29 +9010,6 @@ const ForwardRef = /*#__PURE__*/ external_react_.forwardRef(ChevronDownIcon);
8994
9010
 
8995
9011
 
8996
9012
 
8997
-
8998
- /*
8999
-
9000
- Usage:
9001
-
9002
- import Dropdown from './Dropdown';
9003
-
9004
- const menuItems = [
9005
- { label: 'Account settings', href: '#' },
9006
- { label: 'Support', href: '#' },
9007
- { label: 'License', href: '#' },
9008
- { label: 'Sign out', onClick: () => alert('Signed out!') },
9009
- ];
9010
-
9011
- function App() {
9012
- return <Dropdown items={menuItems} />;
9013
- }
9014
-
9015
- export default App;
9016
-
9017
-
9018
- */
9019
-
9020
9013
  function Dropdown(_ref) {
9021
9014
  let {
9022
9015
  items,
@@ -9024,9 +9017,23 @@ function Dropdown(_ref) {
9024
9017
  isValid = true,
9025
9018
  placeholder = "Example Placeholder",
9026
9019
  name,
9027
- onChange
9020
+ onChange,
9021
+ value
9028
9022
  } = _ref;
9029
9023
  const inputClasses = `inline-flex w-full justify-center gap-x-1.5 rounded-md bg-white border px-4 py-3 text-md font-normal text-gray-900 ${isValid ? 'border-slate-500' : 'border-rose-500'}`;
9024
+ const handleSelect = selectedValue => {
9025
+ // Create a synthetic event
9026
+ const event = {
9027
+ target: {
9028
+ name: name,
9029
+ value: selectedValue
9030
+ }
9031
+ };
9032
+
9033
+ // Log the synthetic event
9034
+ console.log('Synthetic event:', event);
9035
+ onChange(event); // Pass the synthetic event object
9036
+ };
9030
9037
  return /*#__PURE__*/external_react_default().createElement(rn, {
9031
9038
  as: "div",
9032
9039
  className: "relative inline-block text-left",
@@ -9038,7 +9045,7 @@ function Dropdown(_ref) {
9038
9045
  className: "-mr-1 h-5 w-5 text-gray-400"
9039
9046
  }))), /*#__PURE__*/external_react_default().createElement(gt, {
9040
9047
  transition: true,
9041
- 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 data-[closed]:scale-95 data-[closed]:transform data-[closed]:opacity-0 data-[enter]:duration-100 data-[leave]:duration-75 data-[enter]:ease-out data-[leave]:ease-in"
9048
+ 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"
9042
9049
  }, /*#__PURE__*/external_react_default().createElement("div", {
9043
9050
  className: "py-1"
9044
9051
  }, items.map((item, index) => /*#__PURE__*/external_react_default().createElement(Et, {
@@ -9047,11 +9054,8 @@ function Dropdown(_ref) {
9047
9054
  let {
9048
9055
  active
9049
9056
  } = _ref2;
9050
- return item.href ? /*#__PURE__*/external_react_default().createElement("a", {
9051
- href: item.href,
9052
- className: `block px-4 py-2 text-sm text-gray-700 ${active ? 'bg-gray-100 text-gray-900' : ''}`
9053
- }, item.label) : /*#__PURE__*/external_react_default().createElement("button", {
9054
- onClick: item.onClick,
9057
+ return /*#__PURE__*/external_react_default().createElement("button", {
9058
+ onClick: () => handleSelect(item.value),
9055
9059
  className: `block w-full px-4 py-2 text-left text-sm text-gray-700 ${active ? 'bg-gray-100 text-gray-900' : ''}`
9056
9060
  }, item.label);
9057
9061
  })))), !isValid && /*#__PURE__*/external_react_default().createElement("span", {
@@ -9071,4 +9075,4 @@ function Dropdown(_ref) {
9071
9075
  /******/ })()
9072
9076
  ;
9073
9077
  });
9074
- //# sourceMappingURL=main.354919c3ad193cd58738.js.map
9078
+ //# sourceMappingURL=main.800321707204c2a59f90.js.map