@rovula/ui 0.0.59 → 0.0.61

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.
@@ -33,7 +33,7 @@ export interface TreeItemProps extends TreeData {
33
33
  checkAutoDisabled: (id: string) => boolean;
34
34
  checkIsLoading?: (id: string) => void;
35
35
  onExpandChange?: (id: string, expanded: boolean, itemData: any) => void;
36
- onCheckedChange?: (id: string, checked: boolean) => void;
36
+ onCheckedChange?: (id: string, checked: boolean, itemData: any) => void;
37
37
  notifyClickItem?: (id: string, itemData: any) => void;
38
38
  renderRightSection?: (params: {
39
39
  id: string;
@@ -84,9 +84,9 @@ export interface TreeProps extends Pick<TreeItemProps, "renderIcon" | "renderRig
84
84
  checkedId?: string[];
85
85
  loadingId?: string[];
86
86
  onExpandChange?: (id: string, expanded: boolean, itemData: any) => void;
87
- onCheckedChange?: (checkedState: Record<string, boolean>, id?: string) => void;
87
+ onCheckedChange?: (checkedState: Record<string, boolean>, id?: string, itemData?: any) => void;
88
88
  onClickItem?: (id: string, itemData: any) => void;
89
- onCheckedItem?: (id: string, checked: boolean) => void;
89
+ onCheckedItem?: (id: string, checked: boolean, itemData: any) => void;
90
90
  defaultExpandAll?: boolean;
91
91
  defaultCheckAll?: boolean;
92
92
  hierarchicalCheck?: boolean;
@@ -17,11 +17,11 @@ import { Calendar } from "../Calendar";
17
17
  import { Popover, PopoverContent, PopoverTrigger } from "../Popover/Popover";
18
18
  import { TextInput } from "../TextInput/TextInput";
19
19
  import { format } from "date-fns/format";
20
+ import { cn } from "@/utils/cn";
20
21
  const DatePicker = (_a) => {
21
22
  var { date, onSelect, textInputProps, popoverContentProps } = _a, props = __rest(_a, ["date", "onSelect", "textInputProps", "popoverContentProps"]);
22
23
  const [isOpen, setIsOpen] = useState(false);
23
- return (_jsx("div", { children: _jsxs(Popover, { modal: true, open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("div", { className: "flex", children: _jsx(TextInput, Object.assign({ fullwidth: true, id: "2" // TODO
24
- , readOnly: true, label: "Date", size: "md", value: date ? format(date, "dd MMM yyyy") : isOpen ? " " : "", hasClearIcon: false, endIcon: _jsx(CalendarIcon, { fill: "inherit", className: "cursor-pointer" }) }, textInputProps)) }) }), _jsx(PopoverContent, Object.assign({ className: "w-auto p-0 z-[100]" }, popoverContentProps, { children: _jsx(Calendar, Object.assign({ defaultMonth: date }, props, { mode: "single", selected: date, onSelect: (...value) => {
24
+ return (_jsx("div", { children: _jsxs(Popover, { modal: true, open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("div", { className: "flex", children: _jsx(TextInput, Object.assign({ fullwidth: true, id: "date-picker", readOnly: true, label: "Date", size: "md", value: date ? format(date, "dd MMM yyyy") : isOpen ? " " : "", hasClearIcon: false, endIcon: _jsx(CalendarIcon, { fill: "inherit", className: "cursor-pointer" }) }, textInputProps, { labelClassName: cn("pointer-events-none", textInputProps === null || textInputProps === void 0 ? void 0 : textInputProps.labelClassName) })) }) }), _jsx(PopoverContent, Object.assign({ className: "w-auto p-0 z-[100]" }, popoverContentProps, { children: _jsx(Calendar, Object.assign({ defaultMonth: date }, props, { mode: "single", selected: date, onSelect: (...value) => {
25
25
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(...value);
26
26
  setIsOpen(false);
27
27
  } })) }))] }) }));
@@ -80,15 +80,15 @@ const Tree = ({ classes, data, defaultExpandedId, defaultCheckedId, checkedId, l
80
80
  onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(id, expanded, itemData);
81
81
  setExpandedState((prev) => (Object.assign(Object.assign({}, prev), { [id]: expanded })));
82
82
  }, [onExpandChange]);
83
- const handleCheckedChange = useCallback((id, checked) => {
83
+ const handleCheckedChange = useCallback((id, checked, itemData) => {
84
84
  if (mode === "radio") {
85
85
  let newState = { [id]: checked };
86
- onCheckedItem === null || onCheckedItem === void 0 ? void 0 : onCheckedItem(id, checked);
86
+ onCheckedItem === null || onCheckedItem === void 0 ? void 0 : onCheckedItem(id, checked, itemData);
87
87
  setCheckedState(newState);
88
- onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(newState, id);
88
+ onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(newState, id, itemData);
89
89
  return;
90
90
  }
91
- onCheckedItem === null || onCheckedItem === void 0 ? void 0 : onCheckedItem(id, checked);
91
+ onCheckedItem === null || onCheckedItem === void 0 ? void 0 : onCheckedItem(id, checked, itemData);
92
92
  let newState = Object.assign(Object.assign({}, checkedState), { [id]: checked });
93
93
  if (hierarchicalCheck) {
94
94
  const updateCheckedState = (nodeId, isChecked, state) => {
@@ -123,7 +123,7 @@ const Tree = ({ classes, data, defaultExpandedId, defaultCheckedId, checkedId, l
123
123
  }
124
124
  setCheckedState(newState);
125
125
  if (onCheckedChange) {
126
- onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(newState, id);
126
+ onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(newState, id, itemData);
127
127
  }
128
128
  }, [
129
129
  checkedState,
@@ -83,7 +83,7 @@ const TreeItem = ({ id, title, classes, children, isFirstLevel = false, isLeaf =
83
83
  : content;
84
84
  return elementWrapper(_jsx("div", { className: cn("flex flex-row w-full", classes === null || classes === void 0 ? void 0 : classes.elementWrapper), children: _jsxs("div", { className: cn("flex flex-col w-full", classes === null || classes === void 0 ? void 0 : classes.itemWrapper), children: [_jsxs("div", { className: cn("flex flex-row flex-1", classes === null || classes === void 0 ? void 0 : classes.rowWrapperClasses), children: [_jsxs("div", { className: cn("flex flex-col h-full", classes === null || classes === void 0 ? void 0 : classes.columnWrapperClasses), children: [!isFirstLevel && (_jsx("div", { className: cn("flex w-[2px] h-1/2 bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.branch), style: styles.branch })), !isFirstLevel &&
85
85
  !isLastItem &&
86
- ((isExpanded && (hasChildren || isLoading)) || !isExpanded) && (_jsx("div", { className: cn("flex w-[2px] h-1/2 bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.branch), style: styles.branch }))] }), _jsxs("div", { className: cn("flex flex-1 items-center py-2 min-h-10", classes === null || classes === void 0 ? void 0 : classes.itemContainer), children: [!isFirstLevel && (_jsx("div", { className: cn("bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.horizontalLine), style: styles.horizontalLine })), isFirstLevel && !shouldExpandButton && (_jsx("div", { className: cn("flex mr-[2px]", classes === null || classes === void 0 ? void 0 : classes.expandButton), style: styles.expandButton })), shouldExpandButton && (_jsx("div", { className: cn("flex mr-[2px]", classes === null || classes === void 0 ? void 0 : classes.expandButton), style: styles.expandButton, onClick: !isLoading && handleExpandToggle, children: _jsx(ActionButton, { variant: "icon", size: "sm", children: isLoading ? (_jsx(Loading, {})) : (_jsx(Icon, { name: isExpanded ? "chevron-down" : "chevron-right" })) }) })), shouldShowCheckbox ? (_jsx(Checkbox, { id: id, className: cn("size-[16px]", classes === null || classes === void 0 ? void 0 : classes.checkbox), checked: isChecked, disabled: disabled, onCheckedChange: (newChecked) => onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(id, newChecked) })) : (_jsx("div", { className: isFirstLevel && checkable
86
+ ((isExpanded && (hasChildren || isLoading)) || !isExpanded) && (_jsx("div", { className: cn("flex w-[2px] h-1/2 bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.branch), style: styles.branch }))] }), _jsxs("div", { className: cn("flex flex-1 items-center py-2 min-h-10", classes === null || classes === void 0 ? void 0 : classes.itemContainer), children: [!isFirstLevel && (_jsx("div", { className: cn("bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.horizontalLine), style: styles.horizontalLine })), isFirstLevel && !shouldExpandButton && (_jsx("div", { className: cn("flex mr-[2px]", classes === null || classes === void 0 ? void 0 : classes.expandButton), style: styles.expandButton })), shouldExpandButton && (_jsx("div", { className: cn("flex mr-[2px]", classes === null || classes === void 0 ? void 0 : classes.expandButton), style: styles.expandButton, onClick: !isLoading && handleExpandToggle, children: _jsx(ActionButton, { variant: "icon", size: "sm", children: isLoading ? (_jsx(Loading, {})) : (_jsx(Icon, { name: isExpanded ? "chevron-down" : "chevron-right" })) }) })), shouldShowCheckbox ? (_jsx(Checkbox, { id: id, className: cn("size-[16px]", classes === null || classes === void 0 ? void 0 : classes.checkbox), checked: isChecked, disabled: disabled, onCheckedChange: (newChecked) => onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(id, newChecked, itemData) })) : (_jsx("div", { className: isFirstLevel && checkable
87
87
  ? cn("size-[16px]", classes === null || classes === void 0 ? void 0 : classes.checkbox)
88
88
  : "" })), _jsxs("div", { className: cn("ml-2 gap-1 flex flex-1 items-center text-foreground", classes === null || classes === void 0 ? void 0 : classes.item), onClick: handleOnClickItem, children: [showIcon ? customIcon || defaultIcon : null, _jsx("div", { className: cn("flex flex-1 cursor-pointer text-subtitle5 text-ellipsis", classes === null || classes === void 0 ? void 0 : classes.title), children: titleContent })] }), rightIcon] })] }), isExpanded && hasChildren && currentLevel < (maxLevel || Infinity) && (_jsxs("div", { className: cn("flex flex-row overflow-hidden", classes === null || classes === void 0 ? void 0 : classes.expandedChildrenWrapper), children: [!isFirstLevel && !isLastItem && (_jsx("div", { className: cn("flex w-[2px] h-full bg-grey-150", classes === null || classes === void 0 ? void 0 : classes.branch), style: styles.branch })), _jsx("div", { className: cn("flex flex-col overflow-hidden", classes === null || classes === void 0 ? void 0 : classes.expandedChildrenWrapperInner), style: styles.childPadding, children: children === null || children === void 0 ? void 0 : children.map((child, idx) => (_jsx(TreeItem, Object.assign({ classes: classes, isLastItem: idx === children.length - 1, checkIsExpanded: checkIsExpanded, checkIsChecked: checkIsChecked, checkAutoDisabled: checkAutoDisabled, checkIsLoading: checkIsLoading, onExpandChange: onExpandChange, onCheckedChange: onCheckedChange, renderIcon: renderIcon, renderElement: renderElement, renderTitle: renderTitle, disabled: checkAutoDisabled(child.id), showIcon: showIcon, lineSize: lineSize, horizontalLineWidth: horizontalLineWidth, expandButtonSize: expandButtonSize, spacing: spacing, notifyClickItem: notifyClickItem, maxLevel: maxLevel, currentLevel: currentLevel + 1, checkable: checkable }, child), child.id))) })] })), enableSeparatorLine && isFirstLevel && !isLastItem && (_jsx("div", { className: cn("bg-grey-150 w-full h-[2px] rounded", classes === null || classes === void 0 ? void 0 : classes.separatorLine) }))] }) }));
89
89
  };