@cwellt_software/cwellt-reactjs-lib 1.2.15 → 1.2.16

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.es.js CHANGED
@@ -614,7 +614,7 @@ function CwLoadingSmall(CwelltLoadingAppointements) {
614
614
  jsx("div", {})) }));
615
615
  }
616
616
 
617
- var styles$o = {"cw-generic-tooltip-content":"cw-generic-tooltip-module__cw-generic-tooltip-content__la-Si","cw-generic-tooltip":"cw-generic-tooltip-module__cw-generic-tooltip__Ij76M"};
617
+ var styles$p = {"cw-generic-tooltip-content":"cw-generic-tooltip-module__cw-generic-tooltip-content__la-Si","cw-generic-tooltip":"cw-generic-tooltip-module__cw-generic-tooltip__Ij76M"};
618
618
 
619
619
  // Constants moved outside to prevent recreation
620
620
  const margin$1 = 16;
@@ -737,12 +737,12 @@ const CwGenericTooltip = ({ children, content = null, position = defaultPosition
737
737
  const { setTooltipTimeout, clearTooltipTimeout } = useTooltipDelay(() => {
738
738
  setIsVisible(true);
739
739
  }, showDelay);
740
- const { position: tooltipPosition, actualPosition } = useTooltipPosition(isVisible, containerRef, position, styles$o["cw-generic-tooltip-content"]);
740
+ const { position: tooltipPosition, actualPosition } = useTooltipPosition(isVisible, containerRef, position, styles$p["cw-generic-tooltip-content"]);
741
741
  // Memoize tooltip content creation
742
742
  const tooltipContent = useMemo(() => {
743
743
  if (hide || !isVisible || !content)
744
744
  return null;
745
- return createPortal(jsx("div", { className: styles$o["cw-generic-tooltip-content"], "data-position": actualPosition, "data-visible": isVisible, "data-inline": displayInline, style: {
745
+ return createPortal(jsx("div", { className: styles$p["cw-generic-tooltip-content"], "data-position": actualPosition, "data-visible": isVisible, "data-inline": displayInline, style: {
746
746
  position: 'fixed',
747
747
  top: `${tooltipPosition.top}px`,
748
748
  left: `${tooltipPosition.left}px`,
@@ -757,10 +757,10 @@ const CwGenericTooltip = ({ children, content = null, position = defaultPosition
757
757
  clearTooltipTimeout();
758
758
  setIsVisible(false);
759
759
  }, [clearTooltipTimeout]);
760
- return (jsxs("div", { ref: containerRef, className: styles$o["cw-generic-tooltip"], onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: overlayStyle, "data-inline": displayInline, children: [tooltipContent, children] }));
760
+ return (jsxs("div", { ref: containerRef, className: styles$p["cw-generic-tooltip"], onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: overlayStyle, "data-inline": displayInline, children: [tooltipContent, children] }));
761
761
  };
762
762
 
763
- var styles$n = {"cw-tooltip-content":"cw-tooltip-module__cw-tooltip-content__RZczd","cw-tooltip":"cw-tooltip-module__cw-tooltip__1KYig"};
763
+ var styles$o = {"cw-tooltip-content":"cw-tooltip-module__cw-tooltip-content__RZczd","cw-tooltip":"cw-tooltip-module__cw-tooltip__1KYig"};
764
764
 
765
765
  // Constants
766
766
  const margin = 16;
@@ -975,7 +975,7 @@ const CwTooltipManager = () => {
975
975
  if (!state.isVisible || !state.content) {
976
976
  return null;
977
977
  }
978
- return createPortal(jsx("div", { ref: tooltipRef, className: styles$n["cw-tooltip-content"], "data-position": actualPosition, "data-visible": state.isVisible, style: {
978
+ return createPortal(jsx("div", { ref: tooltipRef, className: styles$o["cw-tooltip-content"], "data-position": actualPosition, "data-visible": state.isVisible, style: {
979
979
  top: `${tooltipPosition.top}px`,
980
980
  left: `${tooltipPosition.left}px`,
981
981
  opacity: (isPositioned && !isMeasuring) ? 1 : 0,
@@ -1043,7 +1043,7 @@ const CwTooltipNew = ({ children, content = null, position = "right", dissapears
1043
1043
  useEffect(() => {
1044
1044
  ensureTooltipManager();
1045
1045
  }, []);
1046
- return (jsx("div", { ref: containerRef, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: overlayStyle, "data-inline": displayInline, className: styles$n["cw-tooltip"], children: children }));
1046
+ return (jsx("div", { ref: containerRef, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: overlayStyle, "data-inline": displayInline, className: styles$o["cw-tooltip"], children: children }));
1047
1047
  };
1048
1048
 
1049
1049
  function CwButton({ text, variant = 'solid', color = 'primary', className = '', icon = "", title, tooltipPosition = "bottom", children, ...buttonProps }) {
@@ -1100,7 +1100,7 @@ function CwModal(custModalProps) {
1100
1100
  jsx("div", { style: { display: "none" } }))] }) })] })) }));
1101
1101
  }
1102
1102
 
1103
- var styles$m = {"overlayPositioned":"CwConfirmationPopup-module__overlayPositioned__11qYB","popup":"CwConfirmationPopup-module__popup__ahPjM","message":"CwConfirmationPopup-module__message__MnNL4","buttons":"CwConfirmationPopup-module__buttons__fGYYE","button":"CwConfirmationPopup-module__button__ugYQE","confirmButton":"CwConfirmationPopup-module__confirmButton__rTP4S","cancelButton":"CwConfirmationPopup-module__cancelButton__Ry694"};
1103
+ var styles$n = {"overlayPositioned":"CwConfirmationPopup-module__overlayPositioned__11qYB","popup":"CwConfirmationPopup-module__popup__ahPjM","message":"CwConfirmationPopup-module__message__MnNL4","buttons":"CwConfirmationPopup-module__buttons__fGYYE","button":"CwConfirmationPopup-module__button__ugYQE","confirmButton":"CwConfirmationPopup-module__confirmButton__rTP4S","cancelButton":"CwConfirmationPopup-module__cancelButton__Ry694"};
1104
1104
 
1105
1105
  function CwConfirmationPopup(props) {
1106
1106
  const { isOpen, onConfirm, onCancel, message = "Are you sure you want to proceed?", confirmText = "Confirm", cancelText = "Cancel", placement = 'bottom', children } = props;
@@ -1164,15 +1164,15 @@ function CwConfirmationPopup(props) {
1164
1164
  onCancel();
1165
1165
  }
1166
1166
  };
1167
- return (jsxs(Fragment, { children: [renderChildren(), isOpen && (jsx("div", { className: styles$m.overlayPositioned, onClick: handleOverlayClick, children: jsxs("div", { ref: popupRef, className: styles$m.popup, style: {
1167
+ return (jsxs(Fragment, { children: [renderChildren(), isOpen && (jsx("div", { className: styles$n.overlayPositioned, onClick: handleOverlayClick, children: jsxs("div", { ref: popupRef, className: styles$n.popup, style: {
1168
1168
  position: 'absolute',
1169
1169
  top: `${position.top}px`,
1170
1170
  left: `${position.left}px`,
1171
1171
  transform: 'none'
1172
- }, children: [jsx("p", { className: styles$m.message, children: message }), jsxs("div", { className: styles$m.buttons, children: [jsx("button", { className: `${styles$m.button} ${styles$m.confirmButton}`, onClick: onConfirm, children: confirmText }), jsx("button", { className: `${styles$m.button} ${styles$m.cancelButton}`, onClick: onCancel, children: cancelText })] })] }) }))] }));
1172
+ }, children: [jsx("p", { className: styles$n.message, children: message }), jsxs("div", { className: styles$n.buttons, children: [jsx("button", { className: `${styles$n.button} ${styles$n.confirmButton}`, onClick: onConfirm, children: confirmText }), jsx("button", { className: `${styles$n.button} ${styles$n.cancelButton}`, onClick: onCancel, children: cancelText })] })] }) }))] }));
1173
1173
  }
1174
1174
 
1175
- var styles$l = {"cw-dialog-main":"cw-dialog-module__cw-dialog-main__cHxHt","cw-dialog-button-close":"cw-dialog-module__cw-dialog-button-close__9GRd8"};
1175
+ var styles$m = {"cw-dialog-main":"cw-dialog-module__cw-dialog-main__cHxHt","cw-dialog-button-close":"cw-dialog-module__cw-dialog-button-close__9GRd8"};
1176
1176
 
1177
1177
  // Helper function to parse size values
1178
1178
  const parseSize = (size) => {
@@ -1445,7 +1445,7 @@ const CwDialog = props => {
1445
1445
  }
1446
1446
  }
1447
1447
  }, [open]);
1448
- const header = useMemo(() => (jsxs("header", { onMouseDown: handleMouseDown, children: [jsx("span", { children: headline }), customHeader || (jsx("button", { className: styles$l["cw-dialog-button-close"], onClick: onClose }))] })), [handleMouseDown, headline, customHeader, onClose]);
1448
+ const header = useMemo(() => (jsxs("header", { onMouseDown: handleMouseDown, children: [jsx("span", { children: headline }), customHeader || (jsx("button", { className: styles$m["cw-dialog-button-close"], onClick: onClose }))] })), [handleMouseDown, headline, customHeader, onClose]);
1449
1449
  const content = useMemo(() => (jsx("section", { children: children })), [children]);
1450
1450
  const footer = useMemo(() => (jsx("footer", { children: customFooter || (jsx(CwButton, { variant: "icon", icon: "save", title: "Save", onClick: onSave, tooltipPosition: "top", disabled: disableSave })) })), [customFooter, onSave, disableSave]);
1451
1451
  const resizeHandles = useMemo(() => size.autoHeight
@@ -1474,7 +1474,7 @@ const CwDialog = props => {
1474
1474
  : `${convertFromPx(size.height, size.heightUnit)}${size.heightUnit}`;
1475
1475
  return { displayWidth, displayHeight };
1476
1476
  }, [size.width, size.height, size.widthUnit, size.heightUnit, size.autoHeight]);
1477
- const dialogContent = (jsx("div", { "data-has-scrim": hasScrim, className: styles$l["cw-dialog-main"], onMouseDown: handleScrimMouseDown, onMouseUp: handleScrimMouseUpOrLeave, onMouseLeave: handleScrimMouseUpOrLeave, "data-pressing": isPressingScrim, children: jsxs("dialog", { ...domProps, ref: dialogRef, style: {
1477
+ const dialogContent = (jsx("div", { "data-has-scrim": hasScrim, className: styles$m["cw-dialog-main"], onMouseDown: handleScrimMouseDown, onMouseUp: handleScrimMouseUpOrLeave, onMouseLeave: handleScrimMouseUpOrLeave, "data-pressing": isPressingScrim, children: jsxs("dialog", { ...domProps, ref: dialogRef, style: {
1478
1478
  left: `${position.x}px`,
1479
1479
  top: `${position.y}px`,
1480
1480
  width: displayDimensions.displayWidth,
@@ -1677,7 +1677,7 @@ function CwAlign(props) {
1677
1677
  }, children: props.children }));
1678
1678
  }
1679
1679
 
1680
- var styles$k = {"card":"cw-card-module__card__HJUT0","clickable":"cw-card-module__clickable__Y-V3X","disabled":"cw-card-module__disabled__0wHh1","loading":"cw-card-module__loading__-fzlx","content":"cw-card-module__content__ma9qy","headerContent":"cw-card-module__headerContent__x4Jfl","footerTags":"cw-card-module__footerTags__80sSW","loadingOverlay":"cw-card-module__loadingOverlay__8-zVV"};
1680
+ var styles$l = {"card":"cw-card-module__card__HJUT0","clickable":"cw-card-module__clickable__Y-V3X","disabled":"cw-card-module__disabled__0wHh1","loading":"cw-card-module__loading__-fzlx","content":"cw-card-module__content__ma9qy","headerContent":"cw-card-module__headerContent__x4Jfl","footerTags":"cw-card-module__footerTags__80sSW","loadingOverlay":"cw-card-module__loadingOverlay__8-zVV"};
1681
1681
 
1682
1682
  /**
1683
1683
  * CwCard - A simple card component for displaying content in a contained format
@@ -1701,11 +1701,11 @@ const CwCard = ({ id, title, subtitle, alignment = 'center', children, footer, o
1701
1701
  // Construct class names using CSS modules
1702
1702
  const cardClassNames = [
1703
1703
  'cw-card',
1704
- styles$k.card,
1704
+ styles$l.card,
1705
1705
  className,
1706
- clickable ? styles$k.clickable : '',
1707
- disabled ? styles$k.disabled : '',
1708
- isLoading ? styles$k.loading : '',
1706
+ clickable ? styles$l.clickable : '',
1707
+ disabled ? styles$l.disabled : '',
1708
+ isLoading ? styles$l.loading : '',
1709
1709
  ].filter(Boolean).join(' ');
1710
1710
  // Handle click event when card is clickable
1711
1711
  const handleClick = () => {
@@ -1722,15 +1722,15 @@ const CwCard = ({ id, title, subtitle, alignment = 'center', children, footer, o
1722
1722
  // Determine if footer should be rendered
1723
1723
  const hasFooter = hasChips || footer || (hasActions && direction === "row");
1724
1724
  // Actions component to reuse
1725
- const ActionsComponent = hasActions && !disabled ? (jsxs("div", { className: styles$k.actions, children: [extraActions ?? null, onEdit && jsx(CwButton, { variant: "icon", icon: "edit", onClick: onEdit }), onDelete && jsx(CwButton, { variant: "icon", icon: "delete", color: "danger", onClick: onDelete })] })) : null;
1725
+ const ActionsComponent = hasActions && !disabled ? (jsxs("div", { className: styles$l.actions, children: [extraActions ?? null, onEdit && jsx(CwButton, { variant: "icon", icon: "edit", onClick: onEdit }), onDelete && jsx(CwButton, { variant: "icon", icon: "delete", color: "danger", onClick: onDelete })] })) : null;
1726
1726
  return (jsxs("div", { ...(id && { id }), className: cardClassNames, ...(style && { style }), ...(clickable && {
1727
1727
  role: 'button',
1728
1728
  tabIndex: 0,
1729
1729
  onClick: handleClick,
1730
- }), "data-variant": variant, "data-direction": direction, children: [hasHeader && (jsxs("header", { children: [(title || subtitle) && (jsxs("div", { className: styles$k.headerContent, "data-alignment": alignment, children: [title && jsx("h5", { children: title }), subtitle && jsx("strong", { children: subtitle })] })), direction === "column" && ActionsComponent] })), jsx("div", { className: styles$k.content, children: children }), hasFooter && (jsxs("footer", { children: [hasChips && (jsx("div", { className: styles$k.footerTags, children: chips.map((chip, index) => (jsx(CwChip, { label: chip.label, colorScheme: chip.colorScheme, className: styles$k.chip, ...(chip.customColor && { customColor: chip.customColor }), ...(chip.variant && { variant: chip.variant }), ...(chip.icon && { icon: chip.icon }) }, index))) })), footer && (jsx("div", { className: styles$k.footerContent, children: footer }))] })), direction === "row" && ActionsComponent, isLoading && (jsx("div", { className: styles$k.loadingOverlay, children: jsx(CwLoading, { isLoading: isLoading, size: "small" }) }))] }));
1730
+ }), "data-variant": variant, "data-direction": direction, children: [hasHeader && (jsxs("header", { children: [(title || subtitle) && (jsxs("div", { className: styles$l.headerContent, "data-alignment": alignment, children: [title && jsx("h5", { children: title }), subtitle && jsx("strong", { children: subtitle })] })), direction === "column" && ActionsComponent] })), jsx("div", { className: styles$l.content, children: children }), hasFooter && (jsxs("footer", { children: [hasChips && (jsx("div", { className: styles$l.footerTags, children: chips.map((chip, index) => (jsx(CwChip, { label: chip.label, colorScheme: chip.colorScheme, className: styles$l.chip, ...(chip.customColor && { customColor: chip.customColor }), ...(chip.variant && { variant: chip.variant }), ...(chip.icon && { icon: chip.icon }) }, index))) })), footer && (jsx("div", { className: styles$l.footerContent, children: footer }))] })), direction === "row" && ActionsComponent, isLoading && (jsx("div", { className: styles$l.loadingOverlay, children: jsx(CwLoading, { isLoading: isLoading, size: "small" }) }))] }));
1731
1731
  };
1732
1732
 
1733
- var styles$j = {"cardContainer":"cw-card-list-module__cardContainer__l3YEh","pagination":"cw-card-list-module__pagination__5Ay78","pageInfo":"cw-card-list-module__pageInfo__uiMel","loading":"cw-card-list-module__loading__cYpND","emptyState":"cw-card-list-module__emptyState__RlqiS","sortControls":"cw-card-list-module__sortControls__mWgZA"};
1733
+ var styles$k = {"cardContainer":"cw-card-list-module__cardContainer__l3YEh","pagination":"cw-card-list-module__pagination__5Ay78","pageInfo":"cw-card-list-module__pageInfo__uiMel","loading":"cw-card-list-module__loading__cYpND","emptyState":"cw-card-list-module__emptyState__RlqiS","sortControls":"cw-card-list-module__sortControls__mWgZA"};
1734
1734
 
1735
1735
  function CwCardList({ items, renderCard, pageSize = 10, layout = 'grid', defaultCardWidth = 320, cardGap = 16, isLoading = false, emptyState, sortOptions = [], defaultSortKey, ...htmlProps }) {
1736
1736
  const [currentPage, setCurrentPage] = useState(1);
@@ -1764,10 +1764,10 @@ function CwCardList({ items, renderCard, pageSize = 10, layout = 'grid', default
1764
1764
  '--card-width': `${defaultCardWidth}px`,
1765
1765
  '--card-gap': `${cardGap}px`
1766
1766
  };
1767
- return (jsxs("div", { ...htmlProps, children: [sortOptions.length > 0 && (jsxs("div", { className: styles$j.sortControls, children: [jsx("label", { htmlFor: "cardlist-sort-select", children: "Sort by:" }), jsx("select", { id: "cardlist-sort-select", value: sortKey, onChange: (e) => handleSortChange(e.target.value), className: styles$j.sortSelect, children: sortOptions.map(option => (jsx("option", { value: option.key, children: option.label }, option.key))) }), jsx("button", { onClick: () => setSortDirection(prev => prev === 'asc' ? 'desc' : 'asc'), className: `cw-button-icon ${sortDirection === 'asc' ? 'cwi-arrow-up' : 'cwi-arrow-down'}`, title: `Sort ${sortDirection === 'asc' ? 'descending' : 'ascending'}` })] })), isLoading ? (jsx("div", { className: styles$j.loading, children: jsx(CwLoading, { isLoading: isLoading }) })) : sortedItems.length === 0 ? (jsx("div", { className: styles$j.emptyState, children: emptyState || jsx("p", { children: "No items to display" }) })) : (jsxs(Fragment, { children: [jsx("div", { className: `${styles$j.cardContainer}`, "data-layout": layout, style: gridStyle, children: visibleItems.map((item, index) => (jsx("div", { className: styles$j.cardWrapper, children: renderCard(item, index) }, index))) }), totalPages > 1 && (jsxs("div", { className: styles$j.pagination, children: [jsx("button", { disabled: currentPage === 1, onClick: () => setCurrentPage(p => Math.max(1, p - 1)), className: "cw-button-icon cwi-chevron-left" }), jsxs("span", { className: styles$j.pageInfo, children: [currentPage, " of ", totalPages] }), jsx("button", { disabled: currentPage === totalPages, onClick: () => setCurrentPage(p => Math.min(totalPages, p + 1)), className: "cw-button-icon cwi-chevron-right" })] }))] }))] }));
1767
+ return (jsxs("div", { ...htmlProps, children: [sortOptions.length > 0 && (jsxs("div", { className: styles$k.sortControls, children: [jsx("label", { htmlFor: "cardlist-sort-select", children: "Sort by:" }), jsx("select", { id: "cardlist-sort-select", value: sortKey, onChange: (e) => handleSortChange(e.target.value), className: styles$k.sortSelect, children: sortOptions.map(option => (jsx("option", { value: option.key, children: option.label }, option.key))) }), jsx("button", { onClick: () => setSortDirection(prev => prev === 'asc' ? 'desc' : 'asc'), className: `cw-button-icon ${sortDirection === 'asc' ? 'cwi-arrow-up' : 'cwi-arrow-down'}`, title: `Sort ${sortDirection === 'asc' ? 'descending' : 'ascending'}` })] })), isLoading ? (jsx("div", { className: styles$k.loading, children: jsx(CwLoading, { isLoading: isLoading }) })) : sortedItems.length === 0 ? (jsx("div", { className: styles$k.emptyState, children: emptyState || jsx("p", { children: "No items to display" }) })) : (jsxs(Fragment, { children: [jsx("div", { className: `${styles$k.cardContainer}`, "data-layout": layout, style: gridStyle, children: visibleItems.map((item, index) => (jsx("div", { className: styles$k.cardWrapper, children: renderCard(item, index) }, index))) }), totalPages > 1 && (jsxs("div", { className: styles$k.pagination, children: [jsx("button", { disabled: currentPage === 1, onClick: () => setCurrentPage(p => Math.max(1, p - 1)), className: "cw-button-icon cwi-chevron-left" }), jsxs("span", { className: styles$k.pageInfo, children: [currentPage, " of ", totalPages] }), jsx("button", { disabled: currentPage === totalPages, onClick: () => setCurrentPage(p => Math.min(totalPages, p + 1)), className: "cw-button-icon cwi-chevron-right" })] }))] }))] }));
1768
1768
  }
1769
1769
 
1770
- var styles$i = {"cw-accordion":"cw-accordion-module__cw-accordion__ErvlW","cw-accordion-body":"cw-accordion-module__cw-accordion-body__xlI8b"};
1770
+ var styles$j = {"cw-accordion":"cw-accordion-module__cw-accordion__ErvlW","cw-accordion-body":"cw-accordion-module__cw-accordion-body__xlI8b"};
1771
1771
 
1772
1772
  /**
1773
1773
  *
@@ -1784,7 +1784,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
1784
1784
  setVisible_accordionBody(!isVisible_accordionBody);
1785
1785
  };
1786
1786
  // #endregion
1787
- return (jsxs("div", { className: styles$i["cw-accordion"], style: CwelltAccordionContainerProps.style, "data-open": isVisible_accordionBody, children: [jsxs("header", { onClick: () => showAccordionBody(), children: [jsx("div", { children: CwelltAccordionContainerProps.desc_text }), jsx("button", { className: "cw-button-icon" })] }), jsx("div", { className: styles$i["cw-accordion-body"], children: CwelltAccordionContainerProps.children })] }));
1787
+ return (jsxs("div", { className: styles$j["cw-accordion"], style: CwelltAccordionContainerProps.style, "data-open": isVisible_accordionBody, children: [jsxs("header", { onClick: () => showAccordionBody(), children: [jsx("div", { children: CwelltAccordionContainerProps.desc_text }), jsx("button", { className: "cw-button-icon" })] }), jsx("div", { className: styles$j["cw-accordion-body"], children: CwelltAccordionContainerProps.children })] }));
1788
1788
  }
1789
1789
 
1790
1790
  /**
@@ -2053,7 +2053,7 @@ function CwTable({ columns, data, pagination = false, pageSizeOptions = [5, 10,
2053
2053
  }, min: 1, max: totalPages }), jsxs("span", { children: ["of ", totalPages] }), jsx("button", { onClick: () => handlePageChange(currentPage + 1), disabled: currentPage === totalPages || totalPages === 1, className: "cw-button-icon cwi-chevron-right", title: "Next" }), jsx("button", { onClick: () => handlePageChange(totalPages), disabled: currentPage === totalPages || totalPages === 1, className: "cw-button-icon cwi-chevron-right-double", title: "Last" }), jsx("select", { value: localItemsPerPage, onChange: handleItemsPerPageChange, children: pageSizeOptions.map(size => (jsxs("option", { value: size, children: [size, " / page"] }, size))) })] }))] }));
2054
2054
  }
2055
2055
 
2056
- var styles$h = {"dropIndicator":"cw-sortable-table-module__dropIndicator__ov-Jz","dragging":"cw-sortable-table-module__dragging__MrLrz","skeletonRow":"cw-sortable-table-module__skeletonRow__vyD0M","skeleton":"cw-sortable-table-module__skeleton__QGXAD","saveBar":"cw-sortable-table-module__saveBar__3OdoZ cw-flex-row cw-align-center-center cw-gap-small"};
2056
+ var styles$i = {"dropIndicator":"cw-sortable-table-module__dropIndicator__ov-Jz","dragging":"cw-sortable-table-module__dragging__MrLrz","skeletonRow":"cw-sortable-table-module__skeletonRow__vyD0M","skeleton":"cw-sortable-table-module__skeleton__QGXAD","saveBar":"cw-sortable-table-module__saveBar__3OdoZ cw-flex-row cw-align-center-center cw-gap-small"};
2057
2057
 
2058
2058
  /**
2059
2059
  * Hook that provides state management for CwSortableTable.
@@ -2116,9 +2116,9 @@ function useSortableTable(initialItems) {
2116
2116
  }
2117
2117
 
2118
2118
  // ─── Drop indicator row ───────────────────────────────────────────────────────
2119
- const DropIndicatorRow = ({ colSpan }) => (jsx("tr", { className: styles$h.dropIndicator, "aria-hidden": true, children: jsx("td", { colSpan: colSpan, children: jsx("div", {}) }) }));
2119
+ const DropIndicatorRow = ({ colSpan }) => (jsx("tr", { className: styles$i.dropIndicator, "aria-hidden": true, children: jsx("td", { colSpan: colSpan, children: jsx("div", {}) }) }));
2120
2120
  // ─── Loading skeleton ─────────────────────────────────────────────────────────
2121
- const LoadingRows = ({ colSpan }) => (jsx(Fragment, { children: Array.from({ length: 4 }).map((_, i) => (jsx("tr", { className: styles$h.skeletonRow, children: jsx("td", { colSpan: colSpan, children: jsx("div", { className: styles$h.skeleton }) }) }, i))) }));
2121
+ const LoadingRows = ({ colSpan }) => (jsx(Fragment, { children: Array.from({ length: 4 }).map((_, i) => (jsx("tr", { className: styles$i.skeletonRow, children: jsx("td", { colSpan: colSpan, children: jsx("div", { className: styles$i.skeleton }) }) }, i))) }));
2122
2122
  // ─── Component ────────────────────────────────────────────────────────────────
2123
2123
  /**
2124
2124
  * CwSortableTable
@@ -2205,11 +2205,11 @@ function CwSortableTable({ columns, data, rowKey = "key", onReorder, loading = f
2205
2205
  return items.map((item, index) => {
2206
2206
  const key = item[rowKey];
2207
2207
  const isDragging = draggedItem?.[rowKey] === key;
2208
- return (jsxs(React__default.Fragment, { children: [dropIndicatorIndex === index && (jsx(DropIndicatorRow, { colSpan: totalCols })), jsxs("tr", { draggable: true, onDragStart: (e) => handleDragStart(e, item), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, className: isDragging ? styles$h.dragging : "", children: [showHandle && (jsx("td", { className: "cw-table-col-action", children: jsx(CwIcon, { iconId: "grip-dots", color: "neutral", style: { opacity: 0.75 } }) })), columns.map(col => (jsx("td", { className: col.className ?? "", style: col.width ? { width: col.width } : undefined, children: renderCell(item, col) }, `${String(key)}_${col.key}`)))] }), index === items.length - 1 && dropIndicatorIndex === items.length && (jsx(DropIndicatorRow, { colSpan: totalCols }))] }, String(key)));
2208
+ return (jsxs(React__default.Fragment, { children: [dropIndicatorIndex === index && (jsx(DropIndicatorRow, { colSpan: totalCols })), jsxs("tr", { draggable: true, onDragStart: (e) => handleDragStart(e, item), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, className: isDragging ? styles$i.dragging : "", children: [showHandle && (jsx("td", { className: "cw-table-col-action", children: jsx(CwIcon, { iconId: "grip-dots", color: "neutral", style: { opacity: 0.75 } }) })), columns.map(col => (jsx("td", { className: col.className ?? "", style: col.width ? { width: col.width } : undefined, children: renderCell(item, col) }, `${String(key)}_${col.key}`)))] }), index === items.length - 1 && dropIndicatorIndex === items.length && (jsx(DropIndicatorRow, { colSpan: totalCols }))] }, String(key)));
2209
2209
  });
2210
2210
  };
2211
2211
  // ── Render ──────────────────────────────────────────────────────────────
2212
- return (jsxs("div", { className: `cw-table-container ${className ?? ""}`, style: containerStyle, children: [jsxs("table", { className: `cw-table cw-sortable-table ${tableClassName ?? ""}`, style: { width: "100%" }, children: [jsx("thead", { children: jsxs("tr", { children: [showHandle && jsx("th", { className: "cw-table-col-action" }), columns.map(col => (jsx("th", { className: col.className ?? "", style: col.width ? { width: col.width, minWidth: 50 } : undefined, children: col.title }, col.key)))] }) }), jsx("tbody", { children: renderBody() })] }), hasChanges && (jsxs("footer", { className: styles$h.saveBar, children: [jsx(CwButton, { variant: "outline", color: "neutral", icon: "undo", text: discardLabel, onClick: handleDiscard }), jsx(CwButton, { variant: "solid", color: "primary", icon: "save", text: saveLabel, onClick: () => handleSave(onReorder) })] }))] }));
2212
+ return (jsxs("div", { className: `cw-table-container ${className ?? ""}`, style: containerStyle, children: [jsxs("table", { className: `cw-table cw-sortable-table ${tableClassName ?? ""}`, style: { width: "100%" }, children: [jsx("thead", { children: jsxs("tr", { children: [showHandle && jsx("th", { className: "cw-table-col-action" }), columns.map(col => (jsx("th", { className: col.className ?? "", style: col.width ? { width: col.width, minWidth: 50 } : undefined, children: col.title }, col.key)))] }) }), jsx("tbody", { children: renderBody() })] }), hasChanges && (jsxs("footer", { className: styles$i.saveBar, children: [jsx(CwButton, { variant: "outline", color: "neutral", icon: "undo", text: discardLabel, onClick: handleDiscard }), jsx(CwButton, { variant: "solid", color: "primary", icon: "save", text: saveLabel, onClick: () => handleSave(onReorder) })] }))] }));
2213
2213
  }
2214
2214
 
2215
2215
  /**
@@ -2417,7 +2417,7 @@ function CwTableServerSide({ columns, data, totalItems, pagination = false, page
2417
2417
  }, min: 1, max: totalPages }), jsxs("span", { children: ["of ", totalPages] }), jsx("button", { onClick: () => handlePageChange(state.page + 1), disabled: state.page === totalPages || totalPages === 1, className: "cw-button-icon cwi-chevron-right", title: "Next" }), jsx("button", { onClick: () => handlePageChange(totalPages), disabled: state.page === totalPages || totalPages === 1, className: "cw-button-icon cwi-chevron-right-double", title: "Last" }), jsx("select", { value: state.pageSize, onChange: handleItemsPerPageChange, children: pageSizeOptions.map((size) => (jsxs("option", { value: size, children: [size, " / page"] }, size))) })] }))] }));
2418
2418
  }
2419
2419
 
2420
- var styles$g = {"cw-tabs":"cw-tabs-module__cw-tabs__1pmji","badge":"cw-tabs-module__badge__AmVxW","cw-tabs-content":"cw-tabs-module__cw-tabs-content__HTp8d"};
2420
+ var styles$h = {"cw-tabs":"cw-tabs-module__cw-tabs__1pmji","badge":"cw-tabs-module__badge__AmVxW","cw-tabs-content":"cw-tabs-module__cw-tabs-content__HTp8d"};
2421
2421
 
2422
2422
  const TabIcon = ({ icon }) => {
2423
2423
  if (!icon)
@@ -2467,7 +2467,7 @@ function CwTabs(CwTabsProps) {
2467
2467
  const tabsListStyle = position === 'left' && CwTabsProps.tabsListWidth
2468
2468
  ? { minWidth: CwTabsProps.tabsListWidth }
2469
2469
  : undefined;
2470
- return (jsxs("div", { id: CwTabsProps.id, className: styles$g['cw-tabs'] + (CwTabsProps.className ? ` ${CwTabsProps.className}` : "") + "", style: CwTabsProps.style, "data-tabs-position": position, children: [jsx("ul", { style: tabsListStyle, children: CwTabsProps.tabs.map(tab => (jsxs("li", { className: `${tab.key === activeTab ? "cw-tab-active" : ""}`, onClick: () => handleTabClick(tab), "data-active": tab.key === activeTab, children: [jsx(TabIcon, { icon: tab.icon }), tab.title, (tab.badge !== undefined || tab.badgeColor) && (jsx("span", { className: styles$g['badge'], style: tab.badgeColor ? { backgroundColor: tab.badgeColor, color: getContrastColor(tab.badgeColor) } : undefined, children: tab.badge }))] }, tab.key))) }), jsx("div", { className: styles$g['cw-tabs-content'], children: activeTab !== null && CwTabsProps.tabs.find(tab => tab.key === activeTab)?.content })] }));
2470
+ return (jsxs("div", { id: CwTabsProps.id, className: styles$h['cw-tabs'] + (CwTabsProps.className ? ` ${CwTabsProps.className}` : "") + "", style: CwTabsProps.style, "data-tabs-position": position, children: [jsx("ul", { style: tabsListStyle, children: CwTabsProps.tabs.map(tab => (jsxs("li", { className: `${tab.key === activeTab ? "cw-tab-active" : ""}`, onClick: () => handleTabClick(tab), "data-active": tab.key === activeTab, children: [jsx(TabIcon, { icon: tab.icon }), tab.title, (tab.badge !== undefined || tab.badgeColor) && (jsx("span", { className: styles$h['badge'], style: tab.badgeColor ? { backgroundColor: tab.badgeColor, color: getContrastColor(tab.badgeColor) } : undefined, children: tab.badge }))] }, tab.key))) }), jsx("div", { className: styles$h['cw-tabs-content'], children: activeTab !== null && CwTabsProps.tabs.find(tab => tab.key === activeTab)?.content })] }));
2471
2471
  }
2472
2472
 
2473
2473
  /**
@@ -2494,7 +2494,7 @@ const CwExpandable = ({ briefing, onToggle, onOpen, onClose, children, ...detail
2494
2494
  return (jsx("div", { className: "cw-expandable", children: jsxs("details", { ref: myRef, ...detailsProps, children: [jsx("summary", { children: briefing }), children && jsx("section", { children: children })] }) }));
2495
2495
  };
2496
2496
 
2497
- var styles$f = {"cw-master-detail":"cw-master-detail-module__cw-master-detail__O8-FA","resizer":"cw-master-detail-module__resizer__hvGhL","detail":"cw-master-detail-module__detail__BG4Dm","detail-empty":"cw-master-detail-module__detail-empty__KFScK"};
2497
+ var styles$g = {"cw-master-detail":"cw-master-detail-module__cw-master-detail__O8-FA","resizer":"cw-master-detail-module__resizer__hvGhL","detail":"cw-master-detail-module__detail__BG4Dm","detail-empty":"cw-master-detail-module__detail-empty__KFScK"};
2498
2498
 
2499
2499
  const CwMasterDetail = ({ id, className, style, items, selectedKey, onSelect, detailContent, emptyDetail, searchPlaceholder = 'Search...', onSearch, masterHeader, masterFooter, masterWidth: initialWidth = 320, minMasterWidth = 240, maxMasterWidth = 500, resizable = true, showSearch = true, }) => {
2500
2500
  const [masterWidth, setMasterWidth] = useState(initialWidth);
@@ -2530,10 +2530,10 @@ const CwMasterDetail = ({ id, className, style, items, selectedKey, onSelect, de
2530
2530
  document.body.style.userSelect = '';
2531
2531
  };
2532
2532
  }, [isResizing, minMasterWidth, maxMasterWidth]);
2533
- const rootClassName = [styles$f['cw-master-detail'], className].filter(Boolean).join(' ');
2534
- return (jsxs("div", { id: id, ref: containerRef, className: rootClassName, style: style, children: [jsxs("aside", { style: { width: masterWidth, minWidth: masterWidth }, children: [showSearch && (jsx("search", { children: jsx("input", { type: "text", placeholder: searchPlaceholder, onChange: (e) => onSearch?.(e.target.value) }) })), masterHeader && (jsx("header", { children: masterHeader })), jsx("ul", { children: items.map((item) => (jsx("li", { "data-selected": item.key === selectedKey, "data-disabled": item.disabled, onClick: () => onSelect?.(item.key), children: item.content }, item.key))) }), masterFooter && (jsx("footer", { children: masterFooter }))] }), resizable && (jsx("div", { className: styles$f.resizer, "data-resizing": isResizing, onMouseDown: handleMouseDown })), jsx("section", { className: styles$f.detail, children: selectedKey && detailContent
2533
+ const rootClassName = [styles$g['cw-master-detail'], className].filter(Boolean).join(' ');
2534
+ return (jsxs("div", { id: id, ref: containerRef, className: rootClassName, style: style, children: [jsxs("aside", { style: { width: masterWidth, minWidth: masterWidth }, children: [showSearch && (jsx("search", { children: jsx("input", { type: "text", placeholder: searchPlaceholder, onChange: (e) => onSearch?.(e.target.value) }) })), masterHeader && (jsx("header", { children: masterHeader })), jsx("ul", { children: items.map((item) => (jsx("li", { "data-selected": item.key === selectedKey, "data-disabled": item.disabled, onClick: () => onSelect?.(item.key), children: item.content }, item.key))) }), masterFooter && (jsx("footer", { children: masterFooter }))] }), resizable && (jsx("div", { className: styles$g.resizer, "data-resizing": isResizing, onMouseDown: handleMouseDown })), jsx("section", { className: styles$g.detail, children: selectedKey && detailContent
2535
2535
  ? detailContent
2536
- : (jsx("div", { className: styles$f['detail-empty'], children: emptyDetail ?? 'Select an item to view details' })) })] }));
2536
+ : (jsx("div", { className: styles$g['detail-empty'], children: emptyDetail ?? 'Select an item to view details' })) })] }));
2537
2537
  };
2538
2538
 
2539
2539
  /**
@@ -2557,7 +2557,7 @@ const CwKeyValueList = ({ items, className = "", emptyValue = "-", direction = "
2557
2557
  : emptyValue })] }, item.key))) }));
2558
2558
  };
2559
2559
 
2560
- var styles$e = {"sortableList":"cw-sortable-list-module__sortableList__PyLO-","sortableItem":"cw-sortable-list-module__sortableItem__FAnn2","readOnly":"cw-sortable-list-module__readOnly__r7GcH","dragging":"cw-sortable-list-module__dragging__MD715","moved":"cw-sortable-list-module__moved__sE6-N","expandedContent":"cw-sortable-list-module__expandedContent__Kocna","sortableHandle":"cw-sortable-list-module__sortableHandle__HvYBK","sortableContent":"cw-sortable-list-module__sortableContent__C6JhR","sortableTitle":"cw-sortable-list-module__sortableTitle__EgWXr","sortableExtraContent":"cw-sortable-list-module__sortableExtraContent__s4LSv","sortableActions":"cw-sortable-list-module__sortableActions__gwQOU","dropIndicator":"cw-sortable-list-module__dropIndicator__MNSF-","emptyMessage":"cw-sortable-list-module__emptyMessage__gMpaL"};
2560
+ var styles$f = {"sortableList":"cw-sortable-list-module__sortableList__PyLO-","sortableItem":"cw-sortable-list-module__sortableItem__FAnn2","readOnly":"cw-sortable-list-module__readOnly__r7GcH","dragging":"cw-sortable-list-module__dragging__MD715","moved":"cw-sortable-list-module__moved__sE6-N","expandedContent":"cw-sortable-list-module__expandedContent__Kocna","sortableHandle":"cw-sortable-list-module__sortableHandle__HvYBK","sortableContent":"cw-sortable-list-module__sortableContent__C6JhR","sortableTitle":"cw-sortable-list-module__sortableTitle__EgWXr","sortableExtraContent":"cw-sortable-list-module__sortableExtraContent__s4LSv","sortableActions":"cw-sortable-list-module__sortableActions__gwQOU","dropIndicator":"cw-sortable-list-module__dropIndicator__MNSF-","emptyMessage":"cw-sortable-list-module__emptyMessage__gMpaL"};
2561
2561
 
2562
2562
  function CwSortableList({ items, onReorder, renderItem, className = '', movedItems = new Set(), emptyMessage = "No elements to show", readOnly = false, maxHeight = "300px", }) {
2563
2563
  const [draggedItem, setDraggedItem] = useState(null);
@@ -2620,15 +2620,15 @@ function CwSortableList({ items, onReorder, renderItem, className = '', movedIte
2620
2620
  }
2621
2621
  };
2622
2622
  if (items.length === 0) {
2623
- return (jsx("div", { className: `${styles$e.sortableList} ${styles$e.emptyState} ${className}`, children: jsx("div", { className: styles$e.emptyMessage, children: emptyMessage }) }));
2623
+ return (jsx("div", { className: `${styles$f.sortableList} ${styles$f.emptyState} ${className}`, children: jsx("div", { className: styles$f.emptyMessage, children: emptyMessage }) }));
2624
2624
  }
2625
- return (jsx("div", { className: `${styles$e.sortableList} ${className}`, style: { maxHeight }, children: items.map((item, index) => {
2625
+ return (jsx("div", { className: `${styles$f.sortableList} ${className}`, style: { maxHeight }, children: items.map((item, index) => {
2626
2626
  const { title, extraContent, actions, showHandle = true, expandedContent } = renderItem(item);
2627
2627
  const isDragging = draggedItem?.id === item.id;
2628
2628
  const isMoved = movedItems.has(item.id);
2629
2629
  const canExpand = Boolean(expandedContent);
2630
2630
  const isExpanded = expandedItems.has(item.id);
2631
- return (jsxs(React__default.Fragment, { children: [dropIndicatorIndex === index && jsx("div", { className: styles$e.dropIndicator }), jsxs("div", { className: `${styles$e.sortableItem} ${isDragging ? styles$e.dragging : ''} ${isMoved ? styles$e.moved : ''} ${readOnly ? styles$e.readOnly : ''}`, draggable: !readOnly, onDragStart: (e) => handleDragStart(e, item), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, children: [jsxs("header", { children: [canExpand ? (jsx(CwButton, { variant: "icon", onClick: () => toggleExpanded(item.id), type: "button", title: isExpanded ? "Collapse" : "Expand", icon: isExpanded ? "chevron-up" : "chevron-down" })) : showHandle ? (jsx("div", { className: styles$e.sortableHandle, children: jsx(CwIcon, { iconId: "grip-dots" }) })) : null, jsxs("div", { className: styles$e.sortableContent, children: [jsx("div", { className: styles$e.sortableTitle, children: title }), extraContent && jsx("div", { className: styles$e.sortableExtraContent, children: extraContent })] }), jsx("div", { className: styles$e.sortableActions, children: actions })] }), isExpanded && expandedContent && (jsx("div", { className: styles$e.expandedContent, children: expandedContent }))] }), !readOnly && dropIndicatorIndex === items.length && index === items.length - 1 && (jsx("div", { className: styles$e.dropIndicator }))] }, item.id));
2631
+ return (jsxs(React__default.Fragment, { children: [dropIndicatorIndex === index && jsx("div", { className: styles$f.dropIndicator }), jsxs("div", { className: `${styles$f.sortableItem} ${isDragging ? styles$f.dragging : ''} ${isMoved ? styles$f.moved : ''} ${readOnly ? styles$f.readOnly : ''}`, draggable: !readOnly, onDragStart: (e) => handleDragStart(e, item), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, children: [jsxs("header", { children: [canExpand ? (jsx(CwButton, { variant: "icon", onClick: () => toggleExpanded(item.id), type: "button", title: isExpanded ? "Collapse" : "Expand", icon: isExpanded ? "chevron-up" : "chevron-down" })) : showHandle ? (jsx("div", { className: styles$f.sortableHandle, children: jsx(CwIcon, { iconId: "grip-dots" }) })) : null, jsxs("div", { className: styles$f.sortableContent, children: [jsx("div", { className: styles$f.sortableTitle, children: title }), extraContent && jsx("div", { className: styles$f.sortableExtraContent, children: extraContent })] }), jsx("div", { className: styles$f.sortableActions, children: actions })] }), isExpanded && expandedContent && (jsx("div", { className: styles$f.expandedContent, children: expandedContent }))] }), !readOnly && dropIndicatorIndex === items.length && index === items.length - 1 && (jsx("div", { className: styles$f.dropIndicator }))] }, item.id));
2632
2632
  }) }));
2633
2633
  }
2634
2634
 
@@ -2805,7 +2805,7 @@ function CwFileUpload(fileUploadProps) {
2805
2805
  return (jsxs("div", { children: [jsxs("div", { className: "row", children: [jsx("input", { className: "cw-button", type: "file", accept: fileUploadProps.accept, readOnly: true, placeholder: "No file selected...", onChange: handleFileChange }), previewURL && (jsx("div", { className: "row", children: jsx("img", { src: previewURL, alt: "Preview", style: { maxWidth: "200px", maxHeight: "200px" } }) }))] }), error && jsx("div", { className: "row error", children: error }), jsx("div", { className: "row", children: jsxs("label", { children: ["Please note: File/image has to be in ", fileUploadProps.acceptString, " format", fileUploadProps.sizeString && `, ${fileUploadProps.sizeString}`] }) })] }));
2806
2806
  }
2807
2807
 
2808
- var styles$d = {"fileUploadContainer":"cw-file-upload-multiple-module__fileUploadContainer__liEc1","hiddenInput":"cw-file-upload-multiple-module__hiddenInput__TZBBI","uploadArea":"cw-file-upload-multiple-module__uploadArea__DdOhs","uploadAreaDisabled":"cw-file-upload-multiple-module__uploadAreaDisabled__VWeFX","uploadTitle":"cw-file-upload-multiple-module__uploadTitle__gjRk8","uploadSubtitle":"cw-file-upload-multiple-module__uploadSubtitle__Z0S5t","filesContainer":"cw-file-upload-multiple-module__filesContainer__g44PY","fileItem":"cw-file-upload-multiple-module__fileItem__w27Dg","fileIcon":"cw-file-upload-multiple-module__fileIcon__iJJUX","fileExtension":"cw-file-upload-multiple-module__fileExtension__vOuHv","fileInfo":"cw-file-upload-multiple-module__fileInfo__R5ZTv","fileName":"cw-file-upload-multiple-module__fileName__DjepK","fileSize":"cw-file-upload-multiple-module__fileSize__b8GSm","smallButton":"cw-file-upload-multiple-module__smallButton__siUAh"};
2808
+ var styles$e = {"fileUploadContainer":"cw-file-upload-multiple-module__fileUploadContainer__liEc1","hiddenInput":"cw-file-upload-multiple-module__hiddenInput__TZBBI","uploadArea":"cw-file-upload-multiple-module__uploadArea__DdOhs","uploadAreaDisabled":"cw-file-upload-multiple-module__uploadAreaDisabled__VWeFX","uploadTitle":"cw-file-upload-multiple-module__uploadTitle__gjRk8","uploadSubtitle":"cw-file-upload-multiple-module__uploadSubtitle__Z0S5t","filesContainer":"cw-file-upload-multiple-module__filesContainer__g44PY","fileItem":"cw-file-upload-multiple-module__fileItem__w27Dg","fileIcon":"cw-file-upload-multiple-module__fileIcon__iJJUX","fileExtension":"cw-file-upload-multiple-module__fileExtension__vOuHv","fileInfo":"cw-file-upload-multiple-module__fileInfo__R5ZTv","fileName":"cw-file-upload-multiple-module__fileName__DjepK","fileSize":"cw-file-upload-multiple-module__fileSize__b8GSm","smallButton":"cw-file-upload-multiple-module__smallButton__siUAh"};
2809
2809
 
2810
2810
  function CwFileUploadMultiple(fileUploadProps) {
2811
2811
  const fileInputRef = useRef(null);
@@ -2956,12 +2956,12 @@ function CwFileUploadMultiple(fileUploadProps) {
2956
2956
  }
2957
2957
  }
2958
2958
  };
2959
- return (jsxs("div", { className: `${styles$d.fileUploadContainer} ${fileUploadProps.className}`, children: [jsx("input", { ref: fileInputRef, type: "file", name: fileUploadProps.name, accept: fileUploadProps.accept, multiple: fileUploadProps.multiple, onChange: handleFileSelectInternal, disabled: fileUploadProps.disabled, "aria-label": "files", className: styles$d.hiddenInput }), selectedFiles.length === 0 && !existingFile ? (jsxs("div", { className: `${styles$d.uploadArea} ${fileUploadProps.disabled ? styles$d.uploadAreaDisabled : ''}`, onDragOver: handleDragOver, onDrop: handleDrop, onClick: !fileUploadProps.disabled ? handleButtonClick : undefined, children: [jsx(CwIcon, { iconId: "upload" }), jsx("p", { className: `${styles$d.uploadTitle}`, children: fileUploadProps.disabled ? 'Upload disabled' : 'Click to upload or drag and drop' }), jsxs("p", { className: `${styles$d.uploadSubtitle}`, children: [fileUploadProps.accept ? `Accepted files: ${fileUploadProps.accept}` : 'All file types accepted', !fileUploadProps.multiple && ' (Single file only)'] })] })) : selectedFiles.length === 0 && existingFile ? (jsxs("div", { className: styles$d.filesContainer, children: [jsxs("div", { className: styles$d.fileItem, children: [jsxs("div", { className: styles$d.fileIcon, children: [jsx(CwIcon, { iconId: "page" }), jsx("span", { className: styles$d.fileExtension, children: getFileExtension(existingFile) })] }), jsx("div", { className: styles$d.fileInfo, children: jsx("p", { className: styles$d.fileName, children: existingFile }) }), jsx(CwButton, { variant: "icon", icon: "close", color: "neutral", onClick: () => {
2959
+ return (jsxs("div", { className: `${styles$e.fileUploadContainer} ${fileUploadProps.className}`, children: [jsx("input", { ref: fileInputRef, type: "file", name: fileUploadProps.name, accept: fileUploadProps.accept, multiple: fileUploadProps.multiple, onChange: handleFileSelectInternal, disabled: fileUploadProps.disabled, "aria-label": "files", className: styles$e.hiddenInput }), selectedFiles.length === 0 && !existingFile ? (jsxs("div", { className: `${styles$e.uploadArea} ${fileUploadProps.disabled ? styles$e.uploadAreaDisabled : ''}`, onDragOver: handleDragOver, onDrop: handleDrop, onClick: !fileUploadProps.disabled ? handleButtonClick : undefined, children: [jsx(CwIcon, { iconId: "upload" }), jsx("p", { className: `${styles$e.uploadTitle}`, children: fileUploadProps.disabled ? 'Upload disabled' : 'Click to upload or drag and drop' }), jsxs("p", { className: `${styles$e.uploadSubtitle}`, children: [fileUploadProps.accept ? `Accepted files: ${fileUploadProps.accept}` : 'All file types accepted', !fileUploadProps.multiple && ' (Single file only)'] })] })) : selectedFiles.length === 0 && existingFile ? (jsxs("div", { className: styles$e.filesContainer, children: [jsxs("div", { className: styles$e.fileItem, children: [jsxs("div", { className: styles$e.fileIcon, children: [jsx(CwIcon, { iconId: "page" }), jsx("span", { className: styles$e.fileExtension, children: getFileExtension(existingFile) })] }), jsx("div", { className: styles$e.fileInfo, children: jsx("p", { className: styles$e.fileName, children: existingFile }) }), jsx(CwButton, { variant: "icon", icon: "close", color: "neutral", onClick: () => {
2960
2960
  setExistingFile(undefined);
2961
2961
  if (fileUploadProps.onSelect) {
2962
2962
  fileUploadProps.onSelect(null);
2963
2963
  }
2964
- }, disabled: fileUploadProps.disabled, className: styles$d.smallButton })] }), jsx(CwButton, { text: "Change File", icon: "refresh", onClick: handleButtonClick, disabled: fileUploadProps.disabled })] })) : (jsxs("div", { className: styles$d.filesContainer, children: [jsxs("div", { className: "cw-flex-row cw-align-between-center", children: [jsxs("small", { className: styles$d.filesCount, children: [selectedFiles.length, " file", selectedFiles.length !== 1 ? 's' : '', " selected"] }), jsx(CwButton, { onClick: removeAllFiles, disabled: fileUploadProps.disabled, color: "danger", variant: "outline", icon: "delete", text: "Clear all" })] }), selectedFiles.map((file, index) => (jsxs("div", { className: styles$d.fileItem, children: [jsxs("div", { className: styles$d.fileIcon, children: [jsx(CwIcon, { iconId: "page" }), jsx("span", { className: styles$d.fileExtension, children: getFileExtension(file.name) })] }), jsxs("div", { className: styles$d.fileInfo, children: [jsx("p", { className: styles$d.fileName, children: file.name }), jsxs("p", { className: styles$d.fileSize, children: [(file.size / 1024).toFixed(1), " KB"] })] }), jsx(CwButton, { variant: "icon", icon: "close", color: "neutral", onClick: () => removeFile(index), className: styles$d.smallButton })] }, index))), fileUploadProps.multiple && (jsx(CwButton, { text: "Add More Files", icon: "plus", variant: "outline", onClick: handleButtonClick, disabled: fileUploadProps.disabled })), !fileUploadProps.multiple && (jsx(CwButton, { text: "Change File", icon: "refresh", onClick: handleButtonClick, disabled: fileUploadProps.disabled }))] }))] }));
2964
+ }, disabled: fileUploadProps.disabled, className: styles$e.smallButton })] }), jsx(CwButton, { text: "Change File", icon: "refresh", onClick: handleButtonClick, disabled: fileUploadProps.disabled })] })) : (jsxs("div", { className: styles$e.filesContainer, children: [jsxs("div", { className: "cw-flex-row cw-align-between-center", children: [jsxs("small", { className: styles$e.filesCount, children: [selectedFiles.length, " file", selectedFiles.length !== 1 ? 's' : '', " selected"] }), jsx(CwButton, { onClick: removeAllFiles, disabled: fileUploadProps.disabled, color: "danger", variant: "outline", icon: "delete", text: "Clear all" })] }), selectedFiles.map((file, index) => (jsxs("div", { className: styles$e.fileItem, children: [jsxs("div", { className: styles$e.fileIcon, children: [jsx(CwIcon, { iconId: "page" }), jsx("span", { className: styles$e.fileExtension, children: getFileExtension(file.name) })] }), jsxs("div", { className: styles$e.fileInfo, children: [jsx("p", { className: styles$e.fileName, children: file.name }), jsxs("p", { className: styles$e.fileSize, children: [(file.size / 1024).toFixed(1), " KB"] })] }), jsx(CwButton, { variant: "icon", icon: "close", color: "neutral", onClick: () => removeFile(index), className: styles$e.smallButton })] }, index))), fileUploadProps.multiple && (jsx(CwButton, { text: "Add More Files", icon: "plus", variant: "outline", onClick: handleButtonClick, disabled: fileUploadProps.disabled })), !fileUploadProps.multiple && (jsx(CwButton, { text: "Change File", icon: "refresh", onClick: handleButtonClick, disabled: fileUploadProps.disabled }))] }))] }));
2965
2965
  }
2966
2966
 
2967
2967
  function CwInput(CwInputProps) {
@@ -3004,7 +3004,7 @@ function CwDigit(props) {
3004
3004
  return (jsx("div", { className: "cw-input-text", children: jsxs(CwAlign, { ...alignProps, itemProp: inputProps.required === true ? "required" : "", children: [labelProps && (jsxs(CwLabel, { ...labelProps, children: [iconProps && jsx(CwIcon, { ...iconProps }), labelProps.text] })), jsx("input", { type: "number", ...inputProps }), buttonProps && jsx(CwButton, { ...buttonProps })] }) }));
3005
3005
  }
3006
3006
 
3007
- var styles$c = {"colorPreview":"cw-color-picker-module__colorPreview__ylJcD","hueBar":"cw-color-picker-module__hueBar__bFhyC","hueBarSlider":"cw-color-picker-module__hueBarSlider__D53IV","colorPickerInteractiveArea":"cw-color-picker-module__colorPickerInteractiveArea__KZFR1","colorArea":"cw-color-picker-module__colorArea__xgpSE","colorAreaOverlay":"cw-color-picker-module__colorAreaOverlay__pmgOc","hueBackground":"cw-color-picker-module__hueBackground__Mks78","whiteGradient":"cw-color-picker-module__whiteGradient__Bt-fU","blackGradient":"cw-color-picker-module__blackGradient__VnEKJ","colorAreaCursor":"cw-color-picker-module__colorAreaCursor__lotg3"};
3007
+ var styles$d = {"colorPreview":"cw-color-picker-module__colorPreview__ylJcD","hueBar":"cw-color-picker-module__hueBar__bFhyC","hueBarSlider":"cw-color-picker-module__hueBarSlider__D53IV","colorPickerInteractiveArea":"cw-color-picker-module__colorPickerInteractiveArea__KZFR1","colorArea":"cw-color-picker-module__colorArea__xgpSE","colorAreaOverlay":"cw-color-picker-module__colorAreaOverlay__pmgOc","hueBackground":"cw-color-picker-module__hueBackground__Mks78","whiteGradient":"cw-color-picker-module__whiteGradient__Bt-fU","blackGradient":"cw-color-picker-module__blackGradient__VnEKJ","colorAreaCursor":"cw-color-picker-module__colorAreaCursor__lotg3"};
3008
3008
 
3009
3009
  const CwColorPicker = ({ initialColor, onChange, previewText = "Color preview" }) => {
3010
3010
  const [rgb, setRgb] = useState({ r: 255, g: 255, b: 255 });
@@ -3207,13 +3207,13 @@ const CwColorPicker = ({ initialColor, onChange, previewText = "Color preview" }
3207
3207
  // Calculate background color for the main area based on current hue
3208
3208
  const hueColor = hsvToRgb(hsv.h, 100, 100);
3209
3209
  const hueHex = rgbToHex(hueColor.r, hueColor.g, hueColor.b);
3210
- return (jsxs("div", { className: "cw-flex-column cw-gap-small", children: [jsxs("div", { className: "cw-flex-row cw-align-between-center cw-gap-small", children: [jsx("div", { className: styles$c.colorPreview, style: { backgroundColor: hexColor, color: getContrastColor(hexColor) }, children: previewText }), jsx("button", { type: "button", className: "cw-button", onClick: toggleInputMode, style: { minWidth: "3ch" }, children: inputMode === 'hex' ? 'RGB' : 'HEX' })] }), jsx("div", { className: "color-inputs-row", children: inputMode === 'hex' ? (jsx("input", { type: "text", value: hexColor, onChange: handleHexChange })) : (jsxs("div", { className: "cw-grid-base-3 cw-gap-small", children: [jsxs("div", { children: [jsx("label", { children: "R:" }), jsx("input", { type: "number", name: "r", min: "0", max: "255", value: rgb.r, onChange: handleRgbChange })] }), jsxs("div", { children: [jsx("label", { children: "G:" }), jsx("input", { type: "number", name: "g", min: "0", max: "255", value: rgb.g, onChange: handleRgbChange })] }), jsxs("div", { children: [jsx("label", { children: "B:" }), jsx("input", { type: "number", name: "b", min: "0", max: "255", value: rgb.b, onChange: handleRgbChange })] })] })) }), jsxs("div", { className: styles$c.colorPickerInteractiveArea, children: [jsx("div", { className: styles$c.hueBar, ref: hueBarRef, onClick: handleHueBarClick, children: jsx("div", { className: styles$c.hueBarSlider, style: { top: `${(360 - hsv.h) / 360 * 100}%` } }) }), jsxs("div", { className: styles$c.colorArea, ref: colorAreaRef, onClick: handleColorAreaClick, children: [jsxs("div", { className: styles$c.colorAreaOverlay, children: [jsx("div", { className: styles$c.hueBackground, style: { backgroundColor: hueHex } }), jsx("div", { className: styles$c.whiteGradient }), jsx("div", { className: styles$c.blackGradient })] }), jsx("div", { className: styles$c.colorAreaCursor, style: {
3210
+ return (jsxs("div", { className: "cw-flex-column cw-gap-small", children: [jsxs("div", { className: "cw-flex-row cw-align-between-center cw-gap-small", children: [jsx("div", { className: styles$d.colorPreview, style: { backgroundColor: hexColor, color: getContrastColor(hexColor) }, children: previewText }), jsx("button", { type: "button", className: "cw-button", onClick: toggleInputMode, style: { minWidth: "3ch" }, children: inputMode === 'hex' ? 'RGB' : 'HEX' })] }), jsx("div", { className: "color-inputs-row", children: inputMode === 'hex' ? (jsx("input", { type: "text", value: hexColor, onChange: handleHexChange })) : (jsxs("div", { className: "cw-grid-base-3 cw-gap-small", children: [jsxs("div", { children: [jsx("label", { children: "R:" }), jsx("input", { type: "number", name: "r", min: "0", max: "255", value: rgb.r, onChange: handleRgbChange })] }), jsxs("div", { children: [jsx("label", { children: "G:" }), jsx("input", { type: "number", name: "g", min: "0", max: "255", value: rgb.g, onChange: handleRgbChange })] }), jsxs("div", { children: [jsx("label", { children: "B:" }), jsx("input", { type: "number", name: "b", min: "0", max: "255", value: rgb.b, onChange: handleRgbChange })] })] })) }), jsxs("div", { className: styles$d.colorPickerInteractiveArea, children: [jsx("div", { className: styles$d.hueBar, ref: hueBarRef, onClick: handleHueBarClick, children: jsx("div", { className: styles$d.hueBarSlider, style: { top: `${(360 - hsv.h) / 360 * 100}%` } }) }), jsxs("div", { className: styles$d.colorArea, ref: colorAreaRef, onClick: handleColorAreaClick, children: [jsxs("div", { className: styles$d.colorAreaOverlay, children: [jsx("div", { className: styles$d.hueBackground, style: { backgroundColor: hueHex } }), jsx("div", { className: styles$d.whiteGradient }), jsx("div", { className: styles$d.blackGradient })] }), jsx("div", { className: styles$d.colorAreaCursor, style: {
3211
3211
  left: `${hsv.s}%`,
3212
3212
  top: `${100 - hsv.v}%`
3213
3213
  } })] })] })] }));
3214
3214
  };
3215
3215
 
3216
- var styles$b = {"container":"cw-input-color-module__container__x7gpk","selectColor":"cw-input-color-module__selectColor__DTo3V","disabled":"cw-input-color-module__disabled__O1fK5","readOnly":"cw-input-color-module__readOnly__HL-Bz","colorDropdown":"cw-input-color-module__colorDropdown__pX2bc"};
3216
+ var styles$c = {"container":"cw-input-color-module__container__x7gpk","selectColor":"cw-input-color-module__selectColor__DTo3V","disabled":"cw-input-color-module__disabled__O1fK5","readOnly":"cw-input-color-module__readOnly__HL-Bz","colorDropdown":"cw-input-color-module__colorDropdown__pX2bc"};
3217
3217
 
3218
3218
  const CwInputColor = ({ value, onChange, previewText = "Color preview", disabled = false, readOnly = false, width = '4rem', height = '2rem', labelProps, layoutProps, }) => {
3219
3219
  const [isOpen, setIsOpen] = useState(false);
@@ -3346,11 +3346,11 @@ const CwInputColor = ({ value, onChange, previewText = "Color preview", disabled
3346
3346
  break;
3347
3347
  }
3348
3348
  };
3349
- return (jsxs("div", { className: `cw-input-color ${styles$b.container}`, "data-direction": layoutProps?.direction ?? "row", "data-align": layoutProps?.align, children: [labelProps && (jsx(CwLabel, { ...labelProps })), jsx("div", { ref: containerRef, onClick: handleToggle, className: `${styles$b.selectColor} ${disabled ? styles$b.disabled : ''} ${readOnly ? styles$b.readOnly : ''}`, style: {
3349
+ return (jsxs("div", { className: `cw-input-color ${styles$c.container}`, "data-direction": layoutProps?.direction ?? "row", "data-align": layoutProps?.align, children: [labelProps && (jsx(CwLabel, { ...labelProps })), jsx("div", { ref: containerRef, onClick: handleToggle, className: `${styles$c.selectColor} ${disabled ? styles$c.disabled : ''} ${readOnly ? styles$c.readOnly : ''}`, style: {
3350
3350
  width,
3351
3351
  height,
3352
3352
  backgroundColor: value,
3353
- }, "aria-label": "Open color picker", "aria-expanded": isOpen, "aria-haspopup": "dialog", "aria-readonly": readOnly, role: "button", tabIndex: disabled ? -1 : 0, onKeyDown: handleKeyDown }), isOpen && createPortal(jsx("div", { ref: dropdownRef, className: styles$b.colorDropdown, style: dropdownStyle, role: "dialog", "aria-modal": "true", "aria-label": "Color picker", children: jsx(CwColorPicker, { initialColor: value, onChange: handleColorChange, previewText: previewText }) }), document.body)] }));
3353
+ }, "aria-label": "Open color picker", "aria-expanded": isOpen, "aria-haspopup": "dialog", "aria-readonly": readOnly, role: "button", tabIndex: disabled ? -1 : 0, onKeyDown: handleKeyDown }), isOpen && createPortal(jsx("div", { ref: dropdownRef, className: styles$c.colorDropdown, style: dropdownStyle, role: "dialog", "aria-modal": "true", "aria-label": "Color picker", children: jsx(CwColorPicker, { initialColor: value, onChange: handleColorChange, previewText: previewText }) }), document.body)] }));
3354
3354
  };
3355
3355
 
3356
3356
  /**
@@ -3853,7 +3853,7 @@ const CwImageArea = forwardRef((props, ref) => {
3853
3853
  });
3854
3854
  CwImageArea.displayName = "CwImageArea";
3855
3855
 
3856
- var styles$a = {"cw-weekday-selector":"cw-weekday-selector-module__cw-weekday-selector__Iz4GZ"};
3856
+ var styles$b = {"cw-weekday-selector":"cw-weekday-selector-module__cw-weekday-selector__Iz4GZ"};
3857
3857
 
3858
3858
  /**
3859
3859
  * This class represents a week where days can be selected or unselected
@@ -3993,15 +3993,15 @@ const CwWeekdaySelector = ({ value = "", onChange, disabled = false }) => {
3993
3993
  setSelectedDays(newWeekdays);
3994
3994
  onChange?.(newWeekdays.toString());
3995
3995
  };
3996
- return (jsx("div", { className: styles$a["cw-weekday-selector"], children: Weekdays.getFullWeek().map(day => (jsx("input", { type: "checkbox", "data-day": day, checked: selectedDays.toArray().includes(day), onChange: (e) => handleChange(day, e.target.checked), disabled: disabled }, day))) }));
3996
+ return (jsx("div", { className: styles$b["cw-weekday-selector"], children: Weekdays.getFullWeek().map(day => (jsx("input", { type: "checkbox", "data-day": day, checked: selectedDays.toArray().includes(day), onChange: (e) => handleChange(day, e.target.checked), disabled: disabled }, day))) }));
3997
3997
  };
3998
3998
 
3999
- var styles$9 = {"check-container":"cw-check-module__check-container__4nscZ","checkbox-group-container":"cw-check-module__checkbox-group-container__WMNbG"};
3999
+ var styles$a = {"check-container":"cw-check-module__check-container__4nscZ","checkbox-group-container":"cw-check-module__checkbox-group-container__WMNbG"};
4000
4000
 
4001
4001
  function CwCheck(props) {
4002
4002
  const { labelProps, labelText, iconProps, alignment = "row", className, ...inputProps } = props;
4003
4003
  const displayText = labelText || labelProps?.text;
4004
- return (jsx("div", { className: `cw-check ${styles$9["check-container"]}${className ? ` ${className}` : ''}`, children: jsxs("label", { "data-direction": alignment, children: [jsx("input", { type: "checkbox", ...inputProps }), displayText && (jsxs("span", { className: "cw-icon-text", children: [iconProps && jsx(CwIcon, { ...iconProps }), displayText] }))] }) }));
4004
+ return (jsx("div", { className: `cw-check ${styles$a["check-container"]}${className ? ` ${className}` : ''}`, children: jsxs("label", { "data-direction": alignment, children: [jsx("input", { type: "checkbox", ...inputProps }), displayText && (jsxs("span", { className: "cw-icon-text", children: [iconProps && jsx(CwIcon, { ...iconProps }), displayText] }))] }) }));
4005
4005
  }
4006
4006
 
4007
4007
  function CwCheckbox(CwCheckboxProps) {
@@ -4033,7 +4033,7 @@ function CwCheckboxGroup({ options, value = [], onChange, labelProps, alignProps
4033
4033
  : [];
4034
4034
  const flexDirection = alignProps?.flexDirection ?? "row";
4035
4035
  const dataDirection = { 'data-direction': flexDirection };
4036
- return (jsxs("div", { className: `cw-checkbox-group ${styles$9["checkbox-group-container"]}${className ? ` ${className}` : ''}`, ...dataDirection, children: [jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (jsx(CwLabel, { ...labelProps, children: labelProps.text })), jsx("div", { className: `${optionsAlignment === "row" ? "cw-flex-column cw-gap-small" : "cw-flex-row cw-flex-wrap"}`, children: options.map((option) => (jsx(CwCheck, { labelText: option.label, checked: value.includes(option.value), disabled: disabled || option.disabled, alignment: optionsAlignment, onChange: (e) => handleChange(option.value, e.target.checked) }, option.value))) })] }), feedbackMessages.map((feedbackItem, index) => (jsx("p", { className: "cw-input-info", "data-color": feedbackItem.type, children: feedbackItem.message }, index)))] }));
4036
+ return (jsxs("div", { className: `cw-checkbox-group ${styles$a["checkbox-group-container"]}${className ? ` ${className}` : ''}`, ...dataDirection, children: [jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (jsx(CwLabel, { ...labelProps, children: labelProps.text })), jsx("div", { className: `${optionsAlignment === "row" ? "cw-flex-column cw-gap-small" : "cw-flex-row cw-flex-wrap"}`, children: options.map((option) => (jsx(CwCheck, { labelText: option.label, checked: value.includes(option.value), disabled: disabled || option.disabled, alignment: optionsAlignment, onChange: (e) => handleChange(option.value, e.target.checked) }, option.value))) })] }), feedbackMessages.map((feedbackItem, index) => (jsx("p", { className: "cw-input-info", "data-color": feedbackItem.type, children: feedbackItem.message }, index)))] }));
4037
4037
  }
4038
4038
 
4039
4039
  function CwToggle(props) {
@@ -4104,6 +4104,56 @@ function CwDropdownFilter(props) {
4104
4104
  return (jsxs("div", { id: props.IdContent, className: containerClassName, children: [props.children, isVisible && (jsx("nav", { className: "cw-dropdown-menu", style: inlineStyles, onMouseLeave: props.onMouseLeave, id: props.idDropDownFilter, role: "menu", children: jsx("ul", { role: "none", children: props.DataSourceDropDownItem?.map((item) => (jsx("li", { id: item.IdDropDown_filter, role: "menuitem", children: item.dropDownFilter_desc }, item.IdDropDown_filter))) }) }))] }));
4105
4105
  }
4106
4106
 
4107
+ var styles$9 = {"container":"cw-popover-button-module__container__YSWQU","panel":"cw-popover-button-module__panel__C-BTn"};
4108
+
4109
+ /**
4110
+ * Button that toggles a floating panel with arbitrary children.
4111
+ * Uses the native Popover API — panel renders in the browser's top layer,
4112
+ * escaping all overflow/stacking contexts. Light dismiss (click outside)
4113
+ * and Escape key are handled natively by the browser.
4114
+ *
4115
+ * Designed as a composable primitive:
4116
+ * - Column picker: put `<CwCheckboxGroup>` inside
4117
+ * - Options menu: put toggles / links inside
4118
+ * - Future CwTable integration: use internally for column visibility
4119
+ *
4120
+ * @example
4121
+ * <CwPopoverButton text="Columns" icon="table" variant="outline">
4122
+ * <CwCheckboxGroup options={opts} value={val} onChange={setVal} />
4123
+ * </CwPopoverButton>
4124
+ *
4125
+ * @example
4126
+ * <CwPopoverButton text="Options" icon="options" variant="outline" placement="bottom-end">
4127
+ * <CwToggle labelText="Show assigned" checked={v} onChange={setV} />
4128
+ * </CwPopoverButton>
4129
+ */
4130
+ function CwPopoverButton({ children, panelWidth = "auto", placement = "bottom-start", panelClassName, ...buttonProps }) {
4131
+ const containerRef = useRef(null);
4132
+ const panelRef = useRef(null);
4133
+ const panelCallbackRef = useCallback((node) => {
4134
+ panelRef.current = node;
4135
+ node?.setAttribute("popover", "auto");
4136
+ }, []);
4137
+ const handleClick = useCallback(() => {
4138
+ const panel = panelRef.current;
4139
+ const container = containerRef.current;
4140
+ if (!panel || !container)
4141
+ return;
4142
+ const rect = container.getBoundingClientRect();
4143
+ panel.style.top = `${rect.bottom + 4}px`;
4144
+ if (placement === "bottom-start") {
4145
+ panel.style.left = `${rect.left}px`;
4146
+ panel.style.right = "auto";
4147
+ }
4148
+ else {
4149
+ panel.style.right = `${window.innerWidth - rect.right}px`;
4150
+ panel.style.left = "auto";
4151
+ }
4152
+ panel.togglePopover();
4153
+ }, [placement]);
4154
+ return (jsxs("div", { ref: containerRef, className: styles$9.container, children: [jsx(CwButton, { ...buttonProps, onClick: handleClick }), jsx("div", { ref: panelCallbackRef, className: `${styles$9.panel}${panelClassName ? ` ${panelClassName}` : ""}`, style: { width: panelWidth }, children: children })] }));
4155
+ }
4156
+
4107
4157
  function itemsToMultiFilterTags(items, nameKey, valueKey, category, primaryColor, onPrimaryColor) {
4108
4158
  const result = new Set();
4109
4159
  items.forEach((item, index) => {
@@ -8979,4 +9029,4 @@ const CwFindAirport = ({ handleChange, searchType = "OnlyDatabase", placeHolder
8979
9029
  }, "data-direction": direction, children: [jsxs(CwAlign, { ...alignProps, itemProp: required ? "required" : "", children: [labelProps && (jsx(CwLabel, { ...labelProps, children: labelProps.text })), jsxs("div", { className: "cw-search-input-wrapper", children: [jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, onKeyDown: handleKeyDown, onFocus: handleInputFocus, placeholder: isInitialLoading ? "Loading…" : placeHolder, disabled: disabled, required: required, autoComplete: "off", "aria-expanded": showDropdown, "aria-haspopup": "listbox", role: "combobox", title: tooltipText }), (isLoading || isInitialLoading) && (jsx("div", { className: "cw-search-input-loading", children: jsx(CwIcon, { iconId: "spinner" }) })), jsx("div", { className: "cw-search-input-icons", children: inputValue && !disabled && !isInitialLoading ? (jsx(CwButton, { type: "button", onClick: handleClear, "aria-label": "Clear selected airport", variant: "icon", icon: "close", color: "neutral" })) : (jsx(CwIcon, { iconId: "control-tower" })) })] })] }), showDropdown && options.length > 0 && (jsx("div", { ref: dropdownRef, className: "cw-input-search-dropdown", role: "listbox", children: jsx("ul", { children: options.map((option, index) => (jsx("li", { className: index === highlightedIndex ? "highlighted" : "", onClick: () => handleOptionSelect(option.value), onMouseDown: (e) => e.preventDefault(), role: "option", "aria-selected": index === highlightedIndex, children: option.text }, option.value))) }) }))] }));
8980
9030
  };
8981
9031
 
8982
- export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwAnchoredMenu, CwBtnDelete, CwBtnEdit, CwBtnSave, CwButton, CwCard, CwCardList, CwCheck, CwCheckbox, CwCheckboxGroup, CwChip, CwColorPicker, CwConfirmationPopup, CwContextMenu, CwDatePicker, CwDateRangePicker, CwDateTimePicker, CwDateTimePickerCompact, CwDialog, CwDialogManager, CwDigit, CwDisplayMessage, CwDropdownFilter, CwExpandable, CwFileUpload, CwFileUploadMultiple, CwFindAirport, CwGenericTooltip, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwImageGallery, CwImageZoom, CwInput, CwInputColor, CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwKeyValueList, CwLabel, CwLoading, CwLoadingSmall, CwMasterDetail, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalHover, CwModalReportFunctional, CwMultiFilter, CwMultiFilterTag, CwNote, CwOption, CwReportModal, CwScheduler, CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, CwSortableList, CwSortableTable, CwSuperScheduler, CwTable, CwTableGrouped, CwTableServerSide, CwTabs, CwTextArea, CwTime, CwTimePicker, CwToggle, CwTooltipManager, CwTooltipNew, CwTreeView, CwWeekdaySelector, DefaultRowHeader, OnClearPinned, OnClickContextMenu, OnClickEvent, OnClickRowEvent, OnClickRowHeader, OnClickUtc, OnDoubleClickEvent, OnDoubleClickRowEvent, OnDragEvent, OnDropCtrlEvent, OnDropEvent, OnEndClickHeaderEvent, OnLeftDragStart, OnMultiClickEvent, OnPinRow, OnRangeClickEvent, OnRightClickEvent, OnRightClickRow, OnRightDragStart, OnStartClickHeaderEvent, OnUnpinRow, PinRowHeader, Resource, Scheduler, SchedulerEvent, SuperScheduler, UiEvent, Weekdays, cblEvent, eventIsVisible, getDefaultDivisions, getEventSizes, itemsToMultiFilterTags, useCwMessage, useSortableList, useSortableTable };
9032
+ export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwAnchoredMenu, CwBtnDelete, CwBtnEdit, CwBtnSave, CwButton, CwCard, CwCardList, CwCheck, CwCheckbox, CwCheckboxGroup, CwChip, CwColorPicker, CwConfirmationPopup, CwContextMenu, CwDatePicker, CwDateRangePicker, CwDateTimePicker, CwDateTimePickerCompact, CwDialog, CwDialogManager, CwDigit, CwDisplayMessage, CwDropdownFilter, CwExpandable, CwFileUpload, CwFileUploadMultiple, CwFindAirport, CwGenericTooltip, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwImageGallery, CwImageZoom, CwInput, CwInputColor, CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwKeyValueList, CwLabel, CwLoading, CwLoadingSmall, CwMasterDetail, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalHover, CwModalReportFunctional, CwMultiFilter, CwMultiFilterTag, CwNote, CwOption, CwPopoverButton, CwReportModal, CwScheduler, CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, CwSortableList, CwSortableTable, CwSuperScheduler, CwTable, CwTableGrouped, CwTableServerSide, CwTabs, CwTextArea, CwTime, CwTimePicker, CwToggle, CwTooltipManager, CwTooltipNew, CwTreeView, CwWeekdaySelector, DefaultRowHeader, OnClearPinned, OnClickContextMenu, OnClickEvent, OnClickRowEvent, OnClickRowHeader, OnClickUtc, OnDoubleClickEvent, OnDoubleClickRowEvent, OnDragEvent, OnDropCtrlEvent, OnDropEvent, OnEndClickHeaderEvent, OnLeftDragStart, OnMultiClickEvent, OnPinRow, OnRangeClickEvent, OnRightClickEvent, OnRightClickRow, OnRightDragStart, OnStartClickHeaderEvent, OnUnpinRow, PinRowHeader, Resource, Scheduler, SchedulerEvent, SuperScheduler, UiEvent, Weekdays, cblEvent, eventIsVisible, getDefaultDivisions, getEventSizes, itemsToMultiFilterTags, useCwMessage, useSortableList, useSortableTable };
@@ -63,6 +63,7 @@ export { CwToggle } from "./components/control/choice/toggle/CwToggle";
63
63
  export { CwSelect } from "./components/control/choice/select/CwSelect";
64
64
  export { CwOption } from "./components/control/choice/option/CwOption";
65
65
  export { CwDropdownFilter } from "./components/control/choice/dropdown/CwDropdownFilter";
66
+ export { CwPopoverButton, type CwPopoverButtonProps } from "./components/control/choice/dropdown/CwPopoverButton";
66
67
  export { itemsToMultiFilterTags } from "./common/functions/collections";
67
68
  export { CwMultiFilterTag, type CwMultiFilterTagProps, type ICwMultiFilterTag } from "./components/control/choice/multi-filter/components/tag/CwMultiFilterTag";
68
69
  export { CwMultiFilter, type CwMultiFilterProps } from "./components/control/choice/multi-filter/CwMultiFilter";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cwellt_software/cwellt-reactjs-lib",
3
- "version": "1.2.15",
3
+ "version": "1.2.16",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"