pesona-ui 1.0.23 → 1.0.25

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.cjs.js CHANGED
@@ -7809,8 +7809,19 @@ const Popover = ({ className, children, text }) => {
7809
7809
  const ModalHeader = ({ children, className = '', ...rest }) => (React.createElement("div", { className: `modal-header ${className}`, ...rest }, children));
7810
7810
  const ModalBody = ({ children, className = '', ...rest }) => (React.createElement("div", { className: `modal-body ${className}`, ...rest }, children));
7811
7811
  const ModalFooter = ({ children, className = '', ...rest }) => (React.createElement("div", { className: `modal-footer ${className}`, ...rest }, children));
7812
- const Modal = ({ children, className = '', ...rest }) => ReactDOM.createPortal(React.createElement("div", { className: "modal", ...rest },
7813
- React.createElement("div", { className: `modal-dialog ${className}` }, children)), document.body);
7812
+ const Modal = ({ children, className = '', ...rest }) => {
7813
+ // Lock scroll on mount
7814
+ React.useEffect(() => {
7815
+ // Lock scroll
7816
+ document.body.style.overflow = 'hidden';
7817
+ // Cleanup on unmount
7818
+ return () => {
7819
+ document.body.style.overflow = '';
7820
+ };
7821
+ }, []);
7822
+ return ReactDOM.createPortal(React.createElement("div", { className: "modal", ...rest },
7823
+ React.createElement("div", { className: `modal-dialog ${className}` }, children)), document.body);
7824
+ };
7814
7825
 
7815
7826
  const Accordion = ({ defaultIndex = 0, children }) => {
7816
7827
  const [activeIndex, setActiveIndex] = React.useState(defaultIndex);
@@ -8312,6 +8323,22 @@ const Input = React.forwardRef(({ className, name, label, message, floatingLabel
8312
8323
  error ? (React.createElement("small", { className: "form-message text-danger" }, error)) : (message && React.createElement("small", { className: "form-message text-muted" }, message))));
8313
8324
  });
8314
8325
 
8326
+ const InputWithAction = React.forwardRef(({ className, name, label, message, floatingLabel, error, actionIcon, actionButtonLabel, actionButtonHandler, ...rest }, ref) => {
8327
+ return (React.createElement(React.Fragment, null,
8328
+ !floatingLabel && label && (React.createElement("label", { htmlFor: name },
8329
+ label,
8330
+ " ",
8331
+ rest.required && React.createElement("span", { className: "text-danger" }, "*"))),
8332
+ React.createElement("div", { className: "input-group-icon" },
8333
+ React.createElement("input", { type: "text", className: `form-control ${className}`, id: name, name: name, placeholder: !floatingLabel ? ' ' : '', ref: ref, ...rest }),
8334
+ actionIcon && (React.createElement(Button, { role: "button", className: "icon", onClick: actionButtonHandler, tabIndex: 0, "aria-label": actionButtonLabel, disabled: rest.disabled }, actionIcon))),
8335
+ floatingLabel && label && (React.createElement("label", { htmlFor: name },
8336
+ label,
8337
+ " ",
8338
+ rest.required && React.createElement("span", { className: "text-danger" }, "*"))),
8339
+ error ? (React.createElement("small", { className: "form-message text-danger" }, error)) : (message && React.createElement("small", { className: "form-message text-muted" }, message))));
8340
+ });
8341
+
8315
8342
  const InputDate = React.forwardRef(({ name, label, message, floatingLabel, value = '', error, ...rest }, ref) => {
8316
8343
  const [showDatePicker, setShowDatePicker] = React.useState(false);
8317
8344
  const [selectedDate, setSelectedDate] = React.useState(value ?? '');
@@ -8346,7 +8373,7 @@ const InputDate = React.forwardRef(({ name, label, message, floatingLabel, value
8346
8373
  rest.required && React.createElement("span", { className: "text-danger" }, "*"))),
8347
8374
  React.createElement("div", { className: "input-group-icon" },
8348
8375
  React.createElement(Input, { type: "text", className: "form-control", id: name, name: name, placeholder: !floatingLabel ? ' ' : '', ref: ref, value: selectedDate, ...rest }),
8349
- React.createElement("span", { role: "button", className: "icon", onClick: toggleDatePicker },
8376
+ React.createElement(Button, { role: "button", className: "icon", onClick: toggleDatePicker, tabIndex: 0, "aria-label": "Open date picker", disabled: rest.disabled },
8350
8377
  React.createElement(MdCalendarMonth, null)),
8351
8378
  showDatePicker && (React.createElement("div", { ref: datePickerRef },
8352
8379
  React.createElement(DatePicker, { onSelect: handleDateSelect, defaultDate: selectedDate })))),
@@ -8784,6 +8811,7 @@ exports.InputDate = InputDate;
8784
8811
  exports.InputFile = InputFile;
8785
8812
  exports.InputImageSize = InputImageSize;
8786
8813
  exports.InputTextArea = InputTextArea;
8814
+ exports.InputWithAction = InputWithAction;
8787
8815
  exports.InputWysiwyg = InputWysiwyg;
8788
8816
  exports.LinearProgress = LinearProgress;
8789
8817
  exports.ListItem = ListItem;