@atlaskit/button 21.1.4 → 21.1.6

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.
Files changed (74) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/new-button/containers/split-button/split-button.compiled.css +34 -0
  3. package/dist/cjs/new-button/containers/split-button/split-button.js +58 -118
  4. package/dist/cjs/new-button/variants/default/button.js +36 -41
  5. package/dist/cjs/new-button/variants/default/link.compiled.css +119 -0
  6. package/dist/cjs/new-button/variants/default/link.js +111 -59
  7. package/dist/cjs/new-button/variants/icon/button.js +128 -143
  8. package/dist/cjs/new-button/variants/icon/link.compiled.css +104 -0
  9. package/dist/cjs/new-button/variants/icon/link.js +101 -75
  10. package/dist/cjs/new-button/variants/shared/button-base.compiled.css +137 -0
  11. package/dist/cjs/new-button/variants/shared/button-base.js +223 -0
  12. package/dist/cjs/new-button/variants/shared/content.compiled.css +19 -0
  13. package/dist/cjs/new-button/variants/shared/content.js +13 -53
  14. package/dist/cjs/old-button/shared/button-base.js +1 -1
  15. package/dist/es2019/new-button/containers/split-button/split-button.compiled.css +34 -0
  16. package/dist/es2019/new-button/containers/split-button/split-button.js +54 -117
  17. package/dist/es2019/new-button/variants/default/button.js +47 -56
  18. package/dist/es2019/new-button/variants/default/link.compiled.css +119 -0
  19. package/dist/es2019/new-button/variants/default/link.js +113 -63
  20. package/dist/es2019/new-button/variants/icon/button.js +117 -133
  21. package/dist/es2019/new-button/variants/icon/link.compiled.css +104 -0
  22. package/dist/es2019/new-button/variants/icon/link.js +94 -70
  23. package/dist/es2019/new-button/variants/shared/button-base.compiled.css +137 -0
  24. package/dist/es2019/new-button/variants/shared/button-base.js +203 -0
  25. package/dist/es2019/new-button/variants/shared/content.compiled.css +19 -0
  26. package/dist/es2019/new-button/variants/shared/content.js +13 -52
  27. package/dist/es2019/old-button/shared/button-base.js +1 -1
  28. package/dist/esm/new-button/containers/split-button/split-button.compiled.css +34 -0
  29. package/dist/esm/new-button/containers/split-button/split-button.js +55 -120
  30. package/dist/esm/new-button/variants/default/button.js +33 -41
  31. package/dist/esm/new-button/variants/default/link.compiled.css +119 -0
  32. package/dist/esm/new-button/variants/default/link.js +111 -59
  33. package/dist/esm/new-button/variants/icon/button.js +128 -143
  34. package/dist/esm/new-button/variants/icon/link.compiled.css +104 -0
  35. package/dist/esm/new-button/variants/icon/link.js +98 -72
  36. package/dist/esm/new-button/variants/shared/button-base.compiled.css +137 -0
  37. package/dist/esm/new-button/variants/shared/button-base.js +213 -0
  38. package/dist/esm/new-button/variants/shared/content.compiled.css +19 -0
  39. package/dist/esm/new-button/variants/shared/content.js +13 -53
  40. package/dist/esm/old-button/shared/button-base.js +1 -1
  41. package/dist/types/new-button/containers/split-button/split-button.d.ts +4 -5
  42. package/dist/types/new-button/variants/default/button.d.ts +5 -1
  43. package/dist/types/new-button/variants/default/link.d.ts +22 -8
  44. package/dist/types/new-button/variants/icon/button.d.ts +5 -1
  45. package/dist/types/new-button/variants/icon/link.d.ts +11 -4
  46. package/dist/types/new-button/variants/shared/block-events.d.ts +1 -1
  47. package/dist/types/new-button/variants/shared/button-base.d.ts +45 -0
  48. package/dist/types/new-button/variants/shared/content.d.ts +5 -1
  49. package/dist/types/new-button/variants/types.d.ts +26 -6
  50. package/dist/types-ts4.5/new-button/containers/split-button/split-button.d.ts +4 -5
  51. package/dist/types-ts4.5/new-button/variants/default/button.d.ts +5 -1
  52. package/dist/types-ts4.5/new-button/variants/default/link.d.ts +22 -8
  53. package/dist/types-ts4.5/new-button/variants/icon/button.d.ts +5 -1
  54. package/dist/types-ts4.5/new-button/variants/icon/link.d.ts +11 -4
  55. package/dist/types-ts4.5/new-button/variants/shared/block-events.d.ts +1 -1
  56. package/dist/types-ts4.5/new-button/variants/shared/button-base.d.ts +45 -0
  57. package/dist/types-ts4.5/new-button/variants/shared/content.d.ts +5 -1
  58. package/dist/types-ts4.5/new-button/variants/types.d.ts +26 -6
  59. package/package.json +17 -15
  60. package/dist/cjs/new-button/variants/default/use-default-button.js +0 -98
  61. package/dist/cjs/new-button/variants/icon/use-icon-button.js +0 -88
  62. package/dist/cjs/new-button/variants/shared/use-button-base.js +0 -639
  63. package/dist/es2019/new-button/variants/default/use-default-button.js +0 -88
  64. package/dist/es2019/new-button/variants/icon/use-icon-button.js +0 -81
  65. package/dist/es2019/new-button/variants/shared/use-button-base.js +0 -619
  66. package/dist/esm/new-button/variants/default/use-default-button.js +0 -88
  67. package/dist/esm/new-button/variants/icon/use-icon-button.js +0 -81
  68. package/dist/esm/new-button/variants/shared/use-button-base.js +0 -629
  69. package/dist/types/new-button/variants/default/use-default-button.d.ts +0 -16
  70. package/dist/types/new-button/variants/icon/use-icon-button.d.ts +0 -16
  71. package/dist/types/new-button/variants/shared/use-button-base.d.ts +0 -46
  72. package/dist/types-ts4.5/new-button/variants/default/use-default-button.d.ts +0 -16
  73. package/dist/types-ts4.5/new-button/variants/icon/use-icon-button.d.ts +0 -16
  74. package/dist/types-ts4.5/new-button/variants/shared/use-button-base.d.ts +0 -46
