@xylabs/react-button 8.0.1 → 8.0.3

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.
@@ -120,4 +120,4 @@ export {
120
120
  ButtonEx,
121
121
  asButtonHrefOrToProps
122
122
  };
123
- //# sourceMappingURL=index.mjs.map
123
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1,7 @@
1
- {"version":3,"sources":["../../src/components/ButtonExBase.tsx","../../src/components/ButtonExTo.tsx","../../src/components/ButtonEx.tsx","../../src/components/ButtonExProps.tsx"],"sourcesContent":["import { Button, useTheme } from '@mui/material'\nimport { useUserEvents } from '@xylabs/react-pixel'\nimport {\n BusyCircularProgress, BusyLinearProgress, mergeBoxlikeStyles,\n} from '@xylabs/react-shared'\nimport { isString, toPromise } from '@xylabs/sdk-js'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\n\nimport type { ButtonExProps } from './ButtonExProps.tsx'\n\nconst ButtonExBase = ({\n ref, funnel, intent, target, placement, disableUserEvents, href, ...props\n}: ButtonExProps) => {\n const theme = useTheme()\n const userEvents = useUserEvents()\n const {\n busy, busyVariant = 'linear', busyOpacity, onClick, children, ...rootProps\n } = mergeBoxlikeStyles<ButtonExProps>(theme, props)\n\n const localOnClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (busy) {\n // If it is busy, do not allow href clicks\n event.preventDefault()\n } else {\n const elementName = props['aria-label'] ?? event.currentTarget.textContent\n // we do this crazy navigate thing so that we can set it up outside the promise so that safari does not block it\n const windowToNavigate = () => (isString(target) && isString(href)) ? window.open('', target) ?? globalThis : globalThis\n const callOnClickAndFollowHref = (windowToNav = windowToNavigate()) => {\n onClick?.(event)\n if (isString(href)) {\n windowToNav.location.href = href\n }\n }\n if (!disableUserEvents && userEvents) {\n event.preventDefault()\n const windowToNav = windowToNavigate()\n if (isString(href)) {\n toPromise(userEvents.userClick({\n elementName, intent, funnel, placement,\n })).then(() => {\n callOnClickAndFollowHref(windowToNav)\n }).catch((ex) => {\n console.error('User event failed', elementName, funnel, placement, ex)\n callOnClickAndFollowHref(windowToNav)\n })\n }\n onClick?.(event)\n } else {\n callOnClickAndFollowHref()\n }\n }\n }\n\n return (\n <Button ref={ref} href={href} onClick={localOnClick} target={target} {...rootProps}>\n {busy && busyVariant === 'linear'\n ? <BusyLinearProgress rounded opacity={busyOpacity ?? 0} />\n : null}\n {busy && busyVariant === 'circular'\n ? <BusyCircularProgress rounded size={24} opacity={busyOpacity ?? 0.5} />\n : null}\n {children}\n </Button>\n )\n}\n\nButtonExBase.displayName = 'ButtonExBaseXYLabs'\n\nexport { ButtonExBase }\n","import { isDefined } from '@xylabs/sdk-js'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ButtonExBase } from './ButtonExBase.tsx'\nimport type { ButtonExProps } from './ButtonExProps.tsx'\n\nconst ButtonToEx = ({\n ref, to, toOptions, onClick, ...props\n}: ButtonExProps) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLButtonElement>) => {\n onClick?.(event)\n if (isDefined(to)) {\n void navigate(to, toOptions)\n }\n }\n\n return <ButtonExBase ref={ref} onClick={localOnClick} {...props} />\n}\n\nButtonToEx.displayName = 'ButtonToExXYLabs'\n\nexport { ButtonToEx }\n","import React from 'react'\n\nimport { ButtonExBase } from './ButtonExBase.tsx'\nimport type { ButtonExProps } from './ButtonExProps.tsx'\nimport { ButtonToEx } from './ButtonExTo.tsx'\n\nconst ButtonEx = ({ ref, ...props }: ButtonExProps) => {\n if (props.to === undefined) {\n return <ButtonExBase {...props} />\n } else {\n const { to, ...additionalProps } = props\n return <ButtonToEx to={to} ref={ref} {...additionalProps} />\n }\n}\n\nButtonEx.displayName = 'ButtonExXYLabs'\n\nexport { ButtonEx }\n","import type { ButtonProps } from '@mui/material'\nimport type { BoxlikeComponentProps, BusyProps } from '@xylabs/react-shared'\nimport { isDefined, isString } from '@xylabs/sdk-js'\nimport type { NavigateOptions, To } from 'react-router-dom'\n\nexport interface ButtonOnlyHrefProps {\n href?: string\n to?: never\n toOptions?: never\n}\n\nexport interface ButtonOnlyToProps {\n href?: never\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport interface ButtonNoToOrHrefProps {\n href?: never\n to?: never\n toOptions?: never\n}\n\nexport type ButtonHrefOrToOrNoProps = ButtonOnlyHrefProps | ButtonOnlyToProps | ButtonNoToOrHrefProps\n\nexport interface ButtonHrefAndToProps {\n href?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const asButtonHrefOrToProps = ({\n href, to, toOptions,\n}: ButtonHrefAndToProps): ButtonHrefOrToOrNoProps => {\n if (isString(href) && (isDefined(to) || isDefined(toOptions))) {\n throw new Error('ButtonExProps: cannot have both href and to')\n }\n return isString(href) ? { href } : isDefined(to) ? { to, toOptions } : {}\n}\n\nexport interface ButtonBaseExProps extends Omit<ButtonProps, 'href'>, BoxlikeComponentProps, BusyProps {\n disableUserEvents?: boolean\n funnel?: string\n intent?: string\n placement?: string\n target?: string\n}\n\nexport type ButtonExProps = ButtonBaseExProps & ButtonHrefOrToOrNoProps\n"],"mappings":"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","names":["jsx","jsx","isDefined","isString"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/ButtonExBase.tsx", "../../src/components/ButtonExTo.tsx", "../../src/components/ButtonEx.tsx", "../../src/components/ButtonExProps.tsx"],
4
+ "sourcesContent": ["import { Button, useTheme } from '@mui/material'\nimport { useUserEvents } from '@xylabs/react-pixel'\nimport {\n BusyCircularProgress, BusyLinearProgress, mergeBoxlikeStyles,\n} from '@xylabs/react-shared'\nimport { isString, toPromise } from '@xylabs/sdk-js'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\n\nimport type { ButtonExProps } from './ButtonExProps.tsx'\n\nconst ButtonExBase = ({\n ref, funnel, intent, target, placement, disableUserEvents, href, ...props\n}: ButtonExProps) => {\n const theme = useTheme()\n const userEvents = useUserEvents()\n const {\n busy, busyVariant = 'linear', busyOpacity, onClick, children, ...rootProps\n } = mergeBoxlikeStyles<ButtonExProps>(theme, props)\n\n const localOnClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (busy) {\n // If it is busy, do not allow href clicks\n event.preventDefault()\n } else {\n const elementName = props['aria-label'] ?? event.currentTarget.textContent\n // we do this crazy navigate thing so that we can set it up outside the promise so that safari does not block it\n const windowToNavigate = () => (isString(target) && isString(href)) ? window.open('', target) ?? globalThis : globalThis\n const callOnClickAndFollowHref = (windowToNav = windowToNavigate()) => {\n onClick?.(event)\n if (isString(href)) {\n windowToNav.location.href = href\n }\n }\n if (!disableUserEvents && userEvents) {\n event.preventDefault()\n const windowToNav = windowToNavigate()\n if (isString(href)) {\n toPromise(userEvents.userClick({\n elementName, intent, funnel, placement,\n })).then(() => {\n callOnClickAndFollowHref(windowToNav)\n }).catch((ex) => {\n console.error('User event failed', elementName, funnel, placement, ex)\n callOnClickAndFollowHref(windowToNav)\n })\n }\n onClick?.(event)\n } else {\n callOnClickAndFollowHref()\n }\n }\n }\n\n return (\n <Button ref={ref} href={href} onClick={localOnClick} target={target} {...rootProps}>\n {busy && busyVariant === 'linear'\n ? <BusyLinearProgress rounded opacity={busyOpacity ?? 0} />\n : null}\n {busy && busyVariant === 'circular'\n ? <BusyCircularProgress rounded size={24} opacity={busyOpacity ?? 0.5} />\n : null}\n {children}\n </Button>\n )\n}\n\nButtonExBase.displayName = 'ButtonExBaseXYLabs'\n\nexport { ButtonExBase }\n", "import { isDefined } from '@xylabs/sdk-js'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ButtonExBase } from './ButtonExBase.tsx'\nimport type { ButtonExProps } from './ButtonExProps.tsx'\n\nconst ButtonToEx = ({\n ref, to, toOptions, onClick, ...props\n}: ButtonExProps) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLButtonElement>) => {\n onClick?.(event)\n if (isDefined(to)) {\n void navigate(to, toOptions)\n }\n }\n\n return <ButtonExBase ref={ref} onClick={localOnClick} {...props} />\n}\n\nButtonToEx.displayName = 'ButtonToExXYLabs'\n\nexport { ButtonToEx }\n", "import React from 'react'\n\nimport { ButtonExBase } from './ButtonExBase.tsx'\nimport type { ButtonExProps } from './ButtonExProps.tsx'\nimport { ButtonToEx } from './ButtonExTo.tsx'\n\nconst ButtonEx = ({ ref, ...props }: ButtonExProps) => {\n if (props.to === undefined) {\n return <ButtonExBase {...props} />\n } else {\n const { to, ...additionalProps } = props\n return <ButtonToEx to={to} ref={ref} {...additionalProps} />\n }\n}\n\nButtonEx.displayName = 'ButtonExXYLabs'\n\nexport { ButtonEx }\n", "import type { ButtonProps } from '@mui/material'\nimport type { BoxlikeComponentProps, BusyProps } from '@xylabs/react-shared'\nimport { isDefined, isString } from '@xylabs/sdk-js'\nimport type { NavigateOptions, To } from 'react-router-dom'\n\nexport interface ButtonOnlyHrefProps {\n href?: string\n to?: never\n toOptions?: never\n}\n\nexport interface ButtonOnlyToProps {\n href?: never\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport interface ButtonNoToOrHrefProps {\n href?: never\n to?: never\n toOptions?: never\n}\n\nexport type ButtonHrefOrToOrNoProps = ButtonOnlyHrefProps | ButtonOnlyToProps | ButtonNoToOrHrefProps\n\nexport interface ButtonHrefAndToProps {\n href?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const asButtonHrefOrToProps = ({\n href, to, toOptions,\n}: ButtonHrefAndToProps): ButtonHrefOrToOrNoProps => {\n if (isString(href) && (isDefined(to) || isDefined(toOptions))) {\n throw new Error('ButtonExProps: cannot have both href and to')\n }\n return isString(href) ? { href } : isDefined(to) ? { to, toOptions } : {}\n}\n\nexport interface ButtonBaseExProps extends Omit<ButtonProps, 'href'>, BoxlikeComponentProps, BusyProps {\n disableUserEvents?: boolean\n funnel?: string\n intent?: string\n placement?: string\n target?: string\n}\n\nexport type ButtonExProps = ButtonBaseExProps & ButtonHrefOrToOrNoProps\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsx", "isDefined", "isString"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/react-button",
3
- "version": "8.0.1",
3
+ "version": "8.0.3",
4
4
  "description": "Common React library for all XY Labs projects that use React",
5
5
  "keywords": [
6
6
  "utility",
@@ -36,42 +36,42 @@
36
36
  "README.md"
37
37
  ],
38
38
  "dependencies": {
39
- "@xylabs/react-pixel": "~8.0.1",
40
- "@xylabs/react-shared": "~8.0.1"
39
+ "@xylabs/react-pixel": "~8.0.3",
40
+ "@xylabs/react-shared": "~8.0.3"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@mui/material": "~9.0.1",
44
44
  "@opentelemetry/api": "^1.9.1",
45
45
  "@opentelemetry/sdk-trace-base": "~2.7.1",
46
- "@storybook/react-vite": "~10.3.6",
46
+ "@storybook/react-vite": "~10.4.0",
47
47
  "@types/react": "^19.2.14",
48
- "@xylabs/pixel": "^5.1.2",
49
- "@xylabs/sdk-js": "^5.1.2",
50
- "@xylabs/toolchain": "~7.13.24",
51
- "@xylabs/tsconfig": "~7.13.24",
52
- "@xylabs/tsconfig-dom": "~7.13.24",
53
- "@xylabs/tsconfig-react": "~7.13.24",
48
+ "@xylabs/pixel": "^5.1.3",
49
+ "@xylabs/sdk-js": "^5.1.3",
50
+ "@xylabs/toolchain": "~8.0.6",
51
+ "@xylabs/tsconfig": "~8.0.6",
52
+ "@xylabs/tsconfig-dom": "~8.0.6",
53
+ "@xylabs/tsconfig-react": "~8.0.6",
54
54
  "async-mutex": "~0.5.0",
55
55
  "bn.js": "~5.2.3",
56
56
  "bowser": "~2.14.1",
57
57
  "buffer": "~6.0.3",
58
58
  "chalk": "~5.6.2",
59
- "eslint": "~10.3.0",
59
+ "eslint": "~10.4.0",
60
60
  "ethers": "~6.16.0",
61
61
  "fast-deep-equal": "~3.1.3",
62
- "js-cookie": "~3.0.5",
63
- "mixpanel-browser": "^2.78.0",
62
+ "js-cookie": "~3.0.6",
63
+ "mixpanel-browser": "^2.79.0",
64
64
  "pako": "~2.1.0",
65
65
  "query-string": "~9.3.1",
66
66
  "react": "^19.2.6",
67
67
  "react-dom": "^19.2.6",
68
- "react-router-dom": "^7.15.0",
68
+ "react-router-dom": "^7.15.1",
69
69
  "spark-md5": "~3.0.2",
70
- "storybook": "~10.3.6",
71
- "typescript": "^5.9.3",
72
- "vite": "~8.0.12",
70
+ "storybook": "~10.4.0",
71
+ "typescript": "^6.0.3",
72
+ "vite": "~8.0.13",
73
73
  "zod": "^4.4.3",
74
- "@xylabs/react-flexbox": "~8.0.1"
74
+ "@xylabs/react-flexbox": "~8.0.3"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@mui/material": "~9.0",