@designbasekorea/ui 0.1.18 → 0.1.19

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
@@ -4876,6 +4876,20 @@ ModalHeader.displayName = 'ModalHeader';
4876
4876
  ModalBody.displayName = 'ModalBody';
4877
4877
  ModalFooter.displayName = 'ModalFooter';
4878
4878
 
4879
+ const Label = ({ children, htmlFor, required = false, size = 'm', disabled = false, error = false, className, onClick, }) => {
4880
+ const classes = [
4881
+ 'designbase-label',
4882
+ `designbase-label--${size}`,
4883
+ disabled && 'designbase-label--disabled',
4884
+ error && 'designbase-label--error',
4885
+ className,
4886
+ ]
4887
+ .filter(Boolean)
4888
+ .join(' ');
4889
+ return (jsxRuntimeExports.jsxs("label", { htmlFor: htmlFor, className: classes, onClick: onClick, children: [children, required && jsxRuntimeExports.jsx("span", { className: "designbase-label__required", children: "*" })] }));
4890
+ };
4891
+ Label.displayName = 'Label';
4892
+
4879
4893
  const Input = React.forwardRef(({ type = 'text', label, placeholder, defaultValue, value, size = 'm', disabled = false, readOnly = false, required = false, error = false, errorMessage, helperText, startIcon: StartIcon, endIcon: EndIcon, fullWidth = false, className, inputClassName, onChange, onFocus, onBlur, ...props }, forwardedRef) => {
4880
4894
  const inputId = React.useId();
4881
4895
  const helperTextId = React.useId();
@@ -4898,7 +4912,7 @@ const Input = React.forwardRef(({ type = 'text', label, placeholder, defaultValu
4898
4912
  lg: 18,
4899
4913
  };
4900
4914
  const iconSize = iconSizeMap[size];
4901
- return (jsxRuntimeExports.jsxs("div", { className: classes, children: [label && (jsxRuntimeExports.jsxs("label", { htmlFor: inputId, className: "designbase-input__label", children: [label, required && jsxRuntimeExports.jsx("span", { className: "designbase-input__required", children: "*" })] })), jsxRuntimeExports.jsxs("div", { className: "designbase-input__wrapper", children: [StartIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-input__start-icon", children: jsxRuntimeExports.jsx(StartIcon, { size: iconSize }) })), jsxRuntimeExports.jsx("input", { ...props, ref: forwardedRef, id: inputId, type: type, value: value, defaultValue: defaultValue, placeholder: placeholder, disabled: disabled, readOnly: readOnly, required: required, className: inputClasses, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, "aria-describedby": clsx(helperText && helperTextId, error && errorMessage && errorMessageId), "aria-invalid": error }), EndIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-input__end-icon", children: jsxRuntimeExports.jsx(EndIcon, { size: iconSize }) }))] }), helperText && !error && (jsxRuntimeExports.jsx("p", { id: helperTextId, className: "designbase-input__helper-text", children: helperText })), error && errorMessage && (jsxRuntimeExports.jsx("p", { id: errorMessageId, className: "designbase-input__error-message", children: errorMessage }))] }));
4915
+ return (jsxRuntimeExports.jsxs("div", { className: classes, children: [label && (jsxRuntimeExports.jsx(Label, { htmlFor: inputId, required: required, error: error, disabled: disabled, size: size === 's' ? 'xs' : size === 'm' ? 's' : 'm', children: label })), jsxRuntimeExports.jsxs("div", { className: "designbase-input__wrapper", children: [StartIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-input__start-icon", children: jsxRuntimeExports.jsx(StartIcon, { size: iconSize }) })), jsxRuntimeExports.jsx("input", { ...props, ref: forwardedRef, id: inputId, type: type, value: value, defaultValue: defaultValue, placeholder: placeholder, disabled: disabled, readOnly: readOnly, required: required, className: inputClasses, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, "aria-describedby": clsx(helperText && helperTextId, error && errorMessage && errorMessageId), "aria-invalid": error }), EndIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-input__end-icon", children: jsxRuntimeExports.jsx(EndIcon, { size: iconSize }) }))] }), helperText && !error && (jsxRuntimeExports.jsx("p", { id: helperTextId, className: "designbase-input__helper-text", children: helperText })), error && errorMessage && (jsxRuntimeExports.jsx("p", { id: errorMessageId, className: "designbase-input__error-message", children: errorMessage }))] }));
4902
4916
  });