@@ -1,46 +0,0 @@
1
- import React from 'react';
2
- import { xcss } from '@atlaskit/primitives';
3
- import { type Appearance, type CommonButtonProps, type Spacing } from '../types';
4
- export type ControlledEvents<TagName extends HTMLElement> = Pick<React.DOMAttributes<TagName>, 'onMouseDownCapture' | 'onMouseUpCapture' | 'onKeyDownCapture' | 'onKeyUpCapture' | 'onTouchStartCapture' | 'onTouchEndCapture' | 'onPointerDownCapture' | 'onPointerUpCapture' | 'onClickCapture'> & Pick<CommonButtonProps<TagName>, 'onClick'>;
5
- export type UseButtonBaseArgs<TagName extends HTMLElement> = {
6
- ref: React.Ref<TagName>;
7
- /**
8
- * The type of button. Used to pass action subject context to analytics.
9
- */
10
- buttonType: 'button' | 'link';
11
- isIconButton?: boolean;
12
- isCircle?: boolean;
13
- hasIconBefore?: boolean;
14
- hasIconAfter?: boolean;
15
- shouldFitContainer?: boolean;
16
- appearance?: Appearance;
17
- children: React.ReactNode;
18
- spacing?: Spacing;
19
- isLoading?: boolean;
20
- ariaLabel?: string;
21
- ariaLabelledBy?: string;
22
- } & Pick<CommonButtonProps<TagName>, 'analyticsContext' | 'autoFocus' | 'interactionName' | 'isDisabled' | 'isSelected' | 'testId'> & ControlledEvents<TagName>;
23
- type XCSS = ReturnType<typeof xcss>;
24
- export type UseButtonBaseReturn<TagName extends HTMLElement> = {
25
- xcss: XCSS | Array<XCSS | false | undefined>;
26
- ref(node: TagName | null): void;
27
- children: React.ReactNode;
28
- isDisabled: boolean;
29
- 'aria-label'?: string;
30
- 'aria-labelledby'?: string;
31
- } & ControlledEvents<TagName>;
32
- /**
33
- * __Use button base__
34
- *
35
- * A React hook that accepts a set of common Button props,
36
- * and processes them to return consistent base props for usage
37
- * across various Button components.
38
- *
39
- * It also:
40
- * - Implements auto focus when enabled.
41
- * - Appends the `onClick` event with UFO analytics tracking.
42
- *
43
- * @private
44
- */
45
- declare const useButtonBase: <TagName extends HTMLElement>({ appearance: propAppearance, autoFocus, buttonType, isDisabled: propIsDisabled, isLoading, isSelected: propIsSelected, isIconButton, isCircle, hasIconBefore, hasIconAfter, children, onClick, onMouseDownCapture, onMouseUpCapture, onKeyDownCapture, onKeyUpCapture, onTouchStartCapture, onTouchEndCapture, onPointerDownCapture, onPointerUpCapture, onClickCapture, ref, shouldFitContainer, spacing: propSpacing, testId, ariaLabel, ariaLabelledBy, }: UseButtonBaseArgs<TagName>) => UseButtonBaseReturn<TagName>;
46
- export default useButtonBase;
@@ -1,16 +0,0 @@
1
- import { type UseButtonBaseArgs, type UseButtonBaseReturn } from '../shared/use-button-base';
2
- import type { CommonButtonProps } from '../types';
3
- import type { CommonDefaultButtonProps } from './types';
4
- type UseDefaultButtonArgs<TagName extends HTMLElement> = UseButtonBaseArgs<TagName> & CommonDefaultButtonProps & Pick<CommonButtonProps<TagName>, 'testId'>;
5
- type UseButtonReturn<TagName extends HTMLElement> = UseButtonBaseReturn<TagName>;
6
- /**
7
- * __Use default button base__
8
- *
9
- * A React hook that accepts a set of default Button props,
10
- * and processes them to return consistent base props for usage
11
- * across Button and LinkButton variants.
12
- *
13
- * @private
14
- */
15
- declare const useDefaultButton: <TagName extends HTMLElement>({ analyticsContext, appearance, ariaLabel, ariaLabelledBy, autoFocus, buttonType, children, iconAfter, iconBefore, interactionName, isDisabled, isLoading, isSelected, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, ref, shouldFitContainer, spacing, testId, }: UseDefaultButtonArgs<TagName>) => UseButtonReturn<TagName>;
16
- export default useDefaultButton;
@@ -1,16 +0,0 @@
1
- import { type UseButtonBaseArgs, type UseButtonBaseReturn } from '../shared/use-button-base';
2
- import type { CommonButtonProps } from '../types';
3
- import type { CommonIconButtonProps } from './types';
4
- type UseIconButtonArgs<TagName extends HTMLElement> = Omit<UseButtonBaseArgs<TagName>, 'children'> & Omit<CommonIconButtonProps, 'isTooltipDisabled' | 'tooltip'> & Pick<CommonButtonProps<TagName>, 'testId'>;
5
- type UseIconButtonReturn<TagName extends HTMLElement> = UseButtonBaseReturn<TagName>;
6
- /**
7
- * __Use icon button__
8
- *
9
- * A React hook that accepts a set of icon Button props,
10
- * and processes them to return consistent base props for usage
11
- * across IconButton and LinkIconButton variants.
12
- *
13
- * @private
14
- */
15
- declare const useIconButton: <TagName extends HTMLElement>({ analyticsContext, appearance, ariaLabel, ariaLabelledBy, autoFocus, buttonType, icon, interactionName, isDisabled, isLoading, isSelected, label, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, ref, shape, shouldFitContainer, spacing, testId, }: UseIconButtonArgs<TagName>) => UseIconButtonReturn<TagName>;
16
- export default useIconButton;
@@ -1,46 +0,0 @@
1
- import React from 'react';
2
- import { xcss } from '@atlaskit/primitives';
3
- import { type Appearance, type CommonButtonProps, type Spacing } from '../types';
4
- export type ControlledEvents<TagName extends HTMLElement> = Pick<React.DOMAttributes<TagName>, 'onMouseDownCapture' | 'onMouseUpCapture' | 'onKeyDownCapture' | 'onKeyUpCapture' | 'onTouchStartCapture' | 'onTouchEndCapture' | 'onPointerDownCapture' | 'onPointerUpCapture' | 'onClickCapture'> & Pick<CommonButtonProps<TagName>, 'onClick'>;
5
- export type UseButtonBaseArgs<TagName extends HTMLElement> = {
6
- ref: React.Ref<TagName>;
7
- /**
8
- * The type of button. Used to pass action subject context to analytics.
9
- */
10
- buttonType: 'button' | 'link';
11
- isIconButton?: boolean;
12
- isCircle?: boolean;
13
- hasIconBefore?: boolean;
14
- hasIconAfter?: boolean;
15
- shouldFitContainer?: boolean;
16
- appearance?: Appearance;
17
- children: React.ReactNode;
18
- spacing?: Spacing;
19
- isLoading?: boolean;
20
- ariaLabel?: string;
21
- ariaLabelledBy?: string;
22
- } & Pick<CommonButtonProps<TagName>, 'analyticsContext' | 'autoFocus' | 'interactionName' | 'isDisabled' | 'isSelected' | 'testId'> & ControlledEvents<TagName>;
23
- type XCSS = ReturnType<typeof xcss>;
24
- export type UseButtonBaseReturn<TagName extends HTMLElement> = {
25
- xcss: XCSS | Array<XCSS | false | undefined>;
26
- ref(node: TagName | null): void;
27
- children: React.ReactNode;
28
- isDisabled: boolean;
29
- 'aria-label'?: string;
30
- 'aria-labelledby'?: string;
31
- } & ControlledEvents<TagName>;
32
- /**
33
- * __Use button base__
34
- *
35
- * A React hook that accepts a set of common Button props,
36
- * and processes them to return consistent base props for usage
37
- * across various Button components.
38
- *
39
- * It also:
40
- * - Implements auto focus when enabled.
41
- * - Appends the `onClick` event with UFO analytics tracking.
42
- *
43
- * @private
44
- */
45
- declare const useButtonBase: <TagName extends HTMLElement>({ appearance: propAppearance, autoFocus, buttonType, isDisabled: propIsDisabled, isLoading, isSelected: propIsSelected, isIconButton, isCircle, hasIconBefore, hasIconAfter, children, onClick, onMouseDownCapture, onMouseUpCapture, onKeyDownCapture, onKeyUpCapture, onTouchStartCapture, onTouchEndCapture, onPointerDownCapture, onPointerUpCapture, onClickCapture, ref, shouldFitContainer, spacing: propSpacing, testId, ariaLabel, ariaLabelledBy, }: UseButtonBaseArgs<TagName>) => UseButtonBaseReturn<TagName>;
46
- export default useButtonBase;