@designbasekorea/ui 0.1.11 → 0.1.13

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
@@ -1383,7 +1383,7 @@ var jsxRuntimeExports = jsxRuntime.exports;
1383
1383
 
1384
1384
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
1385
1385
 
1386
- const Accordion$1 = ({ items, style = 'default', size = 'm', allowMultiple = false, defaultExpandedItems = [], defaultItemType = 'none', onItemChange, className, }) => {
1386
+ const Accordion = ({ items, style = 'default', size = 'm', allowMultiple = false, defaultExpandedItems = [], defaultItemType = 'none', onItemChange, className, }) => {
1387
1387
  const [expandedItems, setExpandedItems] = React.useState(() => {
1388
1388
  if (allowMultiple) {
1389
1389
  return defaultExpandedItems;
@@ -1474,9 +1474,7 @@ const Accordion$1 = ({ items, style = 'default', size = 'm', allowMultiple = fal
1474
1474
  return (jsxRuntimeExports.jsxs("div", { className: itemClasses, children: [jsxRuntimeExports.jsxs("button", { type: "button", className: "designbase-accordion__trigger", onClick: () => !item.disabled && handleItemToggle(item.id), disabled: item.disabled, "aria-expanded": expanded, "aria-controls": `accordion-content-${item.id}`, children: [renderItemPrefix(item, index), jsxRuntimeExports.jsx("span", { className: "designbase-accordion__title", children: item.title }), jsxRuntimeExports.jsx("div", { className: "designbase-accordion__chevron", children: jsxRuntimeExports.jsx(icons.ChevronDownIcon, { size: iconSize, color: "var(--db-icon-primary)" }) })] }), jsxRuntimeExports.jsx("div", { id: `accordion-content-${item.id}`, className: "designbase-accordion__content", "aria-hidden": !expanded, children: jsxRuntimeExports.jsx("div", { className: "designbase-accordion__content-inner", children: item.content }) })] }, item.id));
1475
1475
  }) }));
1476
1476
  };
1477
- Accordion$1.displayName = 'Accordion';
1478
-
1479
- Accordion;
1477
+ Accordion.displayName = 'Accordion';
1480
1478
 
1481
1479
  /*
1482
1480
  * Copyright 2020 Adobe. All rights reserved.
@@ -3544,7 +3542,7 @@ function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
3544
3542
  };
3545
3543
  }
3546
3544
 
3547
- const Spinner$1 = ({ type = 'circular', size = 'm', color, speed = 1, label = '로딩 중...', showLabel = false, className, ...props }) => {
3545
+ const Spinner = ({ type = 'circular', size = 'm', color, speed = 1, label = '로딩 중...', showLabel = false, className, ...props }) => {
3548
3546
  const classes = clsx('designbase-spinner', `designbase-spinner--${type}`, `designbase-spinner--${size}`, className);
3549
3547
  const style = {
3550
3548
  '--spinner-color': color,
@@ -3568,7 +3566,7 @@ const Spinner$1 = ({ type = 'circular', size = 'm', color, speed = 1, label = '
3568
3566
  };
3569
3567
  return (jsxRuntimeExports.jsxs("div", { className: classes, style: style, role: "status", "aria-live": "polite", "aria-busy": "true", "aria-label": showLabel ? label : undefined, ...props, children: [renderSpinner(), showLabel && label && (jsxRuntimeExports.jsx("span", { className: "designbase-spinner__label", "aria-hidden": "true", children: label }))] }));
3570
3568
  };
3571
- Spinner$1.displayName = 'Spinner';
3569
+ Spinner.displayName = 'Spinner';
3572
3570
 
3573
3571
  const Button = React.forwardRef(({ variant = 'primary', size = 'm', radius, fullWidth = false, disabled = false, loading = false, iconOnly = false, startIcon: StartIcon, endIcon: EndIcon, className, children, onPress, type = 'button', ...props }, forwardedRef) => {
3574
3572
  const ref = $df56164dff5785e2$export$4338b53315abf666(forwardedRef);
@@ -3622,7 +3620,7 @@ const Button = React.forwardRef(({ variant = 'primary', size = 'm', radius, full
3622
3620
  };
3623
3621
  const renderContent = () => {
3624
3622
  if (loading) {
3625
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(Spinner$1, { type: "circular", size: size === 'xs' ? 'xs' : size === 's' ? 's' : 'm', color: getIconColor(), speed: 1, showLabel: false }), !iconOnly && jsxRuntimeExports.jsx("span", { children: "\uB85C\uB529 \uC911..." })] }));
3623
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(Spinner, { type: "circular", size: size === 'xs' ? 'xs' : size === 's' ? 's' : 'm', color: getIconColor(), speed: 1, showLabel: false }), !iconOnly && jsxRuntimeExports.jsx("span", { children: "\uB85C\uB529 \uC911..." })] }));
3626
3624
  }
3627
3625
  // iconOnly 버튼일 때는 children을 아이콘으로 처리
3628
3626
  if (iconOnly && children) {
@@ -3640,7 +3638,7 @@ const Button = React.forwardRef(({ variant = 'primary', size = 'm', radius, full
3640
3638
  });
3641
3639
  Button.displayName = 'Button';
3642
3640
 
3643
- const Alert$1 = ({ title, children, variant = 'info', size = 'm', showIcon = true, closable = false, actions, actionButtons, onClose, className, ...props }) => {
3641
+ const Alert = ({ title, children, variant = 'info', size = 'm', showIcon = true, closable = false, actions, actionButtons, onClose, className, ...props }) => {
3644
3642
  const [isVisible, setIsVisible] = React.useState(true);
3645
3643
  const handleClose = () => {
3646
3644
  setIsVisible(false);
@@ -3677,9 +3675,7 @@ const Alert$1 = ({ title, children, variant = 'info', size = 'm', showIcon = tru
3677
3675
  }, className);
3678
3676
  return (jsxRuntimeExports.jsxs("div", { className: classes, role: "alert", "aria-live": "polite", ...props, children: [jsxRuntimeExports.jsxs("div", { className: "designbase-alert__content", children: [showIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-alert__icon", children: getIcon() })), jsxRuntimeExports.jsxs("div", { className: "designbase-alert__body", children: [title && (jsxRuntimeExports.jsx("div", { className: "designbase-alert__title", children: title })), jsxRuntimeExports.jsx("div", { className: "designbase-alert__message", children: children })] }), closable && (jsxRuntimeExports.jsx("button", { type: "button", className: "designbase-alert__close", onClick: handleClose, "aria-label": "\uC54C\uB9BC \uB2EB\uAE30", children: jsxRuntimeExports.jsx(icons.CloseIcon, { size: iconSize }) }))] }), (actions || actionButtons) && (jsxRuntimeExports.jsx("div", { className: "designbase-alert__actions", children: actionButtons ? (jsxRuntimeExports.jsx("div", { className: "designbase-alert__action-buttons", children: actionButtons.map((action, index) => (jsxRuntimeExports.jsx(Button, { size: action.size || size, variant: action.variant || 'secondary', onClick: action.onClick, disabled: action.disabled, children: action.label }, index))) })) : (actions) }))] }));
3679
3677
  };
3680
- Alert$1.displayName = 'Alert';
3681
-
3682
- Alert;
3678
+ Alert.displayName = 'Alert';
3683
3679
 
3684
3680
  var classnames = {exports: {}};
3685
3681
 
@@ -4357,7 +4353,7 @@ const AudioPlayer = ({ src, title, artist, album, albumArt, size = 'm', variant
4357
4353
  }), onClick: () => handlePlaylistChange(index), children: [track.albumArt && (jsxRuntimeExports.jsx("img", { src: track.albumArt, alt: track.title || 'Album Art' })), jsxRuntimeExports.jsxs("div", { className: "designbase-audio-player__playlist-track-info", children: [jsxRuntimeExports.jsx("div", { className: "designbase-audio-player__playlist-track-title", children: track.title || 'Unknown Track' }), jsxRuntimeExports.jsx("div", { className: "designbase-audio-player__playlist-track-artist", children: track.artist || 'Unknown Artist' })] })] }, index))) })] }))] }));
4358
4354
  };
4359
4355
 
4360
- const Badge$1 = ({ children, size = 'm', variant = 'primary', style = 'text', count, maxCount = 99, disabled = false, className, ...props }) => {
4356
+ const Badge = ({ children, size = 'm', variant = 'primary', style = 'text', count, maxCount = 99, disabled = false, className, ...props }) => {
4361
4357
  // 숫자 스타일일 때 count 값을 사용
4362
4358
  const displayContent = style === 'number' && count !== undefined
4363
4359
  ? (count > maxCount ? `${maxCount}+` : count.toString())
@@ -4367,9 +4363,9 @@ const Badge$1 = ({ children, size = 'm', variant = 'primary', style = 'text', co
4367
4363
  }, className);
4368
4364
  return (jsxRuntimeExports.jsx("span", { className: classes, ...props, children: displayContent }));
4369
4365
  };
4370
- Badge$1.displayName = 'Badge';
4366
+ Badge.displayName = 'Badge';
4371
4367
 
4372
- const Avatar$1 = ({ src, alt, initials, icon, size = 'm', variant = 'circle', status, badge, badgeMaxCount = 99, badgeVariant = 'danger', badgeStyle = 'number', badgeText, onClick, disabled = false, className, ...props }) => {
4368
+ const Avatar = ({ src, alt, initials, icon, size = 'm', variant = 'circle', status, badge, badgeMaxCount = 99, badgeVariant = 'danger', badgeStyle = 'number', badgeText, onClick, disabled = false, className, ...props }) => {
4373
4369
  const [imageError, setImageError] = React.useState(false);
4374
4370
  const [imageLoading, setImageLoading] = React.useState(true);
4375
4371
  // 아이콘 크기 계산 (m이 기본값)
@@ -4446,11 +4442,9 @@ const Avatar$1 = ({ src, alt, initials, icon, size = 'm', variant = 'circle', st
4446
4442
  }, ...props, children: [imageLoading && shouldShowImage && (jsxRuntimeExports.jsx("div", { className: "designbase-avatar__loading", children: jsxRuntimeExports.jsx("div", { className: "designbase-avatar__skeleton" }) })), shouldShowImage && (jsxRuntimeExports.jsx("img", { src: src, alt: alt || '아바타 이미지', className: "designbase-avatar__image", onLoad: handleImageLoad, onError: handleImageError, loading: "lazy" })), shouldShowInitials && (jsxRuntimeExports.jsx("div", { className: "designbase-avatar__initials", style: generateRandomColor(initials || ''), children: getInitials() })), shouldShowIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-avatar__icon", children: icon ? (React.isValidElement(icon) ? (React.cloneElement(icon, {
4447
4443
  size: iconSize,
4448
4444
  color: 'currentColor'
4449
- })) : icon) : (jsxRuntimeExports.jsx(icons.UserIcon, { size: iconSize, color: "currentColor" })) })), status && (jsxRuntimeExports.jsx("span", { className: clsx('designbase-avatar__status', `designbase-avatar__status--${status}`) })), badge !== undefined && (jsxRuntimeExports.jsx("div", { className: "designbase-avatar__badge", children: jsxRuntimeExports.jsx(Badge$1, { count: badgeStyle === 'text' ? undefined : badge, maxCount: badgeMaxCount, variant: badgeVariant, style: badgeStyle, size: size === 'xs' || size === 's' ? 's' : size === 'l' || size === 'xl' || size === '2xl' ? 'l' : 'm', children: badgeStyle === 'text' ? badgeText : undefined }) }))] }));
4445
+ })) : icon) : (jsxRuntimeExports.jsx(icons.UserIcon, { size: iconSize, color: "currentColor" })) })), status && (jsxRuntimeExports.jsx("span", { className: clsx('designbase-avatar__status', `designbase-avatar__status--${status}`) })), badge !== undefined && (jsxRuntimeExports.jsx("div", { className: "designbase-avatar__badge", children: jsxRuntimeExports.jsx(Badge, { count: badgeStyle === 'text' ? undefined : badge, maxCount: badgeMaxCount, variant: badgeVariant, style: badgeStyle, size: size === 'xs' || size === 's' ? 's' : size === 'l' || size === 'xl' || size === '2xl' ? 'l' : 'm', children: badgeStyle === 'text' ? badgeText : undefined }) }))] }));
4450
4446
  };
4451
- Avatar$1.displayName = 'Avatar';
4452
-
4453
- Avatar;
4447
+ Avatar.displayName = 'Avatar';
4454
4448
 
4455
4449
  const Backdrop = React.forwardRef(({ open = false, onClick, disableBackdropClick = false, disableEscapeKeyDown = false, backgroundColor, opacity = 0.5, blur = false, blurAmount = 4, animation = 'fade', animationDuration = 300, zIndex = 1000, className, style, children, ...props }, forwardedRef) => {
4456
4450
  // ESC 키 처리
@@ -4498,8 +4492,6 @@ const Backdrop = React.forwardRef(({ open = false, onClick, disableBackdropClick
4498
4492
  });
4499
4493
  Backdrop.displayName = 'Backdrop';
4500
4494
 
4501
- Badge;
4502
-
4503
4495
  const Banner = ({ title, description, icon, image, imageAlt, actions = [], dismissible = false, autoDismiss, size = 'm', variant = 'default', style = 'solid', position = 'top', alignment = 'left', animated = false, fullWidth = false, shadow = false, rounded = true, backgroundImage, overlayColor, overlayOpacity = 0.1, onDismiss, className, }) => {
4504
4496
  const [isVisible, setIsVisible] = React.useState(true);
4505
4497
  // 아이콘 크기 계산 (m이 기본값)
@@ -4685,7 +4677,7 @@ const BottomSheet = React.forwardRef(({ open = false, onClose, title, subtitle,
4685
4677
  });
4686
4678
  BottomSheet.displayName = 'BottomSheet';
4687
4679
 
4688
- const Breadcrumbs$1 = ({ items, size = 'm', breadcrumbStyle = 'default', separator = jsxRuntimeExports.jsx(icons.ChevronRightIcon, { size: 16 }), onItemClick, maxItems, collapseOnMobile = true, className, ...props }) => {
4680
+ const Breadcrumbs = ({ items, size = 'm', breadcrumbStyle = 'default', separator = jsxRuntimeExports.jsx(icons.ChevronRightIcon, { size: 16 }), onItemClick, maxItems, collapseOnMobile = true, className, ...props }) => {
4689
4681
  const handleItemClick = (item, e) => {
4690
4682
  if (item.disabled || item.active) {
4691
4683
  e.preventDefault();
@@ -4727,11 +4719,9 @@ const Breadcrumbs$1 = ({ items, size = 'm', breadcrumbStyle = 'default', separat
4727
4719
  };
4728
4720
  return (jsxRuntimeExports.jsx("nav", { className: classes, "aria-label": "\uBE0C\uB808\uB4DC\uD06C\uB7FC \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: jsxRuntimeExports.jsx("ol", { className: "designbase-breadcrumbs__list", children: visibleItems.map(renderItem) }) }));
4729
4721
  };
4730
- Breadcrumbs$1.displayName = 'Breadcrumbs';
4731
-
4732
- Breadcrumbs;
4722
+ Breadcrumbs.displayName = 'Breadcrumbs';
4733
4723
 
4734
- const SegmentControl$1 = ({ options, defaultValue, value, size = 'm', fullWidth = false, disabled = false, className, onChange, ...props }) => {
4724
+ const SegmentControl = ({ options, defaultValue, value, size = 'm', fullWidth = false, disabled = false, className, onChange, ...props }) => {
4735
4725
  const [selectedValue, setSelectedValue] = React.useState(value ?? defaultValue ?? options[0]?.value ?? '');
4736
4726
  const [focusedIndex, setFocusedIndex] = React.useState(-1);
4737
4727
  const containerRef = React.useRef(null);
@@ -4832,7 +4822,7 @@ const SegmentControl$1 = ({ options, defaultValue, value, size = 'm', fullWidth
4832
4822
  width: `${100 / options.length}%`,
4833
4823
  } })] }));
4834
4824
  };
4835
- SegmentControl$1.displayName = 'SegmentControl';
4825
+ SegmentControl.displayName = 'SegmentControl';
4836
4826
 
4837
4827
  const Modal = ({ isOpen, onClose, title, size = 'm', closeOnOutsideClick = true, closeOnEscape = true, children, className, overlayClassName, }) => {
4838
4828
  const modalRef = React.useRef(null);
@@ -4946,7 +4936,7 @@ const Checkbox = React.forwardRef(({ isSelected, defaultSelected, isIndeterminat
4946
4936
  });
4947
4937
  Checkbox.displayName = 'Checkbox';
4948
4938
 
4949
- const Select$1 = ({ value, defaultValue, options, label, placeholder = '선택하세요', multiple = false, searchable = false, disabled = false, readOnly = false, required = false, error = false, errorMessage, helperText, size = 'm', fullWidth = false, dropdownWidth = 'auto', maxHeight = 200, showClearButton = true, className, onChange, onFocus, onBlur, ...props }) => {
4939
+ const Select = ({ value, defaultValue, options, label, placeholder = '선택하세요', multiple = false, searchable = false, disabled = false, readOnly = false, required = false, error = false, errorMessage, helperText, size = 'm', fullWidth = false, dropdownWidth = 'auto', maxHeight = 200, showClearButton = true, className, onChange, onFocus, onBlur, ...props }) => {
4950
4940
  const [isOpen, setIsOpen] = React.useState(false);
4951
4941
  const [selectedValue, setSelectedValue] = React.useState(value ?? defaultValue ?? (multiple ? [] : ''));
4952
4942
  const [searchTerm, setSearchTerm] = React.useState('');
@@ -5128,7 +5118,7 @@ const Select$1 = ({ value, defaultValue, options, label, placeholder = '선택
5128
5118
  }), onClick: () => handleOptionSelect(option), role: "option", "aria-selected": isSelected, children: [multiple && (jsxRuntimeExports.jsx("div", { className: "designbase-select__checkbox", children: jsxRuntimeExports.jsx(Checkbox, { isSelected: isSelected, isDisabled: option.disabled, size: "s", hasLabel: false, onChange: () => handleOptionSelect(option) }) })), jsxRuntimeExports.jsx("span", { className: "designbase-select__option-label", children: option.label })] }, option.value));
5129
5119
  })) }) }), helperText && !error && (jsxRuntimeExports.jsx("p", { className: "designbase-select__helper-text", children: helperText })), error && errorMessage && (jsxRuntimeExports.jsx("p", { className: "designbase-select__error-message", children: errorMessage }))] }));
5130
5120
  };
5131
- Select$1.displayName = 'Select';
5121
+ Select.displayName = 'Select';
5132
5122
 
5133
5123
  const Calendar = ({ currentDate = new Date(), view = 'month', events = [], onEventAdd, onEventEdit, onEventDelete, onDateClick, onEventClick, onViewChange, onMonthChange, onYearChange, showWeekends = true, highlightToday = true, showOutsideDays = true, locale = 'ko-KR', className, style, ...props }) => {
5134
5124
  const [selectedDate, setSelectedDate] = React.useState(currentDate);
@@ -5477,7 +5467,7 @@ const Calendar = ({ currentDate = new Date(), view = 'month', events = [], onEve
5477
5467
  else {
5478
5468
  handleMonthChange('next');
5479
5469
  }
5480
- }, "aria-label": "\uB2E4\uC74C", children: "\u2192" })] }), jsxRuntimeExports.jsx(SegmentControl$1, { options: [
5470
+ }, "aria-label": "\uB2E4\uC74C", children: "\u2192" })] }), jsxRuntimeExports.jsx(SegmentControl, { options: [
5481
5471
  { value: 'year', label: '년' },
5482
5472
  { value: 'month', label: '월' },
5483
5473
  { value: 'week', label: '주' },
@@ -5560,7 +5550,7 @@ const Calendar = ({ currentDate = new Date(), view = 'month', events = [], onEve
5560
5550
  }) })] })] }))] }), jsxRuntimeExports.jsxs(Modal, { isOpen: showEventModal, onClose: handleCloseModal, title: isEditing ? '일정 편집' : '새 일정 추가', size: "l", children: [jsxRuntimeExports.jsx(ModalBody, { children: jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__event-form", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__form-row", children: [jsxRuntimeExports.jsx("label", { children: "\uC81C\uBAA9 *" }), jsxRuntimeExports.jsx(Input, { value: eventForm.title, onChange: (value) => setEventForm(prev => ({ ...prev, title: value })), placeholder: "\uC77C\uC815 \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694" })] }), jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__form-row", children: [jsxRuntimeExports.jsx("label", { children: "\uC124\uBA85" }), jsxRuntimeExports.jsx(Input, { value: eventForm.description, onChange: (value) => setEventForm(prev => ({ ...prev, description: value })), placeholder: "\uC77C\uC815 \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694" })] }), jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__form-row", children: [jsxRuntimeExports.jsx("label", { children: "\uB0A0\uC9DC" }), jsxRuntimeExports.jsx(Input, { type: "date", value: selectedDate.toISOString().split('T')[0], onChange: (value) => {
5561
5551
  const newDate = new Date(value);
5562
5552
  setSelectedDate(newDate);
5563
- } })] }), jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__form-row", children: [jsxRuntimeExports.jsx("label", { children: "\uC77C\uC815 \uD0C0\uC785" }), jsxRuntimeExports.jsx(Select$1, { value: eventForm.type, onChange: (value) => {
5553
+ } })] }), jsxRuntimeExports.jsxs("div", { className: "designbase-calendar__form-row", children: [jsxRuntimeExports.jsx("label", { children: "\uC77C\uC815 \uD0C0\uC785" }), jsxRuntimeExports.jsx(Select, { value: eventForm.type, onChange: (value) => {
5564
5554
  const selectedValue = Array.isArray(value) ? value[0] : value;
5565
5555
  setEventForm(prev => ({ ...prev, type: selectedValue }));
5566
5556
  }, options: [
@@ -6063,7 +6053,7 @@ const Carousel = ({ items, size = 'm', variant = 'default', theme = 'light', tra
6063
6053
  }), onClick: () => goToSlide(index), disabled: disabled || readonly, title: `슬라이드 ${index + 1}로 이동`, type: "button", children: indicatorStyle === 'thumbnails' && item.thumbnail ? (jsxRuntimeExports.jsx("img", { src: item.thumbnail, alt: item.title || `썸네일 ${index + 1}`, className: "designbase-carousel__indicator-thumbnail" })) : indicatorStyle === 'numbers' ? (jsxRuntimeExports.jsx("span", { className: "designbase-carousel__indicator-number", children: index + 1 })) : indicatorStyle === 'lines' ? (jsxRuntimeExports.jsx("span", { className: "designbase-carousel__indicator-line" })) : (jsxRuntimeExports.jsx("span", { className: "designbase-carousel__indicator-dot" })) }, index))) })), showAutoPlayControl && items.length > 1 && (jsxRuntimeExports.jsx("button", { className: "designbase-carousel__autoplay-button", onClick: handleAutoPlayToggle, disabled: disabled || readonly, title: isAutoPlaying ? "자동 재생 정지" : "자동 재생 시작", type: "button", children: isAutoPlaying ? jsxRuntimeExports.jsx(icons.PauseIcon, { size: iconSize, color: "currentColor" }) : jsxRuntimeExports.jsx(icons.PlayIcon, { size: iconSize, color: "currentColor" }) }))] })] }));
6064
6054
  };
6065
6055
 
6066
- const Chip$1 = ({ label, size = 'm', variant = 'default', color = 'primary', deletable = false, onDelete, onClick, startIcon, endIcon, disabled = false, selected = false, fullWidth = false, className, ...props }) => {
6056
+ const Chip = ({ label, size = 'm', variant = 'default', color = 'primary', deletable = false, onDelete, onClick, startIcon, endIcon, disabled = false, selected = false, fullWidth = false, className, ...props }) => {
6067
6057
  const handleDelete = (e) => {
6068
6058
  e.stopPropagation();
6069
6059
  if (!disabled && onDelete) {
@@ -6089,11 +6079,9 @@ const Chip$1 = ({ label, size = 'm', variant = 'default', color = 'primary', del
6089
6079
  }
6090
6080
  }, ...props, children: [startIcon && (jsxRuntimeExports.jsx("span", { className: "designbase-chip__start-icon", children: startIcon })), jsxRuntimeExports.jsx("span", { className: "designbase-chip__label", children: label }), endIcon && !deletable && (jsxRuntimeExports.jsx("span", { className: "designbase-chip__end-icon", children: endIcon })), deletable && (jsxRuntimeExports.jsx("button", { type: "button", className: "designbase-chip__delete-button", onClick: handleDelete, disabled: disabled, "aria-label": `${label} 삭제`, children: jsxRuntimeExports.jsx("i", { className: "designbase-icon-x" }) }))] }));
6091
6081
  };
6092
- Chip$1.displayName = 'Chip';
6082
+ Chip.displayName = 'Chip';
6093
6083
 
6094
- Chip;
6095
-
6096
- const Confirm$1 = ({ open, title, children, confirmText = '확인', cancelText = '취소', confirmVariant = 'primary', variant = 'info', size = 'm', showIcon = true, confirmDisabled = false, cancelDisabled = false, onConfirm, onCancel, onClose, closeOnEscape = true, closeOnOverlayClick = true, className, ...props }) => {
6084
+ const Confirm = ({ open, title, children, confirmText = '확인', cancelText = '취소', confirmVariant = 'primary', variant = 'info', size = 'm', showIcon = true, confirmDisabled = false, cancelDisabled = false, onConfirm, onCancel, onClose, closeOnEscape = true, closeOnOverlayClick = true, className, ...props }) => {
6097
6085
  const modalRef = React.useRef(null);
6098
6086
  // ESC 키 처리
6099
6087
  React.useEffect(() => {
@@ -6191,11 +6179,9 @@ const Confirm$1 = ({ open, title, children, confirmText = '확인', cancelText =
6191
6179
  const modalClasses = clsx('designbase-confirm__modal', `designbase-confirm__modal--${variant}`, `designbase-confirm__modal--${size}`);
6192
6180
  return (jsxRuntimeExports.jsx("div", { className: "designbase-confirm__overlay", onClick: handleOverlayClick, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? 'confirm-title' : undefined, "aria-describedby": "confirm-content", children: jsxRuntimeExports.jsxs("div", { ref: modalRef, className: modalClasses, ...props, children: [jsxRuntimeExports.jsxs("div", { className: "designbase-confirm__header", children: [showIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-confirm__icon", children: getIcon() })), jsxRuntimeExports.jsx("div", { className: "designbase-confirm__title-area", children: title && (jsxRuntimeExports.jsx("h2", { id: "confirm-title", className: "designbase-confirm__title", children: title })) })] }), jsxRuntimeExports.jsx("div", { id: "confirm-content", className: "designbase-confirm__content", children: children }), jsxRuntimeExports.jsxs("div", { className: "designbase-confirm__footer", children: [jsxRuntimeExports.jsx(Button, { variant: "outlined", onClick: handleCancel, disabled: cancelDisabled, children: cancelText }), jsxRuntimeExports.jsx(Button, { variant: confirmVariant, onClick: handleConfirm, disabled: confirmDisabled, children: confirmText })] })] }) }));
6193
6181
  };
6194
- Confirm$1.displayName = 'Confirm';
6195
-
6196
- Confirm;
6182
+ Confirm.displayName = 'Confirm';
6197
6183
 
6198
- const Container$1 = ({ size = 'l', maxWidth, variant = 'plain', padding = 'm', margin = 'none', backgroundColor, border = false, rounded = false, shadow = false, className, children, }) => {
6184
+ const Container = ({ size = 'l', maxWidth, variant = 'plain', padding = 'm', margin = 'none', backgroundColor, border = false, rounded = false, shadow = false, className, children, }) => {
6199
6185
  // 크기별 최대 폭 설정 (토큰 기반)
6200
6186
  const getMaxWidth = () => {
6201
6187
  if (maxWidth)
@@ -6265,9 +6251,7 @@ const Container$1 = ({ size = 'l', maxWidth, variant = 'plain', padding = 'm', m
6265
6251
  return (jsxRuntimeExports.jsx("div", { className: classes, style: style, children: children }));
6266
6252
  };
6267
6253
 
6268
- Container;
6269
-
6270
- const MenuItem$1 = ({ id, label, href, icon: Icon, active = false, disabled = false, badge, badgeColor = 'primary', variant = 'default', type = 'inline', size = 'm', style = 'dropdown', subItems, expanded = false, expandable = false, depth = 0, onClick, onChildClick, className, }) => {
6254
+ const MenuItem = ({ id, label, href, icon: Icon, active = false, disabled = false, badge, badgeColor = 'primary', variant = 'default', type = 'inline', size = 'm', style = 'dropdown', subItems, expanded = false, expandable = false, depth = 0, onClick, onChildClick, className, }) => {
6271
6255
  const [internalExpanded, setInternalExpanded] = React.useState(expanded);
6272
6256
  // expanded prop이 변경될 때 internalExpanded 업데이트
6273
6257
  React.useEffect(() => {
@@ -6322,11 +6306,11 @@ const MenuItem$1 = ({ id, label, href, icon: Icon, active = false, disabled = fa
6322
6306
  return (jsxRuntimeExports.jsxs("div", { className: classes, children: [jsxRuntimeExports.jsxs("div", { className: contentClasses, onClick: handleClick, children: [Icon && (jsxRuntimeExports.jsx("div", { className: clsx('designbase-menu-item__icon', `designbase-menu-item__icon--${variant}`, {
6323
6307
  'designbase-menu-item__icon--active': active,
6324
6308
  'designbase-menu-item__icon--disabled': disabled,
6325
- }), children: jsxRuntimeExports.jsx(Icon, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) })), jsxRuntimeExports.jsx("span", { className: "designbase-menu-item__label", children: label }), badge && (jsxRuntimeExports.jsx(Badge$1, { count: typeof badge === 'string' ? parseInt(badge) : badge, variant: badgeColor === 'neutral' ? 'secondary' : badgeColor, size: "s", style: "number" })), hasChildren && (jsxRuntimeExports.jsx("div", { className: "designbase-menu-item__expand-icon", children: isExpanded ? (jsxRuntimeExports.jsx(icons.ChevronUpIcon, { size: 16 })) : (jsxRuntimeExports.jsx(icons.ChevronDownIcon, { size: 16 })) }))] }), hasChildren && isExpanded && (jsxRuntimeExports.jsx("div", { className: clsx('designbase-menu-item__children', `designbase-menu-item__children--${style}`), children: subItems.map((child) => (jsxRuntimeExports.jsx(MenuItem$1, { id: child.id, label: child.label, href: child.href, icon: child.icon, active: child.active, disabled: child.disabled, badge: child.badge, badgeColor: child.badgeColor, variant: child.variant, type: child.type, size: size, style: child.style || style, subItems: child.subItems, depth: depth + 1, onClick: () => handleChildClick(child), onChildClick: onChildClick }, child.id))) }))] }));
6309
+ }), children: jsxRuntimeExports.jsx(Icon, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) })), jsxRuntimeExports.jsx("span", { className: "designbase-menu-item__label", children: label }), badge && (jsxRuntimeExports.jsx(Badge, { count: typeof badge === 'string' ? parseInt(badge) : badge, variant: badgeColor === 'neutral' ? 'secondary' : badgeColor, size: "s", style: "number" })), hasChildren && (jsxRuntimeExports.jsx("div", { className: "designbase-menu-item__expand-icon", children: isExpanded ? (jsxRuntimeExports.jsx(icons.ChevronUpIcon, { size: 16 })) : (jsxRuntimeExports.jsx(icons.ChevronDownIcon, { size: 16 })) }))] }), hasChildren && isExpanded && (jsxRuntimeExports.jsx("div", { className: clsx('designbase-menu-item__children', `designbase-menu-item__children--${style}`), children: subItems.map((child) => (jsxRuntimeExports.jsx(MenuItem, { id: child.id, label: child.label, href: child.href, icon: child.icon, active: child.active, disabled: child.disabled, badge: child.badge, badgeColor: child.badgeColor, variant: child.variant, type: child.type, size: size, style: child.style || style, subItems: child.subItems, depth: depth + 1, onClick: () => handleChildClick(child), onChildClick: onChildClick }, child.id))) }))] }));
6326
6310
  };
6327
- MenuItem$1.displayName = 'MenuItem';
6311
+ MenuItem.displayName = 'MenuItem';
6328
6312
 
6329
- const Divider$1 = ({ orientation = 'horizontal', thickness = 1, color, length, variant = 'solid', margin, className = '', style, ...props }) => {
6313
+ const Divider = ({ orientation = 'horizontal', thickness = 1, color, length, variant = 'solid', margin, className = '', style, ...props }) => {
6330
6314
  const baseClass = 'designbase-divider';
6331
6315
  const dividerClasses = [
6332
6316
  baseClass,
@@ -6351,7 +6335,7 @@ const Divider$1 = ({ orientation = 'horizontal', thickness = 1, color, length, v
6351
6335
  return (jsxRuntimeExports.jsx("div", { className: dividerClasses, style: dividerStyle, role: "separator", "aria-orientation": orientation, ...props }));
6352
6336
  };
6353
6337
 
6354
- const ContextMenu$1 = ({ items, open, x, y, onClose, className, }) => {
6338
+ const ContextMenu = ({ items, open, x, y, onClose, className, }) => {
6355
6339
  const [menuStyle, setMenuStyle] = React.useState({});
6356
6340
  const [activeSubMenu, setActiveSubMenu] = React.useState(null);
6357
6341
  const menuRef = React.useRef(null);
@@ -6443,11 +6427,11 @@ const ContextMenu$1 = ({ items, open, x, y, onClose, className, }) => {
6443
6427
  }, [onClose]);
6444
6428
  const renderMenuItem = React.useCallback((item, index) => {
6445
6429
  if (item.isDivider) {
6446
- return jsxRuntimeExports.jsx(Divider$1, {}, `divider-${index}`);
6430
+ return jsxRuntimeExports.jsx(Divider, {}, `divider-${index}`);
6447
6431
  }
6448
6432
  const hasSubMenu = item.subItems && item.subItems.length > 0;
6449
6433
  const isSubMenuOpen = activeSubMenu === item.id;
6450
- return (jsxRuntimeExports.jsxs("div", { className: "designbase-context-menu__item-wrapper", children: [jsxRuntimeExports.jsx(MenuItem$1, { id: item.id, label: item.label || '', icon: item.icon, onClick: () => handleItemClick(item), disabled: item.disabled, variant: item.variant, className: item.className }), hasSubMenu && (jsxRuntimeExports.jsx("div", { ref: (el) => (subMenuRefs.current[item.id] = el), className: clsx('designbase-context-menu__submenu', {
6434
+ return (jsxRuntimeExports.jsxs("div", { className: "designbase-context-menu__item-wrapper", children: [jsxRuntimeExports.jsx(MenuItem, { id: item.id, label: item.label || '', icon: item.icon, onClick: () => handleItemClick(item), disabled: item.disabled, variant: item.variant, className: item.className }), hasSubMenu && (jsxRuntimeExports.jsx("div", { ref: (el) => (subMenuRefs.current[item.id] = el), className: clsx('designbase-context-menu__submenu', {
6451
6435
  'designbase-context-menu__submenu--open': isSubMenuOpen,
6452
6436
  }), onMouseEnter: () => setActiveSubMenu(item.id), onMouseLeave: handleSubMenuClose, children: item.subItems.map((subItem, subIndex) => renderMenuItem(subItem, subIndex)) }))] }, item.id));
6453
6437
  }, [activeSubMenu, handleItemClick, handleSubMenuOpen, handleSubMenuClose]);
@@ -6456,9 +6440,7 @@ const ContextMenu$1 = ({ items, open, x, y, onClose, className, }) => {
6456
6440
  const classes = clsx('designbase-context-menu', className);
6457
6441
  return (jsxRuntimeExports.jsx("div", { ref: menuRef, className: classes, style: menuStyle, role: "menu", "aria-orientation": "vertical", children: items.map((item, index) => renderMenuItem(item, index)) }));
6458
6442
  };
6459
- ContextMenu$1.displayName = 'ContextMenu';
6460
-
6461
- ContextMenu;
6443
+ ContextMenu.displayName = 'ContextMenu';
6462
6444
 
6463
6445
  const DatePicker = ({ mode = 'single', value, onChange, minDate, maxDate, events = [], showOutsideDays = true, startOfWeek = 'sunday', size = 'm', variant = 'default', highlightWeekends = true, highlightHolidays = false, today = new Date(), locale = 'ko-KR', format = 'yyyy-MM-dd', className, disabled = false, readonly = false,
6464
6446
  // 드롭다운 관련 props
@@ -6722,8 +6704,6 @@ inline = false, }) => {
6722
6704
  }, className), children: [jsxRuntimeExports.jsxs("div", { className: "designbase-date-picker__header", children: [jsxRuntimeExports.jsx("button", { className: "designbase-date-picker__nav-button", onClick: goToPreviousMonth, disabled: disabled || readonly, type: "button", "aria-label": "\uC774\uC804 \uB2EC", children: jsxRuntimeExports.jsx(icons.ChevronLeftIcon, { size: iconSize, color: "currentColor" }) }), jsxRuntimeExports.jsx("div", { className: "designbase-date-picker__current-month", children: currentDate.toLocaleDateString(locale, { year: 'numeric', month: 'long' }) }), jsxRuntimeExports.jsx("button", { className: "designbase-date-picker__nav-button", onClick: goToNextMonth, disabled: disabled || readonly, type: "button", "aria-label": "\uB2E4\uC74C \uB2EC", children: jsxRuntimeExports.jsx(icons.ChevronRightIcon, { size: iconSize, color: "currentColor" }) })] }), jsxRuntimeExports.jsx("div", { className: "designbase-date-picker__weekdays", children: weekdays.map(day => (jsxRuntimeExports.jsx("div", { className: "designbase-date-picker__weekday", children: day }, day))) }), jsxRuntimeExports.jsx("div", { className: "designbase-date-picker__grid", children: calendarGrid.map(date => renderDateCell(date)) }), jsxRuntimeExports.jsx("div", { className: "designbase-date-picker__footer", children: jsxRuntimeExports.jsx("button", { className: "designbase-date-picker__today-button", onClick: goToToday, disabled: disabled || readonly, type: "button", children: "\uC624\uB298" }) })] }));
6723
6705
  };
6724
6706
 
6725
- Divider;
6726
-
6727
6707
  const Drawer = ({ isOpen, onClose, title, children, position = 'right', size = 'm', showCloseButton = true, closeOnBackdropClick = true, closeOnEscape = true, animationDuration = 300, showOverlay = true, overlayClosable = true, className, style, zIndex = 1000, trapFocus = true, id, ...props }) => {
6728
6708
  // 아이콘 크기 계산 (m이 기본값)
6729
6709
  const iconSize = size === 's' ? 16 : size === 'l' ? 20 : size === 'xl' ? 24 : 18;
@@ -6801,7 +6781,7 @@ const Drawer = ({ isOpen, onClose, title, children, position = 'right', size = '
6801
6781
  }), onClick: handleDrawerClick, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? `${id || 'drawer'}-title` : undefined, "aria-describedby": id ? `${id}-content` : undefined, tabIndex: -1, id: id, children: [(title || showCloseButton) && (jsxRuntimeExports.jsxs("div", { className: "designbase-drawer__header", children: [title && (jsxRuntimeExports.jsx("h2", { className: "designbase-drawer__title", id: id ? `${id}-title` : undefined, children: title })), showCloseButton && (jsxRuntimeExports.jsx(Button, { variant: "ghost", size: "s", onClick: handleClose, className: "designbase-drawer__close-button", "aria-label": "\uB2EB\uAE30", children: jsxRuntimeExports.jsx(icons.CloseIcon, { size: iconSize, color: "currentColor" }) }))] })), jsxRuntimeExports.jsx("div", { className: "designbase-drawer__content", id: id ? `${id}-content` : undefined, children: children })] })] }), document.body);
6802
6782
  };
6803
6783
 
6804
- const Dropdown$1 = ({ items, trigger, label = '메뉴', size = 'm', placement = 'bottom-left', fullWidth = false, disabled = false, className, isOpen: controlledIsOpen, onToggle, ...props }) => {
6784
+ const Dropdown = ({ items, trigger, label = '메뉴', size = 'm', placement = 'bottom-left', fullWidth = false, disabled = false, className, isOpen: controlledIsOpen, onToggle, ...props }) => {
6805
6785
  // 아이콘 크기 계산 (m이 기본값)
6806
6786
  const iconSize = size === 's' ? 14 : size === 'l' ? 18 : 16;
6807
6787
  const [isOpen, setIsOpen] = React.useState(false);
@@ -6956,9 +6936,7 @@ const Dropdown$1 = ({ items, trigger, label = '메뉴', size = 'm', placement =
6956
6936
  }, className: itemClasses, role: "menuitem", disabled: isDisabled, onClick: () => handleItemClick(item), onFocus: () => setFocusedIndex(index), children: [item.icon && (jsxRuntimeExports.jsx("span", { className: "designbase-dropdown__item-icon", children: jsxRuntimeExports.jsx(item.icon, { size: iconSize, color: "currentColor" }) })), jsxRuntimeExports.jsx("span", { className: "designbase-dropdown__item-label", children: item.label })] }, item.id));
6957
6937
  }) })] }));
6958
6938
  };
6959
- Dropdown$1.displayName = 'Dropdown';
6960
-
6961
- Dropdown;
6939
+ Dropdown.displayName = 'Dropdown';
6962
6940
 
6963
6941
  const Dropzone = ({ size = 'm', variant = 'default', showIcon = true, icon, image, title = '파일을 드래그하여 업로드하거나 클릭하여 선택하세요', description, buttonText = '파일 선택', showButton = false, accept, maxSize, multiple = false, isDragOver: controlledIsDragOver, disabled = false, readonly = false, onFileSelect, onDragOver, onDragLeave, onDrop, onClick, className, children, }) => {
6964
6942
  const [internalIsDragOver, setInternalIsDragOver] = React.useState(false);
@@ -7075,7 +7053,7 @@ const Dropzone = ({ size = 'm', variant = 'default', showIcon = true, icon, imag
7075
7053
  }, className), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: handleClick, children: [jsxRuntimeExports.jsx("input", { ref: fileInputRef, type: "file", accept: accept, multiple: multiple, onChange: handleFileInputChange, disabled: disabled || readonly, style: { display: 'none' } }), children || (jsxRuntimeExports.jsxs("div", { className: "designbase-dropzone__content", children: [image ? (jsxRuntimeExports.jsx("div", { className: "designbase-dropzone__image", children: jsxRuntimeExports.jsx("img", { src: image, alt: "Upload illustration" }) })) : showIcon && (jsxRuntimeExports.jsx("div", { className: "designbase-dropzone__icon", children: icon || defaultIcon })), title && (jsxRuntimeExports.jsx("div", { className: "designbase-dropzone__title", children: title })), getDescription() && (jsxRuntimeExports.jsx("div", { className: "designbase-dropzone__description", children: getDescription() })), showButton && (jsxRuntimeExports.jsx("button", { className: "designbase-dropzone__button", type: "button", disabled: disabled || readonly, children: buttonText }))] }))] }));
7076
7054
  };
7077
7055
 
7078
- const EmptyState$1 = ({ variant = 'no-data', size = 'm', title, description, icon: CustomIcon, iconSize, actionText, onAction, secondaryActionText, onSecondaryAction, action, image, imageAlt, className, }) => {
7056
+ const EmptyState = ({ variant = 'no-data', size = 'm', title, description, icon: CustomIcon, iconSize, actionText, onAction, secondaryActionText, onSecondaryAction, action, image, imageAlt, className, }) => {
7079
7057
  const getDefaultIcon = () => {
7080
7058
  const defaultIconSize = iconSize || (() => {
7081
7059
  switch (size) {
@@ -7108,11 +7086,9 @@ const EmptyState$1 = ({ variant = 'no-data', size = 'm', title, description, ico
7108
7086
  const classes = clsx('designbase-empty-state', `designbase-empty-state--${variant}`, `designbase-empty-state--${size}`, className);
7109
7087
  return (jsxRuntimeExports.jsx("div", { className: classes, role: "status", "aria-live": "polite", children: jsxRuntimeExports.jsxs("div", { className: "designbase-empty-state__content", children: [image ? (jsxRuntimeExports.jsx("div", { className: "designbase-empty-state__image", children: jsxRuntimeExports.jsx("img", { src: image, alt: imageAlt || title, className: "designbase-empty-state__image-element" }) })) : (jsxRuntimeExports.jsx("div", { className: "designbase-empty-state__icon", children: getDefaultIcon() })), jsxRuntimeExports.jsx("h3", { className: "designbase-empty-state__title", children: title }), description && (jsxRuntimeExports.jsx("div", { className: "designbase-empty-state__description", children: description })), (action || actionText || secondaryActionText) && (jsxRuntimeExports.jsx("div", { className: "designbase-empty-state__actions", children: action ? (action) : (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [actionText && onAction && (jsxRuntimeExports.jsx(Button, { variant: variant === 'onboarding' ? 'primary' : 'secondary', size: size, onPress: onAction, children: actionText })), secondaryActionText && onSecondaryAction && (jsxRuntimeExports.jsx(Button, { variant: "tertiary", size: size, onPress: onSecondaryAction, children: secondaryActionText }))] })) }))] }) }));
7110
7088
  };
7111
- EmptyState$1.displayName = 'EmptyState';
7112
-
7113
- EmptyState;
7089
+ EmptyState.displayName = 'EmptyState';
7114
7090
 
7115
- const Progressbar$1 = ({ value, max = 100, min = 0, size = 'm', variant = 'default', style = 'solid', showLabel = false, label, labelPosition = 'top', fullWidth = false, disabled = false, className, ...props }) => {
7091
+ const Progressbar = ({ value, max = 100, min = 0, size = 'm', variant = 'default', style = 'solid', showLabel = false, label, labelPosition = 'top', fullWidth = false, disabled = false, className, ...props }) => {
7116
7092
  // 값 범위 제한
7117
7093
  const clampedValue = Math.max(min, Math.min(max, value));
7118
7094
  const percentage = ((clampedValue - min) / (max - min)) * 100;
@@ -7138,7 +7114,7 @@ const Progressbar$1 = ({ value, max = 100, min = 0, size = 'm', variant = 'defau
7138
7114
  const displayLabel = getDisplayLabel();
7139
7115
  return (jsxRuntimeExports.jsx("div", { className: classes, role: "progressbar", "aria-valuenow": clampedValue, "aria-valuemin": min, "aria-valuemax": max, "aria-label": label || `진행률 ${Math.round(percentage)}%`, ...props, children: jsxRuntimeExports.jsxs("div", { className: containerClasses, children: [displayLabel && labelPosition === 'top' && (jsxRuntimeExports.jsx("div", { className: labelClasses, children: displayLabel })), jsxRuntimeExports.jsx("div", { className: trackClasses, children: jsxRuntimeExports.jsx("div", { className: fillClasses, style: { width: `${percentage}%` }, children: displayLabel && labelPosition === 'inside' && (jsxRuntimeExports.jsx("span", { className: "designbase-progressbar__fill-label", children: displayLabel })) }) }), displayLabel && labelPosition === 'bottom' && (jsxRuntimeExports.jsx("div", { className: labelClasses, children: displayLabel }))] }) }));
7140
7116
  };
7141
- Progressbar$1.displayName = 'Progressbar';
7117
+ Progressbar.displayName = 'Progressbar';
7142
7118
 
7143
7119
  const FileUploader = ({ size = 'm', variant = 'default', accept, maxSize, multiple = false, showFileList = true, showProgress = true, disabled = false, readonly = false, onUpload, onRemove, onRetry, className, }) => {
7144
7120
  const [uploadedFiles, setUploadedFiles] = React.useState([]);
@@ -7236,7 +7212,7 @@ const FileUploader = ({ size = 'm', variant = 'default', accept, maxSize, multip
7236
7212
  case 'pending':
7237
7213
  return (jsxRuntimeExports.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: jsxRuntimeExports.jsx("circle", { cx: "8", cy: "8", r: "7", stroke: "currentColor", strokeWidth: "2", fill: "none" }) }));
7238
7214
  case 'uploading':
7239
- return jsxRuntimeExports.jsx(Spinner$1, { type: "circular", size: "s" });
7215
+ return jsxRuntimeExports.jsx(Spinner, { type: "circular", size: "s" });
7240
7216
  case 'success':
7241
7217
  return (jsxRuntimeExports.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: jsxRuntimeExports.jsx("path", { d: "M13 5L6 12L3 9", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
7242
7218
  case 'error':
@@ -7248,7 +7224,7 @@ const FileUploader = ({ size = 'm', variant = 'default', accept, maxSize, multip
7248
7224
  return (jsxRuntimeExports.jsxs("div", { className: clsx('designbase-file-uploader', `designbase-file-uploader--size-${size}`, `designbase-file-uploader--variant-${variant}`, {
7249
7225
  'designbase-file-uploader--disabled': disabled,
7250
7226
  'designbase-file-uploader--readonly': readonly,
7251
- }, className), children: [jsxRuntimeExports.jsx(Dropzone, { size: size, variant: variant, accept: accept, maxSize: maxSize, multiple: multiple, disabled: disabled, readonly: readonly, onFileSelect: handleFileSelect }), showFileList && uploadedFiles.length > 0 && (jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-list", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-list-title", children: ["\uC5C5\uB85C\uB4DC\uB41C \uD30C\uC77C\uB4E4 (", uploadedFiles.length, "\uAC1C)"] }), jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-items", children: uploadedFiles.map((uploadFile) => (jsxRuntimeExports.jsxs("div", { className: clsx('designbase-file-uploader__file-item', `designbase-file-uploader__file-item--${uploadFile.status}`), children: [jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-info", children: [jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-icon", children: getStatusIcon(uploadFile.status) }), jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-details", children: [jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-name", children: uploadFile.file.name }), jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-size", children: formatFileSize(uploadFile.file.size) }), uploadFile.error && (jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-error", children: uploadFile.error }))] })] }), showProgress && uploadFile.status === 'uploading' && (jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__progress", children: jsxRuntimeExports.jsx(Progressbar$1, { value: uploadFile.progress || 0, size: "s", variant: "primary", style: "solid", showLabel: true, labelPosition: "inside", fullWidth: true }) })), jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-actions", children: [uploadFile.status === 'error' && (jsxRuntimeExports.jsx("button", { className: "designbase-file-uploader__retry-button", onClick: () => handleRetry(uploadFile.id), disabled: disabled || readonly, type: "button", children: "\uC7AC\uC2DC\uB3C4" })), jsxRuntimeExports.jsx("button", { className: "designbase-file-uploader__remove-button", onClick: () => handleRemove(uploadFile.id), disabled: disabled || readonly, type: "button", children: "\uC0AD\uC81C" })] })] }, uploadFile.id))) })] }))] }));
7227
+ }, className), children: [jsxRuntimeExports.jsx(Dropzone, { size: size, variant: variant, accept: accept, maxSize: maxSize, multiple: multiple, disabled: disabled, readonly: readonly, onFileSelect: handleFileSelect }), showFileList && uploadedFiles.length > 0 && (jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-list", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-list-title", children: ["\uC5C5\uB85C\uB4DC\uB41C \uD30C\uC77C\uB4E4 (", uploadedFiles.length, "\uAC1C)"] }), jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-items", children: uploadedFiles.map((uploadFile) => (jsxRuntimeExports.jsxs("div", { className: clsx('designbase-file-uploader__file-item', `designbase-file-uploader__file-item--${uploadFile.status}`), children: [jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-info", children: [jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-icon", children: getStatusIcon(uploadFile.status) }), jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-details", children: [jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-name", children: uploadFile.file.name }), jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-size", children: formatFileSize(uploadFile.file.size) }), uploadFile.error && (jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__file-error", children: uploadFile.error }))] })] }), showProgress && uploadFile.status === 'uploading' && (jsxRuntimeExports.jsx("div", { className: "designbase-file-uploader__progress", children: jsxRuntimeExports.jsx(Progressbar, { value: uploadFile.progress || 0, size: "s", variant: "primary", style: "solid", showLabel: true, labelPosition: "inside", fullWidth: true }) })), jsxRuntimeExports.jsxs("div", { className: "designbase-file-uploader__file-actions", children: [uploadFile.status === 'error' && (jsxRuntimeExports.jsx("button", { className: "designbase-file-uploader__retry-button", onClick: () => handleRetry(uploadFile.id), disabled: disabled || readonly, type: "button", children: "\uC7AC\uC2DC\uB3C4" })), jsxRuntimeExports.jsx("button", { className: "designbase-file-uploader__remove-button", onClick: () => handleRemove(uploadFile.id), disabled: disabled || readonly, type: "button", children: "\uC0AD\uC81C" })] })] }, uploadFile.id))) })] }))] }));
7252
7228
  };
7253
7229
 
7254
7230
  const FloatingActionButton = React.forwardRef(({ size = 'm', variant = 'primary', icon, disabled = false, onClick, className, style, ...props }, forwardedRef) => {
@@ -7467,7 +7443,7 @@ const Form = ({ fields, layout = 'vertical', size = 'm', variant = 'default', on
7467
7443
  case 'textarea':
7468
7444
  return (jsxRuntimeExports.jsx(Textarea, { ...commonProps, rows: 4, maxLength: field.maxLength, minLength: field.minLength }));
7469
7445
  case 'select':
7470
- return (jsxRuntimeExports.jsx(Select$1, { ...commonProps, options: field.options || [], multiple: field.multiple }));
7446
+ return (jsxRuntimeExports.jsx(Select, { ...commonProps, options: field.options || [], multiple: field.multiple }));
7471
7447
  case 'radio':
7472
7448
  if (field.radioGroup) {
7473
7449
  return (jsxRuntimeExports.jsx("div", { className: "designbase-form__radio-group", children: field.options?.map((option, index) => (jsxRuntimeExports.jsx(Radio, { name: field.name, value: option.value, isSelected: fieldValue === option.value, isDisabled: option.disabled || field.disabled, onChange: () => handleFieldChange(field.name, option.value), children: option.label }, `${field.name}-${option.value}`))) }));
@@ -7504,7 +7480,7 @@ const Form = ({ fields, layout = 'vertical', size = 'm', variant = 'default', on
7504
7480
  return (jsxRuntimeExports.jsxs("form", { ref: formRef, className: classes, style: style, onSubmit: handleSubmit, children: [(title || description) && (jsxRuntimeExports.jsxs("div", { className: "designbase-form__header", children: [title && jsxRuntimeExports.jsx("h3", { className: "designbase-form__title", children: title }), description && jsxRuntimeExports.jsx("p", { className: "designbase-form__description", children: description })] })), jsxRuntimeExports.jsx("div", { className: "designbase-form__fields", children: fields.map(field => (jsxRuntimeExports.jsxs("div", { className: clsx('designbase-form__field-wrapper', `designbase-form__field-wrapper--${field.type}`), children: [field.label && (jsxRuntimeExports.jsxs("label", { className: "designbase-form__label", htmlFor: field.name, children: [field.label, field.required && jsxRuntimeExports.jsx("span", { className: "designbase-form__required", children: "*" })] })), renderField(field), touched[field.name] && errors[field.name] && (jsxRuntimeExports.jsx("div", { className: "designbase-form__error", children: errors[field.name] })), field.helpText && !errors[field.name] && (jsxRuntimeExports.jsx("div", { className: "designbase-form__help", children: field.helpText }))] }, field.name))) }), jsxRuntimeExports.jsxs("div", { className: "designbase-form__actions", children: [jsxRuntimeExports.jsx(Button, { type: "submit", variant: "primary", size: size, loading: submitLoading, disabled: submitDisabled, children: submitText }), showReset && (jsxRuntimeExports.jsx(Button, { type: "button", variant: "secondary", size: size, onClick: handleReset, children: resetText }))] })] }));
7505
7481
  };
7506
7482
 
7507
- const Gradient$1 = ({ colors, direction = 'to-right', size = 'm', variant = 'default', animationDuration = 3, animationDelay = 0, fullWidth = false, fullHeight = false, className, children, }) => {
7483
+ const Gradient = ({ colors, direction = 'to-right', size = 'm', variant = 'default', animationDuration = 3, animationDelay = 0, fullWidth = false, fullHeight = false, className, children, }) => {
7508
7484
  const generateGradientStyle = () => {
7509
7485
  if (colors.length === 0)
7510
7486
  return {};
@@ -7597,8 +7573,6 @@ const Gradient$1 = ({ colors, direction = 'to-right', size = 'm', variant = 'def
7597
7573
  return (jsxRuntimeExports.jsx("div", { className: classes, style: getStyle(), children: children }));
7598
7574
  };
7599
7575
 
7600
- Gradient;
7601
-
7602
7576
  const Grid = ({ fixed = false, noPadding = false, className, style, children, }) => {
7603
7577
  const classes = clsx('designbase-grid', {
7604
7578
  'designbase-grid--fixed': fixed,
@@ -7666,7 +7640,7 @@ const HeroFeature = ({ title, subtitle, description, image, imageAlt, background
7666
7640
  default: return 'text';
7667
7641
  }
7668
7642
  };
7669
- return (jsxRuntimeExports.jsx(Badge$1, { variant: getBadgeVariant(badge.color || 'primary'), style: getBadgeStyle(badge.variant || 'solid'), size: "m", className: "designbase-hero-feature__badge", children: badge.text }));
7643
+ return (jsxRuntimeExports.jsx(Badge, { variant: getBadgeVariant(badge.color || 'primary'), style: getBadgeStyle(badge.variant || 'solid'), size: "m", className: "designbase-hero-feature__badge", children: badge.text }));
7670
7644
  };
7671
7645
  const renderButtons = () => {
7672
7646
  if (buttons.length === 0)
@@ -8188,7 +8162,7 @@ const DesignBaseLogoMark = ({ size = 38, color = 'currentColor', className, }) =
8188
8162
  };
8189
8163
  DesignBaseLogoMark.displayName = 'DesignBaseLogoMark';
8190
8164
 
8191
- const Logo$1 = ({ type = 'designbase', text = 'Logo', src, alt, size = 'm', variant = 'default', clickable = false, href, target = '_self', fullWidth = false, className, onClick, ...props }) => {
8165
+ const Logo = ({ type = 'designbase', text = 'Logo', src, alt, size = 'm', variant = 'default', clickable = false, href, target = '_self', fullWidth = false, className, onClick, ...props }) => {
8192
8166
  const classes = clsx('designbase-logo', `designbase-logo--${size}`, `designbase-logo--${variant}`, {
8193
8167
  'designbase-logo--clickable': clickable || href,
8194
8168
  'designbase-logo--full-width': fullWidth,
@@ -8247,9 +8221,7 @@ const Logo$1 = ({ type = 'designbase', text = 'Logo', src, alt, size = 'm', vari
8247
8221
  }
8248
8222
  return logoContent;
8249
8223
  };
8250
- Logo$1.displayName = 'Logo';
8251
-
8252
- Logo;
8224
+ Logo.displayName = 'Logo';
8253
8225
 
8254
8226
  const MarkdownEditor = ({ size = 'm', variant = 'default', mode = 'preview', // 기본값을 preview로 변경
8255
8227
  theme = 'light', value = '', placeholder = '마크다운을 입력하세요...', minHeight = 200, maxHeight = 600, autoHeight = false, readonly = false, disabled = false, showToolbar = true, toolbarItems = [], showStatus = true, showWordCount = true, showLineCount = true, autoSave = false, autoSaveInterval = 30000, // 30초
@@ -8678,9 +8650,7 @@ const Masonry = ({ images, columns = 3, spacing = 'md', ratio = 'auto', fit = 'c
8678
8650
  })), currentIndex: selectedImageIndex, isOpen: true, onOpenChange: handleLightboxClose, onImageChange: handleLightboxNavigate }))] }));
8679
8651
  };
8680
8652
 
8681
- MenuItem;
8682
-
8683
- const SearchBar$1 = ({ value, defaultValue = '', placeholder = '검색...', size = 'm', variant = 'default', disabled = false, readOnly = false, fullWidth = false, searchIcon: SearchIconComponent = icons.SearchIcon, clearIcon: ClearIconComponent = icons.CloseIcon, onChange, onSearch, onFocus, onBlur, onKeyDown, className, ...props }) => {
8653
+ const SearchBar = ({ value, defaultValue = '', placeholder = '검색...', size = 'm', variant = 'default', disabled = false, readOnly = false, fullWidth = false, searchIcon: SearchIconComponent = icons.SearchIcon, clearIcon: ClearIconComponent = icons.CloseIcon, onChange, onSearch, onFocus, onBlur, onKeyDown, className, ...props }) => {
8684
8654
  const [internalValue, setInternalValue] = React.useState(defaultValue);
8685
8655
  const inputRef = React.useRef(null);
8686
8656
  const currentValue = value !== undefined ? value : internalValue;
@@ -8722,9 +8692,9 @@ const SearchBar$1 = ({ value, defaultValue = '', placeholder = '검색...', size
8722
8692
  });
8723
8693
  return (jsxRuntimeExports.jsx("div", { className: classes, role: "search", children: jsxRuntimeExports.jsxs("div", { className: "designbase-search-bar__container", children: [jsxRuntimeExports.jsx("div", { className: "designbase-search-bar__search-icon", children: jsxRuntimeExports.jsx(SearchIconComponent, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) }), jsxRuntimeExports.jsx("input", { ref: inputRef, type: "text", className: inputClasses, value: currentValue, placeholder: placeholder, disabled: disabled, readOnly: readOnly, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, onKeyDown: handleKeyDown, "aria-label": "\uAC80\uC0C9\uC5B4 \uC785\uB825", ...props }), currentValue && currentValue.length > 0 && !disabled && !readOnly && (jsxRuntimeExports.jsx("button", { type: "button", className: "designbase-search-bar__clear-button", onClick: handleClear, "aria-label": "\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30", children: jsxRuntimeExports.jsx(ClearIconComponent, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) }))] }) }));
8724
8694
  };
8725
- SearchBar$1.displayName = 'SearchBar';
8695
+ SearchBar.displayName = 'SearchBar';
8726
8696
 
8727
- const Navbar$1 = ({ size = 'm', variant = 'default', position = 'static', logo, onLogoClick, items = [], onItemClick, userMenuItems = [], onUserMenuItemClick, userProfile, onAuthClick, isAuthenticated = false, showSearch = false, onSearch, searchPlaceholder = '검색...', fullWidth = false, shadow = false, className, ...props }) => {
8697
+ const Navbar = ({ size = 'm', variant = 'default', position = 'static', logo, onLogoClick, items = [], onItemClick, userMenuItems = [], onUserMenuItemClick, userProfile, onAuthClick, isAuthenticated = false, showSearch = false, onSearch, searchPlaceholder = '검색...', fullWidth = false, shadow = false, className, ...props }) => {
8728
8698
  const [isMobileMenuOpen, setIsMobileMenuOpen] = React.useState(false);
8729
8699
  const [isUserMenuOpen, setIsUserMenuOpen] = React.useState(false);
8730
8700
  const [searchQuery, setSearchQuery] = React.useState('');
@@ -8821,7 +8791,7 @@ const Navbar$1 = ({ size = 'm', variant = 'default', position = 'static', logo,
8821
8791
  }
8822
8792
  };
8823
8793
  const renderNavItem = (item) => renderMenuItem(item, 0);
8824
- return (jsxRuntimeExports.jsxs("nav", { className: classes, role: "navigation", "aria-label": "\uBA54\uC778 \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: [jsxRuntimeExports.jsxs("div", { className: containerClasses, children: [jsxRuntimeExports.jsx("div", { className: "designbase-navbar__brand", children: jsxRuntimeExports.jsx("div", { className: "designbase-navbar__logo", onClick: onLogoClick, role: onLogoClick ? 'button' : undefined, tabIndex: onLogoClick ? 0 : undefined, children: logo || jsxRuntimeExports.jsx(Logo$1, { size: size === 's' ? 's' : size === 'l' ? 'l' : 'm' }) }) }), jsxRuntimeExports.jsx("div", { className: "designbase-navbar__nav", children: jsxRuntimeExports.jsx("ul", { className: "designbase-navbar__nav-list", children: items.map(renderNavItem) }) }), showSearch && (jsxRuntimeExports.jsx("div", { className: "designbase-navbar__search", children: jsxRuntimeExports.jsx(SearchBar$1, { placeholder: searchPlaceholder, value: searchQuery, onChange: setSearchQuery, onSearch: onSearch, size: size === 's' ? 's' : size === 'l' ? 'l' : 'm', variant: "outlined" }) })), jsxRuntimeExports.jsx("div", { className: "designbase-navbar__user-menu", children: isAuthenticated && userProfile ? (jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__user-dropdown", children: [jsxRuntimeExports.jsxs("button", { className: "designbase-navbar__user-toggle", onClick: handleUserMenuToggle, "aria-expanded": isUserMenuOpen, children: [jsxRuntimeExports.jsx(Avatar$1, { src: userProfile.avatar, alt: userProfile.name, initials: userProfile.name, size: size === 's' ? 's' : size === 'l' ? 'l' : 'm', badge: userProfile.badge, badgeVariant: userProfile.badgeVariant, badgeStyle: userProfile.badgeStyle, badgeText: userProfile.badgeText }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__user-name", children: userProfile.name }), jsxRuntimeExports.jsx(icons.ChevronDownIcon, { size: 12 })] }), isUserMenuOpen && (jsxRuntimeExports.jsxs("ul", { className: "designbase-navbar__user-dropdown-menu", children: [userProfile.email && (jsxRuntimeExports.jsx("li", { className: "designbase-navbar__user-info", children: jsxRuntimeExports.jsx("span", { className: "designbase-navbar__user-email", children: userProfile.email }) })), userMenuItems.map((item) => (jsxRuntimeExports.jsx("li", { children: jsxRuntimeExports.jsxs("a", { href: item.href, className: clsx('designbase-navbar__user-dropdown-item', {
8794
+ return (jsxRuntimeExports.jsxs("nav", { className: classes, role: "navigation", "aria-label": "\uBA54\uC778 \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: [jsxRuntimeExports.jsxs("div", { className: containerClasses, children: [jsxRuntimeExports.jsx("div", { className: "designbase-navbar__brand", children: jsxRuntimeExports.jsx("div", { className: "designbase-navbar__logo", onClick: onLogoClick, role: onLogoClick ? 'button' : undefined, tabIndex: onLogoClick ? 0 : undefined, children: logo || jsxRuntimeExports.jsx(Logo, { size: size === 's' ? 's' : size === 'l' ? 'l' : 'm' }) }) }), jsxRuntimeExports.jsx("div", { className: "designbase-navbar__nav", children: jsxRuntimeExports.jsx("ul", { className: "designbase-navbar__nav-list", children: items.map(renderNavItem) }) }), showSearch && (jsxRuntimeExports.jsx("div", { className: "designbase-navbar__search", children: jsxRuntimeExports.jsx(SearchBar, { placeholder: searchPlaceholder, value: searchQuery, onChange: setSearchQuery, onSearch: onSearch, size: size === 's' ? 's' : size === 'l' ? 'l' : 'm', variant: "outlined" }) })), jsxRuntimeExports.jsx("div", { className: "designbase-navbar__user-menu", children: isAuthenticated && userProfile ? (jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__user-dropdown", children: [jsxRuntimeExports.jsxs("button", { className: "designbase-navbar__user-toggle", onClick: handleUserMenuToggle, "aria-expanded": isUserMenuOpen, children: [jsxRuntimeExports.jsx(Avatar, { src: userProfile.avatar, alt: userProfile.name, initials: userProfile.name, size: size === 's' ? 's' : size === 'l' ? 'l' : 'm', badge: userProfile.badge, badgeVariant: userProfile.badgeVariant, badgeStyle: userProfile.badgeStyle, badgeText: userProfile.badgeText }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__user-name", children: userProfile.name }), jsxRuntimeExports.jsx(icons.ChevronDownIcon, { size: 12 })] }), isUserMenuOpen && (jsxRuntimeExports.jsxs("ul", { className: "designbase-navbar__user-dropdown-menu", children: [userProfile.email && (jsxRuntimeExports.jsx("li", { className: "designbase-navbar__user-info", children: jsxRuntimeExports.jsx("span", { className: "designbase-navbar__user-email", children: userProfile.email }) })), userMenuItems.map((item) => (jsxRuntimeExports.jsx("li", { children: jsxRuntimeExports.jsxs("a", { href: item.href, className: clsx('designbase-navbar__user-dropdown-item', {
8825
8795
  'designbase-navbar__user-dropdown-item--disabled': item.disabled,
8826
8796
  }), onClick: (e) => {
8827
8797
  if (item.disabled) {
@@ -8829,7 +8799,7 @@ const Navbar$1 = ({ size = 'm', variant = 'default', position = 'static', logo,
8829
8799
  return;
8830
8800
  }
8831
8801
  handleUserMenuItemClick(item);
8832
- }, children: [item.icon && React.createElement(item.icon, { size: iconSize, color: 'currentColor' }), item.label] }) }, item.id)))] }))] })) : (jsxRuntimeExports.jsx("button", { className: "designbase-navbar__auth-button", onClick: onAuthClick, children: "\uB85C\uADF8\uC778" })) }), jsxRuntimeExports.jsxs("button", { className: "designbase-navbar__mobile-toggle", onClick: handleMobileMenuToggle, "aria-expanded": isMobileMenuOpen, "aria-label": "\uBA54\uB274 \uC5F4\uAE30", children: [jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" })] })] }), isMobileMenuOpen && (jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__mobile-menu", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__mobile-menu-header", children: [jsxRuntimeExports.jsx("h3", { children: "\uBA54\uB274" }), jsxRuntimeExports.jsx("button", { className: "designbase-navbar__mobile-menu-close", onClick: handleMobileMenuToggle, "aria-label": "\uBA54\uB274 \uB2EB\uAE30", children: jsxRuntimeExports.jsx("i", { className: "designbase-icon-x" }) })] }), showSearch && (jsxRuntimeExports.jsx("div", { className: "designbase-navbar__mobile-search", children: jsxRuntimeExports.jsx(SearchBar$1, { placeholder: searchPlaceholder, value: searchQuery, onChange: setSearchQuery, onSearch: onSearch, size: "s", variant: "outlined", fullWidth: true }) })), jsxRuntimeExports.jsx("ul", { className: "designbase-navbar__mobile-nav-list", children: items.map((item) => (jsxRuntimeExports.jsxs("li", { className: "designbase-navbar__mobile-nav-item", children: [jsxRuntimeExports.jsxs("a", { href: item.href, className: clsx('designbase-navbar__mobile-nav-link', {
8802
+ }, children: [item.icon && React.createElement(item.icon, { size: iconSize, color: 'currentColor' }), item.label] }) }, item.id)))] }))] })) : (jsxRuntimeExports.jsx("button", { className: "designbase-navbar__auth-button", onClick: onAuthClick, children: "\uB85C\uADF8\uC778" })) }), jsxRuntimeExports.jsxs("button", { className: "designbase-navbar__mobile-toggle", onClick: handleMobileMenuToggle, "aria-expanded": isMobileMenuOpen, "aria-label": "\uBA54\uB274 \uC5F4\uAE30", children: [jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" }), jsxRuntimeExports.jsx("span", { className: "designbase-navbar__mobile-toggle-line" })] })] }), isMobileMenuOpen && (jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__mobile-menu", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-navbar__mobile-menu-header", children: [jsxRuntimeExports.jsx("h3", { children: "\uBA54\uB274" }), jsxRuntimeExports.jsx("button", { className: "designbase-navbar__mobile-menu-close", onClick: handleMobileMenuToggle, "aria-label": "\uBA54\uB274 \uB2EB\uAE30", children: jsxRuntimeExports.jsx("i", { className: "designbase-icon-x" }) })] }), showSearch && (jsxRuntimeExports.jsx("div", { className: "designbase-navbar__mobile-search", children: jsxRuntimeExports.jsx(SearchBar, { placeholder: searchPlaceholder, value: searchQuery, onChange: setSearchQuery, onSearch: onSearch, size: "s", variant: "outlined", fullWidth: true }) })), jsxRuntimeExports.jsx("ul", { className: "designbase-navbar__mobile-nav-list", children: items.map((item) => (jsxRuntimeExports.jsxs("li", { className: "designbase-navbar__mobile-nav-item", children: [jsxRuntimeExports.jsxs("a", { href: item.href, className: clsx('designbase-navbar__mobile-nav-link', {
8833
8803
  'designbase-navbar__mobile-nav-link--active': item.active,
8834
8804
  'designbase-navbar__mobile-nav-link--disabled': item.disabled,
8835
8805
  }), onClick: (e) => {
@@ -8857,11 +8827,9 @@ const Navbar$1 = ({ size = 'm', variant = 'default', position = 'static', logo,
8857
8827
  handleUserMenuItemClick(item);
8858
8828
  }, children: [item.icon && React.createElement(item.icon, { size: iconSize, color: 'currentColor' }), item.label] }) }, item.id))) })] }))] }))] }));
8859
8829
  };
8860
- Navbar$1.displayName = 'Navbar';
8830
+ Navbar.displayName = 'Navbar';
8861
8831
 
8862
- Navbar;
8863
-
8864
- const Pagination$1 = ({ currentPage, totalPages, totalItems, pageSize = 10, pageSizeOptions = [10, 20, 50, 100], onPageChange, onPageSizeChange, size = 'm', variant = 'default', alignment = 'center', siblingCount = 1, boundaryCount = 1, showPreviousNext = true, showFirstLast = false, showPageSizeSelector = false, showTotal = false, totalTemplate, disabled = false, fullWidth = false, className, ...props }) => {
8832
+ const Pagination = ({ currentPage, totalPages, totalItems, pageSize = 10, pageSizeOptions = [10, 20, 50, 100], onPageChange, onPageSizeChange, size = 'm', variant = 'default', alignment = 'center', siblingCount = 1, boundaryCount = 1, showPreviousNext = true, showFirstLast = false, showPageSizeSelector = false, showTotal = false, totalTemplate, disabled = false, fullWidth = false, className, ...props }) => {
8865
8833
  // 페이지 범위 계산
8866
8834
  const getPageNumbers = () => {
8867
8835
  const totalNumbers = siblingCount * 2 + 3; // 이전, 다음, 현재, 경계 페이지들
@@ -8926,7 +8894,7 @@ const Pagination$1 = ({ currentPage, totalPages, totalItems, pageSize = 10, page
8926
8894
  'designbase-pagination__button--active': isActive,
8927
8895
  }), onClick: () => handlePageClick(pageNumber), disabled: disabled, "aria-current": isActive ? 'page' : undefined, "aria-label": `페이지 ${pageNumber}로 이동`, children: pageNumber }) }, pageNumber));
8928
8896
  };
8929
- return (jsxRuntimeExports.jsx("div", { className: classes, role: "navigation", "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: jsxRuntimeExports.jsxs("div", { className: containerClasses, children: [showTotal && totalItems && (jsxRuntimeExports.jsx("div", { className: "designbase-pagination__total", children: getTotalTemplate() })), jsxRuntimeExports.jsx("nav", { className: "designbase-pagination__nav", "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", children: jsxRuntimeExports.jsxs("ul", { className: "designbase-pagination__list", children: [showFirstLast && !isFirstPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--first", onClick: () => handlePageClick(1), disabled: disabled, "aria-label": "\uCCAB \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ArrowBarLeftIcon, { size: 16 }) }) })), showPreviousNext && !isFirstPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--previous", onClick: () => handlePageClick(currentPage - 1), disabled: disabled, "aria-label": "\uC774\uC804 \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ChevronLeftIcon, { size: 16 }) }) })), pageNumbers.map(renderPageButton), showPreviousNext && !isLastPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--next", onClick: () => handlePageClick(currentPage + 1), disabled: disabled, "aria-label": "\uB2E4\uC74C \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ChevronRightIcon, { size: 16 }) }) })), showFirstLast && !isLastPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--last", onClick: () => handlePageClick(totalPages), disabled: disabled, "aria-label": "\uB9C8\uC9C0\uB9C9 \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ArrowBarRightIcon, { size: 16 }) }) }))] }) }), showPageSizeSelector && onPageSizeChange && (jsxRuntimeExports.jsx("div", { className: "designbase-pagination__page-size", children: jsxRuntimeExports.jsxs("label", { className: "designbase-pagination__page-size-label", children: ["\uD398\uC774\uC9C0\uB2F9:", jsxRuntimeExports.jsx(Select$1, { value: pageSize.toString(), options: pageSizeOptions.map(option => ({
8897
+ return (jsxRuntimeExports.jsx("div", { className: classes, role: "navigation", "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: jsxRuntimeExports.jsxs("div", { className: containerClasses, children: [showTotal && totalItems && (jsxRuntimeExports.jsx("div", { className: "designbase-pagination__total", children: getTotalTemplate() })), jsxRuntimeExports.jsx("nav", { className: "designbase-pagination__nav", "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", children: jsxRuntimeExports.jsxs("ul", { className: "designbase-pagination__list", children: [showFirstLast && !isFirstPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--first", onClick: () => handlePageClick(1), disabled: disabled, "aria-label": "\uCCAB \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ArrowBarLeftIcon, { size: 16 }) }) })), showPreviousNext && !isFirstPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--previous", onClick: () => handlePageClick(currentPage - 1), disabled: disabled, "aria-label": "\uC774\uC804 \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ChevronLeftIcon, { size: 16 }) }) })), pageNumbers.map(renderPageButton), showPreviousNext && !isLastPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--next", onClick: () => handlePageClick(currentPage + 1), disabled: disabled, "aria-label": "\uB2E4\uC74C \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ChevronRightIcon, { size: 16 }) }) })), showFirstLast && !isLastPage && (jsxRuntimeExports.jsx("li", { className: "designbase-pagination__item", children: jsxRuntimeExports.jsx("button", { className: "designbase-pagination__button designbase-pagination__button--last", onClick: () => handlePageClick(totalPages), disabled: disabled, "aria-label": "\uB9C8\uC9C0\uB9C9 \uD398\uC774\uC9C0\uB85C \uC774\uB3D9", children: jsxRuntimeExports.jsx(icons.ArrowBarRightIcon, { size: 16 }) }) }))] }) }), showPageSizeSelector && onPageSizeChange && (jsxRuntimeExports.jsx("div", { className: "designbase-pagination__page-size", children: jsxRuntimeExports.jsxs("label", { className: "designbase-pagination__page-size-label", children: ["\uD398\uC774\uC9C0\uB2F9:", jsxRuntimeExports.jsx(Select, { value: pageSize.toString(), options: pageSizeOptions.map(option => ({
8930
8898
  value: option.toString(),
8931
8899
  label: option.toString()
8932
8900
  })), onChange: (value) => {
@@ -8937,11 +8905,9 @@ const Pagination$1 = ({ currentPage, totalPages, totalItems, pageSize = 10, page
8937
8905
  }
8938
8906
  }, disabled: disabled, size: size, className: "designbase-pagination__page-size-select", searchable: false, multiple: false, showClearButton: false })] }) }))] }) }));
8939
8907
  };
8940
- Pagination$1.displayName = 'Pagination';
8941
-
8942
- Pagination;
8908
+ Pagination.displayName = 'Pagination';
8943
8909
 
8944
- const Popover$1 = ({ content, children, position = 'top', size = 'm', variant = 'default', trigger = 'click', delay = 200, hideDelay = 0, alwaysShow = false, disabled = false, maxWidth = 300, showArrow = true, closeOnOutsideClick = true, closeOnEscape = true, open: controlledOpen, onOpenChange, showCloseButton = true, className, ...props }) => {
8910
+ const Popover = ({ content, children, position = 'top', size = 'm', variant = 'default', trigger = 'click', delay = 200, hideDelay = 0, alwaysShow = false, disabled = false, maxWidth = 300, showArrow = true, closeOnOutsideClick = true, closeOnEscape = true, open: controlledOpen, onOpenChange, showCloseButton = true, className, ...props }) => {
8945
8911
  const [internalOpen, setInternalOpen] = React.useState(false);
8946
8912
  const [popoverStyle, setPopoverStyle] = React.useState({});
8947
8913
  const [arrowStyle, setArrowStyle] = React.useState({});
@@ -9238,11 +9204,9 @@ const Popover$1 = ({ content, children, position = 'top', size = 'm', variant =
9238
9204
  });
9239
9205
  return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [enhancedChildren, isOpen && (jsxRuntimeExports.jsxs("div", { ref: popoverRef, className: classes, style: popoverStyle, role: "dialog", "aria-modal": "false", ...props, children: [jsxRuntimeExports.jsxs("div", { className: "designbase-popover__content", children: [showCloseButton && (jsxRuntimeExports.jsx("button", { className: "designbase-popover__close-button", onClick: handleCloseClick, "aria-label": "\uD31D\uC624\uBC84 \uB2EB\uAE30", type: "button" })), content] }), showArrow && (jsxRuntimeExports.jsx("div", { className: arrowClasses, style: arrowStyle }))] }))] }));
9240
9206
  };
9241
- Popover$1.displayName = 'Popover';
9207
+ Popover.displayName = 'Popover';
9242
9208
 
9243
- Popover;
9244
-
9245
- const Progress$1 = ({ value, max = 100, size = 'm', variant = 'default', type = 'linear', showValue = false, valueFormatter, animated = false, striped = false, className, }) => {
9209
+ const Progress = ({ value, max = 100, size = 'm', variant = 'default', type = 'linear', showValue = false, valueFormatter, animated = false, striped = false, className, }) => {
9246
9210
  const percentage = Math.min(Math.max((value / max) * 100, 0), 100);
9247
9211
  const classes = clsx('designbase-progress', `designbase-progress--size-${size}`, `designbase-progress--variant-${variant}`, `designbase-progress--type-${type}`, {
9248
9212
  'designbase-progress--animated': animated,
@@ -9260,8 +9224,6 @@ const Progress$1 = ({ value, max = 100, size = 'm', variant = 'default', type =
9260
9224
  return (jsxRuntimeExports.jsx("div", { className: classes, children: type === 'linear' ? renderLinearProgress() : renderCircularProgress() }));
9261
9225
  };
9262
9226
 
9263
- Progress;
9264
-
9265
9227
  const ProgressStep = ({ items, variant = 'default', size = 'm', layout = 'vertical', currentStep = 0, clickable = false, fullWidth = false, disabled = false, className, style, onStepClick, }) => {
9266
9228
  const handleStepClick = (item, index) => {
9267
9229
  if (disabled || item.disabled || !clickable)
@@ -9300,9 +9262,7 @@ const ProgressStep = ({ items, variant = 'default', size = 'm', layout = 'vertic
9300
9262
  }) }));
9301
9263
  };
9302
9264
 
9303
- Progressbar;
9304
-
9305
- const RangeSlider$1 = ({ value, range, min = 0, max = 100, step = 1, size = 'm', variant = 'default', showValue = false, showMarks = false, marks = [], markLabels = {}, disabled = false, readOnly = false, fullWidth = false, vertical = false, onChange, onRangeChange, className, ...props }) => {
9265
+ const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', variant = 'default', showValue = false, showMarks = false, marks = [], markLabels = {}, disabled = false, readOnly = false, fullWidth = false, vertical = false, onChange, onRangeChange, className, ...props }) => {
9306
9266
  const [internalValue, setInternalValue] = React.useState(value ?? min);
9307
9267
  const [internalRange, setInternalRange] = React.useState(range ?? [min, max]);
9308
9268
  const [isDragging, setIsDragging] = React.useState(false);
@@ -9517,9 +9477,7 @@ const RangeSlider$1 = ({ value, range, min = 0, max = 100, step = 1, size = 'm',
9517
9477
  [vertical ? 'bottom' : 'left']: `${getPercentage(currentValue)}%`,
9518
9478
  }, onPointerDown: handlePointerDown, onKeyDown: handleKeyDown, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": currentValue, tabIndex: disabled || readOnly ? -1 : 0, draggable: false }))] }) })] }));
9519
9479
  };
9520
- RangeSlider$1.displayName = 'RangeSlider';
9521
-
9522
- RangeSlider;
9480
+ RangeSlider.displayName = 'RangeSlider';
9523
9481
 
9524
9482
  const Rating = ({ value, maxValue = 5, size = 'm', variant = 'default', type = 'star', display = 'stars', reviewCount, ratingText, reviewText, allowHalf = false, readonly = false, disabled = false, clickable = false, color = 'primary', customColor, animated = false, hoverEffect = true, onChange, onHover, onClick, className, }) => {
9525
9483
  const [hoverValue, setHoverValue] = React.useState(null);
@@ -10110,7 +10068,7 @@ const ResizablePanels = ({ children, initialWidth = '100%', initialHeight = '100
10110
10068
  }, children: handleIcon || getDefaultHandleIcon() })] }));
10111
10069
  };
10112
10070
 
10113
- const ScrollArea$1 = ({ direction = 'vertical', scrollbarStyle = 'auto', maxHeight, maxWidth, minHeight, minWidth, fullWidth = false, fullHeight = false, alwaysShowScrollbar = false, scrollbarColor, scrollbarTrackColor, className, children, }) => {
10071
+ const ScrollArea = ({ direction = 'vertical', scrollbarStyle = 'auto', maxHeight, maxWidth, minHeight, minWidth, fullWidth = false, fullHeight = false, alwaysShowScrollbar = false, scrollbarColor, scrollbarTrackColor, className, children, }) => {
10114
10072
  const scrollRef = React.useRef(null);
10115
10073
  const [hasVerticalScroll, setHasVerticalScroll] = React.useState(false);
10116
10074
  const [hasHorizontalScroll, setHasHorizontalScroll] = React.useState(false);
@@ -10151,11 +10109,7 @@ const ScrollArea$1 = ({ direction = 'vertical', scrollbarStyle = 'auto', maxHeig
10151
10109
  return (jsxRuntimeExports.jsx("div", { className: classes, style: style, children: jsxRuntimeExports.jsx("div", { ref: scrollRef, className: "designbase-scroll-area__content", children: children }) }));
10152
10110
  };
10153
10111
 
10154
- ScrollArea;
10155
-
10156
- SearchBar;
10157
-
10158
- const Section$1 = ({ title, subtitle, description, size = 'm', variant = 'default', header, footer, actions, noPadding = false, fullWidth = false, fullHeight = false, className, children, }) => {
10112
+ const Section = ({ title, subtitle, description, size = 'm', variant = 'default', header, footer, actions, noPadding = false, fullWidth = false, fullHeight = false, className, children, }) => {
10159
10113
  const classes = clsx('designbase-section', `designbase-section--size-${size}`, `designbase-section--variant-${variant}`, {
10160
10114
  'designbase-section--no-padding': noPadding,
10161
10115
  'designbase-section--full-width': fullWidth,
@@ -10165,12 +10119,6 @@ const Section$1 = ({ title, subtitle, description, size = 'm', variant = 'defaul
10165
10119
  return (jsxRuntimeExports.jsxs("section", { className: classes, children: [hasHeader && (jsxRuntimeExports.jsx("div", { className: "designbase-section__header", children: header || (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [(title || subtitle) && (jsxRuntimeExports.jsxs("div", { className: "designbase-section__title-area", children: [title && (jsxRuntimeExports.jsx("h2", { className: "designbase-section__title", children: title })), subtitle && (jsxRuntimeExports.jsx("h3", { className: "designbase-section__subtitle", children: subtitle })), description && (jsxRuntimeExports.jsx("p", { className: "designbase-section__description", children: description }))] })), actions && (jsxRuntimeExports.jsx("div", { className: "designbase-section__actions", children: actions }))] })) })), jsxRuntimeExports.jsx("div", { className: "designbase-section__content", children: children }), footer && (jsxRuntimeExports.jsx("div", { className: "designbase-section__footer", children: footer }))] }));
10166
10120
  };
10167
10121
 
10168
- Section;
10169
-
10170
- SegmentControl;
10171
-
10172
- Select;
10173
-
10174
10122
  const Share = ({ url, title, description = '', imageUrl, hashtags = [], variant = 'button', size = 'm', position = 'bottom', platforms = ['facebook', 'twitter', 'linkedin', 'whatsapp', 'email', 'link'], customPlatforms = {}, buttonText = '공유', buttonIcon = icons.ShareAltIcon, modalTitle = '공유하기', copySuccessMessage = '링크가 클립보드에 복사되었습니다!', showQrCode = true, qrCodeSize = 200, className, style, onShare, onShareError, onCopySuccess, onCopyError, }) => {
10175
10123
  const [isOpen, setIsOpen] = React.useState(false);
10176
10124
  const [isCopied, setIsCopied] = React.useState(false);
@@ -10332,7 +10280,7 @@ const Share = ({ url, title, description = '', imageUrl, hashtags = [], variant
10332
10280
  // 변형별 렌더링
10333
10281
  switch (variant) {
10334
10282
  case 'dropdown':
10335
- return (jsxRuntimeExports.jsx("div", { className: clsx('designbase-share', `designbase-share--${variant}`, className), style: style, children: jsxRuntimeExports.jsx(Dropdown$1, { items: activePlatforms.map(platform => {
10283
+ return (jsxRuntimeExports.jsx("div", { className: clsx('designbase-share', `designbase-share--${variant}`, className), style: style, children: jsxRuntimeExports.jsx(Dropdown, { items: activePlatforms.map(platform => {
10336
10284
  const config = platformConfigs[platform];
10337
10285
  const PlatformIcon = config?.icon;
10338
10286
  return {
@@ -10353,7 +10301,7 @@ const Share = ({ url, title, description = '', imageUrl, hashtags = [], variant
10353
10301
  }
10354
10302
  };
10355
10303
 
10356
- const Sidebar$1 = ({ size = 'm', variant = 'default', position = 'left', logo, onLogoClick, items = [], onItemClick, userProfile, userMenuItems = [], onUserMenuItemClick, collapsed = false, onToggle, collapsible = true, fixed = false, fullHeight = false, shadow = false, className, ...props }) => {
10304
+ const Sidebar = ({ size = 'm', variant = 'default', position = 'left', logo, onLogoClick, items = [], onItemClick, userProfile, userMenuItems = [], onUserMenuItemClick, collapsed = false, onToggle, collapsible = true, fixed = false, fullHeight = false, shadow = false, className, ...props }) => {
10357
10305
  const [expandedItems, setExpandedItems] = React.useState([]);
10358
10306
  const handleToggle = () => {
10359
10307
  if (onToggle) {
@@ -10392,14 +10340,14 @@ const Sidebar$1 = ({ size = 'm', variant = 'default', position = 'left', logo, o
10392
10340
  const renderSidebarItem = (item, level = 0) => {
10393
10341
  const isExpanded = expandedItems.includes(item.id);
10394
10342
  const hasChildren = item.children && item.children.length > 0;
10395
- return (jsxRuntimeExports.jsx("li", { className: "designbase-sidebar__item", children: jsxRuntimeExports.jsx(MenuItem$1, { ...item, type: "block", style: "accordion", depth: level, expanded: isExpanded, expandable: hasChildren, onClick: () => handleItemClick(item), onChildClick: (child) => handleItemClick(child) }) }, item.id));
10343
+ return (jsxRuntimeExports.jsx("li", { className: "designbase-sidebar__item", children: jsxRuntimeExports.jsx(MenuItem, { ...item, type: "block", style: "accordion", depth: level, expanded: isExpanded, expandable: hasChildren, onClick: () => handleItemClick(item), onChildClick: (child) => handleItemClick(child) }) }, item.id));
10396
10344
  };
10397
10345
  return (jsxRuntimeExports.jsx("aside", { className: classes, role: "complementary", "aria-label": "\uC0AC\uC774\uB4DC\uBC14 \uB124\uBE44\uAC8C\uC774\uC158", ...props, children: jsxRuntimeExports.jsxs("div", { className: "designbase-sidebar__container", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-sidebar__header", children: [jsxRuntimeExports.jsx("div", { className: "designbase-sidebar__logo", onClick: onLogoClick, role: onLogoClick ? 'button' : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
10398
10346
  if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {
10399
10347
  e.preventDefault();
10400
10348
  onLogoClick();
10401
10349
  }
10402
- }, children: logo || jsxRuntimeExports.jsx(Logo$1, { size: size === 's' ? 's' : size === 'l' ? 'l' : 'm' }) }), collapsible && (jsxRuntimeExports.jsx(Button, { variant: "ghost", size: "s", iconOnly: true, className: "designbase-sidebar__toggle", onPress: handleToggle, "aria-label": collapsed ? '사이드바 펼치기' : '사이드바 접기', children: jsxRuntimeExports.jsx(icons.ChevronLeftIcon, { className: clsx('designbase-sidebar__toggle-icon', {
10350
+ }, children: logo || jsxRuntimeExports.jsx(Logo, { size: size === 's' ? 's' : size === 'l' ? 'l' : 'm' }) }), collapsible && (jsxRuntimeExports.jsx(Button, { variant: "ghost", size: "s", iconOnly: true, className: "designbase-sidebar__toggle", onPress: handleToggle, "aria-label": collapsed ? '사이드바 펼치기' : '사이드바 접기', children: jsxRuntimeExports.jsx(icons.ChevronLeftIcon, { className: clsx('designbase-sidebar__toggle-icon', {
10403
10351
  'designbase-sidebar__toggle-icon--collapsed': collapsed,
10404
10352
  }) }) }))] }), jsxRuntimeExports.jsx("nav", { className: "designbase-sidebar__nav", children: jsxRuntimeExports.jsx("ul", { className: "designbase-sidebar__nav-list", children: items.map((item) => renderSidebarItem(item)) }) }), userProfile && !collapsed && (jsxRuntimeExports.jsxs("div", { className: "designbase-sidebar__user", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-sidebar__user-info", onClick: () => onUserMenuItemClick?.({ id: 'profile', label: '프로필', href: '#' }), role: "button", tabIndex: 0, onKeyDown: (e) => {
10405
10353
  if (e.key === 'Enter' || e.key === ' ') {
@@ -10421,9 +10369,7 @@ const Sidebar$1 = ({ size = 'm', variant = 'default', position = 'left', logo, o
10421
10369
  }
10422
10370
  }, style: { cursor: 'pointer' }, children: userProfile.avatar ? (jsxRuntimeExports.jsx("img", { src: userProfile.avatar, alt: userProfile.name, className: "designbase-sidebar__user-avatar-collapsed" })) : (jsxRuntimeExports.jsx("div", { className: "designbase-sidebar__user-avatar-placeholder-collapsed", children: userProfile.name.charAt(0).toUpperCase() })) }))] }) }));
10423
10371
  };
10424
- Sidebar$1.displayName = 'Sidebar';
10425
-
10426
- Sidebar;
10372
+ Sidebar.displayName = 'Sidebar';
10427
10373
 
10428
10374
  const Skeleton = React.forwardRef(({ variant = 'text', size = 'm', width, height, animation = 'pulse', lines = 1, lineSpacing = '8px', lastLineWidth = '60%', className, style, 'aria-label': ariaLabel, ...props }, forwardedRef) => {
10429
10375
  // 기본 크기 결정
@@ -10477,9 +10423,7 @@ const Skeleton = React.forwardRef(({ variant = 'text', size = 'm', width, height
10477
10423
  });
10478
10424
  Skeleton.displayName = 'Skeleton';
10479
10425
 
10480
- Spinner;
10481
-
10482
- const SplitView$1 = ({ direction = 'horizontal', mode = 'ratio', initialSplit = 0.5, firstSize = 200, minSize = 100, maxSize, splitterSize = 4, splitterColor, splitterHoverColor, first, second, fullWidth = false, fullHeight = false, className, }) => {
10426
+ const SplitView = ({ direction = 'horizontal', mode = 'ratio', initialSplit = 0.5, firstSize = 200, minSize = 100, maxSize, splitterSize = 4, splitterColor, splitterHoverColor, first, second, fullWidth = false, fullHeight = false, className, }) => {
10483
10427
  const [split, setSplit] = React.useState(initialSplit);
10484
10428
  const [isDragging, setIsDragging] = React.useState(false);
10485
10429
  const containerRef = React.useRef(null);
@@ -10577,9 +10521,7 @@ const SplitView$1 = ({ direction = 'horizontal', mode = 'ratio', initialSplit =
10577
10521
  return (jsxRuntimeExports.jsxs("div", { ref: containerRef, className: classes, style: style, children: [jsxRuntimeExports.jsx("div", { className: "designbase-split-view__first", children: first }), jsxRuntimeExports.jsx("div", { ref: splitterRef, className: splitterClasses, onMouseDown: handleMouseDown }), jsxRuntimeExports.jsx("div", { className: "designbase-split-view__second", children: second })] }));
10578
10522
  };
10579
10523
 
10580
- SplitView;
10581
-
10582
- const Stack$1 = ({ direction = 'vertical', alignment = 'start', justify = 'start', spacing = 'md', fullWidth = false, fullHeight = false, wrap = false, className, children, }) => {
10524
+ const Stack = ({ direction = 'vertical', alignment = 'start', justify = 'start', spacing = 'md', fullWidth = false, fullHeight = false, wrap = false, className, children, }) => {
10583
10525
  const classes = clsx('designbase-stack', `designbase-stack--direction-${direction}`, `designbase-stack--alignment-${alignment}`, `designbase-stack--justify-${justify}`, `designbase-stack--spacing-${spacing}`, {
10584
10526
  'designbase-stack--full-width': fullWidth,
10585
10527
  'designbase-stack--full-height': fullHeight,
@@ -10588,9 +10530,7 @@ const Stack$1 = ({ direction = 'vertical', alignment = 'start', justify = 'start
10588
10530
  return (jsxRuntimeExports.jsx("div", { className: classes, children: children }));
10589
10531
  };
10590
10532
 
10591
- Stack;
10592
-
10593
- const Stepper$1 = ({ value = 0, min = 0, max = 100, step = 1, size = 'm', variant = 'default', disabled = false, readonly = false, onChange, onMinReached, onMaxReached, className, }) => {
10533
+ const Stepper = ({ value = 0, min = 0, max = 100, step = 1, size = 'm', variant = 'default', disabled = false, readonly = false, onChange, onMinReached, onMaxReached, className, }) => {
10594
10534
  const [internalValue, setInternalValue] = React.useState(value);
10595
10535
  const currentValue = value !== undefined ? value : internalValue;
10596
10536
  const isMinReached = currentValue <= min;
@@ -10658,9 +10598,7 @@ const Stepper$1 = ({ value = 0, min = 0, max = 100, step = 1, size = 'm', varian
10658
10598
  return (jsxRuntimeExports.jsxs("div", { className: classes, children: [jsxRuntimeExports.jsx("button", { type: "button", className: decrementClasses, onClick: handleDecrement, disabled: disabled || readonly || isMinReached, "aria-label": "\uAC10\uC18C", "aria-describedby": "stepper-description", children: jsxRuntimeExports.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsxRuntimeExports.jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" }) }) }), jsxRuntimeExports.jsx("div", { className: "designbase-stepper__value", children: jsxRuntimeExports.jsx("span", { className: "designbase-stepper__value-text", children: currentValue }) }), jsxRuntimeExports.jsx("button", { type: "button", className: incrementClasses, onClick: handleIncrement, disabled: disabled || readonly || isMaxReached, "aria-label": "\uC99D\uAC00", "aria-describedby": "stepper-description", children: jsxRuntimeExports.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsxRuntimeExports.jsx("line", { x1: "12", y1: "5", x2: "12", y2: "19" }), jsxRuntimeExports.jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" })] }) }), jsxRuntimeExports.jsxs("div", { id: "stepper-description", className: "sr-only", children: ["\uC22B\uC790 \uC870\uC815\uAE30. \uD654\uC0B4\uD45C \uD0A4\uB098 +/- \uD0A4\uB97C \uC0AC\uC6A9\uD558\uC5EC \uAC12\uC744 \uC870\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uD604\uC7AC \uAC12: ", currentValue, ", \uCD5C\uC18C\uAC12: ", min, ", \uCD5C\uB300\uAC12: ", max, ", \uB2E8\uACC4: ", step] })] }));
10659
10599
  };
10660
10600
 
10661
- Stepper;
10662
-
10663
- const Table$1 = ({ data, columns, title, showCountBadge = false, showFilter = false, filterOptions = [], onFilterChange, size = 'm', variant = 'default', selectable = false, multiSelect = false, selectedRows = [], onSelectionChange, sortable = false, sortColumn, sortDirection, onSortChange, loading = false, emptyMessage = '데이터가 없습니다.', onRowClick, rowKey = 'id', height, scrollable = false, className, ...props }) => {
10601
+ const Table = ({ data, columns, title, showCountBadge = false, showFilter = false, filterOptions = [], onFilterChange, size = 'm', variant = 'default', selectable = false, multiSelect = false, selectedRows = [], onSelectionChange, sortable = false, sortColumn, sortDirection, onSortChange, loading = false, emptyMessage = '데이터가 없습니다.', onRowClick, rowKey = 'id', height, scrollable = false, className, ...props }) => {
10664
10602
  const [internalSelectedRows, setInternalSelectedRows] = React.useState(selectedRows);
10665
10603
  const getRowKey = (item, index) => {
10666
10604
  if (typeof rowKey === 'string') {
@@ -10744,7 +10682,7 @@ const Table$1 = ({ data, columns, title, showCountBadge = false, showFilter = fa
10744
10682
  if (loading) {
10745
10683
  return (jsxRuntimeExports.jsx("div", { className: classes, ...props, children: jsxRuntimeExports.jsxs("div", { className: "designbase-table__loading", children: [jsxRuntimeExports.jsx("div", { className: "designbase-table__loading-spinner" }), jsxRuntimeExports.jsx("span", { children: "\uB85C\uB529 \uC911..." })] }) }));
10746
10684
  }
10747
- return (jsxRuntimeExports.jsxs("div", { className: classes, style: { height }, ...props, children: [(title || showCountBadge || showFilter) && (jsxRuntimeExports.jsxs("div", { className: "designbase-table__header", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-table__header-left", children: [title && (jsxRuntimeExports.jsx("h3", { className: "designbase-table__title", children: title })), showCountBadge && (jsxRuntimeExports.jsx(Badge$1, { count: data.length, style: "number", variant: "primary", size: "s" }))] }), showFilter && filterOptions.length > 0 && (jsxRuntimeExports.jsx("div", { className: "designbase-table__header-right", children: jsxRuntimeExports.jsx(Select$1, { placeholder: "\uD544\uD130 \uC120\uD0DD", options: filterOptions, onChange: (value) => onFilterChange?.(Array.isArray(value) ? value[0] : value), size: size, showClearButton: false, searchable: false, multiple: false }) }))] })), jsxRuntimeExports.jsx("div", { className: "designbase-table__container", children: jsxRuntimeExports.jsxs("table", { className: tableClasses, children: [jsxRuntimeExports.jsx("thead", { className: "designbase-table__thead", children: jsxRuntimeExports.jsxs("tr", { className: "designbase-table__tr", children: [selectable && (jsxRuntimeExports.jsx("th", { className: "designbase-table__th designbase-table__th--checkbox", children: jsxRuntimeExports.jsx(Checkbox, { isSelected: isAllSelected, isIndeterminate: isIndeterminate, onChange: (checked) => handleSelectAll(checked), size: "s", hasLabel: false }) })), columns.map((column) => (jsxRuntimeExports.jsx("th", { className: clsx('designbase-table__th', {
10685
+ return (jsxRuntimeExports.jsxs("div", { className: classes, style: { height }, ...props, children: [(title || showCountBadge || showFilter) && (jsxRuntimeExports.jsxs("div", { className: "designbase-table__header", children: [jsxRuntimeExports.jsxs("div", { className: "designbase-table__header-left", children: [title && (jsxRuntimeExports.jsx("h3", { className: "designbase-table__title", children: title })), showCountBadge && (jsxRuntimeExports.jsx(Badge, { count: data.length, style: "number", variant: "primary", size: "s" }))] }), showFilter && filterOptions.length > 0 && (jsxRuntimeExports.jsx("div", { className: "designbase-table__header-right", children: jsxRuntimeExports.jsx(Select, { placeholder: "\uD544\uD130 \uC120\uD0DD", options: filterOptions, onChange: (value) => onFilterChange?.(Array.isArray(value) ? value[0] : value), size: size, showClearButton: false, searchable: false, multiple: false }) }))] })), jsxRuntimeExports.jsx("div", { className: "designbase-table__container", children: jsxRuntimeExports.jsxs("table", { className: tableClasses, children: [jsxRuntimeExports.jsx("thead", { className: "designbase-table__thead", children: jsxRuntimeExports.jsxs("tr", { className: "designbase-table__tr", children: [selectable && (jsxRuntimeExports.jsx("th", { className: "designbase-table__th designbase-table__th--checkbox", children: jsxRuntimeExports.jsx(Checkbox, { isSelected: isAllSelected, isIndeterminate: isIndeterminate, onChange: (checked) => handleSelectAll(checked), size: "s", hasLabel: false }) })), columns.map((column) => (jsxRuntimeExports.jsx("th", { className: clsx('designbase-table__th', {
10748
10686
  'designbase-table__th--sortable': sortable && column.sortable,
10749
10687
  'designbase-table__th--sorted': sortColumn === column.key,
10750
10688
  [`designbase-table__th--${column.align || 'left'}`]: column.align,
@@ -10763,11 +10701,9 @@ const Table$1 = ({ data, columns, title, showCountBadge = false, showFilter = fa
10763
10701
  }), children: renderCell(column, item, index) }, column.key)))] }, key));
10764
10702
  })) })] }) })] }));
10765
10703
  };
10766
- Table$1.displayName = 'Table';
10704
+ Table.displayName = 'Table';
10767
10705
 
10768
- Table;
10769
-
10770
- const Tabs$1 = ({ items, defaultSelectedId, selectedId, orientation = 'horizontal', size = 'm', fullWidth = false, variant = 'default', className, onTabChange, ...props }) => {
10706
+ const Tabs = ({ items, defaultSelectedId, selectedId, orientation = 'horizontal', size = 'm', fullWidth = false, variant = 'default', className, onTabChange, ...props }) => {
10771
10707
  const [activeTabId, setActiveTabId] = React.useState(selectedId ?? defaultSelectedId ?? items[0]?.id ?? '');
10772
10708
  const [focusedTabId, setFocusedTabId] = React.useState('');
10773
10709
  const tabListRef = React.useRef(null);
@@ -10882,11 +10818,9 @@ const Tabs$1 = ({ items, defaultSelectedId, selectedId, orientation = 'horizonta
10882
10818
  }, className: tabClasses, role: "tab", "aria-selected": isSelected, "aria-disabled": isDisabled, "aria-controls": `panel-${item.id}`, id: `tab-${item.id}`, tabIndex: isSelected ? 0 : -1, disabled: isDisabled, onClick: () => handleTabSelect(item.id), onKeyDown: (e) => handleKeyDown(e, item.id), onFocus: () => handleTabFocus(item.id), onBlur: handleTabBlur, children: [item.icon && (jsxRuntimeExports.jsx("span", { className: "designbase-tabs__tab-icon", children: jsxRuntimeExports.jsx(item.icon, { size: size === 's' ? 16 : size === 'l' ? 20 : 18 }) })), jsxRuntimeExports.jsx("span", { className: "designbase-tabs__tab-label", children: item.label })] }, item.id));
10883
10819
  }) }), activeTab && (jsxRuntimeExports.jsx("div", { className: "designbase-tabs__panel", role: "tabpanel", id: `panel-${activeTab.id}`, "aria-labelledby": `tab-${activeTab.id}`, tabIndex: 0, children: activeTab.content }))] }));
10884
10820
  };
10885
- Tabs$1.displayName = 'Tabs';
10886
-
10887
- Tabs;
10821
+ Tabs.displayName = 'Tabs';
10888
10822
 
10889
- const TimePicker$1 = ({ value, onChange, format = '24h', mode = 'dropdown', hourStep = 1, minuteStep = 15, minTime, maxTime, size = 'm', variant = 'default', disabled = false, readonly = false, placeholder = '시간을 선택하세요', displayFormat, className, }) => {
10823
+ const TimePicker = ({ value, onChange, format = '24h', mode = 'dropdown', hourStep = 1, minuteStep = 15, minTime, maxTime, size = 'm', variant = 'default', disabled = false, readonly = false, placeholder = '시간을 선택하세요', displayFormat, className, }) => {
10890
10824
  const [isOpen, setIsOpen] = React.useState(false);
10891
10825
  const [selectedHour, setSelectedHour] = React.useState(() => {
10892
10826
  if (value) {
@@ -11079,8 +11013,6 @@ const TimePicker$1 = ({ value, onChange, format = '24h', mode = 'dropdown', hour
11079
11013
  }) })] }))] }) }))] }));
11080
11014
  };
11081
11015
 
11082
- TimePicker;
11083
-
11084
11016
  const Timeline = ({ items, position = 'alternate', variant = 'default', size = 'm', color = 'primary', clickable = false, fullWidth = false, disabled = false, className, style, onItemClick, }) => {
11085
11017
  const handleItemClick = (item, index) => {
11086
11018
  if (disabled || item.disabled || !clickable)
@@ -11135,7 +11067,7 @@ const Timeline = ({ items, position = 'alternate', variant = 'default', size = '
11135
11067
  }) }) }));
11136
11068
  };
11137
11069
 
11138
- const Toast$1 = ({ id, status = 'info', title, description, icon: Icon, duration = 5000, showProgress = false, showCloseButton = true, position = 'top-right', onClose, className, }) => {
11070
+ const Toast = ({ id, status = 'info', title, description, icon: Icon, duration = 5000, showProgress = false, showCloseButton = true, position = 'top-right', onClose, className, }) => {
11139
11071
  const [isVisible, setIsVisible] = React.useState(false);
11140
11072
  const [progress, setProgress] = React.useState(100);
11141
11073
  const progressRef = React.useRef(null);
@@ -11214,9 +11146,7 @@ const Toast$1 = ({ id, status = 'info', title, description, icon: Icon, duration
11214
11146
  };
11215
11147
  return (jsxRuntimeExports.jsxs("div", { className: classes, role: "alert", "aria-live": "assertive", "aria-atomic": "true", children: [duration > 0 && showProgress && (jsxRuntimeExports.jsx("div", { className: "designbase-toast__progress", children: jsxRuntimeExports.jsx("div", { ref: progressRef, className: "designbase-toast__progress-bar", style: { width: `${progress}%` } }) })), jsxRuntimeExports.jsx("div", { className: `designbase-toast__icon designbase-toast__icon--${getIconColor()}`, children: getStatusIcon() }), jsxRuntimeExports.jsxs("div", { className: "designbase-toast__content", children: [jsxRuntimeExports.jsx("div", { className: "designbase-toast__title", children: title }), description && (jsxRuntimeExports.jsx("div", { className: "designbase-toast__description", children: description }))] }), showCloseButton && (jsxRuntimeExports.jsx("button", { type: "button", onClick: handleCloseClick, className: "designbase-toast__close-button", "aria-label": "\uD1A0\uC2A4\uD2B8 \uB2EB\uAE30", children: jsxRuntimeExports.jsx(icons.CloseIcon, { size: 16 }) }))] }));
11216
11148
  };
11217
- Toast$1.displayName = 'Toast';
11218
-
11219
- Toast;
11149
+ Toast.displayName = 'Toast';
11220
11150
 
11221
11151
  const Toggle = React.forwardRef(({ isSelected, defaultSelected, isDisabled = false, isReadOnly = false, size = 'm', children, className, onChange, ...props }, forwardedRef) => {
11222
11152
  const [selected, setSelected] = React.useState(isSelected ?? defaultSelected ?? false);
@@ -11242,7 +11172,7 @@ const Toggle = React.forwardRef(({ isSelected, defaultSelected, isDisabled = fal
11242
11172
  });
11243
11173
  Toggle.displayName = 'Toggle';
11244
11174
 
11245
- const Toolbar$1 = ({ items, size = 'm', variant = 'default', position = 'top', fullWidth = false, fixed = false, shadow = true, rounded = true, className, children, }) => {
11175
+ const Toolbar = ({ items, size = 'm', variant = 'default', position = 'top', fullWidth = false, fixed = false, shadow = true, rounded = true, className, children, }) => {
11246
11176
  const [openDropdown, setOpenDropdown] = React.useState(null);
11247
11177
  const handleItemClick = (item) => {
11248
11178
  if (item.disabled)
@@ -11301,9 +11231,7 @@ const Toolbar$1 = ({ items, size = 'm', variant = 'default', position = 'top', f
11301
11231
  return (jsxRuntimeExports.jsx("div", { className: classes, children: jsxRuntimeExports.jsxs("div", { className: "designbase-toolbar__content", children: [Object.entries(groupedItems).map(([groupName, groupItems], groupIndex) => (jsxRuntimeExports.jsxs("div", { className: "designbase-toolbar__group", children: [groupItems.map(renderItem), groupIndex < Object.keys(groupedItems).length - 1 && (jsxRuntimeExports.jsx("div", { className: "designbase-toolbar__group-separator" }))] }, groupName))), children && (jsxRuntimeExports.jsx("div", { className: "designbase-toolbar__children", children: children }))] }) }));
11302
11232
  };
11303
11233
 
11304
- Toolbar;
11305
-
11306
- const Tooltip$1 = ({ content, children, position = 'top', size = 'm', variant = 'default', delay = 200, hideDelay = 0, alwaysShow = false, disabled = false, maxWidth = 200, showArrow = true, className, ...props }) => {
11234
+ const Tooltip = ({ content, children, position = 'top', size = 'm', variant = 'default', delay = 200, hideDelay = 0, alwaysShow = false, disabled = false, maxWidth = 200, showArrow = true, className, ...props }) => {
11307
11235
  const [isVisible, setIsVisible] = React.useState(false);
11308
11236
  const [tooltipStyle, setTooltipStyle] = React.useState({});
11309
11237
  const [arrowStyle, setArrowStyle] = React.useState({});
@@ -11517,9 +11445,7 @@ const Tooltip$1 = ({ content, children, position = 'top', size = 'm', variant =
11517
11445
  const arrowClasses = clsx('designbase-tooltip__arrow', `designbase-tooltip__arrow--${position}`);
11518
11446
  return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { ref: triggerWrapperRef, className: "designbase-tooltip__trigger", onMouseEnter: showTooltip, onMouseLeave: hideTooltip, onFocus: showTooltip, onBlur: hideTooltip, onKeyDown: handleKeyDown, tabIndex: 0, "aria-describedby": isVisible ? 'designbase-tooltip' : undefined, children: children }), isVisible && (jsxRuntimeExports.jsxs("div", { ref: tooltipRef, className: classes, style: tooltipStyle, role: "tooltip", id: "designbase-tooltip", "aria-hidden": !isVisible, ...props, children: [jsxRuntimeExports.jsx("div", { className: "designbase-tooltip__content", children: content }), showArrow && jsxRuntimeExports.jsx("div", { className: arrowClasses, style: arrowStyle })] }))] }));
11519
11447
  };
11520
- Tooltip$1.displayName = 'Tooltip';
11521
-
11522
- Tooltip;
11448
+ Tooltip.displayName = 'Tooltip';
11523
11449
 
11524
11450
  const VideoPlayer = ({ src, poster, title, description, size = 'm', variant = 'default', theme = 'auto', autoPlay = false, loop = false, muted = false, showControls = true, enableFullscreen = true, enableKeyboard = true, enableTouch = true, showProgress = true, showTime = true, showVolume = true, showSettings = false, playlist = [], currentIndex = 0, autoPause = true, playbackRates = [0.5, 0.75, 1, 1.25, 1.5, 2], defaultPlaybackRate = 1, qualities = [], defaultQuality = '', subtitles = [], defaultSubtitle = '', onPlay, onPause, onEnded, onTimeUpdate, onVolumeChange, onFullscreenChange, onPlaylistChange, onPlaybackRateChange, onQualityChange, onSubtitleChange, onError, className, }) => {
11525
11451
  const videoRef = React.useRef(null);
@@ -11992,36 +11918,36 @@ const toggleTheme = () => {
11992
11918
  console.log('toggleTheme called');
11993
11919
  };
11994
11920
 
11995
- exports.Accordion = Accordion$1;
11996
- exports.Alert = Alert$1;
11921
+ exports.Accordion = Accordion;
11922
+ exports.Alert = Alert;
11997
11923
  exports.AnimationBackground = AnimationBackground;
11998
11924
  exports.AnimationText = AnimationText;
11999
11925
  exports.AudioPlayer = AudioPlayer;
12000
- exports.Avatar = Avatar$1;
11926
+ exports.Avatar = Avatar;
12001
11927
  exports.Backdrop = Backdrop;
12002
- exports.Badge = Badge$1;
11928
+ exports.Badge = Badge;
12003
11929
  exports.Banner = Banner;
12004
11930
  exports.BottomSheet = BottomSheet;
12005
- exports.Breadcrumbs = Breadcrumbs$1;
11931
+ exports.Breadcrumbs = Breadcrumbs;
12006
11932
  exports.Button = Button;
12007
11933
  exports.Calendar = Calendar;
12008
11934
  exports.Card = Card;
12009
11935
  exports.Carousel = Carousel;
12010
11936
  exports.Checkbox = Checkbox;
12011
- exports.Chip = Chip$1;
12012
- exports.Confirm = Confirm$1;
12013
- exports.Container = Container$1;
12014
- exports.ContextMenu = ContextMenu$1;
11937
+ exports.Chip = Chip;
11938
+ exports.Confirm = Confirm;
11939
+ exports.Container = Container;
11940
+ exports.ContextMenu = ContextMenu;
12015
11941
  exports.DatePicker = DatePicker;
12016
- exports.Divider = Divider$1;
11942
+ exports.Divider = Divider;
12017
11943
  exports.Drawer = Drawer;
12018
- exports.Dropdown = Dropdown$1;
11944
+ exports.Dropdown = Dropdown;
12019
11945
  exports.Dropzone = Dropzone;
12020
- exports.EmptyState = EmptyState$1;
11946
+ exports.EmptyState = EmptyState;
12021
11947
  exports.FileUploader = FileUploader;
12022
11948
  exports.FloatingActionButton = FloatingActionButton;
12023
11949
  exports.Form = Form;
12024
- exports.Gradient = Gradient$1;
11950
+ exports.Gradient = Gradient;
12025
11951
  exports.Grid = Grid;
12026
11952
  exports.HeroFeature = HeroFeature;
12027
11953
  exports.Image = Image$1;
@@ -12029,44 +11955,44 @@ exports.ImageList = ImageList;
12029
11955
  exports.Input = Input;
12030
11956
  exports.Lightbox = Lightbox;
12031
11957
  exports.List = List;
12032
- exports.Logo = Logo$1;
11958
+ exports.Logo = Logo;
12033
11959
  exports.MarkdownEditor = MarkdownEditor;
12034
11960
  exports.Masonry = Masonry;
12035
- exports.MenuItem = MenuItem$1;
11961
+ exports.MenuItem = MenuItem;
12036
11962
  exports.Modal = Modal;
12037
- exports.Navbar = Navbar$1;
12038
- exports.Pagination = Pagination$1;
12039
- exports.Popover = Popover$1;
12040
- exports.Progress = Progress$1;
11963
+ exports.Navbar = Navbar;
11964
+ exports.Pagination = Pagination;
11965
+ exports.Popover = Popover;
11966
+ exports.Progress = Progress;
12041
11967
  exports.ProgressStep = ProgressStep;
12042
- exports.Progressbar = Progressbar$1;
11968
+ exports.Progressbar = Progressbar;
12043
11969
  exports.Radio = Radio;
12044
- exports.RangeSlider = RangeSlider$1;
11970
+ exports.RangeSlider = RangeSlider;
12045
11971
  exports.Rating = Rating;
12046
11972
  exports.Reorder = Reorder;
12047
11973
  exports.ResizablePanels = ResizablePanels;
12048
- exports.ScrollArea = ScrollArea$1;
12049
- exports.SearchBar = SearchBar$1;
12050
- exports.Section = Section$1;
12051
- exports.SegmentControl = SegmentControl$1;
12052
- exports.Select = Select$1;
11974
+ exports.ScrollArea = ScrollArea;
11975
+ exports.SearchBar = SearchBar;
11976
+ exports.Section = Section;
11977
+ exports.SegmentControl = SegmentControl;
11978
+ exports.Select = Select;
12053
11979
  exports.Share = Share;
12054
- exports.Sidebar = Sidebar$1;
11980
+ exports.Sidebar = Sidebar;
12055
11981
  exports.Skeleton = Skeleton;
12056
- exports.Spinner = Spinner$1;
12057
- exports.SplitView = SplitView$1;
12058
- exports.Stack = Stack$1;
11982
+ exports.Spinner = Spinner;
11983
+ exports.SplitView = SplitView;
11984
+ exports.Stack = Stack;
12059
11985
  exports.Stat = Stat;
12060
- exports.Stepper = Stepper$1;
12061
- exports.Table = Table$1;
12062
- exports.Tabs = Tabs$1;
11986
+ exports.Stepper = Stepper;
11987
+ exports.Table = Table;
11988
+ exports.Tabs = Tabs;
12063
11989
  exports.Textarea = Textarea;
12064
- exports.TimePicker = TimePicker$1;
11990
+ exports.TimePicker = TimePicker;
12065
11991
  exports.Timeline = Timeline;
12066
- exports.Toast = Toast$1;
11992
+ exports.Toast = Toast;
12067
11993
  exports.Toggle = Toggle;
12068
- exports.Toolbar = Toolbar$1;
12069
- exports.Tooltip = Tooltip$1;
11994
+ exports.Toolbar = Toolbar;
11995
+ exports.Tooltip = Tooltip;
12070
11996
  exports.VideoPlayer = VideoPlayer;
12071
11997
  exports.YouTubePlayer = YouTubePlayer;
12072
11998
  exports.getTheme = getTheme;