@lateralus-ai/shipping-ui 2.0.0-dev.26 → 2.0.0-dev.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +13 -13
- package/dist/index.esm.js +809 -807
- package/dist/primitives/Button.d.ts +3 -1
- package/package.json +1 -1
- package/src/primitives/Button.tsx +6 -1
|
@@ -13,10 +13,12 @@ export type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "childre
|
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
icon?: ComponentType<IconProps> | ReactNode;
|
|
15
15
|
startIcon?: ComponentType<IconProps> | ReactNode;
|
|
16
|
+
/** Renders after the label, inside the same button (no split/dropdown segment). */
|
|
17
|
+
endIcon?: ComponentType<IconProps> | ReactNode;
|
|
16
18
|
dropdownOptions?: ButtonDropdownOption[];
|
|
17
19
|
dropdownOpen?: boolean;
|
|
18
20
|
onDropdownOpenChange?: (open: boolean) => void;
|
|
19
21
|
forcedState?: ButtonAppearance;
|
|
20
22
|
children: ReactNode;
|
|
21
23
|
};
|
|
22
|
-
export declare const Button: ({ hierarchy, disabled, icon, startIcon, dropdownOptions, dropdownOpen, onDropdownOpenChange, forcedState, children, className, type, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const Button: ({ hierarchy, disabled, icon, startIcon, endIcon, dropdownOptions, dropdownOpen, onDropdownOpenChange, forcedState, children, className, type, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
|
@@ -34,6 +34,8 @@ export type ButtonProps = Omit<
|
|
|
34
34
|
disabled?: boolean;
|
|
35
35
|
icon?: ComponentType<IconProps> | ReactNode;
|
|
36
36
|
startIcon?: ComponentType<IconProps> | ReactNode;
|
|
37
|
+
/** Renders after the label, inside the same button (no split/dropdown segment). */
|
|
38
|
+
endIcon?: ComponentType<IconProps> | ReactNode;
|
|
37
39
|
dropdownOptions?: ButtonDropdownOption[];
|
|
38
40
|
dropdownOpen?: boolean;
|
|
39
41
|
onDropdownOpenChange?: (open: boolean) => void;
|
|
@@ -110,6 +112,7 @@ export const Button = ({
|
|
|
110
112
|
disabled = false,
|
|
111
113
|
icon,
|
|
112
114
|
startIcon,
|
|
115
|
+
endIcon,
|
|
113
116
|
dropdownOptions,
|
|
114
117
|
dropdownOpen,
|
|
115
118
|
onDropdownOpenChange,
|
|
@@ -122,7 +125,8 @@ export const Button = ({
|
|
|
122
125
|
}: ButtonProps) => {
|
|
123
126
|
const resolvedIcon = icon ?? startIcon;
|
|
124
127
|
const renderedIcon = renderIcon(resolvedIcon);
|
|
125
|
-
const
|
|
128
|
+
const renderedEndIcon = renderIcon(endIcon);
|
|
129
|
+
const hasIcon = renderedIcon != null || renderedEndIcon != null;
|
|
126
130
|
const hasDropdown = Boolean(dropdownOptions?.length);
|
|
127
131
|
const dropdownDisabled = !dropdownOptions?.some((option) => !option.disabled);
|
|
128
132
|
const mainAppearance = getAppearance(disabled, forcedState);
|
|
@@ -148,6 +152,7 @@ export const Button = ({
|
|
|
148
152
|
>
|
|
149
153
|
{renderedIcon}
|
|
150
154
|
<span>{children}</span>
|
|
155
|
+
{renderedEndIcon}
|
|
151
156
|
</span>
|
|
152
157
|
);
|
|
153
158
|
|