4903
4917
  Input.displayName = 'Input';
4904
4918
 
@@ -7312,7 +7326,7 @@ const Textarea = React.forwardRef(({ label, placeholder, defaultValue, value, si
7312
7326
  }, className);
7313
7327
  const textareaClasses = clsx('designbase-textarea__field', textareaClassName);
7314
7328
  const isOverLimit = maxLength && currentLength > maxLength;
7315
- return (jsxRuntimeExports.jsxs("div", { className: classes, children: [label && (jsxRuntimeExports.jsxs("label", { htmlFor: textareaId, className: "designbase-textarea__label", children: [label, required && (jsxRuntimeExports.jsx("span", { className: "designbase-textarea__required", "aria-label": "\uD544\uC218", children: "*" }))] })), showCharacterCount && characterCountPosition === 'top' && (jsxRuntimeExports.jsx("div", { className: "designbase-textarea__character-count designbase-textarea__character-count--top", children: jsxRuntimeExports.jsxs("span", { className: clsx('designbase-textarea__character-count-text', {
7329
+ return (jsxRuntimeExports.jsxs("div", { className: classes, children: [label && (jsxRuntimeExports.jsx(Label, { htmlFor: textareaId, required: required, error: error, disabled: disabled, size: size === 's' ? 'xs' : size === 'm' ? 's' : 'm', children: label })), showCharacterCount && characterCountPosition === 'top' && (jsxRuntimeExports.jsx("div", { className: "designbase-textarea__character-count designbase-textarea__character-count--top", children: jsxRuntimeExports.jsxs("span", { className: clsx('designbase-textarea__character-count-text', {
7316
7330
  'designbase-textarea__character-count-text--error': isOverLimit
7317
7331
  }), children: [currentLength, maxLength && ` / ${maxLength}`] }) })), jsxRuntimeExports.jsx("div", { className: "designbase-textarea__wrapper", children: jsxRuntimeExports.jsx("textarea", { ref: forwardedRef, id: textareaId, className: textareaClasses, placeholder: placeholder, defaultValue: defaultValue, value: value, rows: rows, maxLength: maxLength, disabled: disabled, readOnly: readOnly, required: required, "aria-describedby": clsx({
7318
7332
  [helperTextId]: helperText,
@@ -8064,20 +8078,6 @@ const ImageList = ({ images, layout = 'grid', columns = 3, spacing = 'md', ratio
8064
8078
  })), currentIndex: selectedImageIndex, isOpen: true, onOpenChange: handleLightboxClose, onImageChange: handleLightboxNavigate }))] }));
8065
8079
  };
8066
8080
 
8067
- const Label = ({ children, htmlFor, required = false, size = 'm', disabled = false, error = false, className, onClick, }) => {
8068
- const classes = [
8069
- 'designbase-label',
8070
- `designbase-label--${size}`,
8071
- disabled && 'designbase-label--disabled',
8072
- error && 'designbase-label--error',
8073
- className,
8074
- ]
8075
- .filter(Boolean)
8076
- .join(' ');
8077
- return (jsxRuntimeExports.jsxs("label", { htmlFor: htmlFor, className: classes, onClick: onClick, children: [children, required && jsxRuntimeExports.jsx("span", { className: "designbase-label__required", children: "*" })] }));
8078
- };
8079
- Label.displayName = 'Label';
8080
-
8081
8081
  const List = ({ items, size = 'm', variant = 'default', itemType = 'default', layout = 'vertical', selectable = false, multiple = false, selectedItems = [], draggable = false, spacing = 'm', alignment = 'start', onItemClick, onItemSelect, onItemDrag, emptyState, loading = false, loadingCount = 3, className, }) => {
8082
8082
  const [internalSelectedItems, setInternalSelectedItems] = React.useState(selectedItems);
8083
8083
  const [draggedItem, setDraggedItem] = React.useState(null);