@metamask-previews/design-system-react 0.0.0-preview.bf69b6b → 0.0.0-preview.fbd1fe9
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/components/avatar-base/AvatarBase.cjs +28 -0
- package/dist/components/avatar-base/AvatarBase.cjs.map +1 -0
- package/dist/components/avatar-base/AvatarBase.constants.cjs +19 -0
- package/dist/components/avatar-base/AvatarBase.constants.cjs.map +1 -0
- package/dist/components/avatar-base/AvatarBase.constants.d.cts +4 -0
- package/dist/components/avatar-base/AvatarBase.constants.d.cts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.constants.d.mts +4 -0
- package/dist/components/avatar-base/AvatarBase.constants.d.mts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.constants.mjs +16 -0
- package/dist/components/avatar-base/AvatarBase.constants.mjs.map +1 -0
- package/dist/components/avatar-base/AvatarBase.d.cts +4 -0
- package/dist/components/avatar-base/AvatarBase.d.cts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.d.mts +4 -0
- package/dist/components/avatar-base/AvatarBase.d.mts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.mjs +29 -0
- package/dist/components/avatar-base/AvatarBase.mjs.map +1 -0
- package/dist/components/avatar-base/AvatarBase.types.cjs +38 -0
- package/dist/components/avatar-base/AvatarBase.types.cjs.map +1 -0
- package/dist/components/avatar-base/AvatarBase.types.d.cts +77 -0
- package/dist/components/avatar-base/AvatarBase.types.d.cts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.types.d.mts +77 -0
- package/dist/components/avatar-base/AvatarBase.types.d.mts.map +1 -0
- package/dist/components/avatar-base/AvatarBase.types.mjs +35 -0
- package/dist/components/avatar-base/AvatarBase.types.mjs.map +1 -0
- package/dist/components/avatar-base/index.cjs +9 -0
- package/dist/components/avatar-base/index.cjs.map +1 -0
- package/dist/components/avatar-base/index.d.cts +4 -0
- package/dist/components/{button-link → avatar-base}/index.d.cts.map +1 -1
- package/dist/components/avatar-base/index.d.mts +4 -0
- package/dist/components/{button-link → avatar-base}/index.d.mts.map +1 -1
- package/dist/components/avatar-base/index.mjs +3 -0
- package/dist/components/avatar-base/index.mjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.cjs +16 -0
- package/dist/components/avatar-favicon/AvatarFavicon.cjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.cjs +13 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.cjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.d.cts +4 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.d.cts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.d.mts +4 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.d.mts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.mjs +10 -0
- package/dist/components/avatar-favicon/AvatarFavicon.constants.mjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.d.cts +4 -0
- package/dist/components/avatar-favicon/AvatarFavicon.d.cts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.d.mts +4 -0
- package/dist/components/avatar-favicon/AvatarFavicon.d.mts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.mjs +17 -0
- package/dist/components/avatar-favicon/AvatarFavicon.mjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.cjs +27 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.cjs.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.d.cts +62 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.d.cts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.d.mts +62 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.d.mts.map +1 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.mjs +24 -0
- package/dist/components/avatar-favicon/AvatarFavicon.types.mjs.map +1 -0
- package/dist/components/avatar-favicon/index.cjs +8 -0
- package/dist/components/avatar-favicon/index.cjs.map +1 -0
- package/dist/components/avatar-favicon/index.d.cts +4 -0
- package/dist/components/avatar-favicon/index.d.cts.map +1 -0
- package/dist/components/avatar-favicon/index.d.mts +4 -0
- package/dist/components/avatar-favicon/index.d.mts.map +1 -0
- package/dist/components/avatar-favicon/index.mjs +3 -0
- package/dist/components/avatar-favicon/index.mjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.cjs +19 -0
- package/dist/components/avatar-icon/AvatarIcon.cjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.cjs +44 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.cjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.d.cts +11 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.d.cts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.d.mts +11 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.d.mts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.mjs +41 -0
- package/dist/components/avatar-icon/AvatarIcon.constants.mjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.d.cts +4 -0
- package/dist/components/avatar-icon/AvatarIcon.d.cts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.d.mts +4 -0
- package/dist/components/avatar-icon/AvatarIcon.d.mts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.mjs +20 -0
- package/dist/components/avatar-icon/AvatarIcon.mjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.types.cjs +36 -0
- package/dist/components/avatar-icon/AvatarIcon.types.cjs.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.types.d.cts +57 -0
- package/dist/components/avatar-icon/AvatarIcon.types.d.cts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.types.d.mts +57 -0
- package/dist/components/avatar-icon/AvatarIcon.types.d.mts.map +1 -0
- package/dist/components/avatar-icon/AvatarIcon.types.mjs +33 -0
- package/dist/components/avatar-icon/AvatarIcon.types.mjs.map +1 -0
- package/dist/components/avatar-icon/index.cjs +9 -0
- package/dist/components/avatar-icon/index.cjs.map +1 -0
- package/dist/components/avatar-icon/index.d.cts +4 -0
- package/dist/components/avatar-icon/index.d.cts.map +1 -0
- package/dist/components/avatar-icon/index.d.mts +4 -0
- package/dist/components/avatar-icon/index.d.mts.map +1 -0
- package/dist/components/avatar-icon/index.mjs +3 -0
- package/dist/components/avatar-icon/index.mjs.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.cjs +15 -0
- package/dist/components/avatar-network/AvatarNetwork.cjs.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.d.cts +4 -0
- package/dist/components/avatar-network/AvatarNetwork.d.cts.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.d.mts +4 -0
- package/dist/components/avatar-network/AvatarNetwork.d.mts.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.mjs +16 -0
- package/dist/components/avatar-network/AvatarNetwork.mjs.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.types.cjs +4 -0
- package/dist/components/avatar-network/AvatarNetwork.types.cjs.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.types.d.cts +40 -0
- package/dist/components/avatar-network/AvatarNetwork.types.d.cts.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.types.d.mts +40 -0
- package/dist/components/avatar-network/AvatarNetwork.types.d.mts.map +1 -0
- package/dist/components/avatar-network/AvatarNetwork.types.mjs +2 -0
- package/dist/components/avatar-network/AvatarNetwork.types.mjs.map +1 -0
- package/dist/components/avatar-network/index.cjs +8 -0
- package/dist/components/avatar-network/index.cjs.map +1 -0
- package/dist/components/avatar-network/index.d.cts +4 -0
- package/dist/components/avatar-network/index.d.cts.map +1 -0
- package/dist/components/avatar-network/index.d.mts +4 -0
- package/dist/components/avatar-network/index.d.mts.map +1 -0
- package/dist/components/avatar-network/index.mjs +3 -0
- package/dist/components/avatar-network/index.mjs.map +1 -0
- package/dist/components/avatar-token/AvatarToken.cjs +15 -0
- package/dist/components/avatar-token/AvatarToken.cjs.map +1 -0
- package/dist/components/avatar-token/AvatarToken.d.cts +4 -0
- package/dist/components/avatar-token/AvatarToken.d.cts.map +1 -0
- package/dist/components/avatar-token/AvatarToken.d.mts +4 -0
- package/dist/components/avatar-token/AvatarToken.d.mts.map +1 -0
- package/dist/components/avatar-token/AvatarToken.mjs +16 -0
- package/dist/components/avatar-token/AvatarToken.mjs.map +1 -0
- package/dist/components/avatar-token/AvatarToken.types.cjs +4 -0
- package/dist/components/avatar-token/AvatarToken.types.cjs.map +1 -0
- package/dist/components/avatar-token/AvatarToken.types.d.cts +40 -0
- package/dist/components/avatar-token/AvatarToken.types.d.cts.map +1 -0
- package/dist/components/avatar-token/AvatarToken.types.d.mts +40 -0
- package/dist/components/avatar-token/AvatarToken.types.d.mts.map +1 -0
- package/dist/components/avatar-token/AvatarToken.types.mjs +2 -0
- package/dist/components/avatar-token/AvatarToken.types.mjs.map +1 -0
- package/dist/components/avatar-token/index.cjs +8 -0
- package/dist/components/avatar-token/index.cjs.map +1 -0
- package/dist/components/avatar-token/index.d.cts +4 -0
- package/dist/components/avatar-token/index.d.cts.map +1 -0
- package/dist/components/avatar-token/index.d.mts +4 -0
- package/dist/components/avatar-token/index.d.mts.map +1 -0
- package/dist/components/avatar-token/index.mjs +3 -0
- package/dist/components/avatar-token/index.mjs.map +1 -0
- package/dist/components/button/Button.cjs +25 -0
- package/dist/components/button/Button.cjs.map +1 -0
- package/dist/components/button/Button.d.cts +4 -0
- package/dist/components/button/Button.d.cts.map +1 -0
- package/dist/components/button/Button.d.mts +4 -0
- package/dist/components/button/Button.d.mts.map +1 -0
- package/dist/components/button/Button.mjs +26 -0
- package/dist/components/button/Button.mjs.map +1 -0
- package/dist/components/button/Button.types.cjs +19 -0
- package/dist/components/button/Button.types.cjs.map +1 -0
- package/dist/components/button/Button.types.d.cts +31 -0
- package/dist/components/button/Button.types.d.cts.map +1 -0
- package/dist/components/button/Button.types.d.mts +31 -0
- package/dist/components/button/Button.types.d.mts.map +1 -0
- package/dist/components/button/Button.types.mjs +16 -0
- package/dist/components/button/Button.types.mjs.map +1 -0
- package/dist/components/button/index.cjs +10 -0
- package/dist/components/button/index.cjs.map +1 -0
- package/dist/components/button/index.d.cts +5 -0
- package/dist/components/button/index.d.cts.map +1 -0
- package/dist/components/button/index.d.mts +5 -0
- package/dist/components/button/index.d.mts.map +1 -0
- package/dist/components/button/index.mjs +4 -0
- package/dist/components/button/index.mjs.map +1 -0
- package/dist/components/button-base/ButtonBase.cjs +24 -10
- package/dist/components/button-base/ButtonBase.cjs.map +1 -1
- package/dist/components/button-base/ButtonBase.d.cts.map +1 -1
- package/dist/components/button-base/ButtonBase.d.mts.map +1 -1
- package/dist/components/button-base/ButtonBase.mjs +22 -8
- package/dist/components/button-base/ButtonBase.mjs.map +1 -1
- package/dist/components/button-base/ButtonBase.types.cjs.map +1 -1
- package/dist/components/button-base/ButtonBase.types.d.cts +1 -1
- package/dist/components/button-base/ButtonBase.types.d.mts +1 -1
- package/dist/components/button-base/ButtonBase.types.mjs.map +1 -1
- package/dist/components/button-icon/ButtonIcon.cjs +38 -0
- package/dist/components/button-icon/ButtonIcon.cjs.map +1 -0
- package/dist/components/button-icon/ButtonIcon.constants.cjs +16 -0
- package/dist/components/button-icon/ButtonIcon.constants.cjs.map +1 -0
- package/dist/components/button-icon/ButtonIcon.constants.d.cts +12 -0
- package/dist/components/button-icon/ButtonIcon.constants.d.cts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.constants.d.mts +12 -0
- package/dist/components/button-icon/ButtonIcon.constants.d.mts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.constants.mjs +13 -0
- package/dist/components/button-icon/ButtonIcon.constants.mjs.map +1 -0
- package/dist/components/button-icon/ButtonIcon.d.cts +4 -0
- package/dist/components/button-icon/ButtonIcon.d.cts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.d.mts +4 -0
- package/dist/components/button-icon/ButtonIcon.d.mts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.mjs +39 -0
- package/dist/components/button-icon/ButtonIcon.mjs.map +1 -0
- package/dist/components/button-icon/ButtonIcon.types.cjs +19 -0
- package/dist/components/button-icon/ButtonIcon.types.cjs.map +1 -0
- package/dist/components/button-icon/ButtonIcon.types.d.cts +61 -0
- package/dist/components/button-icon/ButtonIcon.types.d.cts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.types.d.mts +61 -0
- package/dist/components/button-icon/ButtonIcon.types.d.mts.map +1 -0
- package/dist/components/button-icon/ButtonIcon.types.mjs +16 -0
- package/dist/components/button-icon/ButtonIcon.types.mjs.map +1 -0
- package/dist/components/button-icon/index.cjs +8 -0
- package/dist/components/button-icon/index.cjs.map +1 -0
- package/dist/components/button-icon/index.d.cts +4 -0
- package/dist/components/button-icon/index.d.cts.map +1 -0
- package/dist/components/button-icon/index.d.mts +4 -0
- package/dist/components/button-icon/index.d.mts.map +1 -0
- package/dist/components/button-icon/index.mjs +3 -0
- package/dist/components/button-icon/index.mjs.map +1 -0
- package/dist/components/button-primary/ButtonPrimary.cjs +45 -23
- package/dist/components/button-primary/ButtonPrimary.cjs.map +1 -1
- package/dist/components/button-primary/ButtonPrimary.d.cts.map +1 -1
- package/dist/components/button-primary/ButtonPrimary.d.mts.map +1 -1
- package/dist/components/button-primary/ButtonPrimary.mjs +45 -23
- package/dist/components/button-primary/ButtonPrimary.mjs.map +1 -1
- package/dist/components/button-secondary/ButtonSecondary.cjs +26 -25
- package/dist/components/button-secondary/ButtonSecondary.cjs.map +1 -1
- package/dist/components/button-secondary/ButtonSecondary.d.cts.map +1 -1
- package/dist/components/button-secondary/ButtonSecondary.d.mts.map +1 -1
- package/dist/components/button-secondary/ButtonSecondary.mjs +26 -25
- package/dist/components/button-secondary/ButtonSecondary.mjs.map +1 -1
- package/dist/components/button-tertiary/ButtonTertiary.cjs +60 -0
- package/dist/components/button-tertiary/ButtonTertiary.cjs.map +1 -0
- package/dist/components/button-tertiary/ButtonTertiary.d.cts +4 -0
- package/dist/components/button-tertiary/ButtonTertiary.d.cts.map +1 -0
- package/dist/components/button-tertiary/ButtonTertiary.d.mts +4 -0
- package/dist/components/button-tertiary/ButtonTertiary.d.mts.map +1 -0
- package/dist/components/button-tertiary/ButtonTertiary.mjs +61 -0
- package/dist/components/button-tertiary/ButtonTertiary.mjs.map +1 -0
- package/dist/components/button-tertiary/ButtonTertiary.types.cjs +3 -0
- package/dist/components/button-tertiary/ButtonTertiary.types.cjs.map +1 -0
- package/dist/components/{button-link/ButtonLink.types.d.cts → button-tertiary/ButtonTertiary.types.d.cts} +8 -3
- package/dist/components/button-tertiary/ButtonTertiary.types.d.cts.map +1 -0
- package/dist/components/{button-link/ButtonLink.types.d.mts → button-tertiary/ButtonTertiary.types.d.mts} +8 -3
- package/dist/components/button-tertiary/ButtonTertiary.types.d.mts.map +1 -0
- package/dist/components/button-tertiary/ButtonTertiary.types.mjs +2 -0
- package/dist/components/button-tertiary/ButtonTertiary.types.mjs.map +1 -0
- package/dist/components/button-tertiary/index.cjs +8 -0
- package/dist/components/button-tertiary/index.cjs.map +1 -0
- package/dist/components/button-tertiary/index.d.cts +4 -0
- package/dist/components/button-tertiary/index.d.cts.map +1 -0
- package/dist/components/button-tertiary/index.d.mts +4 -0
- package/dist/components/button-tertiary/index.d.mts.map +1 -0
- package/dist/components/button-tertiary/index.mjs +3 -0
- package/dist/components/button-tertiary/index.mjs.map +1 -0
- package/dist/components/index.cjs +30 -9
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +20 -7
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +20 -7
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.mjs +11 -6
- package/dist/components/index.mjs.map +1 -1
- package/dist/components/text/Text.cjs +2 -2
- package/dist/components/text/Text.cjs.map +1 -1
- package/dist/components/text/Text.d.cts.map +1 -1
- package/dist/components/text/Text.d.mts.map +1 -1
- package/dist/components/text/Text.mjs +2 -2
- package/dist/components/text/Text.mjs.map +1 -1
- package/dist/components/text/Text.types.cjs.map +1 -1
- package/dist/components/text/Text.types.d.cts +4 -0
- package/dist/components/text/Text.types.d.cts.map +1 -1
- package/dist/components/text/Text.types.d.mts +4 -0
- package/dist/components/text/Text.types.d.mts.map +1 -1
- package/dist/components/text/Text.types.mjs.map +1 -1
- package/dist/components/text-button/TextButton.cjs +49 -0
- package/dist/components/text-button/TextButton.cjs.map +1 -0
- package/dist/components/text-button/TextButton.d.cts +4 -0
- package/dist/components/text-button/TextButton.d.cts.map +1 -0
- package/dist/components/text-button/TextButton.d.mts +4 -0
- package/dist/components/text-button/TextButton.d.mts.map +1 -0
- package/dist/components/text-button/TextButton.mjs +50 -0
- package/dist/components/text-button/TextButton.mjs.map +1 -0
- package/dist/components/{button-link/ButtonLink.types.cjs → text-button/TextButton.types.cjs} +1 -1
- package/dist/components/text-button/TextButton.types.cjs.map +1 -0
- package/dist/components/text-button/TextButton.types.d.cts +35 -0
- package/dist/components/text-button/TextButton.types.d.cts.map +1 -0
- package/dist/components/text-button/TextButton.types.d.mts +35 -0
- package/dist/components/text-button/TextButton.types.d.mts.map +1 -0
- package/dist/components/text-button/TextButton.types.mjs +2 -0
- package/dist/components/text-button/TextButton.types.mjs.map +1 -0
- package/dist/components/text-button/index.cjs +6 -0
- package/dist/components/text-button/index.cjs.map +1 -0
- package/dist/components/text-button/index.d.cts +3 -0
- package/dist/components/text-button/index.d.cts.map +1 -0
- package/dist/components/text-button/index.d.mts +3 -0
- package/dist/components/text-button/index.d.mts.map +1 -0
- package/dist/components/text-button/index.mjs +2 -0
- package/dist/components/text-button/index.mjs.map +1 -0
- package/package.json +6 -6
- package/dist/components/button-link/ButtonLink.cjs +0 -32
- package/dist/components/button-link/ButtonLink.cjs.map +0 -1
- package/dist/components/button-link/ButtonLink.d.cts +0 -4
- package/dist/components/button-link/ButtonLink.d.cts.map +0 -1
- package/dist/components/button-link/ButtonLink.d.mts +0 -4
- package/dist/components/button-link/ButtonLink.d.mts.map +0 -1
- package/dist/components/button-link/ButtonLink.mjs +0 -33
- package/dist/components/button-link/ButtonLink.mjs.map +0 -1
- package/dist/components/button-link/ButtonLink.types.cjs.map +0 -1
- package/dist/components/button-link/ButtonLink.types.d.cts.map +0 -1
- package/dist/components/button-link/ButtonLink.types.d.mts.map +0 -1
- package/dist/components/button-link/ButtonLink.types.mjs +0 -2
- package/dist/components/button-link/ButtonLink.types.mjs.map +0 -1
- package/dist/components/button-link/index.cjs +0 -8
- package/dist/components/button-link/index.cjs.map +0 -1
- package/dist/components/button-link/index.d.cts +0 -4
- package/dist/components/button-link/index.d.mts +0 -4
- package/dist/components/button-link/index.mjs +0 -3
- package/dist/components/button-link/index.mjs.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IconSize } from "../icon/index.mjs";
|
|
2
|
+
import { ButtonIconSize } from "./ButtonIcon.types.mjs";
|
|
3
|
+
export const BUTTON_ICON_SIZE_CLASS_MAP = {
|
|
4
|
+
[ButtonIconSize.Sm]: 'h-6 w-6',
|
|
5
|
+
[ButtonIconSize.Md]: 'h-8 w-8',
|
|
6
|
+
[ButtonIconSize.Lg]: 'h-10 w-10',
|
|
7
|
+
};
|
|
8
|
+
export const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {
|
|
9
|
+
[ButtonIconSize.Sm]: IconSize.Sm,
|
|
10
|
+
[ButtonIconSize.Md]: IconSize.Md,
|
|
11
|
+
[ButtonIconSize.Lg]: IconSize.Lg,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ButtonIcon.constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.constants.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,0BAAgB;AACnC,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,WAAW;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;IAChC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;IAChC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;CACxB,CAAC","sourcesContent":["import { IconSize } from '../icon';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const BUTTON_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: 'h-6 w-6',\n [ButtonIconSize.Md]: 'h-8 w-8',\n [ButtonIconSize.Lg]: 'h-10 w-10',\n} as const;\n\nexport const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: IconSize.Sm,\n [ButtonIconSize.Md]: IconSize.Md,\n [ButtonIconSize.Lg]: IconSize.Lg,\n} as const;\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ButtonIconProps } from "./ButtonIcon.types.cjs";
|
|
3
|
+
export declare const ButtonIcon: React.ForwardRefExoticComponent<Omit<ButtonIconProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
4
|
+
//# sourceMappingURL=ButtonIcon.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAS1B,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,eAAO,MAAM,UAAU,wGAyDtB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ButtonIconProps } from "./ButtonIcon.types.mjs";
|
|
3
|
+
export declare const ButtonIcon: React.ForwardRefExoticComponent<Omit<ButtonIconProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
4
|
+
//# sourceMappingURL=ButtonIcon.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAS1B,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,eAAO,MAAM,UAAU,wGAyDtB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function $importDefault(module) {
|
|
2
|
+
if (module?.__esModule) {
|
|
3
|
+
return module.default;
|
|
4
|
+
}
|
|
5
|
+
return module;
|
|
6
|
+
}
|
|
7
|
+
import $React from "react";
|
|
8
|
+
const React = $importDefault($React);
|
|
9
|
+
import { twMerge } from "../../utils/tw-merge.mjs";
|
|
10
|
+
import { ButtonBase } from "../button-base/index.mjs";
|
|
11
|
+
import { Icon } from "../icon/index.mjs";
|
|
12
|
+
import { BUTTON_ICON_SIZE_CLASS_MAP, BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP } from "./ButtonIcon.constants.mjs";
|
|
13
|
+
import { ButtonIconSize } from "./ButtonIcon.types.mjs";
|
|
14
|
+
export const ButtonIcon = React.forwardRef(({ className, iconName, iconProps, ariaLabel, isDisabled = false, isInverse = false, isFloating = false, size = ButtonIconSize.Md, style, ...props }, ref) => {
|
|
15
|
+
const isInteractive = !isDisabled;
|
|
16
|
+
const mergedClassName = twMerge(
|
|
17
|
+
// Base styles
|
|
18
|
+
'p-0',
|
|
19
|
+
// Size styles
|
|
20
|
+
BUTTON_ICON_SIZE_CLASS_MAP[size],
|
|
21
|
+
// Floating styles
|
|
22
|
+
isFloating && [
|
|
23
|
+
'rounded-full',
|
|
24
|
+
!isInverse && 'bg-icon-default text-background-default',
|
|
25
|
+
isInverse && 'bg-icon-default text-background-default',
|
|
26
|
+
],
|
|
27
|
+
// Non-floating styles
|
|
28
|
+
!isFloating && [
|
|
29
|
+
'rounded bg-transparent ',
|
|
30
|
+
// Only apply hover/active styles when interactive
|
|
31
|
+
isInteractive && 'hover:bg-hover active:bg-pressed',
|
|
32
|
+
!isInverse && 'text-icon-default',
|
|
33
|
+
isInverse && 'text-background-default',
|
|
34
|
+
], className);
|
|
35
|
+
return (React.createElement(ButtonBase, { ref: ref, className: mergedClassName, isDisabled: isDisabled, "aria-label": ariaLabel, ...props },
|
|
36
|
+
React.createElement(Icon, { name: iconName, size: BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size], className: twMerge('text-inherit', iconProps?.className), ...iconProps })));
|
|
37
|
+
});
|
|
38
|
+
ButtonIcon.displayName = 'ButtonIcon';
|
|
39
|
+
//# sourceMappingURL=ButtonIcon.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,UAAU,EAAE,iCAAuB;AAC5C,OAAO,EAAE,IAAI,EAAE,0BAAgB;AAC/B,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,EACxC,mCAA+B;AAEhC,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,IAAI,GAAG,cAAc,CAAC,EAAE,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;IAElC,MAAM,eAAe,GAAG,OAAO;IAC7B,cAAc;IACd,KAAK;IACL,cAAc;IACd,0BAA0B,CAAC,IAAI,CAAC;IAChC,kBAAkB;IAClB,UAAU,IAAI;QACZ,cAAc;QACd,CAAC,SAAS,IAAI,yCAAyC;QACvD,SAAS,IAAI,yCAAyC;KACvD;IACD,sBAAsB;IACtB,CAAC,UAAU,IAAI;QACb,yBAAyB;QACzB,kDAAkD;QAClD,aAAa,IAAI,kCAAkC;QACnD,CAAC,SAAS,IAAI,mBAAmB;QACjC,SAAS,IAAI,yBAAyB;KACvC,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,UAAU,gBACV,SAAS,KACjB,KAAK;QAET,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,uCAAuC,CAAC,IAAI,CAAC,EACnD,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,KACpD,SAAS,GACb,CACS,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonBase } from '../button-base';\nimport { Icon } from '../icon';\nimport {\n BUTTON_ICON_SIZE_CLASS_MAP,\n BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const ButtonIcon = React.forwardRef<HTMLButtonElement, ButtonIconProps>(\n (\n {\n className,\n iconName,\n iconProps,\n ariaLabel,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n size = ButtonIconSize.Md,\n style,\n ...props\n },\n ref,\n ) => {\n const isInteractive = !isDisabled;\n\n const mergedClassName = twMerge(\n // Base styles\n 'p-0',\n // Size styles\n BUTTON_ICON_SIZE_CLASS_MAP[size],\n // Floating styles\n isFloating && [\n 'rounded-full',\n !isInverse && 'bg-icon-default text-background-default',\n isInverse && 'bg-icon-default text-background-default',\n ],\n // Non-floating styles\n !isFloating && [\n 'rounded bg-transparent ',\n // Only apply hover/active styles when interactive\n isInteractive && 'hover:bg-hover active:bg-pressed',\n !isInverse && 'text-icon-default',\n isInverse && 'text-background-default',\n ],\n className,\n );\n\n return (\n <ButtonBase\n ref={ref}\n className={mergedClassName}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n {...props}\n >\n <Icon\n name={iconName}\n size={BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size]}\n className={twMerge('text-inherit', iconProps?.className)}\n {...iconProps}\n />\n </ButtonBase>\n );\n },\n);\n\nButtonIcon.displayName = 'ButtonIcon';\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ButtonIconSize = void 0;
|
|
4
|
+
var ButtonIconSize;
|
|
5
|
+
(function (ButtonIconSize) {
|
|
6
|
+
/**
|
|
7
|
+
* Represents a small button size (24px).
|
|
8
|
+
*/
|
|
9
|
+
ButtonIconSize["Sm"] = "sm";
|
|
10
|
+
/**
|
|
11
|
+
* Represents a medium button size (32px).
|
|
12
|
+
*/
|
|
13
|
+
ButtonIconSize["Md"] = "md";
|
|
14
|
+
/**
|
|
15
|
+
* Represents a large button size (40px).
|
|
16
|
+
*/
|
|
17
|
+
ButtonIconSize["Lg"] = "lg";
|
|
18
|
+
})(ButtonIconSize || (exports.ButtonIconSize = ButtonIconSize = {}));
|
|
19
|
+
//# sourceMappingURL=ButtonIcon.types.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.types.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";;;AAGA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB","sourcesContent":["import type { ButtonBaseProps } from '../button-base';\nimport type { IconName, IconProps } from '../icon';\n\nexport enum ButtonIconSize {\n /**\n * Represents a small button size (24px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (32px).\n */\n Md = 'md',\n /**\n * Represents a large button size (40px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonIconProps = Omit<\n ButtonBaseProps,\n // We handle these props in ButtonIcon\n | 'className'\n | 'isDisabled'\n | 'isLoading'\n | 'style'\n | 'children'\n | 'size'\n | 'aria-label'\n> & {\n /**\n * Required prop to specify the icon to show\n */\n iconName: IconName;\n /**\n * Required prop to provide an accessible label for the button\n */\n ariaLabel: string;\n /**\n * Optional prop to pass additional properties to the icon\n */\n iconProps?: Partial<IconProps>;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop that when true, applies inverse styling to the button\n * @default false\n */\n isInverse?: boolean;\n /**\n * Optional prop that when true, applies floating/contained styling to the button\n * @default false\n */\n isFloating?: boolean;\n /**\n * Optional prop to control the size of the button\n * @default ButtonIconSize.Md\n */\n size?: ButtonIconSize;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonIcon component\n */\n className?: string;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ButtonBaseProps } from "../button-base/index.cjs";
|
|
3
|
+
import type { IconName, IconProps } from "../icon/index.cjs";
|
|
4
|
+
export declare enum ButtonIconSize {
|
|
5
|
+
/**
|
|
6
|
+
* Represents a small button size (24px).
|
|
7
|
+
*/
|
|
8
|
+
Sm = "sm",
|
|
9
|
+
/**
|
|
10
|
+
* Represents a medium button size (32px).
|
|
11
|
+
*/
|
|
12
|
+
Md = "md",
|
|
13
|
+
/**
|
|
14
|
+
* Represents a large button size (40px).
|
|
15
|
+
*/
|
|
16
|
+
Lg = "lg"
|
|
17
|
+
}
|
|
18
|
+
export type ButtonIconProps = Omit<ButtonBaseProps, 'className' | 'isDisabled' | 'isLoading' | 'style' | 'children' | 'size' | 'aria-label'> & {
|
|
19
|
+
/**
|
|
20
|
+
* Required prop to specify the icon to show
|
|
21
|
+
*/
|
|
22
|
+
iconName: IconName;
|
|
23
|
+
/**
|
|
24
|
+
* Required prop to provide an accessible label for the button
|
|
25
|
+
*/
|
|
26
|
+
ariaLabel: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional prop to pass additional properties to the icon
|
|
29
|
+
*/
|
|
30
|
+
iconProps?: Partial<IconProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional prop that when true, disables the button
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
isDisabled?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Optional prop that when true, applies inverse styling to the button
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
isInverse?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Optional prop that when true, applies floating/contained styling to the button
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
isFloating?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Optional prop to control the size of the button
|
|
48
|
+
* @default ButtonIconSize.Md
|
|
49
|
+
*/
|
|
50
|
+
size?: ButtonIconSize;
|
|
51
|
+
/**
|
|
52
|
+
* Optional prop for additional CSS classes to be applied to the ButtonIcon component
|
|
53
|
+
*/
|
|
54
|
+
className?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Optional CSS styles to be applied to the component.
|
|
57
|
+
* Should be used sparingly and only for dynamic styles that can't be achieved with className.
|
|
58
|
+
*/
|
|
59
|
+
style?: React.CSSProperties;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=ButtonIcon.types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.types.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iCAAuB;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AAEnD,oBAAY,cAAc;IACxB;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;CACV;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,eAAe,EAEb,WAAW,GACX,YAAY,GACZ,WAAW,GACX,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CACf,GAAG;IACF;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ButtonBaseProps } from "../button-base/index.mjs";
|
|
3
|
+
import type { IconName, IconProps } from "../icon/index.mjs";
|
|
4
|
+
export declare enum ButtonIconSize {
|
|
5
|
+
/**
|
|
6
|
+
* Represents a small button size (24px).
|
|
7
|
+
*/
|
|
8
|
+
Sm = "sm",
|
|
9
|
+
/**
|
|
10
|
+
* Represents a medium button size (32px).
|
|
11
|
+
*/
|
|
12
|
+
Md = "md",
|
|
13
|
+
/**
|
|
14
|
+
* Represents a large button size (40px).
|
|
15
|
+
*/
|
|
16
|
+
Lg = "lg"
|
|
17
|
+
}
|
|
18
|
+
export type ButtonIconProps = Omit<ButtonBaseProps, 'className' | 'isDisabled' | 'isLoading' | 'style' | 'children' | 'size' | 'aria-label'> & {
|
|
19
|
+
/**
|
|
20
|
+
* Required prop to specify the icon to show
|
|
21
|
+
*/
|
|
22
|
+
iconName: IconName;
|
|
23
|
+
/**
|
|
24
|
+
* Required prop to provide an accessible label for the button
|
|
25
|
+
*/
|
|
26
|
+
ariaLabel: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional prop to pass additional properties to the icon
|
|
29
|
+
*/
|
|
30
|
+
iconProps?: Partial<IconProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional prop that when true, disables the button
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
isDisabled?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Optional prop that when true, applies inverse styling to the button
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
isInverse?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Optional prop that when true, applies floating/contained styling to the button
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
isFloating?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Optional prop to control the size of the button
|
|
48
|
+
* @default ButtonIconSize.Md
|
|
49
|
+
*/
|
|
50
|
+
size?: ButtonIconSize;
|
|
51
|
+
/**
|
|
52
|
+
* Optional prop for additional CSS classes to be applied to the ButtonIcon component
|
|
53
|
+
*/
|
|
54
|
+
className?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Optional CSS styles to be applied to the component.
|
|
57
|
+
* Should be used sparingly and only for dynamic styles that can't be achieved with className.
|
|
58
|
+
*/
|
|
59
|
+
style?: React.CSSProperties;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=ButtonIcon.types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.types.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iCAAuB;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AAEnD,oBAAY,cAAc;IACxB;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;CACV;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,eAAe,EAEb,WAAW,GACX,YAAY,GACZ,WAAW,GACX,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CACf,GAAG;IACF;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export var ButtonIconSize;
|
|
2
|
+
(function (ButtonIconSize) {
|
|
3
|
+
/**
|
|
4
|
+
* Represents a small button size (24px).
|
|
5
|
+
*/
|
|
6
|
+
ButtonIconSize["Sm"] = "sm";
|
|
7
|
+
/**
|
|
8
|
+
* Represents a medium button size (32px).
|
|
9
|
+
*/
|
|
10
|
+
ButtonIconSize["Md"] = "md";
|
|
11
|
+
/**
|
|
12
|
+
* Represents a large button size (40px).
|
|
13
|
+
*/
|
|
14
|
+
ButtonIconSize["Lg"] = "lg";
|
|
15
|
+
})(ButtonIconSize || (ButtonIconSize = {}));
|
|
16
|
+
//# sourceMappingURL=ButtonIcon.types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.types.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB","sourcesContent":["import type { ButtonBaseProps } from '../button-base';\nimport type { IconName, IconProps } from '../icon';\n\nexport enum ButtonIconSize {\n /**\n * Represents a small button size (24px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (32px).\n */\n Md = 'md',\n /**\n * Represents a large button size (40px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonIconProps = Omit<\n ButtonBaseProps,\n // We handle these props in ButtonIcon\n | 'className'\n | 'isDisabled'\n | 'isLoading'\n | 'style'\n | 'children'\n | 'size'\n | 'aria-label'\n> & {\n /**\n * Required prop to specify the icon to show\n */\n iconName: IconName;\n /**\n * Required prop to provide an accessible label for the button\n */\n ariaLabel: string;\n /**\n * Optional prop to pass additional properties to the icon\n */\n iconProps?: Partial<IconProps>;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop that when true, applies inverse styling to the button\n * @default false\n */\n isInverse?: boolean;\n /**\n * Optional prop that when true, applies floating/contained styling to the button\n * @default false\n */\n isFloating?: boolean;\n /**\n * Optional prop to control the size of the button\n * @default ButtonIconSize.Md\n */\n size?: ButtonIconSize;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonIcon component\n */\n className?: string;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ButtonIconSize = exports.ButtonIcon = void 0;
|
|
4
|
+
var ButtonIcon_1 = require("./ButtonIcon.cjs");
|
|
5
|
+
Object.defineProperty(exports, "ButtonIcon", { enumerable: true, get: function () { return ButtonIcon_1.ButtonIcon; } });
|
|
6
|
+
var ButtonIcon_types_1 = require("./ButtonIcon.types.cjs");
|
|
7
|
+
Object.defineProperty(exports, "ButtonIconSize", { enumerable: true, get: function () { return ButtonIcon_types_1.ButtonIconSize; } });
|
|
8
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2DAAoD;AAA3C,kHAAA,cAAc,OAAA","sourcesContent":["export { ButtonIcon } from './ButtonIcon';\nexport type { ButtonIconProps } from './ButtonIcon.types';\nexport { ButtonIconSize } from './ButtonIcon.types';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,+BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,+BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAE1C,OAAO,EAAE,cAAc,EAAE,+BAA2B","sourcesContent":["export { ButtonIcon } from './ButtonIcon';\nexport type { ButtonIconProps } from './ButtonIcon.types';\nexport { ButtonIconSize } from './ButtonIcon.types';\n"]}
|
|
@@ -11,33 +11,55 @@ exports.ButtonPrimary = react_1.default.forwardRef(({ className, isDanger, isInv
|
|
|
11
11
|
const isInteractive = !(isDisabled ?? isLoading);
|
|
12
12
|
const mergedClassName = (0, tw_merge_1.twMerge)(
|
|
13
13
|
// Default primary styles
|
|
14
|
-
!isDanger &&
|
|
14
|
+
!isDanger &&
|
|
15
|
+
!isInverse && [
|
|
16
|
+
'bg-primary-default text-primary-inverse',
|
|
17
|
+
// Loading state uses pressed color
|
|
18
|
+
isLoading && 'bg-primary-default-pressed',
|
|
19
|
+
],
|
|
15
20
|
// Danger styles
|
|
16
|
-
isDanger &&
|
|
21
|
+
isDanger &&
|
|
22
|
+
!isInverse && [
|
|
23
|
+
'bg-error-default text-error-inverse',
|
|
24
|
+
// Loading state uses pressed color
|
|
25
|
+
isLoading && 'bg-error-default-pressed',
|
|
26
|
+
],
|
|
17
27
|
// Inverse styles
|
|
18
|
-
isInverse &&
|
|
28
|
+
isInverse &&
|
|
29
|
+
!isDanger && [
|
|
30
|
+
'bg-default text-default',
|
|
31
|
+
// Loading state uses pressed color
|
|
32
|
+
isLoading && 'bg-default-pressed',
|
|
33
|
+
],
|
|
19
34
|
// Inverse danger styles
|
|
20
|
-
isInverse &&
|
|
21
|
-
|
|
35
|
+
isInverse &&
|
|
36
|
+
isDanger && [
|
|
37
|
+
'bg-default text-error-default',
|
|
38
|
+
// Loading state uses pressed color
|
|
39
|
+
isLoading && 'bg-default-pressed',
|
|
40
|
+
],
|
|
41
|
+
// Hover/Active states - only applied when interactive
|
|
22
42
|
isInteractive && [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
isDanger &&
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
isInverse &&
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
!isDanger &&
|
|
44
|
+
!isInverse && [
|
|
45
|
+
'hover:bg-primary-default-hover',
|
|
46
|
+
'active:bg-primary-default-pressed',
|
|
47
|
+
],
|
|
48
|
+
isDanger &&
|
|
49
|
+
!isInverse && [
|
|
50
|
+
'hover:bg-error-default-hover',
|
|
51
|
+
'active:bg-error-default-pressed',
|
|
52
|
+
],
|
|
53
|
+
isInverse &&
|
|
54
|
+
!isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],
|
|
55
|
+
isInverse &&
|
|
56
|
+
isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],
|
|
57
|
+
],
|
|
58
|
+
// Loading styles
|
|
59
|
+
isLoading && 'cursor-not-allowed',
|
|
60
|
+
// Disabled styles (but not loading)
|
|
61
|
+
isDisabled && !isLoading && ['opacity-50', 'cursor-not-allowed'], className);
|
|
62
|
+
return (react_1.default.createElement(button_base_1.ButtonBase, { ref: ref, className: mergedClassName, isDisabled: isDisabled, isLoading: isLoading, "data-theme": !isInverse && 'light', ...props }));
|
|
41
63
|
});
|
|
42
64
|
exports.ButtonPrimary.displayName = 'ButtonPrimary';
|
|
43
65
|
//# sourceMappingURL=ButtonPrimary.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPrimary.cjs","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uDAA+C;AAC/C,0DAA4C;AAG/B,QAAA,aAAa,GAAG,eAAK,CAAC,UAAU,CAI3C,CACE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAA,kBAAO;IAC7B,yBAAyB;IACzB,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"ButtonPrimary.cjs","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uDAA+C;AAC/C,0DAA4C;AAG/B,QAAA,aAAa,GAAG,eAAK,CAAC,UAAU,CAI3C,CACE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAA,kBAAO;IAC7B,yBAAyB;IACzB,CAAC,QAAQ;QACP,CAAC,SAAS,IAAI;QACZ,yCAAyC;QACzC,mCAAmC;QACnC,SAAS,IAAI,4BAA4B;KAC1C;IACH,gBAAgB;IAChB,QAAQ;QACN,CAAC,SAAS,IAAI;QACZ,qCAAqC;QACrC,mCAAmC;QACnC,SAAS,IAAI,0BAA0B;KACxC;IACH,iBAAiB;IACjB,SAAS;QACP,CAAC,QAAQ,IAAI;QACX,yBAAyB;QACzB,mCAAmC;QACnC,SAAS,IAAI,oBAAoB;KAClC;IACH,wBAAwB;IACxB,SAAS;QACP,QAAQ,IAAI;QACV,+BAA+B;QAC/B,mCAAmC;QACnC,SAAS,IAAI,oBAAoB;KAClC;IACH,sDAAsD;IACtD,aAAa,IAAI;QACf,CAAC,QAAQ;YACP,CAAC,SAAS,IAAI;YACZ,gCAAgC;YAChC,mCAAmC;SACpC;QACH,QAAQ;YACN,CAAC,SAAS,IAAI;YACZ,8BAA8B;YAC9B,iCAAiC;SAClC;QACH,SAAS;YACP,CAAC,QAAQ,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;QACtE,SAAS;YACP,QAAQ,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;KACtE;IACD,iBAAiB;IACjB,SAAS,IAAI,oBAAoB;IACjC,oCAAoC;IACpC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAChE,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,wBAAU,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,gBACR,CAAC,SAAS,IAAI,OAAO,KAC7B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,qBAAa,CAAC,WAAW,GAAG,eAAe,CAAC","sourcesContent":["import React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonBase } from '../button-base';\nimport type { ButtonPrimaryProps } from './ButtonPrimary.types';\n\nexport const ButtonPrimary = React.forwardRef<\n HTMLButtonElement,\n ButtonPrimaryProps\n>(\n (\n { className, isDanger, isInverse, isDisabled, isLoading, ...props },\n ref,\n ) => {\n const isInteractive = !(isDisabled ?? isLoading);\n\n const mergedClassName = twMerge(\n // Default primary styles\n !isDanger &&\n !isInverse && [\n 'bg-primary-default text-primary-inverse',\n // Loading state uses pressed color\n isLoading && 'bg-primary-default-pressed',\n ],\n // Danger styles\n isDanger &&\n !isInverse && [\n 'bg-error-default text-error-inverse',\n // Loading state uses pressed color\n isLoading && 'bg-error-default-pressed',\n ],\n // Inverse styles\n isInverse &&\n !isDanger && [\n 'bg-default text-default',\n // Loading state uses pressed color\n isLoading && 'bg-default-pressed',\n ],\n // Inverse danger styles\n isInverse &&\n isDanger && [\n 'bg-default text-error-default',\n // Loading state uses pressed color\n isLoading && 'bg-default-pressed',\n ],\n // Hover/Active states - only applied when interactive\n isInteractive && [\n !isDanger &&\n !isInverse && [\n 'hover:bg-primary-default-hover',\n 'active:bg-primary-default-pressed',\n ],\n isDanger &&\n !isInverse && [\n 'hover:bg-error-default-hover',\n 'active:bg-error-default-pressed',\n ],\n isInverse &&\n !isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],\n isInverse &&\n isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],\n ],\n // Loading styles\n isLoading && 'cursor-not-allowed',\n // Disabled styles (but not loading)\n isDisabled && !isLoading && ['opacity-50', 'cursor-not-allowed'],\n className,\n );\n\n return (\n <ButtonBase\n ref={ref}\n className={mergedClassName}\n isDisabled={isDisabled}\n isLoading={isLoading}\n data-theme={!isInverse && 'light'} // Lock button primary to light theme\n {...props}\n />\n );\n },\n);\n\nButtonPrimary.displayName = 'ButtonPrimary';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPrimary.d.cts","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAI1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"ButtonPrimary.d.cts","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAI1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,2GA0EzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPrimary.d.mts","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAI1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"ButtonPrimary.d.mts","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAI1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,2GA0EzB,CAAC"}
|
|
@@ -12,33 +12,55 @@ export const ButtonPrimary = React.forwardRef(({ className, isDanger, isInverse,
|
|
|
12
12
|
const isInteractive = !(isDisabled ?? isLoading);
|
|
13
13
|
const mergedClassName = twMerge(
|
|
14
14
|
// Default primary styles
|
|
15
|
-
!isDanger &&
|
|
15
|
+
!isDanger &&
|
|
16
|
+
!isInverse && [
|
|
17
|
+
'bg-primary-default text-primary-inverse',
|
|
18
|
+
// Loading state uses pressed color
|
|
19
|
+
isLoading && 'bg-primary-default-pressed',
|
|
20
|
+
],
|
|
16
21
|
// Danger styles
|
|
17
|
-
isDanger &&
|
|
22
|
+
isDanger &&
|
|
23
|
+
!isInverse && [
|
|
24
|
+
'bg-error-default text-error-inverse',
|
|
25
|
+
// Loading state uses pressed color
|
|
26
|
+
isLoading && 'bg-error-default-pressed',
|
|
27
|
+
],
|
|
18
28
|
// Inverse styles
|
|
19
|
-
isInverse &&
|
|
29
|
+
isInverse &&
|
|
30
|
+
!isDanger && [
|
|
31
|
+
'bg-default text-default',
|
|
32
|
+
// Loading state uses pressed color
|
|
33
|
+
isLoading && 'bg-default-pressed',
|
|
34
|
+
],
|
|
20
35
|
// Inverse danger styles
|
|
21
|
-
isInverse &&
|
|
22
|
-
|
|
36
|
+
isInverse &&
|
|
37
|
+
isDanger && [
|
|
38
|
+
'bg-default text-error-default',
|
|
39
|
+
// Loading state uses pressed color
|
|
40
|
+
isLoading && 'bg-default-pressed',
|
|
41
|
+
],
|
|
42
|
+
// Hover/Active states - only applied when interactive
|
|
23
43
|
isInteractive && [
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
isDanger &&
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
isInverse &&
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
!isDanger &&
|
|
45
|
+
!isInverse && [
|
|
46
|
+
'hover:bg-primary-default-hover',
|
|
47
|
+
'active:bg-primary-default-pressed',
|
|
48
|
+
],
|
|
49
|
+
isDanger &&
|
|
50
|
+
!isInverse && [
|
|
51
|
+
'hover:bg-error-default-hover',
|
|
52
|
+
'active:bg-error-default-pressed',
|
|
53
|
+
],
|
|
54
|
+
isInverse &&
|
|
55
|
+
!isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],
|
|
56
|
+
isInverse &&
|
|
57
|
+
isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],
|
|
58
|
+
],
|
|
59
|
+
// Loading styles
|
|
60
|
+
isLoading && 'cursor-not-allowed',
|
|
61
|
+
// Disabled styles (but not loading)
|
|
62
|
+
isDisabled && !isLoading && ['opacity-50', 'cursor-not-allowed'], className);
|
|
63
|
+
return (React.createElement(ButtonBase, { ref: ref, className: mergedClassName, isDisabled: isDisabled, isLoading: isLoading, "data-theme": !isInverse && 'light', ...props }));
|
|
42
64
|
});
|
|
43
65
|
ButtonPrimary.displayName = 'ButtonPrimary';
|
|
44
66
|
//# sourceMappingURL=ButtonPrimary.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPrimary.mjs","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,UAAU,EAAE,iCAAuB;AAG5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAI3C,CACE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,OAAO;IAC7B,yBAAyB;IACzB,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"ButtonPrimary.mjs","sourceRoot":"","sources":["../../../src/components/button-primary/ButtonPrimary.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,UAAU,EAAE,iCAAuB;AAG5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAI3C,CACE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,OAAO;IAC7B,yBAAyB;IACzB,CAAC,QAAQ;QACP,CAAC,SAAS,IAAI;QACZ,yCAAyC;QACzC,mCAAmC;QACnC,SAAS,IAAI,4BAA4B;KAC1C;IACH,gBAAgB;IAChB,QAAQ;QACN,CAAC,SAAS,IAAI;QACZ,qCAAqC;QACrC,mCAAmC;QACnC,SAAS,IAAI,0BAA0B;KACxC;IACH,iBAAiB;IACjB,SAAS;QACP,CAAC,QAAQ,IAAI;QACX,yBAAyB;QACzB,mCAAmC;QACnC,SAAS,IAAI,oBAAoB;KAClC;IACH,wBAAwB;IACxB,SAAS;QACP,QAAQ,IAAI;QACV,+BAA+B;QAC/B,mCAAmC;QACnC,SAAS,IAAI,oBAAoB;KAClC;IACH,sDAAsD;IACtD,aAAa,IAAI;QACf,CAAC,QAAQ;YACP,CAAC,SAAS,IAAI;YACZ,gCAAgC;YAChC,mCAAmC;SACpC;QACH,QAAQ;YACN,CAAC,SAAS,IAAI;YACZ,8BAA8B;YAC9B,iCAAiC;SAClC;QACH,SAAS;YACP,CAAC,QAAQ,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;QACtE,SAAS;YACP,QAAQ,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;KACtE;IACD,iBAAiB;IACjB,SAAS,IAAI,oBAAoB;IACjC,oCAAoC;IACpC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAChE,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,gBACR,CAAC,SAAS,IAAI,OAAO,KAC7B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC","sourcesContent":["import React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonBase } from '../button-base';\nimport type { ButtonPrimaryProps } from './ButtonPrimary.types';\n\nexport const ButtonPrimary = React.forwardRef<\n HTMLButtonElement,\n ButtonPrimaryProps\n>(\n (\n { className, isDanger, isInverse, isDisabled, isLoading, ...props },\n ref,\n ) => {\n const isInteractive = !(isDisabled ?? isLoading);\n\n const mergedClassName = twMerge(\n // Default primary styles\n !isDanger &&\n !isInverse && [\n 'bg-primary-default text-primary-inverse',\n // Loading state uses pressed color\n isLoading && 'bg-primary-default-pressed',\n ],\n // Danger styles\n isDanger &&\n !isInverse && [\n 'bg-error-default text-error-inverse',\n // Loading state uses pressed color\n isLoading && 'bg-error-default-pressed',\n ],\n // Inverse styles\n isInverse &&\n !isDanger && [\n 'bg-default text-default',\n // Loading state uses pressed color\n isLoading && 'bg-default-pressed',\n ],\n // Inverse danger styles\n isInverse &&\n isDanger && [\n 'bg-default text-error-default',\n // Loading state uses pressed color\n isLoading && 'bg-default-pressed',\n ],\n // Hover/Active states - only applied when interactive\n isInteractive && [\n !isDanger &&\n !isInverse && [\n 'hover:bg-primary-default-hover',\n 'active:bg-primary-default-pressed',\n ],\n isDanger &&\n !isInverse && [\n 'hover:bg-error-default-hover',\n 'active:bg-error-default-pressed',\n ],\n isInverse &&\n !isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],\n isInverse &&\n isDanger && ['hover:bg-default-hover', 'active:bg-default-pressed'],\n ],\n // Loading styles\n isLoading && 'cursor-not-allowed',\n // Disabled styles (but not loading)\n isDisabled && !isLoading && ['opacity-50', 'cursor-not-allowed'],\n className,\n );\n\n return (\n <ButtonBase\n ref={ref}\n className={mergedClassName}\n isDisabled={isDisabled}\n isLoading={isLoading}\n data-theme={!isInverse && 'light'} // Lock button primary to light theme\n {...props}\n />\n );\n },\n);\n\nButtonPrimary.displayName = 'ButtonPrimary';\n"]}
|